Software that does more than a “hello world” usually needs to be configured in some way or another in order to function in a certain environment. This article explains why this configuration must not be part of the software itself and explores som...
Everyone knows that aiming for 100% code coverage is bullshit. This article re-defines code coverage to make 100% a meaningful and worthwhile goal.
Combining the Object Mother Pattern with the Fluent Builder Pattern allows to create Test Data Factories that reduce code duplication and promote the Single Responsibility Principle. Learn why and how in this tutorial.
A review of Robert C. Martin’s book on Clean Architecture.
Log data should contain more than just text. This article discusses some example use cases where adding structured properties to log events helps when debugging. Get inspired to use structured logging in your own use cases!
Logging to files and analyzing them by hand is not the way to go anymore. This article explains the reasons why a log server is the way to go for collecting and analyzing log data.
A guide to configuring different logging behavior in different runtime environments.
A guide to which contextual information is helpful in which logging situation.
A guide to configuring Logback to use a human-readable logging format.
A guide to create a logging format that can be scanned at a single glance.