Search

Lessons (40)

  • Backend Languages: Node.js, Go, Python & Rust

    … thousands of goroutines"] S{{Go scheduler}} -- G1[goroutine] & G2[goroutine] & G3[goroutine] & G4[goroutine …] S -- C1[CPU core …

  • Distributed Coordination: Consensus, Heartbeats and Gossip

    … leader agreement, heartbeats, gossip membership and checksums solve different failure questions](/img/system-design-l6/coordination.svg) Problem …

  • YAGNI: You Aren't Gonna Need It

    … 🩳 👕 🪥"] YAGNI = You Aren't Gonna Need It. It comes from Extreme Programming (XP): 📘 "Always implement things …

  • What Are Design Patterns?

    … 4. Name it in code. PaymentStrategy or OrderEventEmitter tells readers what's going on. mermaid flowchart LR A …

  • Comments & Formatting

    … const PAYMENT MAX RETRIES = 3; That second comment is gold: no amount of good naming could tell you …

  • Deploying & Operating Microservices

    … the curtain drops for a moment, the crew swaps pieces, and the show goes on. The audience barely …

  • Authentication, Authorization & API Security

    … Click "Log in with Google" App- U: redirect to Google (+ PKCE challenge) U- G: log in + consent G …

  • Which Pattern Do I Need?

    … when patterns go wrong Anti-pattern What it looks like Better --- --- --- Patternitis AbstractSingletonProxyFactoryBean for a one-off task …

  • Graphs: BFS & DFS

    … General graphs can have cycles , many paths and disconnected parts . Graphs are everywhere Real world Nodes Edges --- --- --- Google …

  • Meaningful Names

    … If it says winter-jackets , you don't. ![Good names are labels that tell you what is inside …

  • Observability: Logs, Metrics & Traces

    … Learn the three pillars, the golden signals, SLOs and OpenTelemetry. The big idea A car dashboard shows your …

  • Normalization & Denormalization

    … For normal application schemas, reaching solid 3NF plus explicit constraints is usually the practical goal. Use BCNF when …

  • REST vs GraphQL vs gRPC

    … fast, typed calls between services gRPC (from Google) lets one service call a function on another as if …

  • JavaScript Essentials: Event Loop, Closures & this

    … the callback goes to the task queue (even with 0 ms). 3. .then : the callback goes to the …

  • Recursion & Backtracking

    … Dead end? Go back to the last junction and try the next path. Keep going until you find …

  • KISS: Keep It Simple, Stupid

    … Learn to spot over-engineering and choose boring, obvious code. The big idea A Rube Goldberg machine uses …

  • MVC, MVP & MVVM

    … void; goToDashboard(): void; } class LoginPresenter { constructor(private view: LoginView, private auth: AuthService) {} async onLoginClicked(email: string, password: string …

  • Clean Error Handling

    … Code that hides errors does the same thing. mermaid flowchart LR E[🔥 Something goes wrong] -- Q{How does …

  • Next.js Rendering: CSR, SSR, SSG, ISR & Server Components

    … fresh page for the next visitor ✅ Static speed with fresh-enough data. Good for: e-commerce product pages …

  • Design a File Storage Service

    … multipart uploads go to object storage; the API owns metadata, sharing and versioned changes](/img/system-design-l6 …

  • Why Kubernetes?

    … steering a ship). "K8s" = K + 8 letters + s. Google open-sourced it in 2014, based on its internal …

  • Architecture Patterns at Scale

    … img/system-design-l6/architecture-patterns.svg) Style Good fit Main cost --- --- --- Client-server Most products starting out …

  • Kubernetes Cluster Architecture

    … menus, how many cooks each branch needs, where new staff go. It keeps the official records. - Branches (the …

  • Big Data: ETL, Warehouses and Streaming

    … A data lake holds raw/flexible data; a warehouse optimizes governed analytical queries; a lakehouse combines lake storage …

  • Proxies, APIs and Real-Time Protocols

    … img/system-design-l6/protocols-realtime.svg) Need Good starting point Trade-off --- --- --- Public resource API REST over …

  • Trees & Binary Search Trees

    … 7 < 8 → go left · 7 3 → go right · 7 6 → go right · found! Each step throws away half …

  • Behavioral Patterns I: Observer, Strategy, Command, State

    … Strategy 🗺️ Analogy: Google Maps offers routes by car, bike, walking or transit. Same goal (get from A …

  • Layered (N-Tier) Architecture

    … business logic depends on the database, pass-through "sinkholes", and features spread across all layers. - A good simple …

  • Docker & Containers

    … Your app, its runtime (Node 22), libraries and config go into one standard box that runs identically on …

  • Services & Ingress

    Pods come and go, so how does traffic find them? ClusterIP, NodePort and LoadBalancer Services, cluster DNS, Ingress …

  • Serverless Architecture

    … as small functions triggered by events AWS Lambda, Google Cloud Functions, Azure Functions, Cloudflare Workers, Vercel Functions BaaS …

  • Scaling, Load Balancing & Rate Limiting

    … failed health check"] Algorithms Algorithm How it picks Good when --- --- --- Round robin A, B, C, A, B, C …

  • Frontend Performance & Core Web Vitals

    … Google measures exactly these three feelings with the Core Web Vitals . ![The three Core Web Vitals and their …

  • Premiere-Night Video Streaming

    … system-design-l6/premiere-streaming.svg) Plane Handles Goal --- --- --- Control Auth, entitlement, manifest, progress Small, stateless, scalable APIs …

  • Caching & Redis

    … when the cache is full Memory is limited, so something must go: Policy Evicts Good for --- --- --- LRU (Least …

  • The L6 System-Design Thinking Loop

    … Explain metrics, mitigation, and the durable fix. 💡 A good trade-off is specific: “I accept a few seconds …

  • How a Web Request Works

    … faster setup, no head-of-line blocking Where time goes A typical 200 ms page request might be …

  • Replication, Partitioning & Sharding

    … range for geography, or list for known groups. Good partitioning enables pruning: a March query reads March partitions …

  • What Is Apache Kafka?

    … A new reader can start from today's edition, or go back and read everything from the first …

  • Binary Search

    … 23 → go right"] -- s2["lo=5, hi=9 → mid=7 (56)<br/ 56 gt; 23 → go left"] s2 …