Page 3 - Monthly Archives: September 2025
-
Maxim Mironjuk
-
September 27, 2025
GraphQL and gRPC solve different problems, even though both often sit side by side in the same architecture. GraphQL shines at flexible, client-driven queries for frontends, gRPC at binary, low-latency communication between backend services. This article shows when each protocol is the better choice.
-
Maxim Mironjuk
-
September 27, 2025
Modern infrastructure delivers configuration in JSON, YAML and .env files at the same time. Anyone merging these formats in shell workflows needs robust loading, validation and export patterns, otherwise missing fields, unsafe variables and format inconsistencies turn into a silent risk in deployment pipelines.
-
Maxim Mironjuk
-
September 27, 2025
Redis runs as a single-threaded event loop, where every slow command blocks all other clients at once. The slowlog logs exactly these commands with timestamp, duration, and arguments, making it the most direct tool for tracing a latency problem back to a specific command instead of a vague guess.
-
Maxim Mironjuk
-
September 27, 2025
Running unserialize on untrusted input such as cookies, session data, or API payloads opens the door to PHP Object Injection and dangerous gadget chains that abuse magic methods like wakeup and destruct to execute arbitrary code. This article explains the mechanics, shows safer alternatives like json_decode, and covers proven deserialization patterns for production PHP and Magento applications.
-
Maxim Mironjuk
-
September 27, 2025
InnoDB replaced MyISAM as the default storage engine back in MySQL 5.5, yet MyISAM still turns up in grown systems, often unnoticed. Anyone who doesn't understand the transaction behavior, locking granularity and crash safety of the two engines risks data loss during migrations and legacy maintenance. This article explains the differences in detail and shows what a clean migration to InnoDB looks like.
-
Maxim Mironjuk
-
September 26, 2025
Cron jobs and queue consumers still running during a deployment are an underestimated source of errors. A consumer that runs against the old release code while the symlink switches to the new release can cause data consistency problems. This article explains how to reliably control cron and consumers in the GitLab deployment process.
-
Maxim Mironjuk
-
September 26, 2025
Too little swap leads to crashes from the out-of-memory killer during load spikes, too much swap hides a real memory shortage behind agonizing slowness. This article shows how much swap actually makes sense on a modern server, how the vm.swappiness kernel parameter controls swapping behavior, how to safely create a swapfile, and how to tell real memory pressure apart from normal caching.
-
Maxim Mironjuk
-
September 26, 2025
An unregistered custom property always inherits in CSS, regardless of whether its name suggests a local, component-scoped value. Only @property gives a custom property a fixed type, a guaranteed initial value, and explicit inheritance behavior, closing an entire class of bugs that are otherwise hard to track down in large design systems.
-
Maxim Mironjuk
-
September 26, 2025
Everyone knows TODO and FIXME, but few teams use the full potential of PhpStorm's TODO system. With custom patterns like MAGENTO-UPGRADE or SECURITY, tasks become visible project-wide and can be worked through by pattern rather than file in the TODO tool window.
-
Maxim Mironjuk
-
September 25, 2025
No single tool masters every aspect of a modern deployment stack. Bash as glue code connects PHP scripts, SQL dump workflows, Docker build chains and Git hooks into one coherent automation system, with robust exit code handling, targeted data forwarding and clear error escalation that surfaces problems early.
-