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

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

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

25 октября 2025 06:00 · 6 минут · 1239 слов · Maxim Zhirnov
Этичный взлом: Должны ли компании нанимать бывших программистов Blackhat? Глубокое погружение в игру с максимальной безопасностью

Этичный взлом: Должны ли компании нанимать бывших программистов Blackhat? Глубокое погружение в игру с максимальной безопасностью

В современной кибербезопасности есть своеобразный парадокс, который не даёт спать руководителям по информационной безопасности. Знаете, кто понимает, как взломать вашу систему, лучше всех? Человек, который уже сделал это. Нелегально. Ради прибыли. Возможно, в худи в подвале своей мамы (хотя последняя часть может быть стереотипом). Вопрос о том, стоит ли организациям нанимать перевоспитанных хакеров-нарушителей, стал одним из самых спорных в кругах кибербезопасности. Это всё равно что спрашивать, может ли перевоспитанный поджигатель стать отличным консультантом по пожарной безопасности — технически компетентен?...

24 октября 2025 06:00 · 6 минут · 1185 слов · Maxim Zhirnov
Миф о коде как ремесле: Почему прагматизм превосходит совершенство

Миф о коде как ремесле: Почему прагматизм превосходит совершенство

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

23 октября 2025 06:00 · 6 минут · 1154 слова · Maxim Zhirnov
Ошибка 'Всегда использовать базу данных NoSQL': Когда SQL выигрывает

Ошибка 'Всегда использовать базу данных NoSQL': Когда SQL выигрывает

Посмотрите, я понимаю. NoSQL в тренде. Это круто. Он горизонтально масштабируется как настоящий профи, и где-то около 2015 года мы все решили, что реляционные базы данных устарели, как раскладушки. Но вот неудобная правда, о которой никто не хочет говорить на технических конференциях: для большинства приложений вам, вероятно, не нужен NoSQL, и настаивать на его использовании — это всё равно что принести огнемёт на церемонию зажигания свечей. Я видел слишком много команд, которые загоняли себя в тупик, выбирая MongoDB или Cassandra для проектов, которые были бы вполне довольны старой доброй PostgreSQL....

21 октября 2025 06:01 · 5 минут · 967 слов · Maxim Zhirnov
Миф о безопасности Rust: Утечки памяти в предположительно 'безопасном' коде

Миф о безопасности Rust: Утечки памяти в предположительно 'безопасном' коде

Начну с признания, которое может вызвать недовольство в сообществе Rust: Rust не предотвращает утечки памяти. Вот, я это сказал. И прежде чем возьмутся за вилы, позвольте уточнить: это не баг, это особенность. Вернее, это продуманное дизайнерское решение, которое раскрывает нечто увлекательное о том, что на самом деле означает «безопасность памяти». Видите ли, когда мы, евангелисты, говорим, что Rust «безопасен в плане памяти», мы рисуем довольно широкими мазками. Нам нравится противопоставлять его C и C++, где висячий указатель может вызвать демонов через ваше нос (неопределённое поведение, для непосвящённых)....

15 октября 2025 06:01 · 5 минут · 962 слова · Maxim Zhirnov