- TypeScript – Generics
A generic is a function's type argument, and the point is preserving a relationship the checker would otherwise lose. Constraints with extends, defaults, generic interfaces and classes, and the rule for when NOT to reach for one — with a data loading hook that would return `any` without them.
- NestJS – Exception Filters
HttpException and the built-in subclasses, throwing from a service without importing anything HTTP-shaped, and writing a @Catch() filter that turns a database constraint violation into a 409 instead of the bare 500 it would otherwise be. Plus the rule that keeps a filter from being a breaking change: add to the body, never reshape it.
- Python Advanced – Packaging & Publishing
From a folder of scripts to something people can install. pyproject.toml, editable installs, why a lockfile is not requirements.txt, building a wheel, and publishing to PyPI without breaking anyone's build.
- Python – Async & Await
async and await, and the one question that decides whether they help you at all: is the work waiting or computing. Coroutines, `asyncio.run`, running things at the same time with `gather`, and the blocking call that quietly ruins it.
- Frontend Dev – State Management
Where a value should live, which is the question most frontend bugs are really about. Local state, lifting up, context, and a store — and the honest criteria for moving between them. Includes a real app that uses context on one half and Redux on the other, and the documented reason the line runs where it does.