The Fallacy of 'Always Use a Framework': When Vanilla JS/Python/etc. is Better

Picture this: you walk into a modern development team meeting, casually mention you’re building something in vanilla JavaScript, and suddenly everyone’s looking at you like you just suggested using a stone tablet for documentation. “But why not React?” they ask, eyes wide with concern. “What about Vue? Angular? Surely you’re not going bare metal in 2025?” Well, buckle up, because I’m about to commit what some consider development heresy: sometimes, just sometimes, vanilla code isn’t just acceptable—it’s superior....

August 6, 2025 · 14 min · 2912 words · Maxim Zhirnov

OAuth 2.0 vs OpenID Connect: The Authentication Dance You Never Knew You Were Missing

Picture this: you’re at an exclusive nightclub (let’s call it “API Club”), and there’s a bouncer at the door checking IDs, while inside there’s another person controlling access to the VIP sections. That bouncer? That’s authentication. The VIP controller? That’s authorization. And the beautiful dance between these two concepts is exactly what we’re diving into today with OAuth 2.0 and OpenID Connect. If you’ve ever wondered why logging into every app with your Google account works so seamlessly, or how Spotify can access your Facebook friends without stealing your grandmother’s secret cookie recipe, you’re about to get some answers....

July 31, 2025 · 12 min · 2390 words · Maxim Zhirnov

OAuth 2.0 против OpenID Connect: Танец аутентификации, о котором вы и не подозревали, что вам не хватает

Представьте себе: вы находитесь в эксклюзивном ночном клубе (назовём его «API Club»), и у входа стоит вышибала, проверяющий удостоверения личности, а внутри есть ещё один человек, контролирующий доступ в VIP-зоны. Этот вышибала — это аутентификация. Контролёр VIP-зон — это авторизация. И прекрасное взаимодействие между этими двумя концепциями — именно то, что мы сегодня рассмотрим на примере OAuth 2.0 и OpenID Connect. Если вы когда-нибудь задумывались, почему вход в каждое приложение через вашу учётную запись Google работает так плавно, или как Spotify может получить доступ к вашим друзьям из Facebook, не украв секретный рецепт печенья вашей бабушки, то сейчас вы получите ответы....

July 31, 2025 · 4 min · 831 words · Maxim Zhirnov
The Fallacy of 'Always Use a Package Manager': When Manual Management Wins

The Fallacy of 'Always Use a Package Manager': When Manual Management Wins

Picture this: you’re adding left-pad to your project, and suddenly you’re downloading half the internet just to pad a string. Package managers automate dependency management like a butler fetching your slippers – convenient until they bring the wrong pair and set your house on fire. While tools like npm and pip are revolutionary, the dogma of “always use a package manager” deserves a fiery takedown. Let’s explore when rolling up your sleeves beats automation....

July 20, 2025 · 3 min · 613 words · Maxim Zhirnov
Ошибка 'Всегда используйте менеджер пакетов': когда побеждает ручное управление

Ошибка 'Всегда используйте менеджер пакетов': когда побеждает ручное управление

Представьте: вы добавляете left-pad в свой проект и вдруг понимаете, что загружаете половину интернета только для того, чтобы дополнить строку. Пакетизаторы автоматизируют управление зависимостями, как дворецкий, который приносит вам тапочки, — удобно, пока он не принесёт не ту пару и не подожжёт ваш дом. Хотя такие инструменты, как npm и pip, революционны, догма «всегда используй пакетизатор» заслуживает решительного опровержения. Давайте разберёмся, когда ручное управление превосходит автоматизацию. Когда автоматизация становится нагрузкой Приложения, критичные к производительности, часто страдают от раздутости пакетизаторов....

July 20, 2025 · 3 min · 619 words · Maxim Zhirnov