Page 18 - Monthly Archives: March 2026
-
Maxim Mironjuk
-
March 08, 2026
A script using mapfile or sed -i runs fine on the Linux server and breaks on a colleague's MacBook. The reason is the outdated Bash 3.2 that ships with macOS and the different coreutils Apple provides for licensing reasons.
-
Maxim Mironjuk
-
March 07, 2026
Deployer PHP and GitLab CI/CD complement each other perfectly for Magento deployments: GitLab builds and tests, Deployer takes care of the release structure, the symlink switch and the rollback path. Teams that combine both tools correctly end up with a reproducible, team ready deployment process without maintenance window roulette.
-
Maxim Mironjuk
-
March 07, 2026
"One process per container" is one of the most frequently quoted Docker principles, and one of the most frequently misapplied. What the principle really means, where it makes sense, and when Supervisor, s6-overlay or dumb-init are the better decision.
-
Maxim Mironjuk
-
March 07, 2026
A dashboard layout decides whether users understand within seconds where their key metrics live, or have to scroll for minutes. This article shows how to build a Tailwind CSS dashboard layout out of a sidebar, a stat card grid and flexible content areas that works equally well on desktop and mobile.
-
Maxim Mironjuk
-
March 07, 2026
The Doctrine Second Level Cache reduces repeated database access by keeping hydrated entities in cache across requests. Configured properly with cache regions, concurrency strategies and a Redis adapter, database load drops noticeably without introducing consistency problems.
-
Maxim Mironjuk
-
March 07, 2026
Doctrine ORM 3 replaces proxy classes with Lazy Ghost Objects, changes EntityManager methods, and tightens mapping for embeddables. Teams that know these breaking changes before migrating and follow a clear checklist can bring existing Symfony projects onto the new ORM version without production downtime.
-
Maxim Mironjuk
-
March 07, 2026
A permissively set Access-Control-Allow-Origin header lifts exactly the browser protection the Same-Origin Policy is meant to guarantee. This article explains preflight requests, the dangerous combination of wildcard and credentials, origin reflection as the most common mistake, and how a clean, server-side allowlist keeps working reliably for Magento APIs behind a CDN and Varnish.
-
Maxim Mironjuk
-
March 07, 2026
Using outline:none without a replacement makes it practically impossible for keyboard users to operate a page, because it stays invisible which element is currently active. With :focus-visible, high-contrast focus rings and clear WCAG criteria, this common mistake can be fixed precisely, without sacrificing visual calm for mouse users.
-
Maxim Mironjuk
-
March 06, 2026
Implementing WAI-ARIA correctly for your own UI components costs weeks. Building Dialog, Dropdown, Tooltip and Select with correct keyboard navigation, focus trapping and screen reader support is more complex than most developers realize. Radix UI solves exactly this problem.
-
Maxim Mironjuk
-
March 06, 2026
A pull request with a new feature and its accompanying tests often gets read in code review such that the actual production logic is scrutinized carefully, while the accompanying test code only gets a brief glance, as long as the tests are formally green and look plausible at a glance. This unequal distribution of attention is risky, because a test that checks nothing meaningful but still stays green conveys a deceptive sense of safety that only reveals itself as empty once an actual bug surfaces in production later.
-