Page 15 - Monthly Archives: January 2026
-
Maxim Mironjuk
-
January 13, 2026
Handing out a raw DOM node through a ref is an invitation for uncontrolled external access. useImperativeHandle defines precisely which methods are available through the ref, a controlled API instead of an open DOM interface.
-
Maxim Mironjuk
-
January 13, 2026
Angular Standalone Components remove the NgModule overhead from every feature, and Tailwind CSS removes the overhead from the stylesheet. Together they form an architecture where every component brings its own dependencies and its own appearance, without global class lists and without nested module declarations. This article covers setup, Signals integration, Reactive Forms and the content scanning pitfalls that occur particularly often in Angular projects.
-
Maxim Mironjuk
-
January 13, 2026
Measuring productivity gains from Claude Code by lines of code or commit count measures the wrong thing and leads to wrong decisions. Cycle time, time-to-first-review, and defect rate on AI-assisted changes are far more meaningful, combined with an honest look at which tasks Claude Code actually slows down instead of speeding up.
-
Maxim Mironjuk
-
January 13, 2026
Standard Unix permissions do not stop a compromised process from reading everything the running user is allowed to read. Mandatory Access Control adds a second, kernel enforced barrier in front of that. This article compares SELinux and AppArmor, explains label based and path based policy with real examples, and shows how to reliably diagnose a MAC caused permission denied.
-
Maxim Mironjuk
-
January 13, 2026
Few questions come up as regularly in client calls as this one: why does Search Console show 4,200 clicks for last week while GA4 reports only 3,100 organic sessions for the exact same period. The answer is not a measurement error, it is that both systems capture different events at different moments using different rules. Once you understand these differences, you can interpret reports correctly instead of doubting data quality every time the numbers diverge.
-
Maxim Mironjuk
-
January 12, 2026
Choosing between Adobe Commerce and Magento Open Source decides license cost, available enterprise features and the entire operating structure of a shop. Whoever makes this call without solid criteria either pays for functionality they never use, or laboriously rebuilds what the other edition already includes.
-
Maxim Mironjuk
-
January 12, 2026
GraphQL has no built-in file upload, and Magento's /graphql endpoint only ever parses JSON bodies, so a direct multipart upload fails right at the controller. Using personalized products as an example, this article shows a practical two-step flow built from a dedicated upload controller and a referencing mutation, including validation, secure storage, and integration with quote and order.
-
Maxim Mironjuk
-
January 12, 2026
With @page rules, CSS directly controls how large a printed page is, what margins it has, and what appears in the header and footer. For invoices, contracts and multi page reports, @page rules replace a significant part of what would otherwise require an external PDF library.
-
Maxim Mironjuk
-
January 12, 2026
Backed enums convert to JSON almost automatically, but as soon as Doctrine, PDO, or more complex API responses enter the picture, the built in mechanisms alone are not enough. This article shows how enum values travel reliably through JSON interfaces and relational databases, and where pure enums hit a hard limit.
-
Maxim Mironjuk
-
January 12, 2026
An image quietly grows from 200 megabytes to over a gigabyte over the course of months, and nobody can immediately say which build step is responsible. docker history gives a first rough overview, the tool dive shows exactly which file in which layer takes up how much space.
-