2023

Mustererkennung mit Regulären Ausdrücken

Die Mustererkennung Regulärer Ausdrücke (RegEx) ermöglicht Automatisierungen an Stellen, wo Handarbeit mühsam und langwierig ist. Telefonnummern in unterschiedlichen Formaten gespeichert? In einer CSV-Datei alle Spalten in verkehrter Reihenfolge? Wo stecken im Fließtext Geldbeträge mit Nachkommastellen? Derlei Aufgaben lassen sich mit RegEx lösen – besser man kennt sie!

Git-Übungsaufgaben

Natürlich lernt man git am besten, in dem man es täglich nutzt. Wer aber die git-Integration in der IDE nutzt hat vielleicht keinen Bezug mehr zu den eigentlichen Konsolen-Befehlen des Versionscontrollsystems. Hier daher ein paar Fragen zu git, wie ich sie auch gerne in Klassenarbeiten stelle…

SQL: Aggregierende Funktionen

Aggregierende Funktionen bieten die Möglichkeit, übergreifende Aussagen zu mehreren Datensätzen vorzunehmen. Gemeinsam mit dem GROUP-Clause wird so ermöglicht, für Datensatzgruppen beispielsweise Summen oder Durschnitte zu bilden. Dieser Artikel reist die Grundlagen dazu an.

„Let’s Meet-Datenbank“ Beispielumsetzung  Teil 1: Modellierung

Dies ist der erste Teil (Modellierung) einer Beispiellösung für die Let’s Meet“ Datenbank-Lernsituation. Es führen viele Wege zum Ziel – der einzig richtige ist der Weg, den man selbstständig gegangen ist. Daher ist diese Variante bestenfalls als eine Ideenskizze zu verstehen, die genutzt werden kann, wenn man nicht mehr weiterkommt. Einige Schritte habe ich bewusst etwas umständlicher realisiert, um so bestimmte Techniken des Datenbankentwurfs bzw. Abfragetechniken darstellen zu können.

Debugging per Logging und für ESPs mit WLAN

Bei einfachen Projekten ist das Logging über die serielle Verbindung ein Segen beim Debugging: über die USB-Verbindung können am seriellen Monitor der Arduino-IDE Werte ausgegeben werden. Was aber tun, wenn die serielle Verbindung nicht besteht? Wie kann ich Logging am ESP komfortabel und einfach umsetzen? Ein Vorschlag.

Information Hiding: Kapselung in Python (OOP)

Wer gut änderbaren Code programmieren will, der versteckt Implementierungsdetails wie den Zustand von Objekten. Veröffentlicht wird nur, was wirklich benötigt wird. In Python ist es nicht ganz einfach (und eher unüblich), den Rest wegzukapseln. Aber wie lässt sich Kapselung in Python umsetzen?

OOP in Python – Klassen mit Methoden und Attributen

In der realen Welt trifft man häufig auf Dinge, die ein identisches Verhalten aber unterschiedliche Eigenschaften haben. Objektorientierte Programmierung hilft dabei, Einheiten zu modellieren, die über ein gemeinsames Verhalten bei unterschiedlichen Zuständen verfügen.

Objektorientierter Einstieg in PyGame: Planetensimulation

Eine Variable auf der einen Seite. Eine Funktion auf der anderen Seite. Viele Probleme lassen sich so darstellen. Manchmal ist es aber gerade die Verknüpfung von beidem (die Objektorientierung), die die Programmierung erstaunlich einfach macht. Am Beispiel einer Planetensimulation mit Hilfe von Pygame soll das Konzept der Objektorientierten Programmierung greifbar gemacht werden.