- 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.
- 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…
- Backend Dev – The Java and the JVM You Actually Need
You do not need all of Java before you start a framework, but you do need a specific subset — and one that is not the subset a beginner course teaches. Collections and which one to reach for, equals and hashCode, Optional, streams, exceptions that mean something, records, and the handful of JVM facts that explain your production bugs.