Building a Navbar with Layout Animations

Project tutorial: Create a polished navigation bar where elements smoothly resize and reposition using layout animations.

December 3, 2025 · 2 min · 227 words · Nirajan Khatiwada

Shared Layout Animations with layoutId

Learn the secret to App-Store-like transitions. Animate shared elements between different components or routes with layoutId.

December 3, 2025 · 4 min · 738 words · Nirajan Khatiwada

React Day 19: New Features (React 19)

Day 19 of React series. Deep dive into React 19 features including the useId hook, use API, metadata support, and Activity component.

May 18, 2025 · 7 min · 1321 words · Nirajan Khatiwada

Practical Tips from Working with Framer Motion

Tips and tricks learned from hands-on experience with Framer Motion’s variants and child staggering techniques.

December 17, 2025 · 1 min · 88 words · Nirajan Khatiwada

React Authentication: JWT, Axios, and Context API Guide

Complete guide to React Authentication. Implement login, logout, protected routes, and silent token refresh using simplified patterns.

June 20, 2025 · 5 min · 883 words · Nirajan Khatiwada

Page Visibility, Drag Events & SVG Animations in Framer Motion

Master performance optimization, interactive dragging, and SVG animation techniques in Framer Motion.

April 13, 2026 · 6 min · 1086 words · Nirajan Khatiwada

title: “DBMS Transactions, Indexing & SQL Query Control (LIMIT & OFFSET)” slug: “dbms-transactions-indexing-limit-offset” date: 2026-04-18 description: “Comprehensive guide to DBMS Transactions (ACID, states, operations), Indexing for performance optimization, and SQL LIMIT & OFFSET for query control and pagination.” showToc: true weight: 1 series: [“DBMS”] categories: [“DBMS”, “SQL”, “Database Management”] tags: [“Transactions”, “ACID”, “Indexing”, “SQL”, “LIMIT”, “OFFSET”, “Concurrency”, “DBMS Basics”] summary: “Covers core DBMS concepts including Transactions (ACID properties and states), Indexing for faster data retrieval, and SQL LIMIT & OFFSET for efficient result pagination.” images: ["/images/dbms_transactions.jpg"] Transaction A transaction is a sequence of one or more SQL statements that are executed as a single unit of work. Transactions are used to ensure data integrity and consistency in a database. They allow you to group multiple operations together, so that either all of the operations succeed or none of them do. ...

7 min · 1439 words · Nirajan Khatiwada

Introduction to Stack and Queue Stack and Queue are fundamental linear data structures widely used in computer science for managing ordered data efficiently. A Stack follows LIFO (Last In First Out) principle — the last element inserted is the first one to be removed. A Queue follows FIFO (First In First Out) principle — the first element inserted is the first one to be removed. These structures form the basis for more complex algorithms and systems such as parsing, scheduling, and resource management. ...

6 min · 1228 words · Nirajan Khatiwada

1. Introduction to Recursion Recursion is a programming technique in which a function calls itself directly or indirectly to solve a problem. It breaks a complex problem into smaller subproblems of the same type until a base condition is met. 2. Key Components of Recursion Every recursive function must have two essential parts: a) Base Case Condition where recursion stops Prevents infinite function calls b) Recursive Case Function calls itself with a smaller input Moves the problem toward the base case 3. How Recursion Works (Call Stack) Each recursive call is stored in the call stack Local variables are stored separately for each call When the base case is reached, stack starts unwinding Stack Behavior: Function call → pushed to stack Function return → popped from stack 4. General Structure of a Recursive Function def recursive_function(parameters): if base_condition: return value else: return recursive_function(smaller_parameters) 5. Example 1: Factorial of a Number Mathematical Definition: n! = n × (n-1)! 0! = 1 Python Implementation: def factorial(n): if n == 0 or n == 1: return 1 return n * factorial(n - 1) Dry Run (factorial(4)): factorial(4) = 4 * factorial(3) = 4 * 3 * factorial(2) = 4 * 3 * 2 * factorial(1) = 4 * 3 * 2 * 1 = 24 6. Example 2: Fibonacci Series Definition: fib(n) = fib(n-1) + fib(n-2) fib(0) = 0, fib(1) = 1 Python Code: def fibonacci(n): if n == 0: return 0 if n == 1: return 1 return fibonacci(n-1) + fibonacci(n-2) 7. Types of Recursion 1. Direct Recursion A function calls itself directly. ...

4 min · 760 words · Nirajan Khatiwada

Trees consist of vertices (nodes) and edges that connect them. Unlike the linear data structures that we have studied so far, trees are hierarchical. They are similar to Graphs, except that a cycle cannot exist in a Tree - they are acyclic. In other words, there is always exactly one path between any two nodes. Root Node: The topmost node in a tree. Child Node: A node that has a parent node. Parent Node: A node that has one or more child nodes. Sibling Nodes: Nodes that share the same parent node. Leaf Node: A node that does not have any child nodes. Ancestor Node: A node that is a predecessor of a given node. Example: ...

6 min · 1227 words · Nirajan Khatiwada