Caching und Spring Data JPA

Im Zuge der Implementierung einer Restschnitstelle für die Verwaltung von Ahnenfoschungsvereinen kam die Frage auf, ob man die Datenbankabfragen nicht cachen könnte. Da der Bestand an solchen Vereinen sich selten verändert, liefert dieser Mikroservice fast immer identische Ergebnisse.

Ein Schritt zurück bringt uns voran

Wer sich schon einmal an einer Staffelei versucht hat, der weiß, wie wichtig es ist, hin und wieder einen Schritt zurückzugehen. Der Schritt zurück gibt dem Maler die Möglichkeit, sein Werk im Ganzen zu betrachten. Häufig verliert der Künstler bei den Detailarbeiten das Gesamtwerk aus den Augen. Dann kann es passieren, dass die verschiedenen Bildbereiche … Read more

Mengenlehre auf Kalenderblättern

Kaum waren die Beiträge über Feiertage veröffentlicht, da kommt eine Anfrage zur Arbeitszeitberechnung von meiner Gattin.

Das Problem, das meine Ehefrau mir schilderte, ist den Eltern schulpflichtiger Kinder wohlbekannt. Arbeitnehmer haben viel weniger Urlaubsanspruch als ihre Kinder Ferientage. Für einen Arbeitgeber wird dies zu einem Problem, wenn die Mitarbeiter Schulkinder betreuen und keine Schulkinder zur Verfügung stehen.

Persistieren von Enums mit JPA

Die Java Enums sind für jeden Software Entwickler ein Segen, verhindern sie doch an vielen Stellen feherhafte Zuweisungen von Konstanten. Erstaunlicherweise werden sie in ihrer Natur als Konstanten nicht immer akzeptiert.

Zufallswerte in JUnit 5

Normalerweise möchte jeder Entwickler den Zufall aus seinen Unit Tests verbannen, Für eine verlässliche Eingabe wird eine vorhersehbare Ausgabe gewünscht. Aber wer kennt nicht die vielen hundert Unit Tests, die alle den Benutzer Max Mustermann verwenden, der 42 Jahre alt ist. In vielen Fällen ist dies kein Problem, manchmal ändert den Entwickler auch das Alter … Read more

Kalenderspielereien mit Java (3)

Bevor in diesem Beitrag die Initialisierung der Feiertagsklassen aus Teil 1 und Teil 2 besprochen werden, wird noch eine fehlende Feiertagsberechnung nachgereicht. Im Saarland ist der Buß und Bettag ein gesetzlicher Feiertag und er fällt jedes Jahr auf den Mittwoch vor dem 23. November. Die Berechnung erscheint im ersten Moment kompliziert, mit der Java Time … Read more

Kalenderspielereien mit Java (2)

Im vorherigen Beitrag wurde die Berechnung von festen und beweglichen Feiertagen in Deutschland besprochen. Der Aufruf mit einem Länder Locale gestattet eine Unterscheidung der Feiertage nach Ländern. Leider sind viele Feiertage nicht an Landesgrenzen gebunden, sondern sind regionale Besonderheiten. So existieren neben den bundesweiten Feiertagen eine Reihe von Feiertagen, die nur in einigen Bundesländern oder … Read more

Defaultwerte für NULL Parameter

Java Bibliotheken

Manche nützliche Erweiterung in der Standard Java Bibliothek entdeckt man erst, wenn man in der API nach etwas gänzlich anderem sucht. Die NULL Wertebehandlung in der Klasse Objects hat seit Java 9 Zuwachs erhalten. Neben dem Objects.requireNonNull existieren nun auch Objects.requireNonNullElse und Objects.requireNonNullElseGet. In der Vergangenheit mussten häufig Guard Clauses verwendet werden, um Parameter auf … Read more

Kalenderspielereien mit Java

“Nichts ist getan, wenn noch etwas zu tun übrig ist.” Carl Friedrich Gauß Hin und wieder muss ein Entwickler überprüfen, ob ein bestimmtes Datum ein Feiertag ist oder nicht. Erstaunlicherweise bieten die Java Standardbibliotheken zum Thema Feiertage recht wenig. Nicht einmal eine Methode zur Osterberechnung ist zu finden. Dabei wäre es doch sehr angenehm ein … Read more

Massentest mit JUnit 5

Immer wieder kommt es vor, dass Softwareentwickler ihren alten Quellcode bearbeiten müssen. Dabei ist der Entwickler mit dem Werk der letzten sechs Wochen immer recht zufrieden. Dinge, die noch nicht älter als sechs Monate sind, werden mit einer oberlehrerhaften Skepsis betrachtet und im Kopf werden eifrig Änderungen notiert, die das frühere Ich vergessen hat. Was älter ist als sechs Monate, wird behandelt, als wäre es von fremder Hand erstellt. Zum einen, weil viele Codeänderungen schon längst vergessen sind, oder weil man nicht akzeptieren will, diesen Schund selbst geschrieben zu haben.