Аргументы против постоянного использования архитектуры Serverless

Аргументы против постоянного использования архитектуры Serverless

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

14 сентября 2025 06:01 · 5 минут · 973 слова · Maxim Zhirnov
Создание расширяемого CLI-фреймворка в Go: от нуля до героя

Создание расширяемого CLI-фреймворка в Go: от нуля до героя

Представьте: вы смотрите на экран, в руке у вас кофе, и вы думаете, использовать ли ещё один фреймворк CLI или создать свой собственный. Налейте себе ещё чашку, потому что сегодня мы погрузимся в кроличью нору создания расширяемого фреймворка CLI на Go, за что ваше будущее «я» скажет вам спасибо (и, возможно, даже даст вам пять через экран). Создание CLI-приложений на Go похоже на сборку мебели IKEA — кажется простым, пока вы не поймёте, что вам нужен несуществующий фреймворк....

19 августа 2025 14:01 · 5 минут · 946 слов · Maxim Zhirnov

Реализация механизмов динамической настройки в приложениях Go

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

5 августа 2025 14:01 · 5 минут · 922 слова · Maxim Zhirnov

Искусство написания непереносимого кода: Когда выгодно использовать Lock-In

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

4 августа 2025 06:00 · 4 минуты · 1 слово · Maxim Zhirnov
Почему Ваш код не так легко адаптируется, как Вы думаете (И как это исправить)

Почему Ваш код не так легко адаптируется, как Вы думаете (И как это исправить)

Представьте: вы только что создали «шедевр» гибкого кода. Вы хлопаете по пять свою резиновую утку, с уверенностью производите развёртывание и обещаете заинтересованным сторонам: «Это справится с ЛЮБЫМИ будущими изменениями!» Перемотаем на три месяца вперёд: продукту требуется «одна небольшая корректировка». Вдруг ваш «гибкий» код напоминает переваренные спагетти — сопротивляется изменениям и полон сюрпризов. Знакомо? Давайте разберёмся, почему адаптивность кода часто оказывается миражем. Миф о «защищённом от будущего» коде Мы все поддавались сиренному зову чрезмерного проектирования....

21 июля 2025 06:00 · 4 минуты · 716 слов · Maxim Zhirnov