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

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

Мы все бывали в такой ситуации. Время — 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
Введение в Q#: Язык программирования для квантовых вычислений

Введение в Q#: Язык программирования для квантовых вычислений

Итак, вы решили погрузиться в квантовые вычисления. Смелый шаг! Пока ваши друзья всё ещё ищут ошибки в своих JavaScript-обратных вызовах, вы собираетесь отлаживать состояния квантовой суперпозиции. Спойлер: шутки про кота Шрёдингера обязательны в этой области, но я обещаю свести их к минимуму. Q# (произносится как «Кью-sharp», а не «Кью-хэштег» — да, люди делают эту ошибку) — это специально разработанный язык программирования Microsoft для квантовых вычислений. Думайте об этом как о C#, который поступил в аспирантуру по физике и вернулся с некоторыми поистине умопомрачительными возможностями....

17 октября 2025 14:01 · 6 минут · 1076 слов · Maxim Zhirnov
Оптимизация буферов протоколов в приложениях Go

Оптимизация буферов протоколов в приложениях Go

Если вы когда-нибудь задумывались, почему ваше Go-приложение потребляет память, как на буфете с неограниченным количеством еды, скорее всего, вы не оптимизировали использование Protocol Buffers. Я сам был в такой ситуации, с ужасом глядя на профили кучи, обычно испытывая те же чувства, что и при проверке банковского счёта после ночной прогулки. Но вот хорошая новость: Protocol Buffers в Go могут быть невероятно быстрыми и эффективными по использованию памяти, если знать приёмы оптимизации....

16 октября 2025 14:01 · 5 минут · 1018 слов · Maxim Zhirnov
Оптимизация производительности приложения Python с помощью Cython

Оптимизация производительности приложения Python с помощью Cython

Давайте поговорим о слоне в комнате: Python медленный. Я это сказал. Прежде чем энтузиасты Python возьмут в руки вилы, позвольте мне пояснить: Python не медленный из-за плохого дизайна. Он медленный, потому что ставит счастье разработчика выше сырой скорости. И честно говоря, обычно это нормально. До тех пор, пока не становится плохо. Когда ваше приложение начинает задыхаться от вычислительных задач, когда вложенные циклы становятся чёрными дырами производительности, когда ваши пользователи начинают сомневаться в своём выборе, ожидая завершения скрипта — вот тогда вам нужен Cython....

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