Letzte Beiträge

Entwicklungspraxis 20. Juli 2023

"I think Loom is going to kill reactive programming." ~Brian Goetz

Hi, “Ich glaube Loom wird reactive programming vernichten” Dieser Satz stammt von Brian Goetz . Weißt du wer das ist? Brian ist seit 13 Jahren Java Language Architect bei Oracle. Aus seiner Feder stammt “Java Concurrency in Practice” - eines der Standardwerke für jeden Java Entwickler . Er war es auch, der JSR-335 - Lambda Expressions - in die Sprache brachte. Was Brian sagt hat Substanz. Du findest auf der ganzen Welt wohl kaum jemanden, der einen besseren Ausblick auf die Zukunft von Java und dessen Ökosystem geben kann.


Entwicklungspraxis 17. Juli 2023

Surprising Documentation

Hi, Klassenkommentare, Architekturdokumentation, Methodenkommentare, API-Dokumentation, Inlinekommentare, Featuredokumentation, Wireframes, Entity-Releationship-Diagramme, Use-Case-Diagramme, Processdokumentation, End-User-Dokumentation…. Es gibt so viele Dinge die man dokumentieren kann. Aber welche brauche ich wirklich? Dokumentation schreibt sich nicht von alleine. Jemand muss sich dafür die Zeit nehmen. Und damit sie auch wirklich Mehrwert bringt muss sie gut geschrieben, möglichst vollständig und fokussiert sein. Das kann nicht jeder. In großen Konzernen - mit tausenden Mitarbeitern - wird viel dokumentiert. Es gibt Softwarearchitekten, die die Zeit und Ausbildung haben gute Dokumentation zu schreiben. Es gibt so viele Entwickler, dass genügend Zeit eingeräumt wird den Code zu dokumentieren. Und technischer Autoren verfassen in höchster Qualität die End-User-Dokumentation.


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?


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