Page 13 - Monthly Archives: December 2025
-
Maxim Mironjuk
-
December 16, 2025
Hyva Themes brings Tailwind CSS v4 to Magento as a CSS first build. Anyone integrating this build into a GitLab pipeline needs to coordinate Node.js versions, npm caching, artifact handoff and the ordering against the PHP build cleanly. This article shows how that works in practice.
-
Maxim Mironjuk
-
December 16, 2025
Untested GraphQL resolvers are a ticking time bomb: schema changes silently break frontend contracts, and authentication bugs stay hidden until production. This article shows how to test Magento GraphQL on three levels, from unit tests for resolver logic to real HTTP requests against the endpoint.
-
Maxim Mironjuk
-
December 16, 2025
Every new TCP connection to Redis costs time, and with TLS enabled, that cost rises noticeably further due to the extra handshake. Connection pooling avoids repeated connection setup, but a wrongly sized pool creates new problems of its own, ranging from wait times to overloading the server with open connections.
-
Maxim Mironjuk
-
December 16, 2025
Lone surrogates from URL parameters, file uploads, or third party APIs can crash entire function chains. isWellFormed() and toWellFormed() finally provide a native safeguard.
-
Maxim Mironjuk
-
December 15, 2025
Once a transaction spans multiple independent databases or services, a simple COMMIT no longer guarantees atomicity. Two-phase commit solves this through a coordinator-based prepare-and-commit protocol, but it has structural weaknesses that lead most large, distributed systems today to prefer the saga pattern with compensating actions instead.
-
Maxim Mironjuk
-
December 15, 2025
A critical kernel CVE traditionally forces a reboot with a downtime window, even when the affected server is really just a single, highly available member of a database cluster. Kernel live patching through kpatch or commercial offerings like Canonical Livepatch closes exactly that gap, but it never replaces the regular reboot cycle needed for larger kernel upgrades.
-
Maxim Mironjuk
-
December 15, 2025
A large JavaScript bundle costs more than download time, it blocks the main thread while parsing and compiling. With dynamic import(), vendor chunk splitting, and targeted lazy loading of heavy below-the-fold widgets, initial bundle size drops noticeably without losing functionality, even in server-rendered Hyva stores built on Alpine.js.
-
Maxim Mironjuk
-
December 15, 2025
Most successful attacks on Linux servers exploit open SSH password logins, missing firewall rules, and outdated packages, not sophisticated zero-day exploits. This article shows a practical hardening baseline that closes most of the attack surface with minimal effort, without making operations unnecessarily harder.
-
Maxim Mironjuk
-
December 15, 2025
A chain of multiple assertEquals calls comparing individual fields of a domain object is tedious to write and only delivers fragmentary information on failure. Custom, domain specific assertions such as assertMoneyEquals or assertValidOrderState bundle these comparisons in one place and produce failure messages that immediately show what went wrong from a business perspective. This article explains how such assertions come together and when the effort pays off.
-
Maxim Mironjuk
-
December 15, 2025
The Fetch API is more than a replacement for XMLHttpRequest. Anyone who masters timeouts, retry logic, streaming responses, authentication and cache strategies writes HTTP communication that stays reliable and maintainable in real applications, without external libraries.
-