- 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.
- Lambda Expression
A lambda is a function you can pass to a method as if it were a value. That is the whole idea, and it works because of one rule: a lambda is shorthand for implementing an interface that has exactly one abstract method. Understand that rule and lambdas stop looking like magic. Where they came from…
- Memory — Why Structures Have Different Speeds
The stack, the heap, and why an array of a million ints can be faster to scan than a linked list of a million ints even though both are O(n). Contiguous memory, cache lines, pointer chasing, and what a Java object reference really costs.