- Divide and Conquer
Split the problem into independent subproblems, solve each, combine. The word doing the work is independent — that is exactly what separates this from dynamic programming. Fast exponentiation, and counting inversions for free inside a merge.
- Spring Security – How Authentication Works
The filter chain, AuthenticationManager, UserDetailsService and the SecurityContext — the four pieces everything else in Spring Security is built on. Password hashing with BCrypt, and why a login failure should be deliberately vague about which half of the credentials was wrong.
- Python – Generators & Iterators
What the for loop is really doing, and how `yield` lets you produce a sequence without building it. Generator expressions, laziness and why it matters on a large file, and the one rule about consuming a generator twice.
- Java 17 Switch Expressions
The switch statement Java inherited from C had two design flaws: it fell through unless you wrote break , and it could not produce a value. Java 14 fixed both, and Java 17 made it standard. The old form still works; there is no reason to write it in new code. Arrow labels With -> only the matching…
- React – The Component Lifecycle with useEffect
The old three phases map onto one hook. What the dependency array really means, the cleanup function and the requests it cancels, why StrictMode runs your effect twice on purpose, the infinite loop everyone writes once — and the larger point that most effects should not exist at all.