Почему большинству разработчиков не следует писать свои собственные алгоритмы (И почему Вы, Вероятно, думаете, Что Вы исключение)

Почему большинству разработчиков не следует писать свои собственные алгоритмы (И почему Вы, Вероятно, думаете, Что Вы исключение)

Послушайте, я понимаю. Вы уже некоторое время пишете код, разбираетесь в нотации Big O и вполне уверены, что сможете создать алгоритм сортировки, который заставил бы самого Кнута гордиться. То бинарное дерево поиска, которое вы реализовали в колледже? Просто отлично. Конечно, вы готовы покорять большие лиги и создавать собственные алгоритмы для продакшна, верно? Ну, притормозите-ка, Алгоритмическая Анни. Прежде чем начинать изобретать велосипед (или, что ещё хуже, квадратный велосипед), давайте поговорим о том, почему большинству из нас, вероятно, стоит придерживаться проверенных алгоритмов, которые умные люди уже усовершенствовали....

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

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

Остановитесь. Прежде чем схватиться за вилы и начать писать гневные письма о том, что я сошёл с ума, выслушайте меня. Да, я собираюсь выступить против одного из самых священных принципов в разработке программного обеспечения: всесильного принципа юзабилити. Но иногда — всего лишь иногда — лучшее, что вы можете сделать для своего проекта, это полностью проигнорировать желания пользователей и создать что-то, что заставит их ломать голову. Звучит безумно? Возможно. Но после многих лет наблюдения за тем, как команды зацикливаются на юзабилити-тестировании, пока их конкуренты выпускают более быстрые, качественные и инновационные решения, я понял, что юзабилити не всегда является той путеводной звездой, за которую мы её выдаём....

4 сентября 2025 06:01 · 5 минут · 1004 слова · Maxim Zhirnov
Написание производительных SQL-запросов: помимо базовых операций CRUD

Написание производительных SQL-запросов: помимо базовых операций CRUD

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

3 сентября 2025 14:01 · 5 минут · 1063 слова · Maxim Zhirnov
Почему вам иногда следует игнорировать лучшие практики

Почему вам иногда следует игнорировать лучшие практики

Начну с признания, которое может заставить некоторых из вас схватиться за вилы: я отправлял в продакшн код с глобальными переменными. Я совершал коммиты прямо в main. Я писал функции длиннее, чем чек из аптеки. И знаете что? Иногда это было правильным выбором. Прежде чем вы закроете эту вкладку и усомнитесь в моём здравомыслии, выслушайте меня. Мир разработки программного обеспечения стал одержим лучшими практиками до такой степени, что мы создали новый вид программирования в стиле карго-культа....

3 сентября 2025 06:00 · 6 минут · 1092 слова · Maxim Zhirnov
Аргументы против постоянного использования методов DevOps

Аргументы против постоянного использования методов DevOps

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

2 сентября 2025 06:01 · 6 минут · 1 слово · Maxim Zhirnov