Page 249 - Maxim Mironjuk
-
Maxim Mironjuk
-
May 30, 2025
Log files that are never rotated grow silently until a disk fills up and a production server crashes. logrotate keeps log files in check by size or time, compresses old files, and runs hooks such as service restarts after rotation. This article shows a practical configuration for a custom PHP application log and how to test it safely with debug mode before going live.
-
Maxim Mironjuk
-
May 29, 2025
Green tests do not mean the code is safe. In many teams, tests only get a superficial look in review, whether they run, whether coverage numbers add up. Yet it is entirely different criteria that decide whether a PHPUnit test provides real protection against regressions or merely fakes safety.
-
Maxim Mironjuk
-
May 29, 2025
A modular monolith splits a Symfony application into clearly bounded modules, each shipped as its own bundle with its own data layer and defined interface. That keeps a growing project maintainable without immediately taking on the operational complexity of microservices. This article shows the concrete directory layout, the communication between modules and how Deptrac enforces architectural boundaries automatically.
-
Maxim Mironjuk
-
May 29, 2025
The INFO command delivers a wealth of raw data about a Redis instance, but as plain text output it is barely usable for systematic alerting. The Redis Exporter translates exactly this raw data into structured Prometheus metrics, extends it with custom check commands for key sizes and latencies, and only then makes it usable for dashboards and alerting rules. This article covers which metrics the exporter concretely provides, what sensible alerting rules for memory usage, connection count, and replication lag look like, and how to build a dashboard for daily operations from it that fires not only on an acute outage, but already at the first warning signs.
-
Maxim Mironjuk
-
May 29, 2025
Every call to clock_gettime, every timestamp generated by MySQL, and every latency measurement in PHP-FPM depends on the Linux kernel's active clocksource. The Time Stamp Counter (TSC) is orders of magnitude faster than HPET on modern hardware, but was long known for synchronization problems across CPU cores that still produce false expectations and misconfigurations today.
-
Maxim Mironjuk
-
May 29, 2025
Checkboxes, radio buttons, range sliders and progress bars carry a different default color in every browser, usually some system blue that either matches a brand or does not. The accent-color CSS property solves this with a single line, without native keyboard control, focus rings or screen reader semantics ever getting lost.
-
Maxim Mironjuk
-
May 29, 2025
Mastodon and the fediverse behind it work fundamentally differently from centrally controlled social platforms: thousands of independent instances communicate with each other through the open ActivityPub protocol, each with its own robots.txt configuration and its own rules. For SEO practitioners this means inconsistent indexability, but also real opportunities, especially for companies with a tech savvy B2B audience. This article explains the technical mechanics, the pitfalls of brand presence spread across multiple instances, and the practical relevance for developer and open source adjacent audiences.
-
Maxim Mironjuk
-
May 29, 2025
A bug that stubbornly refuses to reproduce locally but occurs regularly in production is one of the most frustrating problems in day-to-day Magento work. With systematic scoping, safe remote debugging and structured logging, even the most stubborn production-only bug becomes tractable.
-
Maxim Mironjuk
-
May 29, 2025
SQL is a standard, but every database system interprets that standard with its own extensions and deviations. Quoting rules for identifiers, the syntax for paging, the notation for auto-generated IDs, and even basic data types differ so significantly between MySQL, PostgreSQL and SQL Server that real database-agnostic SQL requires deliberate design rather than accident.
-
Maxim Mironjuk
-
May 28, 2025
Magento plugins and observers are powerful extension points, but their tight coupling to the Magento ObjectManager makes them hard to test. With the right refactoring approach, the core logic of any plugin or observer can be extracted and tested in isolation with PHPUnit, entirely without a Magento bootstrap.
-