Page 116 - Mironsoft Blog
-
Maxim Mironjuk
-
December 03, 2025
Not every team has Grafana or an ELK stack available when they need to know fast how many errors a service is producing right now. A Bash terminal dashboard built from watch, tput, and ANSI color codes shows error rates, request rates, and log levels live, right inside the SSH session, without a browser and without additional infrastructure.
-
Maxim Mironjuk
-
December 03, 2025
A carousel for related products is quick to wire up with a heavy JS library and just as quick to become a performance problem. Staying true to Hyva means building the carousel with Alpine and a minimal Swiper integration, loading images consistently lazy, and honestly asking whether a static grid might not be the better choice after all.
-
Maxim Mironjuk
-
December 03, 2025
Thousands of concurrent application connections overwhelm MySQL faster than the actual query load does. ProxySQL sits between application and database, pools connections through connection pooling and routes reads and writes to the right servers using query routing rules, without the application noticing anything.
-
Maxim Mironjuk
-
December 02, 2025
Progressive Web Apps bring service workers, offline fallbacks and install prompts that classic E2E tests do not cover. Anyone using Cypress or Playwright without a dedicated strategy for network simulation, cache invalidation and manifest validation misses exactly the bugs that confront customers with stale prices offline or right after a deploy. This article shows how PWA testing works reliably in practice.
-
Maxim Mironjuk
-
December 02, 2025
Bash scripts that work correctly in a terminal often fail in pipes, as a cron job, or inside CI environments. The cause lies in how stdin, stdout, and interactive tools behave differently depending on context. /dev/null, /dev/tty, isatty detection, and non-interactive mode are the tools that make scripts work reliably in every context.
-
Maxim Mironjuk
-
December 02, 2025
Anyone sending emails in PHP with Swift Mailer or raw PHP mail() struggles with missing queuing, uncontrollable SMTP connections in tests and unreadable template code. Symfony Mailer solves this completely with type-safe email objects, Twig templates, pluggable transports, DKIM signing and clean test isolation without an SMTP server.
-
Maxim Mironjuk
-
December 02, 2025
Deployment keys that are scoped too broadly or stay in use for years without rotation are an underestimated risk. Ed25519 key pairs, GitLab deploy keys, correct known hosts management and safe rotation are the building blocks for auditable, revocable SSH connections in automated Magento deployments.
-
Maxim Mironjuk
-
December 02, 2025
Badges that hang over a corner, image stacks with a depth effect, and offset cards only look polished once negative margins, inset utilities and transform utilities work together deliberately. Understanding how these three tools differ, and where stacking contexts cause unexpected overlaps, lets you build overlap layouts that stay stable across responsive size changes.
-
Maxim Mironjuk
-
December 02, 2025
As soon as custom CSS is written outside of utility classes, the same question keeps coming up: how do you reach the values from @theme without maintaining them twice? The theme() function in Tailwind CSS v4 answers exactly that, and it works differently than one might expect from CSS custom properties.
-
Maxim Mironjuk
-
December 02, 2025
Switching between editor and terminal to run Composer or npm costs focus and context. PhpStorm can integrate Composer, Node.js, npm and Yarn directly, with autocompletion for composer.json and package.json, script buttons and a full output view right in the IDE.
-