Page 16 - Monthly Archives: January 2025
-
Maxim Mironjuk
-
January 11, 2025
Gap locks are among the least understood mechanisms of InnoDB and regularly trigger surprising lock waits in practice, without any specific row seeming to be affected. This article explains what gap locks actually are, why InnoDB needs them under REPEATABLE READ to prevent phantom reads, and how next-key locks work as a combination of record lock and gap lock.
-
Maxim Mironjuk
-
January 11, 2025
A disk that suddenly fills up stalls deployments and databases, often without warning. df instantly tells you which filesystem is affected, du -sh sorted by size pinpoints the exact culprit, and with the right toolkit you can reliably clean up logs, caches, and old releases before the server goes down.
-
Maxim Mironjuk
-
January 11, 2025
Performance regressions rarely come from one dramatic change, they accumulate from many small degradations that each stay under the radar. A CI pipeline that automatically compares bundle size and Lighthouse metrics against the base branch on every pull request makes this slow decline visible before it reaches the main branch and production.
-
Maxim Mironjuk
-
January 11, 2025
A high coverage number feels reassuring, but it often says little about whether your tests actually catch bugs. This article explains what line, branch, and path coverage really measure, why coverage is only a floor and not a quality goal, and how to set realistic, risk based targets for unit, integration, and E2E tests.
-
Maxim Mironjuk
-
January 11, 2025
Whether schema markup actually increases citation likelihood with AI search engines cannot be claimed responsibly without testing it systematically. This article covers a practical test setup, its limits, and a recommendation that holds up despite methodological uncertainty.
-
Maxim Mironjuk
-
January 11, 2025
Inconsistent branch names look harmless until a deployment pipeline targets the wrong environment or an automated cleanup script deletes a branch that's still active. Clear prefixes such as feature, bugfix, and hotfix, combined with ticket IDs from Jira or GitHub Issues, create traceability, enable reliable CI automation, and can be enforced across the whole team with one simple naming check hook.
-
Maxim Mironjuk
-
January 11, 2025
The builder pattern creates complex objects step by step. In Magento 2 it matters most for SearchCriteria, filters, sort orders and stable configuration objects for services.
-
Maxim Mironjuk
-
January 11, 2025
A tangled Git history with hundreds of WIP commits makes bisect useless, reviews tedious, and blame unreliable. Clear conventions such as atomic commits, rebasing before merge, and disciplined commit messages turn the log into a dependable tool for debugging and traceability, without slowing the team down.
-
Maxim Mironjuk
-
January 11, 2025
Alongside the well known virtual filesystems /proc and /sys, there is a third, far less documented kernel interface called debugfs, purpose built for debug information without any API stability guarantee. Knowing where debugfs is mounted and what lives there surfaces information that /proc and /sys simply do not provide.
-
Maxim Mironjuk
-
January 11, 2025
A hand maintained changelog falls behind almost inevitably once several developers work on the same API in parallel: one change gets forgotten, another documented too late, and eventually nobody trusts the document anymore. The more reliable path does not start with a human trying to remember every change, it starts with a structural comparison of two OpenAPI versions, from which a changelog draft can be derived mechanically before an editor turns it into readable sentences.
-