Page 20 - Monthly Archives: June 2025
-
Maxim Mironjuk
-
June 02, 2025
A blindly executed migration diff can cause data loss, table locks or downtime. With the expand-contract pattern, additive migrations and consistent CI checks, Doctrine Migrations become predictable, symmetric and production safe.
-
Maxim Mironjuk
-
June 01, 2025
Responsive typography, adaptive spacing and fluid layouts without a single breakpoint: that is the promise of CSS calc(), min(), max() and clamp(). Anyone who masters these four functions and their nesting writes more maintainable stylesheets with less code and fewer browser conflicts between pixels and viewport.
-
Maxim Mironjuk
-
June 01, 2025
A ten-minute pipeline that runs fifty times a day costs a team over eight hours of waiting daily. Systematic optimization does not start with guessing, it starts with measuring.
-
Maxim Mironjuk
-
June 01, 2025
When search in the store returns wrong or missing results, guessing rarely helps. Systematic search debugging starts by capturing the actual Elasticsearch query Magento generates, running that query directly against the cluster, and reliably separating whether the problem lies in Magento's logic or in the Elasticsearch index itself. This article walks through the methodology step by step.
-
Maxim Mironjuk
-
June 01, 2025
Event delegation uses the DOM's native bubbling behavior to serve every child element with a single listener on the container, instead of registering one listener per list item inside an x-for loop. This article shows how the pattern is implemented in Alpine.js components and where its limits lie.
-
Maxim Mironjuk
-
June 01, 2025
Local Docker development environments running several projects need a reverse proxy that routes domains to containers and manages HTTPS certificates. Traefik and nginx-proxy solve the same problem with fundamentally different approaches. This article shows which proxy is the better choice in which scenario.
-