- LeetCode 63 – Unique Paths II
Unique Paths with obstacles: the recurrence is unchanged, one guard goes in front of it. An obstacle means zero paths, and zeros propagate on their own with no unreachable-region detection. The trap is the first row and column, where one obstacle cuts off everything after it.
- MongoDB – Installation and mongosh
Get a MongoDB running in Docker, connect with mongosh, and understand why this track runs a replica set from the very first command.
- MySQL – LAST_INSERT_ID
Getting the AUTO_INCREMENT id of the row you just inserted, which is exactly what you need when saving an order and then its line items. Why LAST_INSERT_ID() is per-connection and therefore safe under concurrency, what it returns after a multi-row INSERT, why it does not see a trigger's own inserts, and how JDBC's `getGeneratedKeys` exposes the same thing to Java.
- MySQL – DELETE
Removing rows, and the several ways to regret it. DELETE with WHERE, DELETE with a JOIN, deleting in batches so a big cleanup does not hold one enormous transaction, TRUNCATE versus DELETE and what each does to AUTO_INCREMENT, what ON DELETE CASCADE takes with it, and soft delete — the `deleted` flag the pizza schema uses so a historical order never loses the product it referenced.
- LeetCode 62 – Unique Paths
The cleanest introduction to grid DP there is, and worth doing carefully because the next two problems are this one with a single detail changed. Deriving the recurrence from what was the last move, compressing the table to one row and why the sweep direction makes that work, and why the combinatorial closed form is a footnote.