Page 286 - Maxim Mironjuk
-
Maxim Mironjuk
-
April 08, 2025
Teams that lean on end-to-end tests with Cypress or Playwright as their main safety net pay for it with slow test runs, high flakiness, and expensive maintenance. The test pyramid explains why most test coverage should come from fast, cheap unit and integration tests, while E2E tests deliberately secure only the most critical user paths end to end, building confidence without dragging down the continuous integration pipeline.
-
Maxim Mironjuk
-
April 08, 2025
Outdated Symfony bundles are one of the biggest silent risks in production applications: unsupported security fixes, incompatible dependencies and stalled development. A clear decision framework shows when a bundle must be replaced and which native Symfony component is the right alternative.
-
Maxim Mironjuk
-
April 07, 2025
When Redis causes trouble in a Magento environment, only a handful of error patterns are really common: refused connections, OOM errors on writes, and session lock timeouts during checkout. This article walks through each of these error patterns systematically, showing the diagnostic steps and the concrete fix.
-
Maxim Mironjuk
-
April 07, 2025
mironsoft.de › Blog › Design Patterns
Magento 2 · Design Patterns
MVC & Front Controller
Pattern in Magento 2
Magento 2 is MVC, but not classic MVC. Every HTTP request passes through pub/index.php, the Front Controller and a hierarchical router system before a controller is executed. How this system works internally, and how you build custom routes, controllers and layout handles.
15 min read
PHP 8.4
Magento 2.4.8
Classic MVC vs. Magento 2 MVC
The Model-View-Controller pattern (MVC) is one of the most fundamental architectural patterns in software development. It separates an application into three layers: the Model holds data and business logic, the Controller coordinates
-
Maxim Mironjuk
-
April 07, 2025
A single web server is rarely the reality in Magento production systems. When web servers, worker processes, cron jobs and queue consumers are spread across separate hosts, the GitLab pipeline has to coordinate that complexity, without race conditions, orphaned processes or partial deployments.
-
Maxim Mironjuk
-
April 07, 2025
Few concepts in JavaScript cause as much confusion as this binding. A method works perfectly when called directly and suddenly returns undefined when passed as a callback. This article shows where this binding typically breaks, how to debug it systematically and which fix actually fits which situation.
-
Maxim Mironjuk
-
April 07, 2025
A separate Tailwind build for every white-label customer scales poorly once a hundred tenants want to use the same application with their own color scheme. With a single CSS bundle and server side injected CSS variables based on the hostname, white-label theming without a rebuild per brand becomes possible, directly on top of Tailwind CSS v4 design tokens.
-
Maxim Mironjuk
-
April 06, 2025
A transaction that never got committed does not block a single query, it silently prevents vacuum in the background, holds locks, and bloats undo structures without a single slow query ever showing up in the slow query log. Detecting idle in transaction sessions systematically through session views leads to the cause in application code, instead of treating symptoms only.
-
Maxim Mironjuk
-
April 06, 2025
CMS blocks in Magento are edited by content editors in the WYSIWYG, not by developers in phtml files. Without fixed Hyvä CMS block styling conventions, inconsistent layouts appear, along with broken utility classes the Tailwind JIT compiler never generated, and CSP violations from inline styles. A small, documented class set solves this problem for good.
-
Maxim Mironjuk
-
April 06, 2025
Faceted navigation lives on terms aggregations over product attributes, but those aggregations are only as fast as the mapping underneath them. Index attributes as an analyzed text type instead of keyword, and you get fragmented filter values, duplicate facets and aggregations that burn unnecessary memory and compute time on every category page.
-