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

Verwalter – oder wie Organisationen verrotten

Sind sie auch schon einmal an einen früheren Tätigkeitsbereich zurückgekehrt und es hat sich dort nichts verändert? Dutzende von Buzzword-Hype-Changes, aber unter dem frischen Anstrich von Agilität und digitaler Transformation schaut immer noch die alte Kontroll Mentalität durch?

Sie sind in das Reich der Verwalter eingedrungen, hier finden keine Veränderungen statt, neue Prozesse und Methoden werden hier den “Erfordernissen” angepasst. Egal ob Kanban, Scrum oder XP, hier wird nur nach dem Sinatra Prozess gearbeitet (“I did it my way”).

Das ist doch alles Murcs

Manche Teams bekommen Scrum einfach nicht hin. Je nachdem wie verzweifelt der Beobachter ist, wenn er dem Treiben zuschaut, nennt er es Scrum-But, Anti-Scrum oder Zombie Scrum. Wenn sich alles umkehrt, der PO die Kommunikation im Team organisiert, der Scrum Master passiv in der Ecke steht, die Team Mitglieder kein Interesse daran finden, funktionsfähige Software … Read more

Überall nur Bäume hier, Entscheidungsbäume

Meinen letzten Text zur Künstlichen Intelligenz schrieb ich in den neunziger Jahren, als Werkstudent am Lehrstuhl für Künstliche Intelligenz. Jetzt also widme ich mich, dem aktuellen Hype geschuldet, wieder einmal diesem Thema. Es ist mehr als 25 Jahre vergangen und eine Menge hat sich getan, die Verfahren sind qualitativ und quantitativ besser geworden, die Rechner schneller und der Speicher größer.

Immer Ärger mit Hierarchien

“Es dürfte Ihnen schwer fallen zu erklären, warum Sie eine Leiche vergraben, die Sie nicht getötet haben.” aus dem  Film “Immer Ärger mit Harry” In Scrum arbeiten selbstorganisierte, selbständige Teams an der Entwicklung der Software. Sie stellen am Ende eines jeden Sprints ein neues lauffähiges System für den Kunden bereit. Auf diesem System kann der … Read more

Kobayashi-Maru

Der Kobayashi-Maru-Test ist ein fiktives Übungsszenario, dass in mehreren Filmen und Episoden von Star Trek erwähnt wird. In dem Test wird geprüft, wie Kadetten in einer ausweglosen Situation handeln. Obwohl niemand diesen Test bestehen kann, hat der Kadett James T. Kirk den Test erfolgreich absolviert, indem er das Übungsszenario manipulierte. Der Begriff Kobayashi-Maru steht für ausweglose … 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