Vor längerem bin ich über dieses Beispiel in unserem Code gestolpert. Aufgabe dieser Methode ist es eine Konfiguration auszulesen und (weil als String in der DB) in ein BigDecimal umzuwandeln. Tatsächlich versteckt sich hier eine Falle, da der Code davon ausgeht, dass immer ein Wert vorhanden ist (Optional.get()). Eine NoSuchElementException wird ebenfalls ignoriert. Da wir…
Kategorie: Development
Optional.ifPresent()
Basierend auf einer Entdeckung in einem unserer Projekte habe ich eine spannende Diskussion mit zwei KollegInnen im Team geführt. Im Code wurde if (optional.isPresent()) { verwendet, um dann mit optional.get() den Wert zu verwenden. Mein Vorschlag, besser ifPresent(…) zu verwenden, führte dann zu den erwähnten Diskussionen. Zur Verdeutlichung habe ich nachfolgend eine vereinfachte Version beider…
Move von gogs zu gitea
Die Tage habe ich von gogs nach gitea umgestellt. Dummerweise war meine Version von gogs tatsächlich zu neu, als das ich die Migrationswerkzeuge von gitea hätte nutzen können. Dank Atlassian habe ich eine Anleitung gefunden, in der vor allem folgender Befehl von Interesse war: Da ich privat inzwischen einige private Repositories angesammelt habe, habe ich…
Hallo Caddy, Adé Apache2
Seit langem betreibe ich einen (inzwischen kleinen) Server im Keller, auf dem via KVM verschiedene virtuelle Maschinen laufen. Zum einen Spielwiese, zum anderen „kostengünstiges“ Hosting für meine eigenen kleinen Projekte. Da ich hauptsächlich mit Java unterwegs bin und das Webframework meiner Wahl Apache Wicket ist, läuft jede Webanwendung in einer eigenen virtuellen Maschine (Ubuntu Server…
Ubuntu nach 22.04 upgraden
Mehr so als Notiz für mich, für das „nächste Mal“ …
Optional.of() oder warum lesbarer Code so wichtig ist
Diese Woche sind wir über einen kleinen Bug gestolpert, der normalerweise wahrscheinlich behoben und schnell wieder vergessen worden wäre. Die Annahme war, dass ein Optional.of ein leeres Optional liefert, wenn das übergebene Objekt null ist. Tatsächlich wäre das dann aber mit Optional.ofNullable(…) zu lösen, da unser Beispiel eine NullpointerException werfen würde (So auch in der…