All Articles
Explore all articles on different topics like Web Development, System Design, Computer Science, etc.

System Design - All about Caching - Part 2
Caching is like having strategic storage spaces throughout a delivery system - from the neighborhood store to your kitchen pantry. Each level of caching serves a specific purpose in improving system performance. Let's explore each type with real-worl...

How I Rebuilt My Blog with Next.js, MDX, and Hashnode Integration
The story of migrating my blog to Next.js App Router, adding full MDX support, and combining Hashnode articles into a single unified platform.

Segment Tree: Handling Large Constraints with Coordinate Compression
While working on range query problems, I gained a solid understanding of how to use segment trees. Typically, we need to create a segment tree on the array. Then, I encountered the next challenge in the CSES problem set: Salary Queries, a problem ric...

Segment Tree: Range update with lazy propagation
When moving from a normal segment tree to a lazy segment tree, the main goal is to support efficient range updates. In a standard segment tree, updating a range [l, r] requires visiting every affected leaf node, which is O(n) in the worst case. Lazy ...

Segment Tree: Introduction
You might have solved problems that involve ranges and multiple queries, like finding the sum or minimum in a subarray repeatedly.If you’ve ever thought, “There must be a faster way than recalculating everything each time…” then Segment Tree is the...

System Design - All about Caching - Part 1
Caching is a process of storing frequently accessed data in temporary storage for faster retrieval of data. You might have faced a website taking a longer time to load for the first time but on the second time further, it loads faster, this also belo...