Letzte Beiträge

Software-Architektur 13. Juli 2023

Double-Entry Bookkeeping

Hi, Ein Fehler in der Buchhaltung kann teuer sein. Gerade in großen Unternehmen, in denen es sehr viele Transaktionen gibt, ist es leicht eine zu übersehen. Und wenn das passiert, dann merke ich es noch nicht einmal. Vielleicht steht das Unternehmen viel besser da, als es die Bücher hergeben? Oder vielleicht ist es eigentlich unprofitabel? Die Kaufleute haben im 13 Jahrhundert das Problem erkannt. Es musste ein System gefunden werden, dass Fehler unwahrscheinlicher macht. Es wurde die doppelte Buchhaltung erfunden.


Entwicklungspraxis 10. Juli 2023

Nobody Talks About Project Loom

Hi, Wieso spricht keiner über Project Loom? Auf der JVM steht uns einer der größten Änderungen seit Jahren bevor. Und sie beeinflusst massiv wie wir arbeiten. Asynchronität ist schwer. Es muss über so viel nachgedacht werden: Wie konfiguriere ich meinen Threadpool? Hat der Codepath mehr wait-time oder rechnet er lange? Und wie groß sollte die Queue vor dem Threadpool sein? Sind Spikes in dem Codepath zu erwarten? Und wie bekomme ich eigentlich meine globalen State, wie den SecurityContext oder den MDC darüber?


Can You Start Your Application?

Hi, Viele Firmen nutzen moderne Technologien. Kubernetes, RabbitMQ, AWS, Docker, ArgoCD… und so weiter. die Auswahl ist riesig. Der CNCF Landscape ist in den meisten Unternehmen angekommen. Doch was mich wundert: Die Software ist kompliziert. So kompliziert, dass sie nicht “mal eben” lokal gestartet werden kann. Das hätte ich nicht erwartet. In der Auflistung ist bewusst Docker dabei. Denn die meisten Unternehmen mit denen ich sprach nutzt Docker. Viele davon in production.


Entwicklungspraxis 3. Juli 2023

Are You a Carpenter?

Hi, Was unterscheidet einen Softwareentwickler von einem Schreiner? Der Schreiner produziert Möbel. Der Entwickler Softwareanwendungen. Stell dir vor du gehst zum Schreiner. Du betrittst die Werkstatt, siehst allerlei Material, Werkzeuge, fertige und unfertige Möbelstücke. Der Meister kommt auf dich zu. Er fragt dich nach deinen Wünschen. Es soll ein Tisch sein. Mit eingelassener Plexiglas-Platte. Für draußen. Passend zu deinen Wünschen und mit seiner Expertise sucht er das richtige Holz aus. Für draußen muss es ein Wetterbeständiges Material sein. Es darf sich nicht stark verziehen. Damit die eingelassene Platte nicht zerbricht.


Entwicklungspraxis 29. Juni 2023

Write your own PasswordEncoder. NOT!

Hi, Hast du schon mal einen eigenen Passwort-Encoder geschrieben? Ich zwar nicht direkt - aber ich musste einen selbstgezimmerten benutzen. In einem zentralen User-Management-Service liefen die Kundendaten aller Nutzer zusammen. Und in diesem wurden die Passwörter gespeichert. Bei der Registrierung eines neuen Users musste also der gleiche Encoder genutzt werden. Es ist uns in der Praxis - zum Glück - nicht um die Ohren geflogen. Aber es war höchst kritisch. Das Encoding war nicht stark. Der Salt basierte noch auf MD5. Das war bereits zu dieser Zeit kein starker Hashingalgorithmus mehr. Die banale Lösung es “sicherer” zu machen: Einfach zwei mal anwenden. Da kommt niemand drauf 🤦‍♂️


Top