Recent Posts

  • 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 […]

  • Git commands you use every day as a junior developer

    Have you just landed your dream job as a programmer? Congrats! We can have different backgrounds and working on different tech stacks. However, no matter which technologies you use, working […]

  • Building a Web Development PC

    It’s no secret that web developers have to meet certain computer specifications if they want to do their work efficiently. For example, the Digital Hacker’s guide suggests a RAM that’s at least […]

Buy Me a Coffee