Distributed Locking

What is distributed locking? With loosely coupled distributed systems, several instances of a microservice might be accessing the same shared resource. For example, several instances of a microservice might attempt to write to the same database. We have two kinds of locks: Optimistic: instead of blocking a potentially invalid process, the process continues, in the

Singleton vs Static Class

Singleton and Static classes can only have one instance available in memory, and both classes can be used to maintain the global state of an application, however, there are many differences between them. In this article, I explain what their differences are. Singleton Singleton is one of the creational patterns from “Gang of Four” (GoF), and

Using Dates Correctly in Applications

Introduction This is one of the topics that is not very common. Even though we are always interacting with Dates and Times in our application, they can be very complex depending on your use case. Our entire application broke because of some DateTime concepts that wasn’t properly though through so ideally, I am writing an

Problems with Enumerations to avoid

Introduction Most of today’s programming languages support Enums. These types have the power to be very descriptive while being a value type: An enum is a named constant that corresponds to an integer value type. Each member maps to a number that is used implicitly when calling this constant. You may tend to use them