Page 11 - Monthly Archives: December 2025
-
Maxim Mironjuk
-
December 18, 2025
Top-level await was one of the most requested features for JavaScript modules: waiting for asynchronous initialization directly in module scope, without wrapping the entire module in an async function. Few developers understand its effect on the module graph and the potential for deadlocks, this guide explains both.
-
Maxim Mironjuk
-
December 18, 2025
When a shell script is terminated by Ctrl+C, kill or an error, lockfiles, temporary files and half-finished database operations are left behind unless signal handling is in place. The Bash builtin trap registers handlers for SIGINT, SIGTERM, SIGPIPE, ERR and EXIT, turning cleanup into a reliable, orderly process.
-
Maxim Mironjuk
-
December 18, 2025
Whether a social media post is ever read by a language model has little to do with its popularity and everything to do with technical and legal conditions most marketing teams never think about. This article separates the two fundamentally different ways AI systems acquire knowledge, training data and real-time web search, and uses concrete platform examples like Reddit, LinkedIn, and X to explain why owned content remains the more reliable citation base than any social channel.
-
Maxim Mironjuk
-
December 18, 2025
A service worker runs as its own thread between the browser and the network, able to intercept requests, answer them from a local cache, and update that cache in the background. Used correctly, this delivers instant load times on repeat visits, working fallback pages without a network connection, and noticeably less server load, all without users noticing the difference from a native app.
-
Maxim Mironjuk
-
December 18, 2025
A progress bar that fills as you scroll, or an image with a parallax effect, used to be built almost exclusively with a JavaScript scroll listener recalculating on every scroll event. With scroll-timeline and view-timeline, the browser handles this natively, in sync with the compositor thread, with no script at all.
-
Maxim Mironjuk
-
December 18, 2025
A stored execution plan gets compiled for a first, unrepresentative parameter value and then reused for every subsequent call, even when the data distribution behind those calls looks completely different. Parameter sniffing is not random instability, it is a logical consequence of how query planners cache execution plans. Understanding the mechanism means recognizing the symptoms immediately and choosing deliberately between statistics maintenance, query hints, and plan guides.
-
Maxim Mironjuk
-
December 18, 2025
HTTP PATCH is the most commonly misimplemented method in REST APIs. The reason: there are two standardized variants with very different semantics, and most implementations invent a third, proprietary variant that is neither documented nor consistent. Merge Patch and JSON Patch solve real problems, but different ones.
-
Maxim Mironjuk
-
December 17, 2025
Lighthouse wires GraphQL schemas directly onto Eloquent models, without requiring a dedicated resolver for every field. Instead of building PHP classes, SDL directives like @hasMany, @paginate and @guard describe the entire connection to the database, relationships and middleware. Anyone already familiar with Laravel conventions gets productive with Lighthouse quickly.
-
Maxim Mironjuk
-
December 17, 2025
Typing the same change ten times by hand wastes time that PhpStorm's multi-cursor editing and column selection handle in seconds. Together, both techniques cover nearly every repetitive text change in the editor.
-
Maxim Mironjuk
-
December 17, 2025
A network outage should never mean a dead app. With cache persistence, a mutation queue for pending changes, and thoughtful conflict resolution, a GraphQL application can be built so users keep reading, keep working, and keep making changes while the connection is waited on in the background.
-