Autor: steffenboe

1. August 2022

Immutable Code #1

Das Open-Closed-Prinzip besagt: “Ein Modul sollte offen für Erweiterungen, aber geschlossen für Änderungen sein.” Eine Konsequenz dieses Prinzips ist es, neue Funktionalität über neue Objekte zu implementieren, statt über die Modifikation von bestehenden Objekten.  Das ist durchaus sinnvoll, denn Modifikationen an bereits bestehendem Code bergen immer die Gefahr, Fehlverhalten in bis dahin fehlerfreien Code einzubauen. Daneben müssen, neben den Unit-Tests für die neue Funktionalität, meist […]

2. Januar 2022

Ein Telegram-Bot zur Konvertierung von PDF-Dateien nach CSV

In diesem Blogbeitrag wollen wir einen Telegram-Bot entwickeln, der PDF-Dateien in CSV Dateien konvertiert. Wir benutzen dafür Java und Maven. Einrichten des Bots Zunächst muss ein neuer Telegram-Bot eingerichtet werden. Dafür muss der Telegram-Bot @BotFather angeschrieben werden, wie in dieser Anleitung beschrieben. Der Bot legt einen neuen Bot an und gibt ein Bot-Token aus, der zur Kommunikation mit der Telegram-API verwendet wird. Unser Bot ist […]

27. Dezember 2021

DEVJOURNAL #1.0: DB BACKUP&RESTORE WEBTOOL IN JAVA

In dieser ersten Beitragsreihe möchte ich ein Webtool implementieren, dass von verschiedenen Datenbanken regelmäßig Backups ziehen kann und diese Backup-Dumps auch wieder in die jeweilige Datenbank einspielen kann. Die Beitragsreihe wird insbesondere folgende Aspekte professioneller Softwareentwicklung beleuchten: Design und Implementierung von (Web)Anwendungen, Clean Code, Refactorings und Redesigns nach objektorientierten Maßstäben, neue oder sich ändernde Anforderungen, Auslieferung und Betrieb in der Cloud nach DevOps-Methoden und Best-Practices. […]

7. Dezember 2021

8 DINGE, DIE ICH ÜBER OBJEKTORIENTIERTES DESIGN GELERNT HABE (PART 2)

Im vorherigen Beitrag wurden schon 4 Konzepte vorgestellt, die man in der praktischen objektorientierten Softwareentwicklung selten findet. Es folgen nun 4 weitere. 5. Objekte kommunizieren über Nachrichten Auch wenn Objekte in der Objektorientierung zentral scheinen, teilen sie sich diesen Ruhm mit Nachrichten. Und wenn man ein objektorientiertes Design vom Standpunkt der Kommunikation von Objekten aus betrachtet, können weniger offensichtlichere, aber genauso notwendige Objekte besser aufgedeckt […]

2. Dezember 2021

8 DINGE, DIE ICH ÜBER OBJEKTORIENTIERTES DESIGN GELERNT HABE (PART 1)

Softwaredesign ist eine Kunst für sich. Es gibt viele Regeln darüber, wie „guter“ Code auszusehen hat, und als Junior-Softwareentwickler fängt man gezwungenermaßen an, sich mehr oder weniger „blind“ an diese Regeln zu halten. Erst mit zunehmender Erfahrung und/oder einer tieferen Auseinandersetzung mit der Thematik wird klar: das starre Befolgen von Clean Code-Regeln führt nicht zu gutem Softwaredesign. Gerade hinsichtlich objektorientierter Programmierung werden vielmehr dessen Konzepte, […]