Backend po lopatě

Backend a system design po lopatě, od nuly k seniorovi. Učíš se z toho, jak věci v praxi selhávají, protože failure modes, trade-offy a idempotence jsou to, co odlišuje seniora od juniora. Junior-friendly, s důrazem na proč.

Backend & System Design · zatím jediný kurz, další coming soon

Princip: V AI éře nejde o to, jestli z hlavy napíšeš quicksort. Jde o to, jestli chápeš idempotenci, konzistenci, failure modes a trade-offy. Každé téma má proto cvičení a skládací otázky s odpověďmi, ať si pochopení rovnou ověříš. A je to psané junior-friendly — od nuly, na analogiích a každý pojem vysvětlíme dřív, než ho použijeme.

Pár pravd o řemesle

Distribuovaný systém je takový, ve kterém ti výpadek počítače, o jehož existenci jsi ani nevěděl, znemožní používat ten tvůj.
— Leslie Lamport
Předčasná optimalizace je kořen všeho zla.
— Donald Knuth
Debugování je dvakrát těžší než psaní kódu. Když ho proto napíšeš co nejchytřejší, z definice nejsi dost chytrý, abys ho pak odladil.
— Brian Kernighan
Složitý systém, který funguje, se vždy vyvinul z jednoduchého systému, který fungoval.
— John Gall — Gallův zákon
Junior se ptá: jak to rozběhnu? Senior se ptá: jak to spadne — a kdo to v noci opraví?
— programátorský folklór
Seniorita není o tom psát víc kódu — je to potřebovat ho napsat míň. Nejlepší kód je ten, který jsi nemusel napsat.
— programátorský folklór

Pointa není citáty memorovat, ale chápat, proč jsou pravdivé. To je celý rozdíl mezi „umím syntaxi" a „umím stavět systémy".

Obsah kurzu · Backend & System Design

FoundationsHTTP, TCP, DNS, TLS — jak teče request.DatabázeACID, isolation levels, race conditions, indexy.Data ModelingVztahy, návrh podle dotazů, klíče, soft delete.API DesignREST, idempotency keys, pagination, errors.Architektura kóduVrstvy, hexagonal, DDD-lite, DTO, DI.Concurrency & AsyncEvent loop, locky, race conditions, deadlocky.TestingPyramida, mocky, TDD, flaky testy.Correctness pastiČas/UTC, peníze, Unicode, null.Inženýrská praxeGit, code review, design dok / RFC.Distribuované systémyCAP, konzistence, consensus, quorum.PatternyIdempotency, outbox, saga, circuit breaker.Messaging & EventsKafka, fronty, delivery garance, DLQ.CachingStrategie, invalidace, stampede, hot key.RealtimeWebSockets, SSE, škálování realtime.Background JobsWorkery, fronty úloh, scheduling.WebhookyPříjem/odesílání, podpisy, retry.Data & analytikaOLTP vs OLAP, warehouse, ETL, batch/stream.File StorageObject storage, presigned URL, upload.SearchInvertovaný index, relevance, autocomplete.MultitenancyIzolace tenantů, tenant_id, únik dat.NotifikaceKanály, fan-out, preference, sdružování.AI / LLM integraceVolání LLM, embeddingy, RAG, prompt injection.ObservabilityLogy, metriky, traces, p99, SLO.SecurityAuth, OWASP, IDOR, hesla.Performance & ScalingŠkálování, bottlenecks, latence.Reliability / SREDevítky, design for failure, chaos, incidenty.Infra & DevOpsDocker, k8s, CI/CD, migrace.Capacity EstimationOdhady QPS/storage/bandwidth, read:write.System Design CasesFramework + URL shortener.Tech ChoicesCo nasadit a proč — tabulky, ADR.War storiesReálné incidenty a poučení z nich.ResourcesKnihy, papery, blogy.

Myslíš, že to umíš?

Velký backend test ze všech kapitol ti podle skóre odhadne, jak seniorní jsi. Otázky jsou jen z učebnice — žádné chytáky.

Spustit velký backend test →