- Spring Boot – Exception Handling
One @RestControllerAdvice, one error shape, every endpoint. Turning a validation failure into a field-by-field response the frontend can render, mapping your own exceptions to status codes, and why returning 404 instead of 403 for a foreign-owned resource is a security decision rather than a sloppy one.
- Angular – Signals
Signals are how Angular tracks state now, and they are the biggest change to the framework in years. What a signal is, `signal()`, `set()` and `update()`, why reading one inside a template subscribes that template to it, and how signals let Angular skip change detection for everything that did not change.
- Docker – Multi-Stage Builds
Build in one image, ship from another. The pizza API compiles with Maven and a full JDK, then copies one jar into a JRE image — no Maven, no source, no build cache in the result. The frontends do the same with Node and nginx. Named stages, `COPY --from`, and stopping at a stage with `--target`.
- Hasura – Queries
The query language you get for free. `where` with `_eq`, `_gt`, `_in`, `_like`, `_and`/`_or`/`_not`, then `order_by`, `limit`/`offset`, cursor pagination, aggregates and `distinct_on` — each shown with the real response from a running engine. Also the naming-convention setting that decides whether your fields come back `price_per_night` or `pricePerNight`, and what it looks like in v3.
- Python – Introduction
What Python actually is — a language and an interpreter, which is two things people use one word for. Why indentation is syntax rather than style, what dynamic typing buys you and costs you, where Python is used in 2026, and how its releases work.