The map
- Not started
- In progress
- Done
- Builds on
- 01What the compiler makesTargets, nulls, classes, Java0/4
- 02Functions and typesExtensions, lambdas, sealed, generics0/6
- 03Coroutines from the insideState machines, scopes, Flow0/3
- 04Next: system designSame ideas, at service scale
- BackpressureLibrary ↗A Flow's emit suspends until the collector is ready, so a slow consumer slows the producer instead of filling memory. Between services you have to build the same thing on purpose.
- TimeoutLibrary ↗withTimeout cancels the work inside it when time runs out. Every call that crosses the network needs the same kind of deadline.
Everything here is about Kotlin 2.x, where the K2 compiler is the default. The examples were compiled and run with Kotlin 2.4.21 (and kotlinx.coroutines for the coroutine topics) on the official Kotlin Playground. Where a feature is newer than 2.0 (guard conditions in when in 2.2, data-flow exhaustiveness in 2.3, stable context parameters in 2.4), the topic says so. Android-specific coroutine use (viewModelScope, lifecycles) lives in the Android path; this path is about the language.
Where this path leads
- Android: how an app really runs →What the system does with your app once it is installed: the process it may kill at any time, the one thread that draws, how Compose redraws, where state survives, and how work, data, pushes and builds fit around that.
- Spring Boot: how a request becomes a response →What Spring Boot does between an HTTP request arriving and a response leaving: the container that builds your objects, the proxies that wrap them, the threads, transactions and connections each request borrows, and how to see and test it all.