Why You Should Occasionally Avoid Using Frameworks and Libraries: A Rebel's Guide

Why You Should Occasionally Avoid Using Frameworks and Libraries: A Rebel's Guide

Let me confess something: I once built a production API using only Node.js core modules. When colleagues saw it, their reactions ranged from “You absolute maniac!” to “Wait… this actually works?” Spoiler: it did. While frameworks like Express or NestJS are wonderful safety nets, sometimes cutting the umbilical cord teaches you how gravity really works. The Hidden Costs of Framework Comfort Performance Penalties Frameworks ship with metaphorical kitchen sinks. That 40KB “hello world” Express app?...

June 24, 2025 · 3 min · 495 words · Maxim Zhirnov
Почему вам следует время от времени избегать использования фреймворков и библиотек: Руководство для бунтаря

Почему вам следует время от времени избегать использования фреймворков и библиотек: Руководство для бунтаря

Признаюсь честно: однажды я построил рабочий API, используя только основные модули Node.js. Когда коллеги это увидели, их реакции варьировались от «Ты просто маньяк!» до «Погоди… это и правда работает?». Спойлер: всё работало. Хотя такие фреймворки, как Express или NestJS, — это замечательная страховка, иногда только отказ от них помогает понять, как всё работает на самом деле. Скрытые издержки удобства фреймворков Потеря производительности Фреймворки включают в себя всё, что только можно представить....

June 24, 2025 · 3 min · 499 words · Maxim Zhirnov
Building a Distributed Session Storage in Go: When Your Sessions Need a Road Trip

Building a Distributed Session Storage in Go: When Your Sessions Need a Road Trip

Picture this: your user logs in, grabs a digital shopping cart, and suddenly gets routed to a different server that knows nothing about their session. It’s like trying to continue a road trip after someone swapped your car mid-journey. Let’s build a distributed session system that keeps the adventure going - no abandoned carts or logged-out users allowed! Why Sessions Go Rogue in Distributed Systems Traditional session storage has all the coordination skills of toddlers playing soccer - everyone chases the same ball....

June 16, 2025 · 4 min · 701 words · Maxim Zhirnov
Создание распределенного хранилища сеансов в Go: Когда ваши сеансы нуждаются в переносе

Создание распределенного хранилища сеансов в Go: Когда ваши сеансы нуждаются в переносе

Представьте: пользователь входит в систему, берёт цифровую корзину для покупок, и внезапно его перенаправляют на другой сервер, который ничего не знает о его сеансе. Это похоже на попытку продолжить путешествие после того, как кто-то поменял вашу машину в середине пути. Давайте построим распределённую систему сеансов, которая не допустит брошенных корзин или выхода пользователей из системы! Почему сеансы выходят из-под контроля в распределённых системах Традиционное хранилище сеансов обладает всеми навыками координации, как у малышей, играющих в футбол — все гонятся за одним мячом....

June 16, 2025 · 4 min · 694 words · Maxim Zhirnov
Taming the Firefox: A Developer's Journey into WebExtensions

Taming the Firefox: A Developer's Journey into WebExtensions

Picture this: you’re browsing your favorite cat video site when suddenly - BAM! - a wild idea appears. What if you could make Firefox fetch coffee while you watch? While our WebExtensions might not (yet) handle caffeine delivery, they can transform your browser into a Swiss Army knife of productivity. Let’s forge some browser magic! Anatomy of a WebExtension Every great extension starts with three essential ingredients: A manifest.json (the extension’s DNA) Content scripts (DOM whisperers) Background scripts (the silent workhorses) graph TD A[Manifest....

June 12, 2025 · 3 min · 496 words · Maxim Zhirnov