- Java 17 Records
A record is a class whose job is to carry data. You declare the components; the compiler writes the constructor, the accessors, equals , hashCode and toString . One line replaces about sixty. The sixty lines it replaces Every one of those hand-written members is a place a bug can hide — an equals…
- Terraform – Resources and the State File
State is the thing people misunderstand and then get burned by. What Terraform stores and why it cannot work without it, how resource addresses map to real infrastructure, implicit dependencies versus `depends_on`, the `lifecycle` block including `prevent_destroy`, and the `terraform state` subcommands you reach for when the file and reality disagree.
- React Native – Talking to an API
`fetch` works, and then reality arrives. `localhost` means three different things to a simulator, an emulator and a real phone — so the API host has to be resolved, not hard-coded. A request needs a timeout, because a weak signal does not fail fast. `AbortController` and cleanup, one error type instead of scattered `catch` blocks, and the loading/empty/error triple every screen owes its user.
- TypeScript – Object Types
Optional properties and why `string | null` is not the same as `?`, readonly and exactly how shallow it is, index signatures for genuinely open-ended objects, nested shapes, and excess property checks — the rule that rejects an extra key on a literal but waves the same object through when it arrives in a variable.
- NestJS – Providers and Dependency Injection
How Nest builds your object graph. @Injectable, constructor injection and what the emitted metadata is actually doing, provider tokens beyond the class — useValue, useFactory and useClass, why an async factory is the only way to configure a module from config, injection scopes and the reason singletons are the right default.