Page 175 - Maxim Mironjuk
-
Maxim Mironjuk
-
September 08, 2025
Date functions are one of the areas where databases differ the most, even though the underlying task seems simple. This article compares date arithmetic, formatting, time zone handling, and extraction of individual date parts in PostgreSQL, MySQL, SQL Server, and Oracle using concrete, runnable examples.
-
Maxim Mironjuk
-
September 08, 2025
Faceted navigation often multiplies the number of URLs in a Magento store a hundredfold, creating thousands of nearly identical pages that Google treats as duplicate content. This article explains how to combine canonical tags, noindex, and robots.txt correctly, which filter combinations deserve their own landing page, and how to configure the right Magento settings.
-
Maxim Mironjuk
-
September 08, 2025
Hitting payment and shipping providers live in every test run risks cost, rate limits, and random failures caused by someone else's infrastructure. This article shows how mock servers such as MSW and WireMock, recorded fixtures, and deliberately simulated errors and timeouts keep an E2E suite independent of external uptime while still staying realistic.
-
Maxim Mironjuk
-
September 08, 2025
Hydration mismatches in Vue and Nuxt are among the most frustrating debugging experiences in SSR development. The browser console shows "Hydration completed but contains mismatches," the UI flickers, and the error is hard to reproduce. This article explains the causes systematically and shows how to fix them for good.
-
Maxim Mironjuk
-
September 08, 2025
Row Level Security moves access rules out of the application layer and into the database itself, filtering every row automatically according to the current security context. Anyone securing multi-tenancy or tenant-sensitive application logic without Row Level Security relies on disciplined WHERE clauses in every single query, and that breaks sooner or later.
-
Maxim Mironjuk
-
September 07, 2025
Applying unserialize() to untrusted data is one of the most dangerous patterns in PHP applications. Gadget chains made of seemingly harmless classes enable remote code execution merely by reconstructing an object. JSON, allowed_classes and signed payloads reliably close this gap.
-
Maxim Mironjuk
-
September 07, 2025
A shop that only starts thinking about an upgrade once it hits the end-of-life date has already lost the planning battle. Whoever tracks the Magento roadmap systematically, plans support deadlines early and communicates upgrade budgets in time avoids expensive emergency migrations under time pressure and unpatched security holes in production.
-
Maxim Mironjuk
-
September 07, 2025
No other part of a zero downtime deployment fails as often as database migrations. Renaming a column, dropping a table, adding a NOT NULL constraint: these are operations that are simply not compatible with code that is still running. This article explains the expand/contract pattern, when it works, and when a maintenance window is the more honest answer.
-
Maxim Mironjuk
-
September 07, 2025
When people talk about image SEO, compression and loading speed are usually the first thing that comes to mind. That matters, but it only covers half the picture, because whether an image shows up in Google Image Search at all, and how high it ranks, is mostly decided by content relevance signals. This article walks through the factors that matter beyond performance and why image search traffic tends to be an underrated channel.
-
Maxim Mironjuk
-
September 07, 2025
A soft delete marks a row as deleted without physically removing it, sounds like a single extra column, and turns out in practice to be a source of unique constraint conflicts, bloated indexes, and forgotten WHERE clauses. This post shows three established models for soft deletes and explains when each one truly fits.
-