Page 10 - Monthly Archives: August 2025
-
Maxim Mironjuk
-
August 19, 2025
Anyone running a growing React application as a monolith eventually struggles with long build times, deployment dependencies and team conflicts. Module Federation 2.0 solves these problems through true runtime composition: teams deploy their parts of the app independently, and the shell app dynamically composes everything together.
-
Maxim Mironjuk
-
August 19, 2025
Rate limiting is often treated as a one-line library function, without questioning which algorithm actually runs behind it. But the choice between fixed window, sliding window, token bucket, and sliding log has very different effects on how well a system absorbs real load spikes and how fairly limits are distributed between users.
-
Maxim Mironjuk
-
August 18, 2025
An open GraphQL endpoint lets any client formulate arbitrary queries against the schema, including ones never intended for production use. Query whitelisting flips this principle: only previously known, reviewed queries get executed, everything else is rejected before it ever reaches a resolver.
-
Maxim Mironjuk
-
August 18, 2025
Backorders allow selling items whose stock has already dropped to zero, protecting revenue while putting lead-time uncertainty on the customer. Technically, backorder configuration reaches deep into reservations and MSI, and enabling it without control risks inventory chaos rather than revenue gains. This article walks through the configuration levels, customer communication, and the concrete risks in detail.
-
Maxim Mironjuk
-
August 18, 2025
While oklch() and lab() describe self-contained color models, the generic color() function opens CSS up to a whole set of named color spaces, including display-p3, a98-rgb, prophoto-rgb and rec2020. Anyone wanting to render product photos or brand colors faithfully on modern displays with a wider color range has to deal with this function, but also needs a clean fallback for older screens and browsers.
-
Maxim Mironjuk
-
August 18, 2025
A breaking change in a public API rarely happens on purpose, it usually slips in through an unremarkable pull request that was only supposed to fix an internal bug. Diff tools like oasdiff and openapi-diff compare two versions of an OpenAPI specification automatically and reliably catch exactly these contract breaks before they get merged. This article explains the difference to plain Spectral linting, how to set up a concrete CI gate, and how deliberately intended breaking changes get documented and approved through a whitelist mechanism.
-
Maxim Mironjuk
-
August 18, 2025
Alpine.morph() does not simply replace an existing DOM fragment with new HTML, it reconciles both trees node by node and only changes what actually differs. Focus, scroll position, input values, and even a running Alpine component's state survive the process, one reason Livewire uses the plugin internally on every server roundtrip.
-
Maxim Mironjuk
-
August 18, 2025
Magento's DI container creates shared objects by default, and that is singleton behavior. Where it is useful, where it causes problems, and how to cleanly refactor legacy singletons.
-
Maxim Mironjuk
-
August 17, 2025
The biggest effort in a first contribution to an unfamiliar open source project rarely lies in the actual code, but in understanding repository structure, unwritten conventions, and picking a suitable first-timer issue. This article shows how to use Claude specifically to lower that entry barrier and to write a pull request description that matches the expectations of the particular project.
-
Maxim Mironjuk
-
August 17, 2025
Teams that build Magento applications without systematic security testing rely on luck instead of tools that reliably surface vulnerabilities. Static analysis with PHPStan and Psalm catches dangerous data flows directly in the source code, while dynamic scanners like OWASP ZAP run real attacks against a running staging environment. This article shows how both approaches work together, where their limits lie, and when each investment pays off.
-