Uncategorized

  • PHPUnit 7 changed the assertion you use most

    7.0 landed in February and deprecated a set of assertions that appear in almost every suite, with removals following in 8 — so the warnings are a deadline…

  • Extract a module before extracting a service

    Pulling a service out of a monolith is a distributed systems problem plus a refactoring problem at the same time, and the refactoring is the part that determines…

  • TLS 1.3 changed the handshake, and the cipher list you copied

    1.3 was finalised in August, and its cipher suites are configured separately from 1.2’s — so a hardened ssl_ciphers line copied from a 2016 guide silently governs only…

  • wp_enqueue_script in the editor is a different hook

    Scripts for the editing screen do not go on admin_enqueue_scripts — there is a dedicated hook, and using the wrong one loads the editor bundle on every admin…

  • React 16 rewrote how a component fails

    An error in one component used to blank the page. 16 unmounts the whole tree deliberately — and gives you the mechanism to stop it.

  • Route model binding with a column that is not the key

    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…

  • A feature flag is a branch that ships, and it has to be removed

    A flag decouples deploying from releasing, which is genuinely valuable, and it also doubles the number of code paths that exist — permanently, unless somebody deletes it. Two…

  • prefers-reduced-motion is two lines and worth it

    Parallax, autoplaying carousels and long transitions cause genuine nausea for some people, and the operating system already knows who they are. The near-zero duration rather than none is…

  • Versioning by adding, and the field you can never rename

    The cheapest API version is the one you never create, and that is achievable for longer than most teams expect if every change is additive. Tightening validation is…

  • SCAN with a MATCH pattern is still O(n) overall

    SCAN is the safe replacement for KEYS because each call does bounded work, and the pattern is applied after the keys are fetched — so scanning a million…