Page 17 - Monthly Archives: March 2025
-
Maxim Mironjuk
-
March 12, 2025
Not every search field needs Elasticsearch right away. With FULLTEXT indexes, natural language mode, and boolean mode, MySQL ships a genuine full-text search directly in the database, sufficient for many applications, without extra infrastructure, extra latency, and extra consistency problems between two systems.
-
Maxim Mironjuk
-
March 12, 2025
Editorial content from the admin panel lands in Hyva without Knockout.js and without UI components, sitting directly inside the utility first layout, which means WYSIWYG markup has to be deliberately reconciled with Tailwind classes instead of simply being included. Teams that structure Hyva CMS blocks and widgets cleanly from the start save themselves CSP rework, FPC invalidation problems and inconsistent typography further down the road.
-
Maxim Mironjuk
-
March 12, 2025
An average swallows exactly the latency spikes that users actually feel, because a few very slow requests get masked by many fast ones. The percentiles aggregation in Elasticsearch instead computes distribution points like p50, p95 and p99, making it visible just how slow the slowest requests really are.
-
Maxim Mironjuk
-
March 12, 2025
Recurring checks like if ($logger !== null) quickly spread across an entire codebase and hide the actual business logic behind defensive programming. The Null Object pattern replaces missing objects with a neutral object of the same interface that simply does nothing, instead of forcing a conditional branch.
-
Maxim Mironjuk
-
March 11, 2025
Not every pipeline needs to be triggered by a push or a merge request. Nightly security scans, recurring cleanup jobs or regular dependency updates run best on a time based schedule, regardless of whether anyone actually committed code that day. GitLab's Scheduled Pipelines provide a cron mechanism built directly into the platform for exactly this. This article covers the setup, the cron syntax, working with pipeline variables and why a Scheduled Pipeline is fundamentally different from a classic cronjob on a server.
-
Maxim Mironjuk
-
March 11, 2025
Divide and space between utilities solve a specific problem that gap alone does not cover: visible divider lines between sibling elements and spacing in layout contexts without native flex or grid support. Anyone who understands how divide-x, divide-y, space-x and space-y work internally avoids unnecessary wrapper divs and picks the right tool for each use case.
-
Maxim Mironjuk
-
March 11, 2025
PhpStorm scans Docker Compose setups automatically when a project is opened and suggests run configurations for detected services. For simple setups this works remarkably well, but for multi-stage compose hierarchies like the Mark Shust setup for Magento, the automation shows clear limits.
-
Maxim Mironjuk
-
March 11, 2025
Navigation is the backbone of every website, and at the same time the component that reveals whether Tailwind CSS is being used for simple styling tasks or as a complete UI system. This guide shows how to correctly implement the most important Tailwind CSS navigation patterns: with ARIA attributes, keyboard navigation and Alpine.js.
-
Maxim Mironjuk
-
March 11, 2025
Running docker run --memory=512m --cpus=1.5 makes Docker simply write a few values into plain text files under /sys/fs/cgroup. Once you have read those files yourself, resource limits stop looking like Docker magic and start looking like what they really are: kernel mechanics.
-
Maxim Mironjuk
-
March 11, 2025
Redis works well as a simple task queue with the LPUSH/BRPOP pattern, and Streams even deliver delivery guarantees and message history through consumer groups. But both approaches hit limits with complex routing, guaranteed ordering across many consumers, or very high message throughput, where dedicated systems like RabbitMQ or Kafka are the more robust choice.
-