- Docker – Registries, Tagging and Pushing an Image
How an image gets from your laptop to a server. What a registry reference is really made of, `login` and `push`, Docker Hub versus ECR versus GHCR, a tagging scheme that survives a rollback, and why deploying `:latest` means you cannot answer the question "what is actually running?"
- Hasura – Securing It for Production
The checklist between a working Hasura and one you can put on the internet. Turning the console and introspection off, keeping the admin secret out of everything a client can read, why an unauthenticated request is not the same as a blocked one, restricting what the engine can reach at the database level, and the allow-list and rate-limiting features that need Enterprise — said plainly rather than assumed.
- React – useMemo, useCallback and memo
Three tools that all do the same thing — skip work when nothing relevant changed — and are all easy to use wrongly. What each one actually caches, why memo does nothing until the props are stable, the cases that genuinely need them, and why the React Compiler may make all of this optional.
- Spring Study Guide – Core Spring
The container, and everything that lives in it. What dependency injection buys you, how an ApplicationContext starts and stops, the full bean lifecycle in the order it actually runs, the five scopes, component scanning, @Bean versus @Component, resolving ambiguity with @Qualifier and @Primary, profiles, @Value and SpEL, and the two proxy types Spring can create.
- Java 21 Migration Guide (17→21)
Java 17 to 21 is the easiest LTS upgrade in years. Nothing significant was removed, the language changes are additive, and most applications move with a version bump and a test run. This post covers the few things that do bite. If you are coming from Java 8 or 11 rather than 17, read the Java 17…