- React Native – State: Context, Reducers and Custom Hooks
Same React you already know, with one extra constraint: a phone can be killed at any moment. `useReducer` for rules that depend on previous state, Context for what the whole tree needs, custom hooks for what one screen owns, and the ordering problem nobody warns you about — when one provider reads another, the nesting order becomes load-bearing.
- Spring Boot – Lombok
The annotations worth using — @Getter, @Setter, @RequiredArgsConstructor, @Builder, @Slf4j — and the two to be careful with: @Data on a JPA entity generates an equals and hashCode that break the moment the entity is in a HashSet, and @ToString will happily log a password field.
- TypeScript – Arrays and Tuples
string[] versus Array<string>, arrays of unions versus unions of arrays, and readonly arrays that stop a helper mutating its argument. Then tuples: fixed length, typed per position, and the one in this app's date formatter that would be Array<string | number> without them — which is to say, useless.
- NestJS – Controllers
Routing, and the line between HTTP and everything else. Route decorators, @Body, @Param and @Query, why POST answers 201 by default and when that is wrong, choosing 204 over an empty 200, and the rule that keeps controllers thin — a controller that decides who may do something is in the wrong layer.
- Python – Dictionaries & Sets
The dict, which is the data structure Python is built on, and the set, which answers membership and de-duplication in one line. get and setdefault, iteration, dict and set comprehensions, and what makes a key hashable.