Ab die Post (Teil 2)

Im vorherigen Beitrag zu JavaMail API wurde die Bibliothek GreenMail vorgestellt. Mit dieser Bibliothek ist es möglich, verschiedene E-Mail Server zu simulieren. Da keine überzeugende JUnit 5 Unterstützung existiert, lag die Idee nahe, eine eigene JUnit Extension zu schreiben. Während der Implementierung zeigten sich erste Ideen als unnütz, das Verständnis der GreenMail API verbesserte sich und die eigene Art zu Testen wirkte sich natürlich auf die Gestaltung der Erweiterung aus.

Weiterlesen

Ab die Post

Der JavaMail Framework ist ein sehr altes Schlachtross aus den Reihen der Java Standard APIs. Trotz des hohen Alters von über 20 Jahren kann man ohne große Umstände Emails damit versenden und empfangen.

Weiterlesen

Entwickler Dokumentation ohne Textverarbeitung

Leider hält sich in vielen Bereichen immer noch hartnäckig das Gerücht, das für eine ordentliche Dokumentation eine Textverarbeitung notwendig ist.
Üblicher und übler Vertreter dieser Gattung ist Microsoft Word. Die Nachteile durch dieses Programm für Software Entwickler sind nahezu endlos. Programmfehler, komplizierte Bedienung, Ablenkung von Inhalt durch WYSIWYG, Inkompatibilitäten zu anderen Programmen oder eigenen älteren Versionen, automatisierte Dokumentationstools unterstützen das Format nicht.

Weiterlesen

Trivial Pursuit – API MarkDown

Die Dokumentation einer REST API sieht immer sehr schick aus. Ob es sich um eine interaktive Swagger Seite handelt oder um eine statische Darstellung eines anderen Tools, alle Endpoints, Parameter und Datentypen sind akkurat aufgelistet.

Weiterlesen

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