Освоение асинхронного Python: создание высокопроизводительных приложений с помощью asyncio

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

August 13, 2025 · 5 min · 943 words · Maxim Zhirnov

The Case Against Always Using Serverless Functions

Serverless functions are the shiny new toy that everyone wants to play with. They promise infinite scalability, zero infrastructure management, and that magical “pay-only-for-what-you-use” pricing model. But here’s the thing: just because you can put everything in a serverless function doesn’t mean you should. Let me be the party pooper who tells you why your serverless-first approach might be costing you more than just money—it might be costing you sanity, performance, and control over your own application....

August 8, 2025 · 9 min · 1802 words · Maxim Zhirnov

Аргументы против того, чтобы всегда использовать функции Serverless

Бессерверные функции — это новая блестящая игрушка, с которой все хотят поиграть. Они обещают бесконечную масштабируемость, отсутствие управления инфраструктурой и волшебную модель ценообразования «плати только за то, что используешь». Но вот в чём дело: возможность поместить всё в бессерверную функцию не означает, что так и нужно делать. Позвольте мне быть тем, кто испортит вам веселье и расскажет, почему ваш подход «сначала бессерверные функции» может стоить вам не только денег, но и здравомыслия, производительности и контроля над вашим собственным приложением....

August 8, 2025 · 6 min · 1081 words · Maxim Zhirnov

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

The Art of Writing Non-Portable Code: When It’s Beneficial to Lock-In

The Lock-in Libido: Why Sometimes Platform-Specific Code Wins Portability used to be software’s ultimate virtue – the coding equivalent of keeping a suitcase permanently packed. But I’ll tell you a secret: in certain corners of our digital world, that magical “write once, run anywhere” promise isn’t just inconvenient. It’s often a flat-out lie. And you know what? That’s okay. Not Every Program is A Global Citizen Portable code maximizes flexibility. Non-portable code maximizes power....

August 4, 2025 · 4 min · 798 words · Maxim Zhirnov