Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | Nächste ÜberarbeitungBeide Seiten der Revision |
programming [2020/03/12 12:11] – [JavaScript] gpipperr | programming [2020/03/30 15:14] – [JavaScript] gpipperr |
---|
| ===== Programmierung rund um die Datenbank ===== |
| |
| Die wichtigen Programmiersprache für die Datenbank sind naturgemäß SQL und PL/SQL in der Datenbank, gefolgt von Sprache wie Java, Python und oder auch C. |
| |
| Mit Scriptsprachen wie der Microsoft Powershell lässt sich die Datenbank auch direkt abfragen. |
| |
| Unerlässlich für den Betrieb der Datenbank unter Linux/Unix ist das Bash Scripting. |
| |
| |
| {{ :images:schmetterling_v01.png?direct | Ein Schmetterling - google vermutet das das ein Swallowtail butterfly (Iphiclides podalirius) - (LINNAEUS, 1758) - auf Deutsch ein Segelfalter ist - Italien Pimobino Toskana 2014 }} |
| |
| |
| |
| <fc #008080>**Am Ende wird alles gut. Wenn es nicht gut wird, ist es noch nicht das Ende.**</fc> |
| |
| |
| //Oscar Wilde// |
| |
| |
| ---- |
| |
| === Newsletter === |
| |
| Sehr interessante Artikel rund um wichtige Themen der Software Entwicklung |
| |
| * http://www.pointer.io/about/ |
| |
| ---- |
| |
| ====SSL Zertifikate prüfen==== |
| |
| * https://www.ssllabs.com/ssltest/analyze.html?d=www.pipperr.de |
| * https://crt.sh/ |
| |
| ==HSTS== |
| |
| siehe => https://www.globalsign.com/en/blog/what-is-hsts-and-how-do-i-use-it/ |
| |
| |
| ==Freie Zertifikate== |
| |
| * https://letsencrypt.org/ |
| |
| |
| ---- |
| |
| |
| ==== Online Bildbearbeitung ==== |
| |
| Images |
| |
| * https://squoosh.app/ |
| |
| Konvertieren |
| * https://convertio.co/de/ |
| |
| Favicon |
| |
| * https://favicon.io/favicon-generator/ |
| |
| Logos |
| |
| * https://logohub.io/ |
| |
| SVG (Viso Clone!) |
| |
| * https://www.draw.io/ |
| |
| |
| Farbschemas |
| |
| * https://www.webmart.de/web/harmonische-farben/#004040:c:d:g:d |
| |
| Images |
| |
| * https://www.pikpng.com/ |
| * https://github.com/neutraltone/awesome-stock-resources |
| * ASCII => https://www.asciiart.eu/animals |
| |
| ---- |
| |
| ==== Ablauf Diagramme ==== |
| |
| Nassi-Shneiderman-Diagramme erstellen mit Structorizer: |
| * http://structorizer.fisch.lu/ |
| |
| |
| ---- |
| |
| ==== Versions Kontrolle und Build Tools + Diff Software ==== |
| |
| |
| Git => https://git-scm.com/ |
| |
| * [[prog:git_server|Einen Git Server unter Linux aufsetzen]] |
| |
| |
| Gradle => https://gradle.org |
| |
| |
| * [[prog:gradle_setup|Ein Projekt mit Gradle]] |
| |
| |
| Diff Software |
| |
| * http://www.araxis.com/merge/index.en |
| |
| |
| GIT Oberfläche |
| |
| * https://gitea.io/en-us/ |
| |
| Doku: |
| |
| Kostenloses E-Book - GitHub Succinctly |
| => https://www.syncfusion.com/resources/techportal/details/ebooks/GitHub_Succinctly |
| |
| ---- |
| |
| |
| ==== JSON ==== |
| |
| Parser für die Command Line => https://stedolan.github.io/jq/ |
| |
| |
| APEX: |
| |
| * [[prog:apex_json_form_enterquerymode|Oracle Apex 18 - Formular Daten mit JSON Apex REST Call aktualisieren, Enter Query Form Verhalten von Oracle Forms simulieren]] |
| |
| DB: |
| |
| * [[dba:oracle12c_json_in_datenbank|JSON in der 12c / 18 cDatenbank verarbeiten]] |
| |
| |
| ---- |
| |
| |
| ====SQL==== |
| |
| Datenmodellierung Online => https://www.vertabelo.com/ |
| |
| |
| * [[prog:sql_join_syntax|Oracle ANSI-89 Standard versus dem ANSI-92]] |
| * [[prog:sql_anti_join|Mit einem Left Join Daten filtern - Einen Anti Join in Oracle SQL erzeugen]] |
| |
| * [[prog:sql_update_syntax| Upsert - Oracle Update und Oracle Merge mit Daten aus einer zweiten Tabelle]] |
| * [[prog:sql_merge_upsert_same_table_syntax| Upsert - Oracle Merge auf der gleichen Tabelle]] |
| |
| * [[prog:sql_case_when|Case Ausdruck in SQL verwenden]] |
| * [[prog:sql_nvl_functions|NVL Funktionen in SQL]] |
| * [[prog:sql_greatest_functions|Den größten Wert verschiedener Spalten in SQL ermitteln - GREATEST]] |
| |
| * [[prog:sql_like_escape|Suchen mit dem Like Operator nach Texten, die einen "_" enthalten]] |
| * [[prog:sql_regular_expression|Reguläre Ausdrücke in der Oracle Datenbank in SQL verwenden]] |
| |
| * [[prog:oracle_text_contains|Oracle Text - In Texten suchen]] |
| |
| * [[prog:oracle_string_vergleich|In der Datenbank Strings vergleichen, Ähnlichkeiten in String qualifizieren]] |
| |
| * [[prog:oracle_reverse_function|Einen String in SQL mit reverse umdrehen]] |
| |
| * [[prog:oracle_datatype_number|Besonderheiten bei der Definition des Number Datentypes in Oracle]] |
| |
| |
| * [[prog:oracle_operator|Einen eignen Operator in SQL definieren]] |
| |
| |
| |
| * [[prog:oracle_analytic_functions|Oracle Analytic Functions im praktischen Einsatz]] |
| * [[prog:oracle_analytic_functions_lag|Oracle Analytic Function - Beispiel 1 - Lücken in einem Datenstrom finden]] |
| * [[prog:oracle_analytic_functions_top_n|Oracle Analytic Function - Beispiel 2 - Top N Query]] |
| * [[prog:oracle_analytic_functions_doubletten|Oracle Analytic Function - Beispiel 3 - Doppelte Daten finden und löschen]] |
| * [[prog:oracle_analytic_functions_prozent|Oracle Analytic Function - Beispiel 4 - Prozentsatz anzeigen]] |
| * [[prog:oracle_analytic_functions_window_function|Oracle Analytic Function - Beispiel 5 - gleitende Summen berechnen bzw. kumulative Werte aufsummieren - Fensterfunktion verwenden ]] |
| |
| * [[prog:sql_aggregatfunktion_erstellen|Eine eigene Aggregatfunktion erstellen]] |
| * [[prog:sql_piviot|Dynamische Pivot Tabelle verwenden]] |
| * [[prog:sql_oracle_pivot|SQL Pivot Funktion]] |
| * [[prog:sql_oracle_unpivot|SQL UNPivot Funktion]] |
| |
| * [[prog:sql_oracle_pattern_matching|SQL Pattern Matching Funktion]] |
| |
| |
| * [[prog:sql_oracle_model_clause|Die SQL Model Clause verwenden]] |
| |
| * [[prog:orcle_drop_column| Eine Spalte von einer Tabelle entfernen - drop column]] |
| |
| * [[prog:materialized_view|Materialized View verwenden]] |
| |
| * [[dba:read_only_table_11g|Eine Tabelle unter Oracle 11g auf READ ONLY setzen]] |
| |
| * [[dba:oracle_index_organised_table|Eine Oracle Tabelle als IOT - "index organised table" aufbauen und überwachen]] |
| |
| |
| * [[prog:sql_enable_constraints_wiht_errors|Constraint Error ORA-02298 protokolieren]] |
| * [[prog:sql_insert_error_handling| Error Handling bei großen Änderungen]] |
| |
| * [[prog:sql_nls_comp_nls_sort_inguistic_search_sorting|NLS_COMP und NLS_SORT für Linguistische Vergleiche und Case Ignore in der Oracle Datenbank]] |
| |
| * [[dba:oracle_soundex_function|Mit Soundex Wörter in der Datenbank vergleichen]] |
| |
| * [[prog:sysdate_compatiblity|Sysdate mit @! Syntax]] |
| |
| |
| * [[prog:sql_aenderungs_datum_tabellen_eintraege|Wann wurde zuletzt etwas an den Daten verändert?]] |
| |
| * [[prog:sql_liste_erstellen|Ein Liste aus SQL Zeilen erstellen]] |
| |
| * [[prog:oracle_row_sql_generation|Zeilen in SQL erzeugen - Row Generatoren ]] |
| |
| * [[prog:sql_date_oracle_rechnung|Rechnen mit Datums-Formaten]] |
| |
| * [[prog:orcle_datatype_long| Mit dem Datentyp Long umgehen ]] |
| |
| |
| * [[prog:oracle_monitor_hint|Oracle SQL Statements mit dem Tuning Pack überwachen - Überwachung mit dem MONITOR Hint aktivieren]] |
| * [[prog:oracle_extened_statistic|Oracle Extended Statistik verwenden ]] |
| |
| * [[prog:oracle_command_types|Den Oracle Command Type für ein SQL Statement aufschlüsseln]] |
| |
| |
| * [[dba:oracle_secure_file_lob|Oracle Secure File verwenden]] |
| |
| |
| * [[prog:oracle_session_info_setzen|In der V$SESSION Informationen über die aktuelle Session hinterlegen]] |
| |
| * [[prog:sql_hex_decimal|Mit Hex Zahlen in SQL rechnen]] |
| |
| * [[dba:oracle_sql_profile|Mit Oracle Profilen arbeiten und Profile zwischen Datenbanken austauschen]] |
| |
| * [[prog:sql_oracle_context_object|Das Oracle CONTEXT Object - Globale Werte in einer Session hinterlegen]] |
| |
| |
| * [[prog:sql_xml_xpath_oracle|Mit XML und xpath in einer Oracle SQL Query arbeiten]] |
| |
| |
| * [[prog:oracle_view_rechte| Über Views Zugriffsrechte steuern ]] |
| |
| * [[prog:oracle_12c_primary_key_sequence_default| Oracle 12c - Primary Key Spalte mit einer default Sequence anlegen]] |
| |
| * [[prog:oracle_rename_alter_table| Ein Tabelle in Oracle umbenennen - Unterschied RENAME und ALTER TABLE - ORA-01765 und ORA-14047 ]] |
| |
| * [[prog:oracle_sqlplus_ora-22835_clob|Einen CLOB gesplittet in SQL*Plus ausgeben um einen - ORA-22835: Buffer too small for CLOB - zu vermeiden]] |
| |
| |
| Rekursiv query 11g r2 |
| |
| * https://blogs.oracle.com/LetTheSunShineIn/entry/sql_replacing_connect_by_with |
| * http://allthingsoracle.com/anatomy-of-a-select-statement-part-3-recursive-subquery-factoring/ |
| |
| **12c** |
| |
| * [[dba:oracle12c_json_in_datenbank|Oracle 12c Datenbank - Json in der 12c verarbeiten]] |
| * [[dba:oracle12c_plsql_in_sql|Oracle 12c Datenbank - PL/SQL in SQL Statements verwenden]] |
| * [[dba:oracle12c_top_n_native_query|Oracle 12c Datenbank - native Top-N Abfragen]] |
| |
| * [[dba:oracle12c_scott_demo_user_nachinstallieren|Oracle 12c Scott Demo User nachinstallieren]] |
| |
| |
| |
| * [[dba:oracle12c_approx_count_distinct|Oracle 12c - Wie viele Eindeutige Werte sind ein einer Tabelle]] |
| * [[prog:oracle12c_r2_ORA-01858_ORA-01722_conversion_functions | In Oracle 12c R2 endlich mit ORA-01858 und ORA-01722 umgehen können - Konvertierungsfehler pro-aktiv behandeln ]] |
| |
| **Erweiterte Technologien** |
| |
| |
| ab 11g R1 |
| |
| Mit [[http://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_cqn.htm|Continuous Query Notification]] auf Veränderungen am Datenbestand reagieren. |
| |
| |
| **Parallel SQL** |
| |
| * https://support.oracle.com/epmos/main/downloadattachmentprocessor?attachid=1329441.1%3APX_12C_FUNDAMENTALS |
| |
| **18c** |
| * Polymorphe Tabellenfunktionen => http://blog.sqlora.com/de/polymorphic-table-functions/ |
| * https://docs.oracle.com/en/database/oracle/oracle-database/18/arpls/DBMS_TF.html |
| |
| **SQL Lernen** |
| |
| * Für Einsteiger => https://ohhappy.dev/sql-cards SQL mit Karten .-) |
| |
| ---- |
| ====PL/SQL==== |
| |
| ==Allgemein== |
| |
| * [[prog:plsql_code_pices|PL/SQL Code Snippets]] |
| |
| * [[prog:plsql_debug|PL/SQL Code debuggen]] |
| |
| * [[prog:plsql_md5hash|PL/SQL md5 Hash erzeugen]] |
| |
| * [[prog:plsql_dynamic_in_with_bind_sql|In PL/SQL in einer SQL IN Anweisung mit einer Bind Variable verwenden]] |
| |
| * [[prog:plsql_bulk_collect|PL/SQL BULK COLLECT einsetzen]] |
| |
| * [[prog:plsql_string_tokenizer|Oracle PL/SQL Tokenizer - Strings zerlegen]] |
| |
| * [[prog:plsql_spool_utf_8_file|PL/SQL - Generisch aus einer Tabelle eine CSV Datei erstellen mit UTL_FILE und DBMS_SQL]] |
| |
| * [[prog:plsql_sleep_19c|PL/SQL - Eine DB Session "schlafen" legen - Wie und welche Sleep Funktion einsetzen? ]] |
| |
| * [[prog:plsql_spool_csv_apex|PL/SQL - APEX - CSV Datei aus der DB mit DBMS_XMLGEN.CONVERT erzeugen]] |
| |
| |
| * [[prog:plsql_send_mail_tls|PL/SQL - Mail mit DBMS_SMTP mit einem sicheren Protokoll in Oracle 12c versenden]] |
| |
| * [[prog:plsql_und_rolen|PL/SQL - Rollen in PLSQL verwenden ]] |
| |
| * [[prog:tablen_spalten_zaehlen|Zählen wieviele unterschiedliche Werte in den Tabellen eines Schemas stehen ]] |
| |
| |
| |
| ==Tips== |
| |
| * [[prog:sql_identify_cluster_database|Ist die aktuelle DB Umgebung ein Cluster?]] |
| |
| * [[prog:sql_fehler_ORU-10027|Eine PL/SQL Routine wirft den Fehler ORU-10027]] |
| |
| * [[prog:get_db_runtime_enviroment|Laufzeitumgebung des Datenbank Server Prozesse mit PL/SQL abfragen]] |
| |
| * [[prog:which_package_call_this_sql|Name und Zeilennummer eines PL/SQL Package das ein SQL Statement abgesetzt hat in der Datenbank ermittlen]] |
| |
| |
| |
| * [[prog:oracle_dbms_random_12c|Oracle PL/SQL - DBMS_RANDOM für die Generierung von Testdaten einsetzen]] |
| |
| |
| * [[prog:oracle_restore_plsql_code|Oracle PL/SQL - Den Source Code eines überschriebenen Packages mit Flashback wieder herstellen]] |
| |
| |
| == Security == |
| |
| * [[prog:oracle_accessible_by_12c|Oracle PL/SQL - mit "accessible by" Zugriffe in 12c auf PL/SQL einschränken]] |
| |
| |
| ==Oracle Multimedia == |
| |
| * [[prog:oracle_multimedia_12c|Multimedia in der Oracle Datenbank 12c - Bildbearbeitung in PL/SQL]] |
| |
| |
| |
| ==Oracle Text== |
| * Übersicht => [[dba:oracle_text|Oracle Text - Volltext Suche über Text Dokumente]] |
| |
| * [[prog:oracle_text_in_plsql|Oracle Text für die Verarbeitung von Binären Daten in PL/SQL verwenden]] |
| * [[prog:oracle_text_contains|Oracle Text - In Texten suchen]] |
| * [[prog:oracle_text_highlight|Oracle Text - Die Treffer einer Oracle Volltext Abfrage in der Ergebnismenge optisch hervorheben]] |
| * [[dba:oracle_text_thesaurus|Mit einem Thesaurus und Oracle Text arbeiten]] |
| * [[dba:oracle_text_index_themes|Einen Oracle Text Theme Index aufbauen]] |
| * [[prod:oracle_text_ctxrule_index|Oracle Text 12c CTXRULE Indexe - Mit Abfrageregeln Dokumente klassifizieren]] |
| |
| |
| ==Exotische Packages== |
| |
| |
| DBMS_FREQUENT_ITEMSET - Basket Analysis in the Oracle Database |
| * https://docs.oracle.com/database/121/ARPLS/d_frqist.htm#ARPLS007 |
| * https://www.rittmanmead.com/blog/2012/04/basket-analysis-in-the-oracle-database/ |
| |
| |
| DBMS_PIPE und DBMS_ALERT - Interprocess Kommunikation in PL/SQL implementieren |
| * https://docs.oracle.com/database/121/ARPLS/d_pipe.htm#ARPLS038 |
| * https://docs.oracle.com/database/121/ARPLS/d_alert.htm#ARPLS351 |
| * http://extras.springer.com/2005/978-1-59059-525-1/5254appABfinal.pdf |
| |
| |
| ==Anwendung== |
| * [[prog:lun10_plsql_find_cc_in_text|In Textfeldern nach Kreditkarten Nummer suchen]] |
| |
| |
| ==Probleme== |
| |
| |
| * [[prog:sql_lock_library_cache|library cache Locks]] |
| |
| |
| ==Oracle Native Compilation== |
| * http://www.morganslibrary.org/reference/plsql/native_compilation.html |
| |
| |
| ==Mehr== |
| |
| Quiz rund um PL/SQL => [[https://plsqlchallenge.oracle.com/pls/apex/f?p=10000:659:0:&tz=1:00|PLSQL Challenge]] |
| |
| Bücher zum Thema: |
| |
| Zwar etwas älter aber für den PL/SQL Einsteig gut geeignet |
| * https://openlibrary.org/works/OL8221399W/Oracle_10g_Developer |
| |
| |
| Unwrapper |
| |
| => http://www.salvis.com/blog/2015/05/17/introducing-plsql-unwrapper-for-sql-developer/ |
| |
| ---- |
| |
| ==== Oracle Cartridge Konzept==== |
| |
| The Oracle Extensibility Architecture ab Oracle 8i |
| |
| * http://grandpoohbah.net/Sandeepan/ComponentDatabases.pdf |
| |
| Basis für die Umsetzung |
| * [[prog:oracle_operator|Einen Oracle Operator für die Verwendung in SQL definieren]] |
| |
| ---- |
| |
| |
| ====Apex 5==== |
| |
| Allgemein: |
| * [[prog:oracle_apex|Oracle Apex 5 - Anmerkungen]] |
| |
| Installation |
| * [[prog:oracle_apex_install_windows_12c|Oracle Apex 5.1 mit der Oracle Datenbank 12c - Installation]] |
| * [[prog:apex_mail_acl|Oracle Apex 5.0 Mail Versandt mit SSL -Hinterlegen einer ACL's in 11g und 12c und Hinterlegen von SSL Zertifkaten]] |
| * [[prog:oracle_apex_active_directory_integration|Oracle Apex 5 Securtiy und Microsoft Active Directory Integration]] |
| |
| |
| Einsatz: |
| * [[prog:oracle_apex_oracle_text_document_archive|In Oracle APEX 5 mit Oracle Text ein Dokumentenarchive aufbauen]] |
| |
| Entwicklung: |
| |
| * [[prog:apex_modal_page|Oracle Apex 5 - Modale Page auf einer Apex Seite für einen Detail Dialog mit dynamischen Parametern verwenden]] |
| * [[prog:apex_modal_region|Oracle Apex 5 - Modale Region auf einer Apex Seite für einen Detail Dialog verwenden]] |
| * [[prog:apex_classic_report_use_alert_card_layout|Oracle Apex 5 - Mit CSS Alert Layout vom Classic Report anpassen]] |
| * [[prog:apex_jquery_integration|Oracle Apex 5 -Mit JQuery die Logik und Optik einer Apex Page anpassen]] |
| |
| |
| Treffen in München zu APEX : |
| * http://www.meetup.com/de/orclapex-muc/ |
| |
| |
| Treffen in Kassel zu APEX : |
| * https://www.meetup.com/de-DE/Oracle-APEX-Kassel/ |
| |
| Plugins: |
| |
| * https://apex.world/ords/f?p=100:700 |
| |
| |
| Community: |
| |
| * https://blogs.oracle.com/apexcommunity_deutsch/ |
| |
| |
| Dokumentation 5.0 |
| * PDF 1000 Seiten => https://docs.oracle.com/cloud/latest/db121/HTMDB.pdf |
| * HTML => https://docs.oracle.com/database/121/HTMDB/toc.htm |
| |
| |
| ---- |
| |
| |
| |
| ==== ORDS Oracle REST Data Services ===== |
| |
| |
| Oracle RESTful Data Service wurde früher unter dem Name Oracle Application Express Listener vermarktet. |
| APEX wird weiterhin unterstützt, ein Fokus liegt aber auf der Bereitstellung des REST Services. |
| |
| Mit dem [[https://de.wikipedia.org/wiki/Representational_State_Transfer|Representational State Transfer (abgekürzt REST)]] wird ein Programmierparadigma für verteilte Systeme bezeichnet, das insbesondere für Webservices verwendet wird. |
| |
| * http://www.oracle.com/technetwork/developer-tools/rest-data-services/overview/index.html |
| * https://blogs.oracle.com/newgendbaccess/ |
| |
| |
| Einsatz ORDS mit Oracle APEX |
| * [[prog:first_steps_oracle_rest_data_service|Den Oracle ORDS = Oracle REST Data Services mit APEX 5.0 und als REST Interface verwenden ]] |
| * [[prog:oracle_rest_data_service_tomcat|Oracle ORDS 3.0 (Oracle REST Data Services) mit Apache Tomcat als Application Server unter Windows 2012 betreiben]] |
| * [[prog:oracle_ords_performance_tuning|Oracle ORDS Performance Tuning]] |
| |
| |
| ORDS REST API |
| |
| * [[prog:ords_rest_service|Oracle ORDS 3.0 REST API nativ verwenden]] |
| |
| |
| REST Service - Wie dokumentiern? Siehe auch https://bocoup.com/blog/documenting-your-api |
| |
| |
| ==Quellen== |
| |
| * Architektur => https://www.ics.uci.edu/~taylor/documents/2002-REST-TOIT.pdf |
| |
| |
| ---- |
| |
| |
| |
| |
| |
| ==== Python ==== |
| |
| **Einführung** |
| |
| Python 2 |
| |
| * http://www.python-kurs.eu/python2_kurs.php |
| * http://www.tutorialspoint.com/execute_python_online.php |
| * Google Einführungsvortrag => https://www.youtube.com/watch?v=E_kZDvwofHY |
| * http://www.lynda.com/Python-tutorials/Up-Running-Python/122467-2.html?autocompleteMovieId=142560 |
| |
| Ebook |
| * http://www.diveintopython.net/ |
| |
| Video Tutorials: |
| * https://www.youtube.com/playlist?list=PL82YdDfxhWsDJTq5f0Ae7M7yGcA26wevJ |
| * https://www.youtube.com/watch?v=9uq3w6JJS00 |
| * https://www.youtube.com/watch?v=RrPZza_vZ3w |
| |
| * https://learn.digilentinc.com/classroom/python/ |
| |
| |
| Code Beispiele für den Einstieg |
| * [[python:python_first_steps|Code Beispiel für den Einstieg in Python]] |
| |
| Weitere Beispiele: |
| * [[python:python_copy_image_files|Code Beispiel für eine Python Script um Bild Dateien zu importieren]] |
| * [[python:python_hash_image_files|Dateien in Python hashen - Performance Überlegungen]] |
| |
| Tricks und Tips: |
| * http://www.pythoncentral.io/category/python-tips-tricks-hacks-idioms/ |
| |
| Programmierumgebungen: |
| * (auch für Arduino) https://codewith.mu/en/ |
| |
| **Datenbank Verwendung** |
| |
| In vielen Beispielen im Netz werden keine Bind Variablen verwendet, davon ist dringend abzuraten! |
| |
| * [[python:python_database|Python und die Oracle Datenbank]] |
| * [[python:python_sqlite_database|Python und die SQLite Datenbank]] |
| |
| |
| **Jython Java Implementierung von Python** |
| * [[python:jython_scripting_database|Jython Scripting für die Oracle Datenbank]] |
| |
| **Hardware Access** |
| |
| Windows: |
| * [[python:python_write_serial_com_port|Windows 7 - Mit Python 2.7 über die COM Port Schnittstelle ein M18ST05A VFD Display ansprechen]] |
| |
| ARM |
| |
| * [[raspberry:dcf77_modul|Eine Raspberry NTP Server mit einem DCF 77 Modul aufbauen]] |
| * [[raspberry:raspberry_gpio_first_steps|Raspberry Pi Model B - GPIO Port einsetzen - erste Schritte]] |
| * [[raspberry:raspberry_gpio_read_adc0831|Einen AD Wandler ADC0831 mit dem Raspberry PI verwenden]] |
| * [[raspberry:dcf77_modul|Mit dem Raspberry ein DCF 77 Modul abfragen]] |
| |
| |
| |
| **GUI Entwicklung** |
| |
| * [[python:python_gui_tk|Python und tk - Benutzer Interface erstellen]] |
| * Alternativ: |
| * https://wiki.python.org/moin/GuiProgramming |
| * http://wiki.wxpython.org/wxPython |
| |
| **Sound** |
| |
| * http://www.csounds.com/ |
| * http://ajaxsoundstudio.com/ |
| |
| |
| **Graphik** |
| |
| Plot |
| |
| * http://matplotlib.org/ |
| * http://matplotlib.org/1.4.3/users/pyplot_tutorial.html#controlling-line-properties |
| |
| OpenGL |
| |
| * http://pyopengl.sourceforge.net/ |
| |
| Pygame |
| |
| * https://skellykiernan.wordpress.com/2015/01/04/python-pygame-install/ |
| |
| |
| **interactive data science** |
| |
| Open source, interactive data science and scientific computing |
| |
| * http://jupyter.org/ |
| |
| |
| ---- |
| |
| |
| ====Julia==== |
| |
| |
| Julia is a high-level, high-performance dynamic programming language for technical computing => http://julialang.org |
| |
| |
| Einführung in die Sprache: |
| |
| * http://julialang.org/learning/ |
| |
| |
| ---- |
| ==== Lua === |
| |
| * http://www.lua.org/ |
| |
| Einführung: |
| |
| * https://www.quora.com/What-are-some-of-the-advantages-of-using-Lua-over-Python-C-or-MATLAB |
| |
| Tutorial: |
| * http://bladehunter.lima-city.de/lua/book/ |
| |
| Als Skript-Sprache für Microkontroller: |
| |
| * http://www.eluaproject.net/ |
| |
| |
| Das erste Projekt: |
| |
| * [[elektronik:nodemcu_esp8266_erste_schritte|Erste Schritte mit dem ESP8266 und dem NodeMCU Board mit Lua]] |
| * [[elektronik:nodemcu_ESP8266_impulse_zählen|Mit dem NodeMCU Board ESP8266 Impulse zählen - Durchfluß messen]] |
| |
| |
| ---- |
| |
| ==== Pony ==== |
| |
| Pony ist: |
| * quelloffene Sprache |
| * statisch typisiert |
| * verwendet Aktoren |
| * verzichtet auf Vererbung |
| * Garbage Collector |
| * gut skalierbare Architektur |
| |
| |
| Erste Schritte: |
| |
| * http://tutorial.ponylang.org/ |
| |
| ---- |
| |
| |
| ==== R ==== |
| |
| R ist eine freie Programmiersprache für statistische Fragestellungen |
| |
| Beispiele im Netz: |
| |
| * http://alstatr.blogspot.de/search/label/R |
| |
| Oracle: |
| |
| * http://www.oracle.com/technetwork/database/database-technologies/r/r-distribution/overview/index.html |
| |
| Hilfreich zum Beispiel für eine "Inverser Normal Verteilung" |
| ---- |
| |
| |
| ---- |
| |
| ==== JavaScript==== |
| |
| Seit Netscape Zeit verwende ich JavaScript, aber ist das noch die richtige Art mit der Sprache umzugehen? |
| |
| * [[prog:modern_javascript|JavaScript in 2019 - Wie JavaScript heute (2019) implementieren und anwenden]] |
| |
| |
| Online Dokumentation |
| * https://github.com/getify/You-Dont-Know-JS |
| |
| Graphik Libraries |
| |
| * http://d3js.org/ |
| * https://plot.ly |
| |
| |
| JavaScript basics tutorial: |
| |
| * 33 Concepts Every JavaScript Developer Should Know Tips => https://github.com/leonardomso/33-js-concepts#1-call-stack |
| * https://learn.grasshopper.app/ |
| * https://www.jshero.net |
| |
| ---- |
| |
| |
| |
| ===Node.js=== |
| |
| https://nodejs.org/en/ |
| |
| Node.js Treiber für die Oracle Datenbank => https://blogs.oracle.com/opal/entry/node_oracledb_1_4_0 |
| |
| Installation Windows: |
| * http://blog.teamtreehouse.com/install-node-js-npm-windows |
| |
| |
| * [[prog:nodejs_oracledb_electron|Erste Erfahrungen mit Electron / NodeJS der Oracle Anbindung]] |
| |
| * [[prog:nodejs_server|Erste Erfahrungen mit Node als Sever für eine REST API ]] |
| |
| ---- |
| |
| === ELECTRON === |
| |
| https://electronjs.org/ |
| |
| https://electronjs.org/docs/tutorial/first-app#trying-this-example |
| |
| |
| Mehr zu Datenbank Anbindung: |
| * https://www.youtube.com/watch?v=c76FTxLRwAw |
| * http://knexjs.org/ |
| |
| |
| ---- |
| |
| ===Oracle JET === |
| Oracle Jet = Client Site JavaScript (Datenzugriff mit Hilfe von REST Calls) |
| |
| * http://www.oracle.com/technetwork/developer-tools/jet/overview/index.html |
| |
| Übersicht: |
| * http://multikoop.blogspot.de/2015/10/oracle-jet-is-here-for-javascript-lovers.html |
| |
| |
| ---- |
| |
| ===GraalVM === |
| |
| |
| Nachfolger der ehemaligen JavaScript-Engine Nashorn |
| |
| => https://www.graalvm.org/ |
| |
| |
| Kann unter Node die V8 GraalVM ersetzen |
| |
| |
| Aber für was kann man das gebrauchen? |
| |
| Beispiele: |
| * Integration von bestehenden Java / R Libraries in JavaScript unter Node.js |
| * JavaScript Code in der Datenbank (Oracle RDBMS, mSQL) ausführen |
| |
| |
| ---- |
| ====CSS==== |
| |
| The CSS Handbook: a handy guide to CSS for developers |
| * https://medium.freecodecamp.org/the-css-handbook-a-handy-guide-to-css-for-developers-b56695917d11 |
| |
| ---- |
| |
| |
| |
| ====Java==== |
| |
| |
| Was nun? Oracle entschließt sich für das kostenpflichtiges Java ... |
| |
| Damit wird wohl aus Oracle Java das neue Pascal .... In neuen Projekten wohl keine gute Idee mehr auf Java zu setzen. |
| |
| |
| => OpenJDK verwenden wo immer es geht => https://openjdk.java.net/install/ |
| |
| Alternativ für den Einsatz unter Windows: |
| * OpenJDK von Oracle => https://jdk.java.net/12/ |
| * OpenJDK von Azul => https://www.azul.com/downloads/zulu/ |
| * OpenJDK von RedHat => https://developers.redhat.com/blog/2016/06/27/openjdk-now-available-for-windows/ |
| * OpenJDK von Amazon => https://aws.amazon.com/corretto/ |
| |
| |
| Nur Linux |
| * OpenJDK von Alibaba => https://github.com/alibaba/dragonwell8 |
| |
| |
| |
| **Links** |
| |
| * https://www.doag.org/de/home/news/oracles-neue-supportpolitik-fuer-java-im-detail-was-aendert-sich/detail/ |
| * https://www.reddit.com/r/sysadmin/comments/8tzjkg/confused_about_java_and_the_new_license/ |
| * https://www.infoq.com/presentations/panel-java-free |
| * https://www.de.logicalis.com/java-support-ist-kostenpflichtig |
| |
| |
| ===Entwicklen mit Java=== |
| |
| |
| Hibernate |
| |
| * [[prog:java_hibernate|Hibernate -Oracle Sequence für den Primary Key in Hibernate verwenden]] |
| * [[prog:java_hibernate_statistik|Hibernate - Statistiken abfragen]] |
| * [[prog:java_hibernate_sql_native |Hibernate - Native SQL Abfragen]] |
| |
| Processing |
| * [[playgrounds:processing|JDBC Zugriff auf die Oracle Datenbank im Java Framework Processing]] |
| |
| * [[playgrounds:fractal_progamming_feigenbaum | Processing - Ein Feigenbaum Diagramm erstellen ]] |
| |
| |
| |
| Allgmein |
| * [[prog:java_commons_cli |Kommando Zeilen Parameter mit der Apache Commons CLI]] |
| |
| * [[prog:java_debug_jdbc_oracle | Oracle JDBC Verbindung debuggen ]] |
| |
| * [[prog:java_universal_connection_pool_oracle | Oracle Universal Connection Pool mit ONS verwenden]] |
| |
| * [[prog:jdeveloper_consolen_app | Im JDeveloper eine Consolen Applikation mit Input entwickeln]] |
| |
| * [[prog:java_links|Java Links]] |
| |
| |
| |
| Das Maven Repostiory für die JDBC Driver => http://mvnrepository.com/artifact/ojdbc/ojdbc/14 enthält leider nur den Download Link auf die orginal Oracle Website http://www.oracle.com/technetwork/database/application-development/index-099369.html, ärgerlich, das funktioniert dann wohl nur mit einem lokalen Repository. |
| |
| |
| In Arbeit: |
| * [[prog:android_java_jedeveloper_hello_world_example| Mit dem Oracle JDeveloper eine erste App für Android entwickeln]] |
| |
| |
| |
| **Der Kampf mit dem Java Klassen Pfad:** |
| |
| Alle Jar's in einem Klassenpfad in Linux mit aufnehmen: |
| <code bash> |
| CLASSPATH=$CLASSPATH:$(echo "$MY_CLIENT_LIB"*.jar | tr ' ' ':') |
| </code> |
| |
| Klassenpfad als Textdatei übergeben, dazu alle Pfade mit den entsprechenden Seperator des jeweiligen OS (;,:) getrennt in einer Zeile in eine Datei schreiben und die Datei dann mit "-classpath @pathname/filename" referenzieren: |
| <code> |
| echo $CLASSPATH > ~/myClassPath.txt |
| java -classpath @~/myClassPath.txt |
| |
| </code> |
| |
| Sehr hilfreich unter MS Windows, ab 2K wird es eng mit der Längen von Umgebungsvariablen! |
| |
| |
| ==Freie Ebooks== |
| |
| * http://www.oreilly.com/programming/free/java-the-legend.csp |
| |
| |
| === Processing === |
| |
| [[http://processing.org/|Processing]] ist eine sehr clevere Art um einfach in Java graphische Applikationen zu entwickeln. Eine einfache IDE und eine Reduktion auf das Wesentliche ermöglichen schnelle Erfolge. |
| |
| |
| Für die ersten Schritte sind die Tutoriell von [[https://vimeo.com/user4779230|Jose Sanchez]] auf vimeo sehr gut geeignet. |
| |
| |
| Siehe http://processing.org/ |
| |
| Libs: |
| |
| * Vector Rechnen => http://toxiclibs.org/about/ |
| * UI => http://www.sojamo.de/libraries/controlP5/ |
| |
| |
| ==Programming mit Processing: == |
| |
| * [[playgrounds:processing | Processing - Die Oracle Datenbank anbinden]] |
| * [[playgrounds:fractal_progamming_feigenbaum | Processing - Ein Feigenbaum Diagramm erstellen ]] |
| * [[playgrounds:sound_of_data|Sound of Data]] |
| |
| ==Bilder analysieren== |
| |
| sharpmask |
| |
| * https://code.facebook.com/posts/561187904071636/segmenting-and-refining-images-with-sharpmask/ |
| |
| === Commandozeilen Framework === |
| |
| * http://jline.sourceforge.net/ |
| |
| |
| |
| ===Decompiler === |
| |
| Offline: |
| |
| CFR - another java decompiler |
| |
| * http://www.benf.org/other/cfr/ |
| |
| Kann ganze Jars "auspacken" mi: |
| <code powershell> |
| java -jar C:\entwicklung\cfr\cfr_0_119.jar .\jline.jar --outputdir .\output\ --caseinsensitivefs true |
| </code> |
| |
| |
| Online: |
| |
| * http://www.javadecompilers.com |
| |
| |
| Jars auspacken mit procyon |
| <code powershell> |
| $files = Get-ChildItem "c:\temp\WEB-INF\Lib" |
| |
| for ($i=0; $i -lt $files.Count; $i++) { |
| echo $files[$i].FullName |
| java -jar C:\tools\Procyon\procyon-decompiler-0.5.30.jar -jar $files[$i].FullName -o D:\temp\ords\out |
| } |
| #suchen |
| Get-ChildItem -Recurse D:\temp\ords\out\oracle* | Select-String Security |
| |
| </code> |
| => https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler |
| |
| |
| |
| ===XMLDB=== |
| |
| Java Class to export XML DB see https://community.oracle.com/message/1297236 |
| |
| |
| ---- |
| |
| |
| ==== .NET / Powershell ==== |
| |
| === Windows Powershell === |
| |
| Übersicht: |
| |
| * [[windows:powershell_quick_start|Die Windows PowerShell]] |
| |
| Oracle und die Powershel |
| |
| * [[windows:powershell_oracle_db_abfragen|Mit der PowerShell die Oracle Datenbank mit .NET abfragen]] |
| * [[windows:powershell_sqlplus_db_abfragen|Mit der PowerShell SQL*Plus aufrufen um die Oracle Datenbank abfragen]] |
| |
| Allgemein |
| |
| * [[windows:powershell_script_aufrufen|Aufruf von PowerShell Scripten - Signieren von Skripten]] |
| * [[windows:powershell_ls_gci_dir|Der gute alte DIR Befehl in der PowerShell - gci]] |
| * [[windows:powershell_umgebung_einrichten|Das PowerShell Profil einstellen - Administrativen Modus erkennen]] |
| |
| |
| Meine Backup Scripts für die Datenbank unter Windows mit der Powershell |
| |
| * http://orapowershell.codeplex.com/ |
| |
| |
| |
| ===.NET=== |
| |
| |
| |
| * [[prog:windows_dot_net_integration_plsql|Oracle 12c PL/SQL - Verwendung von .Net Libraries in PL/SQL - eine ".NET stored procedures" anlegen und aufrufen]] |
| |
| |
| |
| Abhängigkeiten verstehen => http://www.dependencywalker.com/ |
| |
| |
| Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules. |
| |
| |
| ---- |
| |
| |
| |
| ==== Flutter ==== |
| |
| Mobile UI Entwicklung |
| |
| Entwickeln mobiler Anwendungen - Cross-Platform-Entwicklung - Entwickelt von Google |
| |
| * https://flutter.io/ |
| * https://medium.com/flutter-io |
| |
| IDE dazu => https://developer.android.com/studio/ |
| |
| ---- |
| |
| ==== C ==== |
| |
| Einführung: |
| * http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/index.htm |
| |
| HexRechner: |
| * http://www.microbuilder.eu/Tutorials/Fundamentals/Hexadecimal/HexConverter.aspx |
| |
| |
| C im Einsatz mit Mikrocontrollern: |
| |
| |
| * [[elektronik:lpc810_experimente|Erste Schritte mit dem LPC810 - MCU 32-bit ARM Cortex M0]] |
| |
| * [[elektronik:arduino_dallas_max72xx_temperature_messung|Arduino - Mit dem Dallas DS18B20 die Temperatur messen und auf einem 7 digit 8 segment digital LED display mit dem MAX7219 darstellen]] |
| * [[elektronik:arduino_kuechenwecker|Ein Projekt für den Haushalt - Ein „Arduino based“ Küchenwecker .-)]] |
| |
| |
| ---- |
| |
| |
| ==== Unix Bash ==== |
| |
| Beispiele: |
| |
| * [[linux:bash_script_snippets|Bash Snippets für Skripting]] |
| |
| |
| |
| |
| ---- |
| |
| |
| |
| ====Datenbank Design==== |
| |
| |
| Da der Oracle Designer leider schon länger nicht mehr weiterentwickelt wird, müssen Alternativen gesucht werden: |
| |
| LiquiBase: |
| * http://www.liquibase.org/tutorial-using-oracle |
| |
| PowerDesigner: |
| * http://www.powerdesigner.de |
| |
| Oracle SQL Developer Data Modeler |
| * http://www.oracle.com/technetwork/developer-tools/datamodeler/overview/index.html |
| |
| |
| Artikelsammlung zu wichtigen Themen rund um das Design: |
| * http://www.heise.de/developer/artikel/Domain-driven-Design-erklaert-3130720.html |
| |
| ---- |
| |
| ====Entwicklungswerkzeuge==== |
| |
| Diese Entwicklungwerkzeug empfehle ich für die echte Projekt Arbeit: |
| |
| **Java:** |
| |
| Oracle JDeveloper (na ja, 2019 wohl nicht mehr ganz so aktuell .-) ) |
| |
| * http://www.oracle.com/technetwork/developer-tools/jdev/overview/index.html |
| |
| |
| IntelliJ IDEA |
| |
| * https://www.jetbrains.com/idea/ |
| |
| |
| **Pyhton** |
| |
| IntelliJ PyCharm |
| |
| * https://www.jetbrains.com/pycharm/ |
| |
| |
| **Datenbank Entwicklung** |
| |
| Oracle SQL developer: |
| * http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html |
| |
| |
| * [[prod:oracle_sql_developer|Oracle SQL Developer - Wie mit diesem Tool arbeiten - Performance Optimierung]] |
| |
| |
| TOAD |
| |
| Zu kostenintensiv, aber einfach immer noch das beste Werkzeug für die PL/SQL Entwicklung |
| |
| * http://software.dell.com/products/toad-for-oracle/ |
| |
| |
| PL/SQL Developer |
| |
| Gutes Preis/Leistungsverhältnis, für reine PL/SQL Entwicklung sehr gut geeignet |
| |
| * https://www.allroundautomations.com/plsqldev.html |
| |
| |
| ---- |
| |
| ==== Schriften/Fonts zum Programmieren ==== |
| |
| |
| Die Lesbarkeit, besonders auf dem Notebook mit hoher Auflösung wird deutlich verbessert: |
| |
| * Hack - TrueType für Programmierung => Download über http://sourcefoundry.org/hack/ |
| |
| |
| |
| ---- |
| |
| |
| ==== Beispiel Text ==== |
| |
| Zum Testen von Text Funktionen und Webseiten, Fonts gibt den lipsum Text. |
| |
| Hier ein Generator dazu: http://www.lipsum.com/ |
| |
| |
| ---- |
| |
| ==== Online Tutorials ==== |
| |
| Math => https://brilliant.org/ |
| |
| |
| |
| ---- |
| |
| |