- Docker Compose – depends_on, Healthchecks and Startup Order
`depends_on` waits for the container to start, not for the service inside it to be ready — so the app races MySQL and dies on a connection refused that looks like a database bug. Writing a healthcheck, `condition: service_healthy`, `up --wait`, and why the app should still retry anyway.
- Hasura – Event Triggers and Scheduled Triggers
Running code when data changes, without polling. Event triggers fire a webhook on insert, update or delete and retry it with a backoff; scheduled triggers do the same on a cron or at a one-off future time. Delivery guarantees, why your handler must be idempotent, and how to inspect and replay a failed event. Shown on a real bookings table — and with the awkward v3 news stated plainly: event triggers are still work in progress and cron triggers are not supported at all.
- Python – Decorators
Decorators, built up from the one fact that makes them possible: functions are objects. Writing one, passing arguments through it, why `functools.wraps` is not optional, and the built-in decorators you already use.
- Java 17 Pattern Matching for instanceof
Every instanceof check used to be followed by a cast to the type you had just checked for. Pattern matching folds the two into one, and the compiler tracks where the result is valid. It is a small change that removes a line from a very common shape. The old shape s is a pattern variable . It exists…
- Java 17 Text Blocks
A text block is a string literal delimited by three quotes that can span lines without escaping. It exists because embedded JSON, SQL and HTML were genuinely painful to read in Java, and the workarounds — concatenation, \n everywhere, external files — were all worse than the problem. The problem…