- log4j
Logging is what you have instead of a debugger when the problem happened at 3am on a server you cannot attach to. Java's logging landscape has a confusing number of libraries; the arrangement that matters is simple once you see it. The facade and the implementation There are two layers, and…
- Backend Dev – Caching, Async Work and Messaging
Three ways to stop making the caller wait, and the cost of each. What is safe to cache and how to invalidate it, why the cache goes in front of the slow thing and not in front of everything, moving work off the request thread, events inside one process versus a real queue between services, and retries that do not double-charge anyone.
- Graphs
Vertices and edges — the structure behind social networks, maps, dependencies and package managers. Directed against undirected, weighted against unweighted, and why an adjacency list beats an adjacency matrix on almost every real graph.
- React – Bootstrap
Two ways to use Bootstrap in React: the plain stylesheet with className, or react-bootstrap's real components. Why you should not load Bootstrap's JavaScript bundle alongside React, controlled modals and offcanvas drawers, and overriding the theme with custom properties instead of fighting specificity.
- Spring Boot – Building with Gradle
The same pizza backend built with Gradle instead of Maven — the plugins, the dependency management, annotation processors for Lombok and MapStruct, and the wrapper. Side by side with the pom.xml it replaces, so you can read either build file and know what the other one says.