Этичный взлом: Должны ли компании нанимать бывших программистов 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
Почему Ваш процесс собеседования по программированию нарушен (И Вы это знаете)

Почему Ваш процесс собеседования по программированию нарушен (И Вы это знаете)

Расскажу о том, как в последний раз реализовывал бинарное дерево поиска с нуля на работе. Никогда. А за сколько времени до этого? Тоже никогда. Приходилось ли мне обращать связанный список в производственной среде? Как вы уже догадались — никогда, и если бы такое случилось, меня бы, наверное, уволили за то, что я не использовал стандартную библиотеку. И вот мы в 2025 году, и по-прежнему просим кандидатов выполнять алгоритмические упражнения, которые имеют примерно такое же отношение к их повседневной работе, как средневековые рыцарские турниры к современному транспорту....

12 октября 2025 06:01 · 6 минут · 1103 слова · Maxim Zhirnov