programming

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
programming [2019/12/30 22:29] – [Online Bildbearbeitung] gpipperrprogramming [2020/03/12 12:11] – [JavaScript] gpipperr
Zeile 1: Zeile 1:
-===== 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 
- 
- 
----- 
- 
-==== 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 
- 
----- 
- 
- 
- 
-===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/ 
- 
- 
- 
----- 
- 
  
programming.txt · Zuletzt geändert: 2024/04/15 16:38 von gpipperr