Tomas Tulka's Blog

Random thoughts about programming and other stuff.


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.

Managing Asynchronous Tests

It's recommended to avoid any asynchrony within the scope of the test. Unfortunately, this is not possible everywhere.

How to Effectively Protect Critical Section

Not everywhere could be immutable objects used to ensure thread-safe code.