Page 20 - Monthly Archives: September 2025
-
Maxim Mironjuk
-
September 02, 2025
A single GraphQL endpoint can serve thousands of different operation shapes, and classic endpoint-based APM fails outright at that point. GraphQL observability needs resolver-level tracing that makes every single field call visible, combined with OpenTelemetry standardization and distributed tracing across federation gateways.
-
Maxim Mironjuk
-
September 02, 2025
B2B Company Accounts let Magento 2 represent real organizations with multiple buyers, team hierarchies and approval chains, instead of reducing customers to a single account. Get company structure, roles, ACL and approval workflows right, and B2B Company Accounts stay stable even with thousands of employees and complex procurement processes.
-
Maxim Mironjuk
-
September 02, 2025
The default Alpine.js build evaluates expressions in x-data and x-on through new Function(), which gets blocked immediately under a strict Content Security Policy without unsafe-eval. The dedicated Alpine.js CSP build replaces that evaluation with a safe expression parser, making reactive components possible even in environments with the strictest security policy.
-
Maxim Mironjuk
-
September 02, 2025
mironsoft.de › Blog › Design Patterns
Magento 2 · Design Patterns
Injectable & Virtual Types
in Magento 2
Why can a Product object not be injected directly via the constructor, yet a ProductRepository can? The distinction between Injectable and Non-Injectable Objects is fundamental to Magento 2 DI. Virtual Types elegantly solve a common di.xml problem on top of that.
15 min read
PHP 8.4
Magento 2.4.8
What are Injectable Objects?
Injectable Objects are the foundation of Magento 2 dependency injection. The term describes classes that can be safely wired into other classes via constructor injection, because they are stateless or at least request-scoped
-
Maxim Mironjuk
-
September 01, 2025
Most PhpStorm users use less than 20 percent of the available shortcuts and navigation features. Anyone who learns to move through large PHP codebases without a mouse, run refactorings with keyboard combinations and use multi-cursor editing doubles their productivity in a short amount of time.
-
Maxim Mironjuk
-
September 01, 2025
Anyone who backs up SEO success with nothing but rankings and raw traffic numbers will lose the next budget discussion to channels with clear revenue attribution. This guide shows how to separate vanity metrics from business-relevant KPIs, cleanly report organic revenue through last-click and multi-touch attribution, and deliver C-level, marketing, and development teams exactly the figures they actually need to make sound decisions.
-
Maxim Mironjuk
-
September 01, 2025
A generic code review misses the traps that specifically cause production problems in Magento: misused preferences, broken public APIs, install scripts instead of schema. A Magento-specific code review checklist surfaces these risks systematically before they get merged.
-
Maxim Mironjuk
-
September 01, 2025
Code reviews in Vue teams rarely fail because of a lack of willingness, they fail because of a missing framework. Without clear criteria, reviews turn into subjective style debates instead of real quality checks. This article shows which review patterns actually matter, from component design through reactivity mistakes to Pinia store quality and TypeScript integration.
-
Maxim Mironjuk
-
September 01, 2025
Every CSS stylesheet that gets loaded in the without optimization blocks the browser until it has been fully downloaded and parsed. Setting critical CSS inline and loading the rest asynchronously is the single most effective step you can take for better Core Web Vitals, and it can be implemented entirely at the CSS level.
-
Maxim Mironjuk
-
September 01, 2025
Simply deleting a field from the schema because the backend team no longer needs it is not deprecation, it's a breaking change. A proper GraphQL deprecation workflow marks fields with the @deprecated directive, measures their real usage, and only removes them once the data shows no consumer is affected anymore.
-