Catch 304 – Der faule Trick

Beim Experimentieren mit der Spring Boot Rest-Schnittstelle fiel mir wieder einmal auf, dass ich beruflich nur wenige Rest-Services kennengelernt habe, die den HTTP Status Code 304 verwenden. Bei den Projekten, an denen ich teilgenommen habe, gab es tatsächlich nur eine einzige Rest-Schnittstelle, die von diesem Feature gebraucht machte. Der HTTP Status Code 303 NOT Modified … Read more

Neues Material

Womit erstell ein Java Entwickler seine Webseiten? So traurig es im ersten Augenblick klingen mag, er verwendet Javascript. Denn egal welche Technologie verwendet werden soll, damit die Website dem Benutzer gefällt, wird der  Einsatz von Javascript benötigt. Warum also nicht gleich aus der Not eine Tugend machen und die Javascript Bibliothek React verwenden. Die Bibliothek  … Read more

REST in Peace

Im vorläufig letzten Beitrag zum Thema Stammbäume geht es diesmal um die Generierung der grafischen Stammbäume mit Hilfe der REST-Schnittstelle, ein paar kleinen Verbesserungen unserer Sourcen und den Einsatz von HATEOAS in unserer Beispielanwendung. Bevor wir uns dem Thema HATEOAS zuwenden und damit der verbesserten Verlinkung unserer Resourcen mit Spring Boot Mitteln, bereinigen wir erst … Read more

Stammbäume ins Netz mit GINA

Die Stammbäume entstanden auf meinem Notebook bislang recht primitiv als Produkt eines JUnit Test. Es wäre aber doch viel schöner, wenn es eine Service geben würde, der über eine REST Schnittstelle, Ahnendaten und Stammbaumgrafiken liefern könnte. Solch einen Service kann man schnell und einfach mit Spring Boot 2 erstellen. Es funktioniert sogar so einfach, dass ich die Beispielapplikation in einem Bruchteil der Zeit zum Laufen gebracht habe, die ich zum Schreiben dieses Beitrages benötigte.

Wir malen einen Stammbaum

“I’ve been looking so long at these pictures of you That I almost believe that they’re real” — The Cure Nachdem wir in den ersten beiden Beiträgen Stammbäume für Entwickler und GEDCOM im Detail etwas über die Datenquellen erfahren haben, wenden wir uns nun dem eigentlichen Wunsch der beiden agilen Kunden zu. Meine Töchter Alicia und Fiona … Read more

GEDCOM im Detail

Im vorherigen Beitrag Stammbäume für Entwickler wurde grob skizziert, wie GEDCOM Dateien mit einem einfachen Java Programm eingelesen werden können. Hier werden wir einige Details der Spezifikation genauer betrachten und zeigen, wie sie in Java leicht umgesetzt werden können.

Programmieren auf Französisch – Tourette

“Die Behandlung dieser einzigartigen Störung oder mehr oder weniger ihre vollständige Behandlung bleibt noch zu entwickeln.” — Georges Gilles de la Tourette Kennen Sie diese Entschuldigungen? “Wir hatten wenig Zeit“, “Für Reviews stand kein Kollege zur Vergütung“, “Da reglementiert uns keine Checkstyle Regel“, “Was Sonarqube nicht bemerkt, hat ausreichende Qualität“? Und natürlich die die Mutter … Read more

Stammbäume für Entwickler

Stammbäume sind für viele Menschen ein spannendes Steckenpferd, egal ob Fachmann oder Laie, ob Historiker oder Nostalgiker, ob Jung oder Alt, jeder freut sich über den Anblick der eigenen Ahnenreihe. Bei dem einen reicht sie weit in die Vergangenheit, bei dem anderen finden sich bloß Eltern und Großeltern.

Und noch ein Fluent Builder

Nachdem wir schon zwei Ansätze für einen Fluent Builder angeschaut haben, wollen wir uns diesmal den Einsatz einer Chain in einem Builder anschauen.

Häufig möchte man einen Builder wiederverwenden, statt ihn jedes Mal für eine Instanz neu zu erzeugen, zu konfigurieren und dann wegzuwerfen.

Read more

Dependency Injection mit ParameterResolver in JUnit 5

JUnit 5 bieten eine ganze Reihe neuer Möglichkeiten um Unit Tests kompakt und strukturiert zu schreiben. Unter anderen gibt es nun die Möglichkeiten die Test Methoden mit Parametern zu versehen. Genauer gesagt können Konstruktoren und alle Methoden, die mit @Test, @RepeatedTest, @ParameterizedTest, @TestFactory, @BeforeEach, @AfterEach, @BeforeAll oder @AfterAll annotiert sind, um Parameter ergänzt werden. Die Parameter werden je nach Typ beim Aufruf der … Read more