Recent Posts
-
Introduction to Trie Data Structure
Trie is a data structure that is not so popular but is particularly useful when you have to work a lot with strings. It also has different names like a […]
-
Instrumenting Applications with Prometheus
Monitoring is an integral part of any non-trivial system, by the monitoring process, we then have an insight into the application performance and status, such as RPM, CPU usage, and […]
-
Covariance and Contravariance (Java)
Many programming languages support subtyping, for example, MechanicalKeyboard can be a subtype of Keyboard, and according to the Liskov substitution principle, the MechanicalKeyboard instance should be substitutable everywhere the Keyboard […]
-
Some notes about TreeSet in Java
The most frequent data structure that I use in Java is the List. But sometimes if I have to store distinct elements without caring about the ordering, then I would […]
-
Thread confinement in Java
As a Java developer, perhaps all of us have written some kind of single-threaded program. In this program, we can reason about our code much easier when compared with multi-threaded […]
-
Creating callback functions in Java
If you are familiar with some event-driven languages such as JavaScript, especially the ES6 version or later, you probably have done some work with callback functions all the time. By […]
-
Why do you need to override equals and hashCode methods in Java?
If you have used some data structures such as a hash map or a hash set for storing your custom object, you probably have to write your own implementation of […]
-
How to Get Better at Programming – 10 Practical Tips
The XXI century is an era of mobile apps, mind-blowing games, helpful software, and informative, entertaining websites. Those things would not exist without specialists who wrote coding for them. The […]
-
Delegate pattern with Consumer interface in Java
As a Java programmer, sometimes you run into a situation when you want to take a task of an object and give it to another object, meaning the original object […]
-
Scale Horizontally vs. Vertically
Scalability is the process of designing and configuring a system to be expanded and adjusted to meet the requirements when the complexity of a system increases. In other words, scalability […]