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

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

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

October 21, 2025 · 5 min · 967 words · Maxim Zhirnov
The Rust Safety Myth: Memory Leaks in Supposedly 'Safe' Code

The Rust Safety Myth: Memory Leaks in Supposedly 'Safe' Code

Let me start with a confession that might ruffle some feathers in the Rust community: Rust doesn’t prevent memory leaks. There, I said it. And before the pitchforks come out, let me clarify—this isn’t a bug, it’s a feature. Or rather, it’s a deliberate design decision that reveals something fascinating about what “memory safety” actually means. You see, when we evangelists talk about Rust being “memory safe,” we’re painting with a rather broad brush....

October 15, 2025 · 13 min · 2608 words · Maxim Zhirnov
Миф о безопасности Rust: Утечки памяти в предположительно 'безопасном' коде

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

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

October 15, 2025 · 5 min · 962 words · Maxim Zhirnov
Why Your Coding Interview Process is Broken (And You Know It)

Why Your Coding Interview Process is Broken (And You Know It)

Let me tell you about the last time I implemented a binary search tree from scratch at work. It was never. The time before that? Also never. The time I had to reverse a linked list in production? You guessed it—never happened, and if it did, I’d probably be fired for not using the standard library. Yet here we are in 2025, still asking candidates to perform algorithmic gymnastics that have about as much relevance to their daily work as a medieval jousting tournament has to modern transportation....

October 12, 2025 · 13 min · 2612 words · Maxim Zhirnov
Почему Ваш процесс собеседования по программированию нарушен (И Вы это знаете)

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

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

October 12, 2025 · 6 min · 1103 words · Maxim Zhirnov