Услуги
Сайты и магазиныЛендинги ★Создание сайтовИнтернет-магазины
ИИ и автоматизацияИИ-секретарь ★Автоворонка и прогрев ★Telegram-боты ★Автоматизация ★CRM-разработка
ПродвижениеSEO-продвижениеAI-продвижение ★Контекстная рекламаSMM и соцсети
Наружка, печать и производствоВывески и буквыНаружная рекламаБаннеры и штендерыТипографияВизиткиШирокоформатБрендированиеОклейка автоТорговое оборудованиеМатериалы для рекламы
Дизайн и поддержкаДизайнПоддержка
КомплексDigital под ключ ★
РешенияКейсыПортфолиоЦеныО студииБлогКонтакты Обсудить проект

Метод проверки

Половина прочитанного — не про нас: как пять книг дали семь дыр

Книга полезна не объёмом, а тем, называет ли она уже случившуюся аварию своим именем. Показываем построчно, что дала каждая из пяти книг, что мы отказались брать и по какому счёту закрыты семь дыр. Плюс две присвоенные идеи: оценка на салфетке и явная граница ядра.

Замер: 9 августа 2026разбор своих ошибок

Чем проверено: пять полных оглавлений пройдены по темам с наложением на боевые системы; каждая дыра привязана к инциденту с датой; статус закрытия пересчитан по актуальной основной ветке, а не по локальной копии

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

Метод: оглавление против системы

Читать инженерную книгу подряд и надеяться, что «отложится», — способ потратить неделю без следа. Проход устроен иначе. Берём полное оглавление, идём по темам и на каждой отвечаем: что у нас на этом месте построено, чем оно уже ломалось, что книга предлагает взамен. Тема без ответа закрывается пометкой «не про нас», тема с инцидентом и датой становится строкой в списке дыр. Наложение шло на боевые системы — хранилище на файлах, API админки, конвейер разбора переписки, параллельные сессии, выкладку через автоматику, — и дыра без указания «чем стреляла» в список не попадала: иначе получается не разбор, а конспект. Побочный эффект вышел ценнее ожидаемого: неприменимого оказалось больше, чем находок, а соблазн «книга умная, значит надо внедрить» — крупный источник лишней работы.

Что дала каждая книга и что мы отказались брать

ИсточникЧто нашёл у насЧто не берём
Клеппман, «Designing Data-Intensive Applications»
12 глав
четыре дыры из семи: единственная копия данных, хранилище без схемы, запись без блокировок, слепота к чужим сбоямпартиционирование не нужно при наших объёмах; пригодилось одно: разбиение архива переписки на 27 кусков названо уже правильно
Эванс, «Domain-Driven Design»
17 глав и справочник паттернов на 52 страницы
язык домена не собран в один артефакт; правила тарификации размазаны по калькуляторам, серверному коду и заметкамкрупномасштабные структуры — для нашего размера хватает границ контекстов
Ричардсон, «Microservices Patterns»
13 глав, 44 паттерна
ноль автотестов у API, ворочающего деньгами; отсутствие проверки живости боевого контурадробление на микросервисы — книга сама предостерегает: это про масштаб команды
Петцольд, «Code», 2-е издание
28 глав
новых дыр ни одной, зато объяснение всех наших аварий с текстом и повод превратить обходной приём в канондвадцать глав общего образования: сумматоры, триггеры, регистры — не проецируются
Сюй, «System Design Interview», том 1
16 глав
коллизии идентификаторов при параллельной записи, три требования к цепочке уведомлений, навык оценки на салфеткесогласованное хеширование, сокращатель ссылок, ленты и хранилища крупных площадок — половина оглавления
Курс «Distributed Systems» того же автора
8 лекций, 91 страница
воскрешение удалённых записей при слиянии копий, тихая потеря правки в режиме «побеждает поздний», формула идемпотентностиконсенсус, кворумы, устойчивость к злонамеренным узлам — для кластеров с автоматическим переключением

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

Две идеи, которые изменили приоритет работ

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

Вторая пришла из главы Эванса про дистилляцию и звучит неудобно: усилия высшего качества имеет смысл вкладывать только в ядро домена, остальное — по остаточному принципу.

  1. Ядро — диспетчеризация, сверка расчётов, знание о тарифах и клиентах. Того, что здесь накоплено, у конкурентов по нише нет; проверяли по тринадцати.
  2. Поддержка — сайты и продвижение: кормят ядро заявками, но полировка тут не приносит того, что приносит час в ядре.
  3. Общее — бухгалтерия, хостинг, рутина: берётся готовым, улучшается только когда мешает.

Из справочника паттернов пришло сигнальное правило к разделению — прямой ответ на вопрос «когда дёргать владельца». Правишь ядро (тарифы, сверку, правила идентичности) — согласование обязательно; правишь поддержку — полная автономия. Раньше граница существовала интуитивно и работала через раз в обе стороны: то лишний вопрос, то самовольная правка там, где нельзя.

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

Что закрыто и что нет

ДыраСтатус на конец разбора
Единственная копия репозиториев: 14 из 16 без внешней копиив работе
Сбои прода и сервера находит человек постфактумзакрыта: почасовая проверка живости по пяти целям
Хранилище без схемы и без версии форматаоткрыта — единственная из семи
Запись файлов без атомарности и блокировокзакрыта: восемь оставшихся точек записи
Термины домена разбросаны по трём десяткам заметокзакрыта: единый словарь домена
Ноль автотестов у API админки, ворочающего деньгамизакрыта: 15 проверок на локальном сервере
Идентификаторы при параллельной записизакрыта: аудит всех генераторов
Итог5 закрыто · 1 в работе · 1 открыта

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

Источники материала

  • Внутренний разбор пяти профильных книг от 31 июля 2026: полные оглавления, наложение тем на боевые системы, сводка «семь дыр и пять присвоенных идей» с ценой бездействия.
  • Мартин Клеппман, «Designing Data-Intensive Applications»; Эрик Эванс, «Domain-Driven Design» и официальный справочник паттернов на условиях Creative Commons; Крис Ричардсон, «Microservices Patterns»; Чарльз Петцольд, «Code», 2-е издание; Алекс Сюй, «System Design Interview», том 1; конспект курса «Distributed Systems» — 8 лекций, 91 страница.
  • Вечерняя сверка статуса того же дня: пересчёт закрытых пунктов по актуальному состоянию основной ветки вместо локальной копии, отставшей на 955 коммитов.

В курсе — тот же метод наложения

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

Программа курса и цены
Соседние материалы
Предыдущий замер: Инвариант становится тестомСледующий замер: Сбой находил человекВсе материалы журнала

Обсудим ваш проект

Оставьте заявку — свяжемся в течение 15 минут в рабочее время, зададим пару вопросов и пришлём ориентир по цене и срокам. Бесплатно, без обязательств.

  1. 1. Заявка или квиз
  2. 2. Короткий созвон / переписка
  3. 3. Бесплатная смета и план
  4. 4. Договор и старт

Бесплатно и ни к чему не обязывает. Ответим за 15 минут.