Page 4 - Monthly Archives: March 2026
-
Maxim Mironjuk
-
March 26, 2026
PID 1 decides far more than just the boot sequence: service supervision, dependency resolution, and logging architecture all hang directly off the chosen init system. systemd dominates on classic servers, while OpenRC and runit hold their ground in lean container base images like Alpine and Void Linux, for solid technical reasons.
-
Maxim Mironjuk
-
March 26, 2026
Anyone who sees TypeScript's type system only as an annotation for runtime values misses its real power. Conditional types correspond to if/else, mapped types correspond to forEach, infer corresponds to pattern matching, and recursion is the only available control flow construct. Together these four building blocks form a complete functional language evaluated at compile time, one capable of building even small parsers.
-
Maxim Mironjuk
-
March 26, 2026
Symfony UX Dropzone turns an ordinary file field into a modern drag-and-drop zone with image previews, without requiring a custom upload handler written in JavaScript, and combines directly with VichUploaderBundle and your own validation rules.
-
Maxim Mironjuk
-
March 26, 2026
Reanimated Layout Animations automatically compute smooth transitions the moment a component's size, position, or visibility changes, without developers manually orchestrating start and end values through useState or useEffect. This article covers entering, exiting, and layout transitions using a list with add and remove animations as an example, plus the performance limits for very complex lists.
-
Maxim Mironjuk
-
March 26, 2026
Anyone adding command-line options to a Bash script quickly ends up at getopts, the Bash built-in for short options. It is available everywhere, portable, and needs no external dependency, but it does not support long options like --verbose. Anyone who needs both combines getopts with a manual case loop and builds parameter parsing that feels like a real CLI tool.
-
Maxim Mironjuk
-
March 26, 2026
An error code as a number or a single boolean for the failure case hides from the compiler which error kinds actually exist. Discriminated unions make every possible error variant visible as its own named type and, through exhaustiveness checking, guarantee that none of them are ever forgotten in the code.
-
Maxim Mironjuk
-
March 26, 2026
Magento 2 · Design Patterns
Singleton & Registry
Pattern in Magento 2
The Singleton pattern guarantees exactly one object instance. Magento 2 implements this through shared instances in the DI container: elegant, testable, and without global coupling. The Registry class as a global data bucket has been deprecated since 2.3. This article explains why, and how to do it better.
12 min read
PHP 8.4
Magento 2.4.8
The GoF Singleton pattern: concept and PHP implementation
-
Maxim Mironjuk
-
March 26, 2026
An unstructured OpenAPI specification turns into a maintenance burden the moment more than three developers work on it. With components/schemas, consistent $ref references and a clear versioning strategy, the API description stays the single source of truth for documentation, code generation and contract tests.
-
Maxim Mironjuk
-
March 25, 2026
The wrong CPU governor forces a server to ramp up its clock speed on every incoming request before it can actually respond. This delay is barely visible in monitoring, but shows up in practice as fluctuating response times, especially under bursty PHP-FPM traffic.
-
Maxim Mironjuk
-
March 25, 2026
Volar is the name of the VS Code extension, the underlying Vue Language Server is the actual language server backend that provides type checking, autocompletion and error diagnostics in single file components. Anyone who understands how the two layers work together fixes IDE problems in Vue 3 projects far more precisely, instead of installing and uninstalling extensions at random.
-