- Spring Boot – Caching
@EnableCaching, @Cacheable, @CacheEvict and the key generation you almost always want to override. Caching the menu in the pizza API, why an eviction has to be wired to every write path that can invalidate it, and the same proxy rule AOP has: a self-invocation is never cached.
- React – Redux, and Whether You Need It
Redux Toolkit as it is actually written today — configureStore, createSlice, useSelector, useDispatch — and an honest comparison against the context plus reducer you already know. What Redux gives you that React does not, what it costs, and the question to ask before adding it.
- Python – Functions
Defining and calling functions, positional and keyword arguments, defaults, *args and **kwargs, returning values, docstrings, and the mutable-default-argument bug that is still the most common Python gotcha there is.
- Java 11 Running Java Files Directly
Since Java 11 you can run a .java file directly, with no separate compile step and no .class file left behind. It sounds like a convenience for beginners, and it is, but it also makes Java usable for the kind of quick script you would otherwise have written in Python. The change Note the difference…
- iOS – The Swift You Need First
Not the whole language — the parts a SwiftUI app leans on every day. Value types versus reference types and why it changes how you reason about a screen, optionals, enums with associated values, protocols and extensions, closures, and the error model. With the models of a real ordering app as the running example.