Sitemap
A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.
Pages
Posts
Java Concurrency 101
Published:
This article provides understanding of Java Concurrency concepts, including threads, ExecutorService, synchronization, concurrent collections, threading problems, locks, conditions, semaphores, volatile variables, happens-before relationships, and barrier synchronization.
Redis 101
Published:
This article introduces Redis, a widely-used in-memory data store. It covers Redis basics, caching strategies, data structures, persistence mechanisms, and techniques.
Kafka Message compression
Published:
This article explains how Kafka message compression works, its configuration, and considerations for both producers and consumers.
Kafka Best Practices
Published:
Below are some notes on Kafka best practices that I found useful while working with Kafka in production.
MongoDB 101
Published:
This is a beginner’s guide to MongoDB, a popular NoSQL database. In this post, I will cover the basics of MongoDB, including its features, installation, and basic operations.
Introduction to Apache Maven
Published:
This article provides a comprehensive introduction to Apache Maven, a powerful build automation tool widely used in Java projects. It covers the basics of Maven, including its standard directory layout, installation process, dependency management, and build lifecycle.
Hexagon Architecture
Published:
This article briefly explains the Hexagon Architecture (also known as Ports and Adapters Architecture), its components.
Human code review
Published:
Code review is a critical part of the software development process. Here are some best practices to make code reviews more effective and collaborative.
Code refactoring practices
Published:
Some code refactoring practices that I have thought would be useful in daily software development.
Access Control Mechanisms
Published:
Some common access control mechanisms like ACL, RBAC, PBAC that are widely used in software systems.
