Page 8 - Monthly Archives: June 2025
-
Maxim Mironjuk
-
June 20, 2025
A cron job that has not run for three days usually does not show up in the frontend right away, yet it causes silent damage exactly during that time. Systematic cron monitoring and alerting makes missed and failed jobs visible before customers or revenue suffer.
-
Maxim Mironjuk
-
June 20, 2025
Watching Magento through server load alone shows symptoms, not causes. New Relic makes individual transactions visible, from a checkout request down to an external payment service, giving you the data to fix performance problems on purpose instead of by guesswork.
-
Maxim Mironjuk
-
June 20, 2025
Poorly sized connection pooling leads either to too many connections errors under load or to wasted resources from thousands of unused idle connections. This article shows how to correctly size max_connections, how wait_timeout and interactive_timeout work together, how to align PHP-FPM pool size with the MySQL connection limit, and when an external connection pooler such as ProxySQL makes sense.
-
Maxim Mironjuk
-
June 20, 2025
Functional composition assembles small, individually tested functions into a new function, instead of nesting calls deeply inside one another. With a self-written compose() function, this pattern can be implemented in PHP 8.4 in a type-safe way and without any extra dependency.
-
Maxim Mironjuk
-
June 20, 2025
Web fonts are one of the most common causes of invisible text and jarring layout shifts. This article explains the rendering mechanics behind FOIT, FOUT, and FOFT, shows how font-display, preloading, variable fonts, and size-adjust work together, and makes font loading in Magento and Hyvä stores technically clean and measurably stable.
-
Maxim Mironjuk
-
June 20, 2025
String.split(' ') fails on emoji, Chinese characters, and composed characters. Intl.Segmenter splits text in a language aware, rule compliant way, with no external library at all.
-
Maxim Mironjuk
-
June 19, 2025
The checkout is the most business-critical page in any online store, and it is exactly where accessible interfaces fail most often. Blocked progress indicators, invisible error messages and keyboard traps in the payment step cost paying customers and open legal exposure under accessibility law. This article shows how to systematically audit, test and implement every single step of the checkout process for Magento and Hyva.
-
Maxim Mironjuk
-
June 19, 2025
A database with low CPU utilization can still respond drastically slowly, because sessions are actually waiting on locks, disk IO, or the network, not on free compute time. Wait events make exactly that invisible wait time measurable and categorizable. Systematically distinguishing lock waits from IO waits leads to the actual root cause, instead of optimizing past CPU or memory metrics.
-
Maxim Mironjuk
-
June 19, 2025
Cross-Site Scripting has been one of the most common vulnerabilities in web applications for years, letting attackers run their own JavaScript in another user's browser. This article explains the three XSS types, reflected, stored, and DOM-based, shows how unescaped output turns into executable code, and delivers concrete protection through context-aware encoding, Content-Security-Policy, and the escaping helpers built into Magento and Hyva.
-
Maxim Mironjuk
-
June 19, 2025
Multi tenancy decides whether a SaaS application safely separates data from hundreds of tenants or one day risks a data leak between customers. This post compares shared schema with tenant_id, schema-per-tenant, and database-per-tenant by isolation, migration effort, and resource isolation, so the decision rests on real criteria instead of gut feeling.
-