Page 19 - Monthly Archives: February 2025
-
Maxim Mironjuk
-
February 03, 2025
Anyone who only occasionally checks their own brand visibility in AI search engines with a random prompt is not collecting solid data, just snapshots with no basis for comparison. A systematic prompt workflow with standardized question sets, fixed documentation, and repeatable execution across multiple AI search engines makes visibility changes genuinely measurable for the first time. This article explains how to build such a workflow and how to automate it with API access.
-
Maxim Mironjuk
-
February 03, 2025
Running a Magento store into Black Friday without systematic load testing means relying on guesses instead of measurements. This article shows how load, stress, and spike tests differ, how to model realistic traffic patterns with k6, JMeter, and Locust, and which metrics beyond response time actually determine a store's true capacity.
-
Maxim Mironjuk
-
February 02, 2025
Classic page-by-page pagination with from and size works reliably for the first few result pages, but becomes expensive with deep pagination and returns inconsistent results the moment the underlying data set changes between two page fetches. For export functions that need to reliably and completely walk through thousands or millions of documents, that is not good enough. The point-in-time API solves this by capturing a consistent snapshot of the index at a fixed moment, against which search_after can then paginate efficiently and without duplicates or missing documents. How this combination works technically, how it differs from the older scroll mechanism, and how a robust export function can be built on top of it is what this article covers.
-
Maxim Mironjuk
-
February 02, 2025
SSH tunneling turns a single encrypted connection into a secure channel for any TCP service that would otherwise only be reachable locally on a server. This article explains local, remote and dynamic port forwarding through concrete examples, shows a tunnel into a database only reachable from the server itself, covers autossh for permanently stable connections, and the security risks of tunnels left open.
-
Maxim Mironjuk
-
February 02, 2025
A MySQL major version upgrade is not a simple package update command, it is a one-way street with several silent behavior changes that only surface after the upgrade. Between MySQL 5.7 and 8.0 lie changes to the optimizer, the default character encoding, authentication, and the entire query cache subsystem, all of which can hit a production Magento shop hard if they are not known before the upgrade.
-
Maxim Mironjuk
-
February 02, 2025
Long product listings, article feeds and documentation pages force the browser to calculate layout and style for thousands of elements, even though only a fraction of them is ever visible. content-visibility skips this work for offscreen regions on purpose, turning a sluggish long page into one that feels as fast as a short one.
-
Maxim Mironjuk
-
February 02, 2025
A user who invested twenty minutes in a form and then accidentally closes the tab loses their entire work if no unsaved changes warning kicks in. With dirty state tracking, the beforeunload event, and a custom confirmation dialog for in-app navigation, this data loss can be reliably prevented in Alpine.js.
-
Maxim Mironjuk
-
February 01, 2025
LinkedIn and X algorithms favor personal profiles over company pages for a reason, not by accident: platforms have a stronger interest in authentic interaction between people than in broadcast content from brands. Understanding that structural difference lets a team build employee advocacy as a serious reach and indirect SEO lever rather than treat it as a nice-to-have extra. This article shows the mechanism behind it, a realistic program setup, and the limits that cannot be ignored along the way.
-
Maxim Mironjuk
-
February 01, 2025
A database snapshot taken while writes are actively in flight can be internally inconsistent, even when the backup completes without any error message. Only during the actual restore, often months later, does it become clear that tables and indexes no longer match. This article shows how MariaDB, MySQL, and PostgreSQL on Linux can produce truly consistent snapshots, using locking, Mariabackup, LVM, and WAL archiving.
-
Maxim Mironjuk
-
February 01, 2025
Build-time code generation produces finished, compilable PHP code before an application even starts, instead of reading metadata via reflection again on every request. Symfony and Laravel use this technique for compiled containers, because generated code is treated by OPcache like any regular code and reflection overhead disappears entirely from the hot path.
-