Autor: Jaz

Seit 22 Jahren als Software Entwickler unterwegs, am liebsten in Java.

Das Visitor Pattern mit Default Methoden

Bei jedem Beitrag zum Visitor Pattern habe ich die Vermutung, es wird wohl der letzte zum Thema sein. Aber nur knapp drei Monate nach „Kalenderspielereien mit Java – iCalendar“ folgt schon ein neuer Beitrag zu diesem Design-Pattern.

Weiterlesen

Wichtig, Wichtiger, am Wichtigsten – der Lombard Effekt

Wer schon einmal auf einer Party gewesen ist, wird dieses Phänomen sicherlich kennen. Viele Menschen unterhalten sich und es ist sehr laut. Damit der Gegenüber versteht was man ihm zu sagen hat, muss man lauter und höher sprechen als gewöhnlich. Dieses Phänomen nennt sich Lombard Effekt und ist begründet in der eingeschränkten akustischen Rückkopplung für den Sprecher. Einen ähnlichen Effekt gibt es auch in

Weiterlesen

Blättern mit Spring HATEOAS

In den Beiträgen REST in Peace und REST heißt HATEOAS wurde schon auf die Möglichkeiten des HATEOAS Patterns hingewiesen. Die Verlinkung von Resourcen nutzen um innerhalb der Client Anwendung das notwendige Wissen um die Server API zu reduzieren, entkoppelt Systeme und vereinfacht die Entwicklung und Wartung. Auch in diesem Beitrag wird es um die Implementierung im Stammbaum Projekt gehen. Das Projekt stellt einen Endpoint

Weiterlesen

The Simplest Thing That Could Possibly Work

Die Anforderungen für einen Entwickler Team muss man sich als einen Baum vorstellen, bei dem zu Beginn nur der Stamm zu sehen ist. Der Rest des Baumes ist in Nebel gehüllt. Das dort oben eine Baumkrone vorhanden sein muss, ist dem Entwickler klar, und einige Äste sind im Nebel verschwommen zu erkennen.

Weiterlesen

Fun with Refactoring

Leider verhält es sich mit TODOs wie mit den Flaggen an Nord- und Südpol. Sie überdauern die Jahre und sehen hin und wieder enttäuschte Gesichter von Abenteurern, die zu spät gekommen sind.

Weiterlesen

Aufzählungen und andere String-Konkatenationen

Immer wieder müssen Strings in Java Applikationen zusammengefügt werden. Lange vorbei sind dabei die Zeiten, in denen der Entwickler selber die String Instanzen und einen Separator in einen StringBuilder stecken musste. Mittlerweile kann der Entwickler bei der Verwendung von Streams auf die Collectors.joining Methoden oder in anderen Fällen, auf den dahinter verborgenen StringJoiner, zurückgreifen.

Weiterlesen

2 Hoch 64

In Zeiten von Epidemien wie Corona oder HIV kommt die Diskussion immer wieder auf das exponentielle Wachstum zurück. Eine mathematische Funktion, die trotz aller anderslautenden Äußerungen, vom menschlichen Verstand nicht wirklich erfasst werden kann. Mein erstes Zusammentreffen mit dieser eigentümlichen Wachstumsfunktion, war eine Scherzfrage, die wir Kinder damals falsch beantworteten. „Eine Seerose hat nach drei Tagen die Hälfte des Sees überwuchert, wobei ihre Fläche

Weiterlesen

Hin und Her mit Enums

Immer wieder kommt es vor, dass bei der Integration verschiedener Systeme von einer Enum Darstellung in eine andere konvertiert werden muss. Wer dem Fluch ausgesetzt ist, automatisch generierten Source-Code verwenden zu müssen, kennt dieses Ärgernis zur Genüge. Der Dummheit der Source-Code Generatoren gedankt, muss der Entwickler mit einer Vielzahl strukturell ähnlicher Klassen jonglieren.

Weiterlesen

Agile Anti-Pattern – Lunar Lie

Anti-Pattern sind die schwarzen Schafe unter den Pattern. Sie zeigen eine schlechte Lösung für ein bekanntes Problem. Damit helfen sie aber auf zweierlei Weise, sie warnen vor falschen Entscheidungen und sie helfen bei der Analyse, wenn irgendwas nicht richtig läuft.

Weiterlesen

Kalenderspielereien mit Java – iCalendar

Neue Anforderungen und Anwendungsfälle für selbstgeschrieben Bibliotheken ergeben sich häufig in Gesprächen mit Kollegen. In diesem Fall benötigte der Kollege eine Feiertagsliste für seinen Kalender. Die Bibliothek zur Feiertagsberechnung war für sein Problem unzureichend.

Weiterlesen