- Angular – HTTP Interceptors
One place to attach the auth token, and one place to catch a 401. Functional interceptors and how they chain, adding an `Authorization` header, translating server errors into something the UI can show, a loading indicator driven by in-flight requests, and why interceptor order is not an implementation detail.
- Docker – Environment Variables, Build Args and Secrets
One image, many environments — the whole point of configuring from outside. `ENV` versus `ARG` and why a build arg is baked into the image forever, `--env-file`, Spring Boot's relaxed binding turning `SPRING_DATASOURCE_URL` into a property, frontend config that is baked at build time, and where secrets actually go.
- Hasura – Authorization and Permissions
The most important chapter in the track, because a mistake here is a data breach rather than a bug. Roles, row-level filters, column allowlists and session variables, worked through four real roles. Three traps with teeth: `admin` is reserved and cannot be given permissions, roles do not inherit from each other, and permissions do not cascade through relationships. Then `TypePermissions` and `ModelPermissions` in v3.
- Java 11 New String Methods
Java 11 added five small String methods. None of them is clever, and together they delete a surprising amount of the utility code every project used to carry — the null-and-whitespace check, the manual line splitter, the loop that repeats a character. isBlank() isBlank() is what people usually mean…
- Stacks
Last in, first out — everything happens at one end, so everything is O(1). Building one on an array, the balanced-brackets problem that is the reason interviewers ask about stacks, why the call stack is one, and why you should never use java.util.Stack.