Введение в Elixir для разработки масштабируемых веб-приложений

Введение в Elixir для разработки масштабируемых веб-приложений

Забудьте всё, что вы знаете об императивном программировании. Серьёзно. Закройте ту ментальную вкладку, где вы думали о циклах, изменяемом состоянии и объектно-ориентированных классах. Нас ждёт путешествие в область функционального программирования, а гидом будет Elixir — язык, который словно появился на свет от любви Ruby и Erlang, был воспитан сообществом распределённых систем и вырос удивительно уравновешенным. Если вы когда-нибудь ощущали давление при масштабировании веб-приложения, упирались в стену, где потоки становятся кошмаром, а традиционные модели параллелизма заставляют хотеть разбить столы, Elixir предложит решения, которые кажутся почти слишком элегантными, чтобы быть правдой....

26 октября 2025 14:00 · 5 минут · 1040 слов · Maxim Zhirnov
Почему ваше программное обеспечение не всегда нуждается в масштабировании

Почему ваше программное обеспечение не всегда нуждается в масштабировании

Не каждое программное обеспечение должно быть распределённой системой, работающей на Kubernetes на трёх континентах. Я знаю, знаю — в 2025 году это звучит почти как ересь. Но выслушайте меня. Я видел, как слишком многие талантливые инженеры тратили месяцы на проектирование сложных инфраструктур микросервисов для приложений, которые обслуживают 500 активных пользователей в день. Я видел, как стартапы сжигали деньги на решениях для горизонтального масштабирования, когда бы хватило мощного вертикального масштабирования на год....

25 октября 2025 06:00 · 6 минут · 1239 слов · Maxim Zhirnov
Почему чрезмерная инженерия иногда может быть правильным выбором

Почему чрезмерная инженерия иногда может быть правильным выбором

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

19 сентября 2025 06:01 · 6 минут · 1150 слов · Maxim Zhirnov
Введение в Elixir: Функциональный язык, который упрощает масштабирование

Введение в Elixir: Функциональный язык, который упрощает масштабирование

Позвольте мне рассказать вам о том времени, когда я влюбился в язык программирования с фиолетовым логотипом, который делает параллельное программирование похожим на тёплые объятия. Нет, я не говорю о своих отношениях с кофе (хотя он тоже функциональный и высокопараллельный). Я говорю об Elixir — языке, который взял всё лучшее из Erlang и изменил синтаксис так, что глаза больше не слезятся. Если вы когда-нибудь задумывались, как WhatsApp обрабатывает миллиарды сообщений с помощью всего нескольких серверов или как Discord справляется с миллионами одновременных пользователей, не вспотев, то сейчас вы узнаете об их не таком уж секретном оружии....

7 сентября 2025 14:01 · 5 минут · 1036 слов · Maxim Zhirnov
Оптимизация WebSocket в высоконагруженных приложениях Go: руководство для практиков

Оптимизация WebSocket в высоконагруженных приложениях Go: руководство для практиков

Вы когда-нибудь пытались пасти кошек, жонглируя при этом бензопилами? Примерно так ощущается управление WebSockets в высоконагруженных системах Go без правильных оптимизаций. Я, как человек, который случайно устраивал DDoS-атаки на свои собственные серверы чаще, чем мне хотелось бы признать, обобщил свои с трудом усвоенные уроки в этом руководстве. Мы превратим ваши обработчики WebSocket из перегруженных гремлинов в закалённых в боях воинов. Управление подключениями: Танго с горутинами Горутины в Go делают параллелизм обманчиво простым — пока вы не создадите тысячи горутин для WebSocket-подключений и не увидите, как утекает память....

10 июля 2025 14:00 · 4 минуты · 1 слово · Maxim Zhirnov