Search
Lessons (40)
- Kafka Producers
How producers send records: batching, compression, partitioning, the acks setting that trades speed for safety, retries, and the β¦
- Releases, Observability and Production Safety
Ship changes safely with rollout strategy, flags, migration discipline, rollback plans and observable service-level outcomes. ![Safe release β¦
- Normalization & Denormalization
β¦ We will normalize one deliberately bad order table: order id customer name customer email product id product name β¦
- Next.js Rendering: CSR, SSR, SSG, ISR & Server Components
β¦ GET /products S-- B: empty HTML + bundle.js Note over B: β¬ blank screen B- B: download + run JavaScript β¦
- Delivery Guarantees: At-Most, At-Least & Exactly Once
Can a message be lost? Delivered twice? Learn Kafka's three delivery semantics, idempotent producers, transactions for read β¦
- What Is Apache Kafka?
β¦ append an event const producer = kafka.producer(); await producer.connect(); await producer.send({ topic: "orders", messages: [{ key: "customer β¦
- React Fundamentals
β¦ cart, products"] -- products, onAdd PL[ProductList] PL -- name, price, onAdd PC1[ProductCard] PL -- name, price, onAdd PC2[ProductCard β¦
- MVC, MVP & MVVM
β¦ routes/products.js (Express) router.get("/products/:id", async (req, res) = { const product = await Product.findById(req.params β¦
- State Management (Redux, Zustand, TanStack Query)
β¦ useQuery(["products"]) B- Q: useQuery(["products"]) Q- API: ONE request (deduplicated) API-- Q: data Q-- A: data Q β¦
- Message Queues & RabbitMQ
β¦ producer and consumer (Node.js, amqplib) js // producer.js import amqp from "amqplib"; const connection = await amqp.connect β¦
- Caching & Redis
β¦ SET product:42 (expires in 300 s) end js async function getProduct(id) { const key = product:${id} ; const β¦
- How a Web Request Works
β¦ GET /products/42 LB- S: forward to a healthy server S- DB: SELECT FROM products WHERE id = 42 β¦
- Finding Service Boundaries with DDD
β¦ If one giant Product class tries to serve everyone, every team edits it, it grows to 80 fields β¦
- Brokers, Replication & Durability
β¦ It stores partition replicas and serves producers and consumers. - A cluster is a group of brokers (3 at β¦
- Architecture Patterns at Scale
β¦ Style Good fit Main cost --- --- --- Client-server Most products starting out Central service capacity Microservices Independent domain ownership β¦
- Indexes, EXPLAIN & Query Plans
Design indexes from real filter, join and sort patterns, then prove improvements with query plans and production-like β¦
- Frontend Testing Strategy
β¦ 201 })), ]; tsx it("lists products from the API", async () = { render(<ProductsPage / ); expect(await screen.findByText("Keyboard")).toBeInTheDocument(); // findBy β¦
- SQL vs NoSQL Databases
β¦ 17, name: "Ana", email: "ana@mail.com" }, items: [ { productId: 5, name: "Keyboard", qty: 1, priceCents: 4999 }, { productId: 9 β¦
- Vertical Slice Architecture & the Modular Monolith
β¦ ts β βββ ProductService.ts β β βββ handler.test.ts βββ repositories/ β βββ cancel-order/ β βββ OrderRepository.ts β βββ get-order-history/ β βββ ProductRepository.ts βββ products/ βββ dtos β¦
- Deploying & Operating Microservices
CI/CD per service, blue-green and canary releases, feature flags, API versioning, distributed tracing and the production β¦
- Event-Driven Architecture
β¦ one producer publishes a fact; many consumers react independently](/img/architecture/event-driven.svg) Request-driven vs event β¦
- Helm, kubectl Cheat Sheet & Best Practices
β¦ Production checklist for every workload mermaid mindmap root((Production-ready workload)) Reliability 2+ replicas readiness + liveness probes PodDisruptionBudget β¦
- Database Relations & Foreign Keys
β¦ Add an index on orders(customer id) when the product frequently loads a customer orders. A foreign key β¦
- Domain-Driven Design: Tactical Patterns
β¦ CustomerId) { return new Order(id, customerId); } addLine(productId: ProductId, quantity: number, unitPrice: Money) { this.assertDraft(); if (quantity <= 0 β¦
- Kafka vs RabbitMQ & the Kafka Ecosystem
β¦ Analytics, search and fraud detection plug in without touching the services that produce the events. Managed options Running β¦
- Database Internals, Replication and Scaling
Connect storage-engine choices, durability, replicas, query plans, pooling and data layout to real production behaviour. ![Database path β¦
- Docker & Containers
β¦ small and secure ---- FROM node:22-alpine WORKDIR /app ENV NODE ENV=production COPY package.json package-lock β¦
- API Gateway, BFF & Service Discovery
β¦ http://orders-svc:8080 plugins: [jwt-auth] - path: /api/products service: http://catalog-svc:8080 plugins: [cache: { ttl β¦
- Microkernel (Plugin) Architecture
β¦ microkernel.svg) Where you've already seen it Product Core Plug-ins --- --- --- VS Code Editor, extension host, APIs β¦
- Services & Ingress
β¦ no IPs anywhere const res = await fetch("http://shop-api/products"); Service types mermaid flowchart TB subgraph CIP β¦
- Views, Triggers & Stored Procedures
β¦ Transaction-control and return-value capabilities vary by engine, so name the product in an interview.
- DRY: Don't Repeat Yourself
β¦ Next month usernames will need "no spaces" and product names will allow 100 characters. If merged, you will β¦
- Transactions, Indexes & Concurrency
β¦ state the database product you mean. Q11: Livelock versus deadlock Deadlock is circular waiting, so the database aborts β¦
- DBMS Foundations, Keys & Normalization
β¦ necessary relationships, and stop when the design meets product query needs. Normalized tables protect correctness; a read-heavy β¦
- Why Kubernetes?
β¦ Running production is not: Problem Without Kubernetes With Kubernetes --- --- --- A container crashes at 3 a.m. Someone gets β¦
- Replication, Partitioning & Sharding
β¦ Use read-your-own-write routing, a short primary stickiness period, or a product experience that explicitly accepts β¦
- N+1 Queries, Loading & Pagination
β¦ In production, sample traces rather than logging sensitive SQL values.
- Topics, Partitions & Offsets
β¦ decide the partition, and the ordering β When a producer sends a record with a key , Kafka picks the β¦
- Observability: Logs, Metrics & Traces
When production breaks at 3 a.m., observability tells you what, where and why. Learn the three pillars β¦
- Choosing an Architecture
β¦ for Watch out for --- --- --- --- Monolith One deployable Early products, small teams Turning into a big ball of mud β¦