
Проектирование доменной модели: с чего начать правильно
Доменная модель начинается не с таблиц и классов, а с правил бизнеса. Пошагово разберём, как выделить границы системы, найти сущности, описать сценарии и проверить модель до написания кода.

Доменная модель начинается не с таблиц и классов, а с правил бизнеса. Пошагово разберём, как выделить границы системы, найти сущности, описать сценарии и проверить модель до написания кода.

Очередь не делает обработку надёжной сама по себе. При внедрении RabbitMQ нужно заранее решить, где подтверждать сообщение, как переживать повторы и что делать с задачами, которые постоянно падают.

Запрос в 1С-Битрикс не заканчивается запуском компонента. Между входом в PHP и готовым HTML проходят инициализация ядра, шаблон страницы, события, кеширование и эпилог — и ошибка на любом этапе меняет результат.

In-process-кеш, Redis, HTTP-кеш и CDN решают одну задачу, но платят за неё по-разному. Сравниваем задержку, согласованность, отказоустойчивость и стоимость каждого подхода на примере веб-приложения.

На небольшом каталоге пагинация через OFFSET выглядит безобидно, но на больших страницах начинает тратить время на пропуск уже ненужных строк. Разбираем Django 5.x и PostgreSQL 16.

Повторный запрос не должен дважды списывать деньги, создавать заказ или отправлять письмо. Разбираем, как проектировать идемпотентные операции, где хранить ключи и почему одной проверки в коде недостаточно.

Версия API нужна не для красоты в URL, а чтобы выпускать изменения без внезапных поломок клиентов. Чек-лист поможет выбрать схему, проверить совместимость, объявить устаревание и не потерять миграцию из виду.

Техдолг не исчезает после одного рефакторинга: он превращается в задержки, аварии и дорогие изменения. Разбираем, как отличать его от обычных задач, оценивать цену и встраивать погашение в работу команды.

Рефакторинг редко ломается из-за сложного синтаксиса. Обычно проблема в неверной границе изменений: команда смешивает его с новой функциональностью, не фиксирует поведение и не оставляет безопасного отката.

Плохое имя превращает простой код в расследование: разработчик ищет, что скрывается за data, manager или handle. Разбираем рабочие приёмы именования для TypeScript 5.x и правила, которые помогают команде быстрее читать и менять код.

Код-ревью должно ловить дефекты, а не превращать каждый pull request в очередь на одобрение. Разбираем, как договориться о правилах, выбрать размер изменений и понять, помогает ли процесс команде.

README, инструкции, описание архитектуры и документация рядом с кодом решают разные задачи. Сравниваем, что выбрать для проекта, чтобы новичок запустился без помощи команды, а изменения не оставляли инструкции устаревшими.