Page 280 - Mironsoft Blog
-
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.
-
Maxim Mironjuk
-
April 15, 2025
In monorepos with thousands of directories, a full checkout quickly becomes a burden on disk space, checkout time, and IDE indexing. Git sparse checkout lets you materialize only the directories you actually work with in the working directory, while the full history stays available in the repository.
-
Maxim Mironjuk
-
April 15, 2025
A deployment that's considered successful right after the symlink switch hasn't actually concluded on a functional level. Post-deploy checks make the difference between a pipeline that ends technically and a pipeline that confirms the application actually works.
-