Page 10 - Monthly Archives: January 2026
-
Maxim Mironjuk
-
January 21, 2026
Once a single Redis master hits its capacity limit, replication alone is no longer enough. Redis Cluster automatically distributes data across 16384 fixed hash slots spread over multiple nodes, computes each key's assignment via CRC16, and lets hash tags give precise control over which keys must land together on the same node.
-
Maxim Mironjuk
-
January 21, 2026
A LATERAL join lets a subquery in FROM or JOIN access columns of the preceding table within the same statement, something an ordinary join or an ordinary subquery cannot do. That makes top-N-per-group queries, dynamic per-row calculations, and multi-column table function calls possible, using LATERAL in PostgreSQL, and CROSS APPLY plus OUTER APPLY in SQL Server.
-
Maxim Mironjuk
-
January 21, 2026
The WCAG splits its success criteria into three conformance levels: A, AA and AAA. Understanding what each level technically requires lets you set realistic goals instead of vaguely hoping for full completeness. This article explains the differences between the levels, why AA is the right legal and practical target for most commercial websites, and which individual AAA criteria are still worth adopting selectively.
-
Maxim Mironjuk
-
January 21, 2026
Once a project moves from auto-increment primary keys to globally unique IDs, the choice often falls on UUIDv4, simply because it is the most familiar standard. What frequently gets overlooked is that a fully random ID fragments B-tree indexes in a way auto-increment keys never would, and that can cost noticeable performance on large, fast growing tables. The Symfony UID component offers UUID and ULID under one consistent API, and this article shows exactly when each format is genuinely the better choice and how both integrate cleanly with Doctrine.
-
Maxim Mironjuk
-
January 21, 2026
Running untested database migrations against production risks data loss, long downtime and silent inconsistencies. A clear test strategy built on the expand-contract pattern, rollback rehearsals and automated pipelines turns schema changes into a predictable process instead of a gamble.
-
Maxim Mironjuk
-
January 21, 2026
A naive GraphQL resolver that triggers its own database query for every list item quickly produces hundreds of individual queries on nested queries. GraphQL batching following the DataLoader pattern collects these requests and resolves them in a single, efficient call, with a noticeable impact on response times and database load.
-
Maxim Mironjuk
-
January 20, 2026
Anyone who steers systemd services by trial and error wastes valuable time during outages in production. systemctl starts, stops and monitors services reliably, reads status output correctly, and recognizes states like failed or activating instantly and without guesswork. journalctl then delivers the matching, filtered logs for fast troubleshooting in production Linux environments and Magento deployments.
-
Maxim Mironjuk
-
January 20, 2026
Vue 2 has reached its end of life. The migration to Vue 3 is not a simple dependency update, it touches the reactivity system, the lifecycle, the build pipeline and many libraries at the same time. Teams that plan it realistically, instead of underestimating it, actually finish it.
-
Maxim Mironjuk
-
January 19, 2026
Magento ships its GraphQL endpoint without type information for the client, which leaves storefront code trusting field names and nullability on faith. graphql-code-generator automatically generates TypeScript types and typed query documents from the real schema, so broken field access and forgotten null checks show up at compile time instead of in a real customer's checkout.
-
Maxim Mironjuk
-
January 19, 2026
HATEOAS is the principle that separates REST from a simple HTTP data transport, and at the same time the most debated and least implemented REST constraint. This article explains what hypermedia actually means, which formats have proven themselves, and when pragmatism should win over purity.
-