Ranges, concurrency, performance, ABI awareness, and a multithreaded HTTP server capstone.
Compose algorithms, lambdas, projections, and ranges, and choose data layouts that make the common operation cheap.
Use threads, jthread, mutexes, condition variables, atomics, futures, and a bounded thread pool while avoiding races and deadlocks.
Profile first, then reason about cache behaviour, allocation, small-string optimization, build flags, and stable binary interfaces.
Build an educational multithreaded HTTP server with an acceptor loop, worker threads, parsing, routing, responses, and graceful shutdown.