- React – The Component Lifecycle with useEffect
The old three phases map onto one hook. What the dependency array really means, the cleanup function and the requests it cancels, why StrictMode runs your effect twice on purpose, the infinite loop everyone writes once — and the larger point that most effects should not exist at all.
- Angular – Routing
Turning URLs into components. `provideRouter()` and the route table, `<router-outlet>`, `routerLink` and `routerLinkActive`, route parameters and query parameters as signals via `withComponentInputBinding`, child routes and layouts, and the wildcard route that catches everything else.
- Docker Compose – Running a Multi-Container Stack
Once an app needs a database, `docker run` becomes a shell script nobody can read. The compose file, `up` and `down`, what a service is, the network and project name you get for free, `--build` versus `--force-recreate`, and why `docker-compose` with a hyphen is the old one.
- Hasura – Remote Schemas and Federation
Stitching an existing GraphQL API into Hasura's schema so clients see one graph instead of two. Adding a remote schema, the namespacing and type-collision problems that follow, remote relationships that join a database row to a field on another service, and how permissions and header forwarding work across the boundary. Then v3, where this stops being a bolt-on and becomes what the supergraph is.
- Java 17 Sealed Classes
A sealed type declares exactly which types may extend it. The compiler enforces the list, and — this is the real payoff — it can then prove that a switch over that type has covered every case. The problem An ordinary interface is open: anyone, anywhere, can implement it. That is usually the point.…