OOP & Architecture
The four pillars, SOLID, the design patterns worth knowing, and the architectures they grow into. ~40 min.
A growing collection of focused, presentation-ready tutorials — concepts explained the way you'd actually teach a team. Each one is a self-contained deck.
The four pillars, SOLID, the design patterns worth knowing, and the architectures they grow into. ~40 min.
Scaling from one box to many: load balancing, caching, queues, data partitioning, and the trade-offs behind every “it depends”.
Unit, integration & end-to-end tests, the testing pyramid, test-driven development, and tests that catch bugs instead of cementing them.
GET/POST/PUT/PATCH/DELETE, idempotency & safety, status codes, and REST conventions in practice.
Tables, keys & relationships, the SQL you actually write, indexes & query plans, transactions, and normalization vs. denormalization.
Extract / transform / load, batch vs streaming, idempotent pipelines, and where ELT changes the game.
The shell, filesystem & permissions, processes, pipes, and the everyday commands that make you fast.
Git workflows, CI/CD, build tools and the debugging/profiling kit that separates fast teams from slow ones.
Images vs containers, Dockerfiles, volumes & networks, Compose, and how to think in layers.
Classical ML in plain terms: supervised vs unsupervised, the core algorithms, overfitting — and the honest pros & cons of ML vs plain rules.
How neural nets learn — layers, activations, backprop, and the CNN/RNN/transformer families that power modern AI.
Get a model to production and keep it healthy: training pipelines, serving, monitoring, drift, and feature stores.
Prompting, structured output, streaming, tool calling, and evals — the foundation for shipping features with LLMs.
Embeddings, chunking, retrieval and reranking — give an LLM your own data without retraining it.
The agent loop, tool calling, and multi-step orchestration — and when an agent actually beats a plain prompt.
The open standard that lets agents and IDEs plug into your tools and data — host, client, server, and the primitives.
Who you are vs what you can do — password hashing, sessions vs JWT, OAuth 2.0 / OIDC, and RBAC.
The attacker mindset and the OWASP essentials — injection, XSS, CSRF, broken access control, SSRF, and secrets.
A packet's journey — IP & TCP/UDP, DNS, TLS/HTTPS, HTTP/2-3, and load balancers, proxies & CDNs.
From a container to a self-healing cluster — Pods, Deployments, Services, config & storage, scaling, and Helm.
Metrics, logs and traces — the golden signals, distributed tracing, alerting on SLOs, and the OpenTelemetry stack.
Queues vs replayable logs — Kafka's topics/partitions/offsets, delivery semantics, and when to reach for streaming.
Warehouse vs lake vs lakehouse, dimensional modeling (star schema), and the modern data stack for analytics.
Communicate a design visually — C4, UML sequence diagrams, BPMN and ERDs, and when to reach for each.
How teams actually ship — Scrum vs Kanban, the ceremonies, estimation, and writing tickets that don't waste time.
Part 2: consistency & consensus, distributed transactions, geo-distribution, rate limiting, and reliability patterns.
Part 2: window functions, CTEs & recursion, reading query plans, index strategy, and MVCC/locking deep.
Part 2: the control plane & reconcile loop, operators/CRDs, networking internals, RBAC/security, and service mesh.
Part 2: property-based, contract & mutation testing, test architecture, and testing async/time/external services.
Monolith → microservices, the BFF pattern, API gateways, event-driven / CQRS, serverless, and the strangler-fig migration.
Module boundaries → monorepo vs polyrepo → micro-frontends and Module Federation — and when a modular monolith wins.
Types as guardrails: structural typing, unions & narrowing, generics, and the utility types that make large codebases safe to change.
Components, hooks, and data flow done right — plus Server Components, Suspense, and the patterns that keep UIs fast and predictable.
CSR, SSR, SSG, ISR and streaming — what each does to performance, SEO, and cost, and how to pick per route.
Local vs server state, and when to reach for Context, Zustand/Redux, or a data-fetching cache like TanStack Query.
REST vs GraphQL vs gRPC, resource modeling, versioning, pagination, errors, and idempotency — designing APIs people enjoy using.
Pure functions, immutability, composition, and higher-order functions — the paradigm companion to OOP, in everyday code.
Where to cache, what to cache, and how to invalidate it — HTTP caching, CDNs, Redis, and the strategies that avoid stale data.
Bounded contexts, aggregates, ubiquitous language, and event storming — modeling complex domains so the code matches the business.
How Git really works — commits, branches, merge vs rebase, workflows, and how to recover when things go wrong.
Compute, storage, networking and the shared-responsibility model across AWS, GCP and Azure — plus how cloud pricing actually works.
Declarative infrastructure with Terraform/OpenTofu and Pulumi — state, modules, drift, and safe plan-and-apply workflows.
Reliable prompting: clear instructions, few-shot examples, structured output, chain-of-thought, and how to iterate with evals.
Measuring LLM quality: building eval sets, LLM-as-judge, offline vs online metrics, regression testing, and production observability.
When to fine-tune vs RAG vs prompt: supervised fine-tuning, LoRA/PEFT, data prep, and evaluating the result.
Where to run AI: AWS Bedrock, Google Vertex AI, Azure AI Foundry & SageMaker, model gateways, plus hosted (Claude/GPT/Gemini) vs local/open (Llama/Mistral) trade-offs.
Ship AI automations with little or no code — n8n, Zapier, Make, and AI-native builders like Flowise, LangFlow & Dify — and when to graduate to real code.
content/ + an entry in lib/topics.ts