- Functional Interfaces
A functional interface is an interface with exactly one abstract method. That single rule is what makes lambdas work: when the compiler sees a lambda, it needs to know which method the lambda is implementing, and one abstract method means there is no ambiguity. The rule, and the annotation…
- Angular – computed and effect
Derived state without the bugs. `computed()` for values that follow from other signals — cart totals, the filtered menu — and `effect()` for the side effects that must run when they change, including its `onCleanup` and the rule about not writing to signals inside one. Where `linkedSignal()` fits, and why this app never needed it.
- Docker – Choosing a Base Image and Keeping It Small
`-slim`, `-alpine` and distroless, what each actually removes, and the musl-versus-glibc surprise that makes Alpine the wrong default for some runtimes. Measured sizes from the pizza images, what genuinely shrinks a build versus what only looks like it does, and why a smaller image matters most at pull time.
- Hasura – Relationships and Nested Queries
Relationships are what make a Hasura API worth using: one round trip returns a listing, its host, its photos and its reviews. Object versus array relationships, how foreign keys suggest them and why you can define one without a foreign key, filtering and ordering a parent by a child's column, and the n+1 question everyone asks. Plus the `Relationship` kind in v3 and what changes when the two sides live in different connectors.
- React – Updating State Correctly
Setting state does not change the variable you are holding — it schedules a render with a new one. State as a snapshot, why two increments in a row only count once, the updater function that fixes it, and updating objects and arrays without mutating them so React can still tell that something changed.