-
Optimistic and Pessimistic Locking
Optimistic and Pessimistic Locking are two common approaches to handle resource contention in software development. This article explains the concepts, pros and cons of each approach, and how to choose the right one for your application.
-
Transactional and Performance Problem
In software engineering, sometimes we encounter a situation where we need to perform multiple operations that must either all succeed or all fail together. This is known as a transactional problem. How can we deal with it and what's the trade-off between different approaches?
-
Software Quality by Nature: The relationship between Software Engineering, Mathematics and Science
People make software, write code and test it day by day, but is there anyone really thinking about the essence of software quality? In this article, I will talk about the relationship between Software Engineering, Mathematics and Science, and how we can use them to verify the software.
-
Adapter Pattern and Applications
The Adapter Pattern is a structural design pattern that allows incompatible interfaces to work together by acting as a bridge or translator.
-
Java Virtual Threads Explained: How They Work and When to Use Them
How Java Virtual Threads work under the hood, why they simplify concurrency, and when I choose them over async code.