Ritesh Panigrahi

Blog

Notes on backend engineering, system design, and practical software architecture.

51 posts

March 14, 2026

How Databases Implement Isolation Internally — Locks & MVCC Explained

March 8, 2026

Understanding Transactions, Isolation Levels & Concurrency Problems in Databases

November 22, 2025

Flyweight Design Pattern Explained: How Text Editors Save Memory

November 15, 2025

Simplifying Complex Systems with the Facade Design Pattern

April 20, 2025

Decorating Your Objects: A Guide to the Decorator Design Pattern

June 5, 2024

Understanding the Java Memory Model and 'Happens-Before' Principle

March 23, 2024

Exploring the Composite Design Pattern: Simplify Object Hierarchies

February 21, 2024

Beginners Guide to Service Mesh and Istio

February 13, 2024

A Guide to Bridge Design Pattern

February 4, 2024

Adapter Pattern Explained: Building Bridges in Your Codebase

January 21, 2024

Simplify Object Creation with Prototype Pattern

January 14, 2024

Creating Java Objects Like a Pro: Mastering the Builder Design Pattern

January 11, 2024

Abstract Factory Pattern

January 7, 2024

Factory Design Pattern

January 3, 2024

Singleton Design Pattern

October 21, 2023

Mutual Authentication with Two-Way SSL: A Step-By-Step Guide

October 20, 2023

How exactly one-way SSL works?

October 19, 2023

A Beginners Guide on ETags

August 16, 2023

Simplify Your Code with SOLID Principles: A Beginner's Guide

July 30, 2023

Getting Started with SOLID Principles: A Beginner's Guide

November 26, 2022

Top String Interview Questions & Answers

August 10, 2022

Top OOPS Interview Questions & Answers

April 20, 2022

Spring Security: Architecture and Internal Workflow

April 19, 2022

Why super() must be the first statement in a constructor?

April 18, 2022

Can the main() method be overloaded in Java?

April 9, 2022

Spring Security: What is CSRF all about?

April 6, 2022

Spring Security: Permission-based Authentication

April 3, 2022

Spring Security: Role-Based Authentication

March 30, 2022

Understanding Roles and Authorities & How to create them using Enums?

March 26, 2022

What is Basic Auth and How to secure APIs using it?

March 23, 2022

Getting Started with Spring Security

March 21, 2022

What is Spring Security? & Important terms in Spring Security

February 14, 2022

Why static block executes before the main() ?

February 12, 2022

Complete Guide to Java enum

February 5, 2022

Deep Dive into Inner and Nested Classes in Java

January 30, 2022

Spring JDBC Template: Complete CRUD application in SpringBoot

January 23, 2022

Top Commonly Used Spring Boot Annotations

January 14, 2022

How to create an ArrayList from a File using BufferedReader?

January 13, 2022

Understanding "==" on String Objects

January 10, 2022

Spring Dependency Injection and Autowiring

January 7, 2022

Java OOPS - Polymorphism - Part 3

January 6, 2022

Java OOPS - Polymorphism - Part 2.

January 5, 2022

Java OOPS - Polymorphism - Part 1

January 4, 2022

JAVA OOPS - Inheritance

January 3, 2022

Java OOPS - Encapsulation

January 2, 2022

Java OOPS - Data Hiding and Abstraction

January 1, 2022

Java OOPS - Introduction & Classes and Objects

December 5, 2021

Guide to Stream API in Java

November 27, 2021

Lambda Expression in Java - Part 2

November 21, 2021

Lambda Expression in Java - Part 1

August 19, 2021

Making microservices Fault Tolerant and Resilient