5.8 brought Carbon 2, and the change that matters is not the API surface — it is that CarbonImmutable exists and the mutable class is still the default…
The cache expired at noon and the database fell over at 12:00:01. A lock, a two-tier expiry, jittered TTLs, and versioned keys — in that order of importance.
A backfill that saves forty thousand models fires every observer forty thousand times, which usually means forty thousand search index updates and a queue that will not drain…
dispatch(function () { … }) is convenient and works by serialising the closure with a signature, which has consequences worth knowing before it is used anywhere important. The…
It reads, finds nothing, and inserts. Two requests doing that concurrently both find nothing and both insert, which is why the duplicates appear only under load. The unique…
Exposing an auto-increment id in a URL tells anyone counting how many orders exist, and switching to a slug or a uuid normally means resolving it by hand…