Page 11 - Monthly Archives: August 2025
-
Maxim Mironjuk
-
August 17, 2025
A REST API that runs in production but cannot be observed is a black box. Structured logging, distributed tracing with OpenTelemetry and Prometheus metrics are the three pillars that let teams localize errors, explain latency spikes and plan capacity, without digging through log files.
-
Maxim Mironjuk
-
August 17, 2025
When the master of a Redis setup fails without automation, a human's reaction time determines how long an application stays down. Redis Sentinel continuously monitors master and replicas, coordinates with other Sentinel instances about the real state of the system, and automatically promotes a replica to the new master on a genuine outage, without anyone stepping in manually.
-
Maxim Mironjuk
-
August 17, 2025
Redis Lua scripting runs a complete script as a single atomic command, without any other client being able to interleave. Anyone who implements increment-with-limit, conditional delete or other read-then-write patterns without real server-side logic risks race conditions that Lua scripts structurally rule out.
-
Maxim Mironjuk
-
August 16, 2025
Almost every project already knows a simple fade-in on scroll. Scroll timeline becomes genuinely interesting once multiple axes, named timelines and precise animation-range values work together to build complex narrative layouts entirely without scroll event listeners.
-
Maxim Mironjuk
-
August 16, 2025
shUnit2 brings the classic xUnit style with assertEquals and setUp/tearDown into the Bash world, bats-core instead describes tests as readable @test blocks in a BDD style. Both frameworks solve the same underlying problem, but with different syntax, different CI integration, and different strengths depending on project size.
-
Maxim Mironjuk
-
August 16, 2025
Many teams treat git blame as a tool for pointing fingers, when in reality it delivers valuable context: who changed a line, when, and why. This article shows practically how to get sharper results with flags like -w, -C, and -M, cleanly exclude mass reformatting commits, and correctly read blame output in both PhpStorm and the command line.
-
Maxim Mironjuk
-
August 16, 2025
Anyone who resolves GraphQL filters in Magento naively through raw SQL or direct model queries builds up technical debt. The correct path runs through the SearchCriteriaBuilder, with type-safe arguments in the schema, clean delegation in the resolver and testable filter logic in the service contract.
-
Maxim Mironjuk
-
August 15, 2025
CORS errors in the browser console rank among the most frustrating debugging experiences for frontend developers, and the obvious, quick fix, setting Access-Control-Allow-Origin to *, usually works immediately but undermines exactly the security mechanism CORS is supposed to provide. A deeper understanding of the underlying preflight and simple request mechanics allows configuring CORS deliberately and securely, instead of disabling it wholesale.
-
Maxim Mironjuk
-
August 15, 2025
OpenVPN and IPsec have been the standard for site to site VPNs for years, but they carry a code footprint, configuration complexity, and handshake overhead that WireGuard deliberately avoids. With roughly four thousand lines of kernel code, modern cryptography, and a single configuration file, WireGuard has established itself as a lean alternative for secure server to server connections.
-
Maxim Mironjuk
-
August 15, 2025
Structured data was long used only to make search results look prettier. AI search engines read the same JSON-LD blocks for a different reason: they need precise, machine-readable facts to phrase answers and correctly attribute sources. Marking up schema.org deliberately for that purpose measurably increases the chance of being cited in AI answers.
-