Inhaltsverzeichnis
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.
Am Ende wird alles gut. Wenn es nicht gut wird, ist es noch nicht das Ende.
Oscar Wilde
Newsletter
Sehr interessante Artikel rund um wichtige Themen der Software Entwicklung
SSL Zertifikate prüfen
HSTS
Freie Zertifikate
Online Bildbearbeitung
Images
Konvertieren
Favicon
Logos
SVG (Viso Clone!)
3D
Farbschemas
Images
- ASCII ⇒ https://www.asciiart.eu/animals
Ablauf Diagramme
Versions Kontrolle und Build Tools + Diff Software
Git ⇒ https://git-scm.com/
Gradle ⇒ https://gradle.org
Diff Software
GIT Oberfläche
Doku:
Kostenloses E-Book - GitHub Succinctly ⇒ https://www.syncfusion.com/resources/techportal/details/ebooks/GitHub_Succinctly
Dateitypen erkennen
Software TrID - File Identifier ⇒ https://mark0.net/soft-trid.html
Legal Stuff
JSON
XML
YAML
YAML
Wer mit YAML Konfigurationsdateien arbeitet, wird am Ende irgendwann ganz wirr, besonders in Ansible. Von der Idee ist das bestimmt ganz gut, aber der kleinste Fehler kann oft dazu führen, das sehr lange gesucht werden muss wo denn der Tipp Fehler steckt. Zumal in Ansible ein Syntaktischer und eine Logischer Fehler wie ein falsches Package ähnliche Fehlermeldungen verursachen.
SQL
Datenmodellierung Online ⇒ https://www.vertabelo.com/
Rekursiv query 11g r2
12c
Erweiterte Technologien
ab 11g R1
Mit Continuous Query Notification auf Veränderungen am Datenbestand reagieren.
Graph Datenbank Algorithmen umsetzen
Parallel SQL
18c
- Polymorphe Tabellenfunktionen ⇒ http://blog.sqlora.com/de/polymorphic-table-functions/
SQL Lernen
- Für Einsteiger ⇒ https://ohhappy.dev/sql-cards SQL mit Karten .-)
PL/SQL
Allgemein
Performance
Tips
Security
Oracle Multimedia
Oracle Text
- Übersicht ⇒ Oracle Text - Volltext Suche über Text Dokumente
Exotische Packages
DBMS_FREQUENT_ITEMSET - Basket Analysis in the Oracle Database
DBMS_PIPE und DBMS_ALERT - Interprocess Kommunikation in PL/SQL implementieren
Anwendung
Probleme
Oracle Native Compilation
Mehr
Quiz rund um PL/SQL ⇒ PLSQL Challenge
Bücher zum Thema:
Zwar etwas älter aber für den PL/SQL Einsteig gut geeignet
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
Basis für die Umsetzung
Apex 5
Allgemein:
Installation
Einsatz:
Entwicklung:
Treffen in München zu APEX :
Treffen in Kassel zu APEX :
Plugins:
Community:
Dokumentation 5.0
- PDF 1000 Seiten ⇒ https://docs.oracle.com/cloud/latest/db121/HTMDB.pdf
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 Representational State Transfer (abgekürzt REST) wird ein Programmierparadigma für verteilte Systeme bezeichnet, das insbesondere für Webservices verwendet wird.
Einsatz ORDS mit Oracle APEX
ORDS REST API
REST Service - Wie dokumentiern? Siehe auch https://bocoup.com/blog/documenting-your-api
Quellen
Python
Einführung
Python 2
- Google Einführungsvortrag ⇒ https://www.youtube.com/watch?v=E_kZDvwofHY
Ebook
Video Tutorials:
Code Beispiele für den Einstieg
Weitere Beispiele:
Tricks und Tips:
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!
Jython Java Implementierung von Python
Hardware Access
Windows:
ARM
Raspberry Pico
ESP32
GUI Entwicklung
- Alternativ:
Sound
Graphik
Plot
OpenGL
Pygame
interactive data science
Open source, interactive data science and scientific computing
Julia
Julia is a high-level, high-performance dynamic programming language for technical computing ⇒ http://julialang.org
Einführung in die Sprache:
Lua
Einführung:
Tutorial:
Als Skript-Sprache für Microkontroller:
Das erste Projekt:
Pony
Pony ist:
- quelloffene Sprache
- statisch typisiert
- verwendet Aktoren
- verzichtet auf Vererbung
- Garbage Collector
- gut skalierbare Architektur
Erste Schritte:
R
R ist eine freie Programmiersprache für statistische Fragestellungen
Beispiele im Netz:
Oracle:
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?
Online Dokumentation
Graphik Libraries
JavaScript basics tutorial:
- 33 Concepts Every JavaScript Developer Should Know Tips ⇒ https://github.com/leonardomso/33-js-concepts#1-call-stack
Node.js
Node.js Treiber für die Oracle Datenbank ⇒ https://blogs.oracle.com/opal/entry/node_oracledb_1_4_0
Installation Windows:
ELECTRON
Oracle JET
Oracle Jet = Client Site JavaScript (Datenzugriff mit Hilfe von REST Calls)
Übersicht:
GraalVM
Nachfolger der ehemaligen JavaScript-Engine Nashorn
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
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
Entwicklen mit Java
Hibernate
Processing
Allgmein
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:
Der Kampf mit dem Java Klassen Pfad:
Alle Jar's in einem Klassenpfad in Linux mit aufnehmen:
CLASSPATH=$CLASSPATH:$(echo "$MY_CLIENT_LIB"*.jar | tr ' ' ':')
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:
echo $CLASSPATH > ~/myClassPath.txt java -classpath @~/myClassPath.txt
Sehr hilfreich unter MS Windows, ab 2K wird es eng mit der Längen von Umgebungsvariablen!
Freie Ebooks
Processing
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 Jose Sanchez auf vimeo sehr gut geeignet.
Siehe http://processing.org/
Libs:
- Vector Rechnen ⇒ http://toxiclibs.org/about/
Programming mit Processing:
Bilder analysieren
sharpmask
Commandozeilen Framework
Decompiler
Offline:
CFR - another java decompiler
Kann ganze Jars „auspacken“ mi:
java -jar C:\entwicklung\cfr\cfr_0_119.jar .\jline.jar --outputdir .\output\ --caseinsensitivefs true
Online:
Jars auspacken mit procyon
$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
⇒ 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:
Oracle und die Powershel
Allgemein
Meine Backup Scripts für die Datenbank unter Windows mit der Powershell
.NET
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
IDE dazu ⇒ https://developer.android.com/studio/
C
Einführung:
HexRechner:
C im Einsatz mit Mikrocontrollern:
Unix Bash
Datenbank Design
Da der Oracle Designer leider schon länger nicht mehr weiterentwickelt wird, müssen Alternativen gesucht werden:
LiquiBase:
PowerDesigner:
Oracle SQL Developer Data Modeler
Artikelsammlung zu wichtigen Themen rund um das Design:
Entwicklungswerkzeuge
Diese Entwicklungwerkzeug empfehle ich für die echte Projekt Arbeit:
Java:
Oracle JDeveloper (na ja, 2019 wohl nicht mehr ganz so aktuell .-) )
IntelliJ IDEA
Pyhton
IntelliJ PyCharm
Datenbank Entwicklung
Oracle SQL developer:
TOAD
Zu kostenintensiv, aber einfach immer noch das beste Werkzeug für die PL/SQL Entwicklung
PL/SQL Developer
Gutes Preis/Leistungsverhältnis, für reine PL/SQL Entwicklung sehr gut geeignet
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/
Zeichensätze / ASCII Tabellen
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/