Page 255 - Mironsoft Blog
-
Maxim Mironjuk
-
May 20, 2025
Color fonts store several color layers per glyph directly in the font file, from multi-color icon sets to emoji fonts. @font-palette-values lets you override that factory palette through CSS and match it to your own theme, with no SVG sprites and no separate icon file per color variant.
-
Maxim Mironjuk
-
May 20, 2025
Claude Code can sketch a new Hyva template in seconds, but only with the right project conventions as context does it produce genuinely usable code. This article shows how to scaffold a phtml template with a matching view model, generate Alpine.js components that stay CSP compliant, and verify AI-suggested Tailwind classes against the actual design system before they reach production.
-
Maxim Mironjuk
-
May 19, 2025
Running tests directly in the IDE with a single click or keyboard shortcut, without ever opening a console, is a productivity gain that quickly becomes second nature. PhpStorm supports PHPUnit for Docker-based Magento setups completely, as long as the remote interpreter and the run configuration are set up correctly. This article walks through the full setup process.
-
Maxim Mironjuk
-
May 19, 2025
GDPR demands far more from development teams than a privacy policy. Data minimization in the database schema, a right to erasure that actually works across backups and third parties, and the ability to report within 72 hours exactly which data was affected are concrete engineering tasks. This article shows how to implement these requirements in code and in Magento architecture.
-
Maxim Mironjuk
-
May 18, 2025
Count millions of unique visitors without storing millions of individual IDs: HyperLogLog estimates the cardinality of a set with a fixed memory footprint of only 12 kilobytes and a typical error of about 0.81 percent, regardless of whether the set contains a thousand or a billion elements.
-
Maxim Mironjuk
-
May 18, 2025
Hover cascades, form validation and complex UI states: with Tailwind's group and peer modifiers you can describe interactions that other projects reach for Alpine.js or React to build. The result is lean HTML with zero JavaScript overhead.
-
Maxim Mironjuk
-
May 18, 2025
A dashboard nobody looks at at night does not help in an incident. Resource alerting for containers with Prometheus rules and Alertmanager automatically reports CPU bottlenecks, memory pressure and restart loops, groups related alerts, and uses silencing and inhibition to prevent a single incident from flooding the team with dozens of notifications.
-
Maxim Mironjuk
-
May 18, 2025
Redis handles two fundamentally different jobs in Magento 2: write-heavy session storage and read-heavy caching, often on the same server without any clean separation. This article shows how to calculate the memory needs for Redis sessions, configure env.php and redis.conf for separate instances, and use monitoring to catch it early when Redis sizing hits its limits.
-
Maxim Mironjuk
-
May 18, 2025
@nuxtjs/i18n is the de facto standard module for shipping a Nuxt application in multiple languages, and it covers far more than plain text translation: it decides the URL structure per language, lazy-loads translation files on demand, and automatically generates the hreflang tags needed for international SEO. Getting the routing strategy wrong early on often means migrating the entire URL structure of the site later, which is why a deliberate decision at the start of a project pays off.
-
Maxim Mironjuk
-
May 17, 2025
Claude Code, Cursor, and Windsurf solve the same underlying problem with very different architectures: the Claude Code CLI agent works independently of any editor, straight from the terminal, Cursor is a VS Code fork built around deep tab completion, and Windsurf leans on its Cascade agent inside its own editor surface. Knowing the differences means picking the right tool for a given workflow instead of relying on marketing claims.
-