Data Model vs. Domain Model

ORM is a good servant but a bad master. The object-relational impedance mismatch is still there and as dangerous as ever.

Java Concurrency Made Easy

About motivation for the project Loom and some boring concurrent code as a bonus.

How to Test Date and Time in Spring Boot

Testing temporal events in Spring Boot Java applications with JUnit 5 and Spring Boot Test.

Shades of Tests

Practical examples of software testing in Java using Spring Boot Test without mocking frameworks.

Java Records Aren’t Necessarily Evil

How do Java Records fit to the object-oriented design?

SOLID Principles in Java by Example

There are a lot of articles about the SOLID principles. But usually a different example for a particular principle is to be found. Instead, would it be nice to demonstrate all of them on a single code snippet?

Spring HTTP Message Converters Customizing

A deep look at how Spring's HTTP Message Converters work.

Package by Component with Clean Modules in Java

Let's find the best combination of two good architectural approaches: Package by component and Clean architecture.

Pitfalls of Processing a Stream from an External Program

How to design a standalone program that produces a big amount of binary data, and what are the pitfalls of the approach?

Synchronized Methods vs. Semaphore

When one-thread-access for synchronized methods is too restrictive, semaphores come to mind.