Programmierung

Befüllter MS-SQL-Datenbankcontainer auf Knopfdruck

Datenbankserver lassen sich auf so ziemlich jedem Betriebssystem aufsetzen. Es ist jedoch häufig wichtig, unterschiedliche Server, definierte Datenbestände oder reproduzierbare Systemumgebungen auf Knopfdruck zu erstellen: für diese Anwendungsfälle spielen Container eine herausragende Rolle. Im folgenden Infotext wird kurz beschrieben, wie ein Container mit einem MS-SQL-Server aufgesetzt und benutzt werden kann. Es werden Voraussetzungen für den Container zusammengetragen, die nötigen Dateien erstellt und Befehle genannt. Am Ende können wir individuelle versionierbare Datenbanken auf Knopfdurck zur Verfügung stellen. Oder, um es zu buzzworden: “Infrastructure as Code”.

Container-Grundlagen: „Hello World“ aus der Dose

Container sind so etwas wie ein kleiner Bruder der virtuellen Maschinen: schlanker, agiler, wendiger. Das bekannteste Tool, um Container zu administrieren ist Docker. Dieses Tutorial beschäftigt sich mit den Grundlagen der Containernutzung mit Docker.

Git 2: Versionieren mit Branches

Ein großer Vorteil von git ist, dass wir zeitgleich an unterschiedlichen Komponenten eines Projekts arbeiten können, und diese Entwicklungen zu definierten Zeitpunkten wieder zusammenführen können. Diese Entwicklung in Branches minimiert Seiteneffekte, fordert aber etwas Grips…

Git 1: Lokal im Repository arbeiten

Bevor wir uns in die weite Welt von Github, Gitlab, Bitbucket usw. aufmachen wollen wir erst einmal verstehen, was lokal passiert und ein paar Begriffe klären: Was ist ein Commit? Was ist ein Repository? Was ist der Workspace? Was ist die Stage? In welchen Schritten versioniere ich? Wie gestalte ich meine Commit-Nachrichten?

UML-Klassendiagramme mit PlantUML erstellen

Das Tool [PlantUML](https://plantuml.com) ist hervorragend geeignet, um Klassendiagramme direkt in Kommentaren zu versehen, aus JavaDocs zu generieren und zu versionieren. In diesem Infotext stelle ich Hinweise und Tipps vor, wie mit PlantUML nahe am UML-Standard Klassendiagramme erstellt werden können.

Abstrakte Klassen und Interfaces

Ein großes Problem bei Objekt- und Klassenbeziehung ist die starke Kopplung unterschiedlicher Klassen aneinander. Der Austausch von Verhalten ist so nur mit großem Aufwand möglich. Das Konzept der Abstraktion bietet hier in Form von abstrakten Klassen und Interfaces die Möglichkeit, Komponenten lose zu koppeln.

Vererbung in der OOP

Zentrales Element der Code-Wiederverwendung in der OOP ist die Vererbung. Am Beispiel eines Investments werden hier das OOP-Prinzip Vererbung und die Konzepte Überschreiben und Polymorphie erklärt.

UML Klassendiagramm und Sichtbarkeitsmodifikatoren

Kapselung ist ein Konzept der OOP, das verhindern soll, dass Anpassungen des Codes zu Inkonsistenzen führen. Der Zustand der Objekte soll nicht direkt änderbar sein, sondern nur über Methoden, die ggf. weitere Anpassungen vornehmen können: Getter und Setter.

JavaFX 03: Aufbau des Scenegraphs

Was passiert unter der Oberfläche in JavaFX? Was ist eine Scene, ein Root Node, ein branch node und ein Leaf node? Der Artikel ist Teil eines JavaFX-Tutorials.

Python Coding-Kata: Energieverbrauch für Mobilität

Wieviel Energie benötigen wir bei 130 km/h mehr als bei 100 km/h? Um wie viel sparsamer ist ein Kleinwagen als ein Van? Python-Fingerübung für Einsteiger mit Kontrollstrukturen, Wiederholungsstrukturen, einfacher Ein- und Ausgabe.

Lernsituation: Migration der Let’s Meet-Datenbank

Es ist nur noch eine Gesamtübersicht einer Datenbank in einer Tabelle vorhanden. Aus diesen Daten soll die ursprüngliche DB wiederhergestellt werden. Diese soll modelliert, importiert und im Bestand normalisiert werden. (DB Entwurf, Normalisierung, SQL-DDL, SQL-DML, Container, DBMS-Frontends und -Backends).

Annotations in Java

Java Annotationen – Welche geläufigen gibt es? Wozu werden sie genutzt? Wer kann sie auslesen? Welche Eigenschaften können sie haben? Wie kann ich eigene Erstellen? Was wirt mit _Retention_ und _Target_ festgelegt? Was ist die Reflection API und was hat sie mit Annotations zu tun?

  • 22. September 2022
  • Java