Page 13 - Monthly Archives: April 2025
-
Maxim Mironjuk
-
April 16, 2025
Classic cron jobs in the crontab are hard to test, cannot be version controlled and live outside the application. Symfony Scheduler brings periodic tasks directly into the PHP project: testable, type safe, Messenger integrated and with full dependency injection.
-
Maxim Mironjuk
-
April 15, 2025
A GraphQL schema is already a machine-readable contract between frontend and backend. A mock schema makes that contract executable: frontend teams build against realistic test data long before the backend is finished, and breaking changes surface automatically instead of in production.
-
Maxim Mironjuk
-
April 15, 2025
Anyone running Magento stores across several application servers knows the problem: an error shows up somewhere between the load balancer, Nginx, PHP-FPM and the database server, and the relevant lines are scattered across three or four different machines. rsyslog solves this by forwarding logs from multiple servers over the network to one central server, consolidating them there and making them available for analysis in a single place, optionally encrypted and with delivery guarantees.
-
Maxim Mironjuk
-
April 15, 2025
A thousand individual INSERT statements are almost always slower than the same thousand rows sent as one batch, because every single round trip to the database costs network latency, parsing, and transaction overhead. Batch processing bundles these costs, whether through multi-row INSERTs, bulk-load tools, or larger transactions, and can cut load time by an order of magnitude.
-
Maxim Mironjuk
-
April 15, 2025
Astro ships no JavaScript by default and renders pages as static HTML, and Tailwind CSS brings a utility system that fits exactly that architecture. Combining Tailwind CSS with Astro gives you small CSS bundles, clearly bounded interactive islands and a build that almost optimizes itself once you understand the islands architecture properly.
-
Maxim Mironjuk
-
April 15, 2025
Normalization is the systematic process of splitting a table into smaller, linked tables so that each piece of information is stored exactly once. This post walks through a single, continuous orders table step by step to show what first, second and third normal form each require, which concrete anomaly they eliminate, and what the result looks like as an actual SQL table structure.
-
Maxim Mironjuk
-
April 15, 2025
ITCSS orders a stylesheet not by file type or component, but by the specificity and reach of every rule. This CSS architecture makes conflicts between global base rules and specific overrides predictable, instead of leaving them to the chance of import order, and stays maintainable across dozens of developers over years.
-
Maxim Mironjuk
-
April 15, 2025
Most explanations of SOLID principles work with shapes, ducks, or animals, and leave open what that looks like in real application code. This article instead uses a single, connected order-processing pipeline in PHP 8.4, in which each of the five principles solves a concrete, traceable maintainability problem: an Order class that does too much, discount rules that grow into an if/else cascade, a payment gateway that breaks its own contract, an overly fat repository interface, and a notification service too tightly coupled to a concrete mailer.
-
Maxim Mironjuk
-
April 15, 2025
Anyone who treats transactions in MySQL as mere syntax without knowing what InnoDB does behind the scenes risks inconsistent data under load. This article shows how START TRANSACTION, COMMIT and ROLLBACK actually behave, how autocommit affects everyday work, and how InnoDB technically guarantees each single ACID property, from the undo log to the redo log.
-
Maxim Mironjuk
-
April 15, 2025
Playwright's page.route() API lets you intercept every single network request a page makes before it actually reaches the server, and either answer it with your own, controlled response, let the actual request pass through unchanged, or block it entirely. This capability makes route mocking one of the most effective tools against the most common cause of flaky E2E tests: dependence on a real, possibly slow or inconsistent backend system.
-