# Очередь полной замены редакционного архива > Инвентаризация выполнена по `web/data/articles.json`. Область работы — только статьи со slug `editorial-`. Три январские статьи 2018 года уже прошли ревью и в эту очередь не входят. ## Граница и арифметика очереди - Всего slug `editorial-`: **358**. - Исключены как уже отревьюированные: `editorial-2018-01-practice-bitrix-elements`, `editorial-2018-01-mechanism-bitrix-elements`, `editorial-2018-01-field-bitrix-elements`. - К переписыванию остаются **355 статей**. - В архиве две неполные календарные серии: октябрь 2018 и январь 2019 содержат по две статьи. Поэтому очередь состоит из **118 партий по три статьи** и одного явно помеченного одиночного выпуска `О-01`. Это не ошибка планирования: 355 не делится на 3. Добавлять несуществующий slug или повторять статью ради кратности нельзя. Каждая тройка — один исследовательский и редакционный спринт, а не три варианта одного текста. В серии: - `practice` даёт воспроизводимый порядок действий; - `mechanism` объясняет причинную модель и границы состояния; - `field` разбирает сбой, ограничение или решение в неоднозначном случае. В неполных сериях каждый материал обязан сам содержать практический пример и порядок проверки: отдельной `practice`-статьи там нет. ## Количество статей по годам и месяцам | Год | Янв | Фев | Мар | Апр | Май | Июн | Июл | Авг | Сен | Окт | Ноя | Дек | Итого | | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | | 2018 | 0* | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 2 | 3 | 3 | 32 | | 2019 | 2 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 35 | | 2020 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | 2021 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | 2022 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | 2023 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | 2024 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | 2025 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | 2026 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | 2027 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 36 | | **Всего** | **2** | **27** | **27** | **27** | **27** | **27** | **27** | **27** | **27** | **26** | **27** | **27** | **355** | \* В январе 2018 есть три статьи, но они исключены из очереди как уже прошедшие ревью. ## Тематические линии и зрелость автора | Линия | Период | Статей | Уровень голоса | Что развивается | | --- | --- | ---: | --- | --- | | Legacy PHP, Bitrix и клиентская сборка | 2018 | 32 | М1 | Локальная диагностика, безопасная интеграция, первые границы между PHP и JavaScript | | Frontend, API и данные | 2019 | 35 | М2 | T-shape: браузер, HTTP, типы, SQL, командные договорённости | | Delivery, backend и наблюдаемость | 2020 | 36 | М3 | Эксплуатационная ответственность: релизы, логи, метрики, инциденты | | Данные и распределённые системы | 2021 | 36 | М4 | Контракты, конкуренция, очереди, архитектурные компромиссы | | Интерфейсы и пользовательский сценарий | 2022 | 36 | М5 | Рендеринг, доступность, сеть, UX и измеримые фронтенд-ограничения | | Безопасность, качество и устойчивость | 2023 | 36 | М6 | Модель угроз, проверяемые контроли, контрактные и e2e-проверки | | Модернизация и платформа | 2024 | 36 | М7 | Стоимость изменений, границы модулей, доставка, поддержка нескольких команд | | AI-инструменты и инженерная коммуникация | 2025 | 36 | М8 | Оценка рисков, приватность, автоматизация, исследовательская дисциплина | | Сквозная архитектура | 2026 | 36 | М9 | Платформенные интерфейсы, отказоустойчивость, техническое лидерство | | Ретроспектива и наставничество | 2027 | 36 | М10 | Обобщения только через доказательства, исправление старых советов, передача практики | ## Легенда для исполнения ### Голос и целевой объём | Код | Голос автора | Обычный объём основного текста | | --- | --- | --- | | М1 | Практик 2018 года: спокойный разбор одной ошибки, короткие выводы, без архитектурных деклараций | 5–8 тыс. знаков | | М2 | Web-инженер 2019 года: связывает браузер, API и данные, сравнивает два варианта | 6–9 тыс. знаков | | М3 | Ответственный backend/ops-инженер: работает через наблюдения, измерения и отказные сценарии | 7–10 тыс. знаков | | М4 | Системный инженер: называет инварианты, контракты и цену компромисса | 8–11 тыс. знаков | | М5 | Frontend-системщик: начинает с пользовательского сценария и проверяет его в браузере | 7–10 тыс. знаков | | М6 | Инженер надёжности и безопасности: формулирует угрозу, контроль и доказательство работы контроля | 8–11 тыс. знаков | | М7 | Техлид платформы: объясняет стоимость, порядок миграции и влияние на команды | 8–12 тыс. знаков | | М8 | Наставник-исследователь: отделяет измеренное от предположения, делает вывод воспроизводимым | 8–12 тыс. знаков | | М9 | Архитектор-практик: связывает интерфейсы команд, данные, эксплуатацию и решение | 9–13 тыс. знаков | | М10 | Рефлексивный эксперт: уточняет границы опыта, исправляет себя и оставляет метод | 9–15 тыс. знаков | ### Типы первичных источников | Тип | Что именно собирать | | --- | --- | | Официальная документация | Документация вендора, спецификация, RFC, release notes или исходный код проекта-владельца | | Воспроизводимое наблюдение | Минимальный стенд, трасса, лог, дамп конфигурации, тест, benchmark или артефакт CI | | Артефакт проекта | Контракт, ADR, схема, история изменений, конфигурация, метрика, постмортем или тестовый набор с понятным происхождением | | Официальное уведомление | Security advisory, CVE-выпуск, лицензия, policy/DPA, прайс-лист или условия платформы | Во всех партиях ниже указана пара разных типов. До публикации конкретные ссылки и версии должны попасть в статью, а не остаться в рабочей заметке. ### Риски фактической устарелости | Код | Риск и обязательная проверка | | --- | --- | | Р-В | Версия продукта, API, фреймворка или браузера: назвать версию и перепроверить перед выпуском | | Р-Б | Поведение браузера, ОС или окружения: проверить минимум в целевых средах | | Р-О | Нагрузка, метрика или эксплуатационный эффект: приложить условия замера и не обобщать результат | | Р-З | Безопасность: сверить актуальные advisory, алгоритмы, заголовки и настройки на дату публикации | | Р-К | Командные, продуктовые или интервью-выводы: обезличить данные и отделить контекст команды от общего правила | | Р-Ф | Дата статьи ещё не наступила на момент подготовки очереди: не выдавать прогноз или запланированную практику за наблюдавшийся факт | ## Последовательность партий ### 2018 — локальная практика PHP, Bitrix и старого frontend - **П01 · 2018-02 · Диагностика PHP-интеграции** - **Slug:** `editorial-2018-02-practice-php-diagnostics`, `editorial-2018-02-mechanism-php-diagnostics`, `editorial-2018-02-field-php-diagnostics`. - **Техническая проблема:** внешний вызов возвращает пустой результат, а ошибка теряется между обработчиком, логом и HTTP-ответом; развести проверку входа, захват исключения и отображение ошибки. - **Источники:** официальная документация PHP по ошибкам и исключениям + минимальный падающий стенд с логом запроса. - **Визуал:** схема распространения ошибки и фрагмент аннотированного лога. - **Голос / объём:** М1, 5,5–7 тыс. знаков. - **Зависимости и риск:** опирается на уже отревьюированный январский разбор Bitrix; Р-В. - **П02 · 2018-03 · Безопасная загрузка файлов** - **Slug:** `editorial-2018-03-practice-safe-uploads`, `editorial-2018-03-mechanism-safe-uploads`, `editorial-2018-03-field-safe-uploads`. - **Техническая проблема:** расширение, MIME-тип, временный файл и конечный путь говорят разное; показать, где проверять файл до перемещения и как не превратить загрузку в запись произвольного файла. - **Источники:** официальная документация PHP по `$_FILES` и файловым операциям + контролируемые multipart-фикстуры с ошибочными файлами. - **Визуал:** границы доверия загрузки и таблица «сигнал → проверка → действие». - **Голос / объём:** М1, 6–8 тыс. знаков. - **Зависимости и риск:** П01; Р-В, Р-З. - **П03 · 2018-04 · Символьный код и URL Bitrix** - **Slug:** `editorial-2018-04-practice-bitrix-slugs`, `editorial-2018-04-mechanism-bitrix-slugs`, `editorial-2018-04-field-bitrix-slugs`. - **Техническая проблема:** два элемента получают одинаковый URL, транслит меняет ожидаемый код, а проверка уникальности происходит поздно; разделить генерацию, нормализацию и запись. - **Источники:** официальная документация Bitrix по транслитерации и инфоблокам + интеграционная фикстура с коллизиями символьных кодов. - **Визуал:** путь «имя → нормализация → проверка → URL» и таблица коллизий. - **Голос / объём:** М1, 6–8 тыс. знаков. - **Зависимости и риск:** январские Bitrix-статьи; Р-В. - **П04 · 2018-05 · Старый jQuery без двойных обработчиков** - **Slug:** `editorial-2018-05-practice-legacy-jquery`, `editorial-2018-05-mechanism-legacy-jquery`, `editorial-2018-05-field-legacy-jquery`. - **Техническая проблема:** повторная инициализация вешает несколько обработчиков, глобальное состояние расходится с DOM; показать проверяемый жизненный цикл виджета. - **Источники:** официальная документация jQuery по событиям и data API + браузерная трасса обработчиков на минимальной странице. - **Визуал:** последовательность DOM-событий и дифф «до / после». - **Голос / объём:** М1, 6–8 тыс. знаков. - **Зависимости и риск:** независимая партия; Р-В, Р-Б. - **П05 · 2018-06 · Точки входа Webpack и циклические зависимости** - **Slug:** `editorial-2018-06-practice-webpack-entry`, `editorial-2018-06-mechanism-webpack-entry`, `editorial-2018-06-field-webpack-entry`. - **Техническая проблема:** код попадает в лишний bundle или модуль приходит `undefined` из-за цикла; разобрать граф импорта, entry и общий chunk на реальном `stats.json`. - **Источники:** официальная документация Webpack + артефакт сборки `stats.json` и лог минимальной сборки. - **Визуал:** граф зависимостей и снимок анализа bundle. - **Голос / объём:** М1, 6–8 тыс. знаков. - **Зависимости и риск:** П04; Р-В. - **П06 · 2018-07 · Таймауты веб-интеграции** - **Slug:** `editorial-2018-07-practice-http-timeouts`, `editorial-2018-07-mechanism-http-timeouts`, `editorial-2018-07-field-http-timeouts`. - **Техническая проблема:** connect-, read- и общий таймаут смешаны, повторный запрос усиливает сбой; разделить бюджеты времени и правила повторов. - **Источники:** документация HTTP-клиента и соответствующая спецификация HTTP + трасса `curl`/тестового сервера с управляемой задержкой. - **Визуал:** временная шкала запроса и матрица таймаутов. - **Голос / объём:** М1, 6–8 тыс. знаков. - **Зависимости и риск:** П01; Р-В, Р-О. - **П07 · 2018-08 · TLS и CA bundle в PHP** - **Slug:** `editorial-2018-08-practice-tls-ca`, `editorial-2018-08-mechanism-tls-ca`, `editorial-2018-08-field-tls-ca`. - **Техническая проблема:** проверка цепочки сертификатов падает, и разработчик отключает verification вместо исправления trust store; провести диагностику цепочки и настроек клиента. - **Источники:** официальная документация OpenSSL/cURL + вывод проверки сертификатной цепочки на тестовом хосте. - **Визуал:** схема цепочки доверия и таблица диагностических команд. - **Голос / объём:** М1, 6–8 тыс. знаков. - **Зависимости и риск:** П06; Р-В, Р-З. - **П08 · 2018-09 · Воспроизводимое окружение Windows** - **Slug:** `editorial-2018-09-practice-windows-dev-env`, `editorial-2018-09-mechanism-windows-dev-env`, `editorial-2018-09-field-windows-dev-env`. - **Техническая проблема:** один и тот же проект запускается по-разному из-за PATH, кодировок, версий бинарников и локальных настроек; зафиксировать минимальный снимок окружения. - **Источники:** официальная документация Windows и инструментов среды + сохранённый вывод версий, переменных и шага воспроизведения. - **Визуал:** слои окружения и таблица «машина A / машина B». - **Голос / объём:** М1, 5–7 тыс. знаков. - **Зависимости и риск:** независимая партия; Р-В, Р-Б. - **П09 · мост 2018-10 → 2019-01 · Legacy-интеграция формы и клиентского bundle** - **Slug:** `editorial-2018-10-mechanism-image-workflow`, `editorial-2018-10-field-image-workflow`, `editorial-2019-01-mechanism-jquery-webpack`. - **Техническая проблема:** форма с изображением и legacy-плагин пересекают серверное состояние, DOM и модульную сборку; отдельно показать владение файлом, порядок загрузки скриптов и сбой production-сборки. - **Источники:** официальная документация Bitrix/jQuery/Webpack + браузерная и build-трасса минимального примера. - **Визуал:** карта состояний формы и временная шкала загрузки ассетов. - **Голос / объём:** М1 для статей 2018 года, М2 для статьи 2019 года; по 6–8 тыс. знаков. - **Зависимости и риск:** П04, П05, январские Bitrix-статьи; Р-В, Р-Б. - **О-01 · 2019-01 · Полевая статья о jQuery в Webpack** - **Slug:** `editorial-2019-01-field-jquery-webpack`. - **Техническая проблема:** плагин работает в development, но ломается после production-сборки из-за глобальной переменной, порядка исполнения или дублированного пакета; дать один проверяемый сценарий без расширения серии несуществующим slug. - **Источники:** официальная документация Webpack и jQuery + production-артефакт, source map и браузерная network-трасса. - **Визуал:** порядок загрузки модулей с отмеченной точкой потери глобального объекта. - **Голос / объём:** М2, 6–8 тыс. знаков. - **Зависимости и риск:** П04, П05, П09; Р-В, Р-Б. - **П10 · 2018-11 · Интеграционные проверки PHP** - **Slug:** `editorial-2018-11-practice-php-integration-tests`, `editorial-2018-11-mechanism-php-integration-tests`, `editorial-2018-11-field-php-integration-tests`. - **Техническая проблема:** unit-тест зелёный, но запись в БД, HTTP-клиент или конфигурация ломают сценарий; определить границу интеграционного теста и управляемые внешние зависимости. - **Источники:** официальная документация тестового фреймворка/PHP + контейнерная тестовая БД и трасса вызовов. - **Визуал:** последовательность сценария и таблица уровней проверок. - **Голос / объём:** М1, 7–9 тыс. знаков. - **Зависимости и риск:** П01, П06; Р-В, Р-О. - **П11 · 2018-12 · Рефакторинг Bitrix без большого переписывания** - **Slug:** `editorial-2018-12-practice-legacy-refactoring`, `editorial-2018-12-mechanism-legacy-refactoring`, `editorial-2018-12-field-legacy-refactoring`. - **Техническая проблема:** изменение legacy-кода сразу затрагивает шаблон, инфоблок и интеграцию; найти шов, поставить проверку и заменить один участок без обещания «переписать всё». - **Источники:** официальная документация Bitrix/PHP + история изменений, тестовый контур и карта зависимостей конкретного модуля. - **Визуал:** карта швов legacy-модуля и таблица безопасных шагов. - **Голос / объём:** М1, 7–9 тыс. знаков. - **Зависимости и риск:** П01–П10 и январская серия 2018; Р-В, Р-К. ### 2019 — browser, API, типы и границы данных - **П12 · 2019-02 · ES-модули в браузере** - **Slug:** `editorial-2019-02-practice-es-modules`, `editorial-2019-02-mechanism-es-modules`, `editorial-2019-02-field-es-modules`. - **Техническая проблема:** модуль грузится не в том порядке, путь резолвится иначе, чем в сборщике, или скрипт выполняется дважды; отделить нативный модульный сценарий от bundler-сценария. - **Источники:** спецификация ECMAScript/официальная документация браузера + network-трасса и минимальный граф модулей. - **Визуал:** граф импорта и последовательность загрузки `module`. - **Голос / объём:** М2, 6–8 тыс. знаков. - **Зависимости и риск:** П05, П09, О-01; Р-В, Р-Б. - **П13 · 2019-03 · Event loop и асинхронность** - **Slug:** `editorial-2019-03-practice-event-loop`, `editorial-2019-03-mechanism-event-loop`, `editorial-2019-03-field-event-loop`. - **Техническая проблема:** интерфейс зависает или порядок `Promise`-колбэков неожиданен; развести task, microtask и долгую синхронную работу на измеримом примере. - **Источники:** спецификации ECMAScript/HTML + Chrome Performance trace минимального сценария. - **Визуал:** временная шкала event loop и таблица порядка выполнения. - **Голос / объём:** М2, 7–9 тыс. знаков. - **Зависимости и риск:** П12; Р-В, Р-Б. - **П14 · 2019-04 · Валидация форм** - **Slug:** `editorial-2019-04-practice-forms-validation`, `editorial-2019-04-mechanism-forms-validation`, `editorial-2019-04-field-forms-validation`. - **Техническая проблема:** правила в браузере и на сервере расходятся, асинхронный ответ перезаписывает новое состояние, ошибка не связана с полем; описать конечный автомат формы. - **Источники:** спецификация HTML/ARIA + фикстура формы с сетевой задержкой и accessibility tree. - **Визуал:** автомат состояний формы и матрица ошибок. - **Голос / объём:** М2, 7–9 тыс. знаков. - **Зависимости и риск:** П12, П13; Р-Б, Р-В. - **П15 · 2019-05 · Кеширование HTTP-ответов** - **Slug:** `editorial-2019-05-practice-http-caching`, `editorial-2019-05-mechanism-http-caching`, `editorial-2019-05-field-http-caching`. - **Техническая проблема:** пользователь видит старые данные из-за неверных `Cache-Control`, `Vary` или ключа CDN; показать путь решения от заголовка до повторного запроса. - **Источники:** актуальная спецификация HTTP caching + заголовки и трасса браузера/CDN для контролируемого ответа. - **Визуал:** путь запроса через кеши и таблица условий попадания. - **Голос / объём:** М2, 7–9 тыс. знаков. - **Зависимости и риск:** П06; Р-В, Р-О. - **П16 · 2019-06 · Контракт REST API** - **Slug:** `editorial-2019-06-practice-rest-api`, `editorial-2019-06-mechanism-rest-api`, `editorial-2019-06-field-rest-api`. - **Техническая проблема:** клиент ломается не на URL, а на статусе, ошибке, пагинации или необязательном поле; превратить договорённость в проверяемый контракт. - **Источники:** спецификация HTTP/OpenAPI + схема сервиса и результат контрактного теста. - **Визуал:** последовательность запроса и таблица контракта ответа. - **Голос / объём:** М2, 7–9 тыс. знаков. - **Зависимости и риск:** П15; Р-В. - **П17 · 2019-07 · Индексы и планы SQL-запросов** - **Slug:** `editorial-2019-07-practice-sql-indexes`, `editorial-2019-07-mechanism-sql-indexes`, `editorial-2019-07-field-sql-indexes`. - **Техническая проблема:** добавленный индекс не ускоряет запрос из-за селективности, статистики или формы условия; читать `EXPLAIN ANALYZE` вместо угадывания. - **Источники:** официальная документация PostgreSQL + воспроизводимый запрос, план и условия замера. - **Визуал:** дерево плана и таблица «план / время / число строк». - **Голос / объём:** М2, 8–10 тыс. знаков. - **Зависимости и риск:** независимая база для следующих data-партий; Р-В, Р-О. - **П18 · 2019-08 · Производительность первой загрузки** - **Slug:** `editorial-2019-08-practice-frontend-performance`, `editorial-2019-08-mechanism-frontend-performance`, `editorial-2019-08-field-frontend-performance`. - **Техническая проблема:** страница «тяжёлая» без установленного виновника; отделить сетевую задержку, JavaScript, CSS и изображение на одном профиле загрузки. - **Источники:** документация Web Vitals/браузера + Performance trace и размер bundle на одном стенде. - **Визуал:** waterfall первой загрузки и график критического пути. - **Голос / объём:** М2, 8–10 тыс. знаков. - **Зависимости и риск:** П05, П13; Р-Б, Р-О. - **П19 · 2019-09 · Базовая доступность** - **Slug:** `editorial-2019-09-practice-accessibility-basics`, `editorial-2019-09-mechanism-accessibility-basics`, `editorial-2019-09-field-accessibility-basics`. - **Техническая проблема:** интерфейс выглядит рабочим, но фокус теряется, кнопка не имеет имени или ошибка не объявляется; проверить семантику в браузере, а не только по DOM. - **Источники:** WCAG/спецификация HTML и ARIA + дерево доступности и ручной сценарий клавиатуры. - **Визуал:** маршрут фокуса и таблица «визуальный элемент → семантика». - **Голос / объём:** М2, 7–9 тыс. знаков. - **Зависимости и риск:** П14; Р-Б. - **П20 · 2019-10 · Переход на TypeScript** - **Slug:** `editorial-2019-10-practice-typescript-migration`, `editorial-2019-10-mechanism-typescript-migration`, `editorial-2019-10-field-typescript-migration`. - **Техническая проблема:** миграция превращается в массовый `any` и блокирует доставку; выбрать границы типов, измерить охват и сохранить рабочую сборку. - **Источники:** официальная документация TypeScript и release notes компилятора + журнал ошибок `tsc` и дифф миграции модуля. - **Визуал:** график охвата типов и таблица границ `JS ↔ TS`. - **Голос / объём:** М2, 8–10 тыс. знаков. - **Зависимости и риск:** П12, П13; Р-В. - **П21 · 2019-11 · Воспроизводимая сборка** - **Slug:** `editorial-2019-11-practice-reproducible-builds`, `editorial-2019-11-mechanism-reproducible-builds`, `editorial-2019-11-field-reproducible-builds`. - **Техническая проблема:** один commit выдаёт разные артефакты из-за плавающей зависимости, среды или времени сборки; зафиксировать входы и проверить хеш результата. - **Источники:** официальная документация пакетного менеджера/сборщика + lockfile, лог CI и сравнение хешей артефактов. - **Визуал:** граф входов сборки и таблица различий артефактов. - **Голос / объём:** М2, 7–9 тыс. знаков. - **Зависимости и риск:** П05, П20; Р-В, Р-З. - **П22 · 2019-12 · Ответственность за код** - **Slug:** `editorial-2019-12-practice-code-ownership`, `editorial-2019-12-mechanism-code-ownership`, `editorial-2019-12-field-code-ownership`. - **Техническая проблема:** баг проходит через несколько модулей, а владелец решения неясен; отделить владение кодом, ревью и эксплуатационную ответственность. - **Источники:** история репозитория/CODEOWNERS и правила review + обезличенные данные по issue и ревью. - **Визуал:** карта владения и временная шкала передачи инцидента. - **Голос / объём:** М2, 7–9 тыс. знаков. - **Зависимости и риск:** П10, П21; Р-К. ### 2020 — delivery, backend и наблюдаемость - **П23 · 2020-01 · Локальная разработка в Docker** - **Slug:** `editorial-2020-01-practice-docker-local`, `editorial-2020-01-mechanism-docker-local`, `editorial-2020-01-field-docker-local`. - **Техническая проблема:** контейнер маскирует разницу между локальными томами, сетью и переменными среды; собрать короткий сценарий, в котором «работает у меня» становится проверяемой конфигурацией. - **Источники:** официальная документация Docker/Compose + `compose`-конфигурация и логи чистого запуска. - **Визуал:** слои локального окружения и путь запроса через контейнеры. - **Голос / объём:** М3, 7–9 тыс. знаков. - **Зависимости и риск:** П08, П21; Р-В. - **П24 · 2020-02 · Настройки и секреты** - **Slug:** `editorial-2020-02-practice-configs-secrets`, `editorial-2020-02-mechanism-configs-secrets`, `editorial-2020-02-field-configs-secrets`. - **Техническая проблема:** секрет попадает в репозиторий, лог или образ, а конфигурация окружений расходится; показать путь секрета и ротацию вместо совета «не коммитить пароль». - **Источники:** официальная документация хранилища секретов/VCS + инвентаризация переменных и безопасный отчёт сканера. - **Визуал:** границы доверия секрета и таблица ротации. - **Голос / объём:** М3, 7–9 тыс. знаков. - **Зависимости и риск:** П23; Р-В, Р-З. - **П25 · 2020-03 · Минимальный CI/CD pipeline** - **Slug:** `editorial-2020-03-practice-ci-pipeline`, `editorial-2020-03-mechanism-ci-pipeline`, `editorial-2020-03-field-ci-pipeline`. - **Техническая проблема:** pipeline публикует неподтверждённый артефакт или повторяет дорогую работу; определить входы, проверки, артефакт и точку остановки. - **Источники:** официальная документация выбранного CI + конфигурация pipeline, durations и артефакты одного запуска. - **Визуал:** временная шкала pipeline и матрица «сбой → блокирует / не блокирует». - **Голос / объём:** М3, 7–9 тыс. знаков. - **Зависимости и риск:** П21, П23, П24; Р-В, Р-О. - **П26 · 2020-04 · Reverse proxy перед приложением** - **Slug:** `editorial-2020-04-practice-reverse-proxy`, `editorial-2020-04-mechanism-reverse-proxy`, `editorial-2020-04-field-reverse-proxy`. - **Техническая проблема:** proxy меняет IP клиента, заголовки, таймауты или кеширование, а приложение диагностирует не тот слой; разложить запрос по hop-ам. - **Источники:** официальная документация Nginx/прокси + `curl`-, access- и upstream-логи тестового маршрута. - **Визуал:** последовательность «клиент → proxy → приложение» и таблица заголовков. - **Голос / объём:** М3, 7–9 тыс. знаков. - **Зависимости и риск:** П06, П15, П23; Р-В, Р-О. - **П27 · 2020-05 · Фоновые задачи** - **Slug:** `editorial-2020-05-practice-background-jobs`, `editorial-2020-05-mechanism-background-jobs`, `editorial-2020-05-field-background-jobs`. - **Техническая проблема:** задача теряется между записью, очередью и worker-ом либо выполняется повторно; зафиксировать состояние, ack и обработку poison message. - **Источники:** официальная документация брокера/worker-библиотеки + тестовый запуск с повтором и журналом состояний. - **Визуал:** автомат жизненного цикла задачи и таблица retry-политики. - **Голос / объём:** М3, 7–10 тыс. знаков. - **Зависимости и риск:** П23, П25; Р-В, Р-О. - **П28 · 2020-06 · Повторы запросов и идемпотентность** - **Slug:** `editorial-2020-06-practice-retry-idempotency`, `editorial-2020-06-mechanism-retry-idempotency`, `editorial-2020-06-field-retry-idempotency`. - **Техническая проблема:** таймаут скрывает успешную операцию, повтор создаёт второй платёж или запись; связать ключ идемпотентности, хранилище результата и временной бюджет. - **Источники:** спецификация HTTP и документация клиента + трасса «ответ потерян, операция выполнена» на стенде. - **Визуал:** временная шкала первого и повторного запроса. - **Голос / объём:** М3, 8–10 тыс. знаков. - **Зависимости и риск:** П06, П16, П27; Р-В, Р-О. - **П29 · 2020-07 · Структурированные логи** - **Slug:** `editorial-2020-07-practice-structured-logs`, `editorial-2020-07-mechanism-structured-logs`, `editorial-2020-07-field-structured-logs`. - **Техническая проблема:** строки логов нельзя связать в один запрос, а полезный контекст появляется после инцидента; определить обязательные поля и момент их добавления. - **Источники:** схема логирования проекта/официальная документация выбранного логгера + запрос к журналу по одному trace/correlation ID. - **Визуал:** схема события лога и путь корреляции. - **Голос / объём:** М3, 7–9 тыс. знаков. - **Зависимости и риск:** П27, П28; Р-В, Р-К. - **П30 · 2020-08 · Метрики приложения** - **Slug:** `editorial-2020-08-practice-metrics-basics`, `editorial-2020-08-mechanism-metrics-basics`, `editorial-2020-08-field-metrics-basics`. - **Техническая проблема:** график показывает число запросов, но не объясняет деградацию; выбрать signal, label и порог, которые отвечают на конкретный операционный вопрос. - **Источники:** официальная документация Prometheus/экспортера + сырые метрики, запрос и результат контролируемой нагрузки. - **Визуал:** график сигнала во времени и таблица cardinality-ограничений. - **Голос / объём:** М3, 7–10 тыс. знаков. - **Зависимости и риск:** П29; Р-В, Р-О. - **П31 · 2020-09 · Трассировка запроса** - **Slug:** `editorial-2020-09-practice-tracing-basics`, `editorial-2020-09-mechanism-tracing-basics`, `editorial-2020-09-field-tracing-basics`. - **Техническая проблема:** задержка распределена между сервисами, но лог не показывает критический путь; провести trace context через границы и прочитать один waterfall. - **Источники:** спецификация OpenTelemetry + экспорт одного trace и конфигурация collector-а. - **Визуал:** waterfall span-ов и схема распространения trace context. - **Голос / объём:** М3, 8–10 тыс. знаков. - **Зависимости и риск:** П29, П30; Р-В, Р-О. - **П32 · 2020-10 · Резервное копирование и восстановление** - **Slug:** `editorial-2020-10-practice-backup-recovery`, `editorial-2020-10-mechanism-backup-recovery`, `editorial-2020-10-field-backup-recovery`. - **Техническая проблема:** backup существует, но восстановление не проверено, занимает больше RTO или пропускает зависимые данные; документировать drill, а не команду создания архива. - **Источники:** официальная документация СУБД/хранилища + артефакты измеренного restore drill. - **Визуал:** временная шкала восстановления и таблица RPO/RTO. - **Голос / объём:** М3, 8–10 тыс. знаков. - **Зависимости и риск:** П17, П25, П27; Р-В, Р-О. - **П33 · 2020-11 · Минимальная защита веб-приложения** - **Slug:** `editorial-2020-11-practice-security-baseline`, `editorial-2020-11-mechanism-security-baseline`, `editorial-2020-11-field-security-baseline`. - **Техническая проблема:** набор заголовков и проверок включён без связи с поверхностью атаки; начать с активов, входов и одного проверяемого контроля. - **Источники:** официальная документация платформы/веб-сервера и актуальная OWASP ASVS + результаты разрешённого HTTP-проверочного стенда. - **Визуал:** матрица «актив → угроза → контроль → доказательство». - **Голос / объём:** М3, 8–10 тыс. знаков. - **Зависимости и риск:** П24, П26; Р-В, Р-З. - **П34 · 2020-12 · Разбор инцидента** - **Slug:** `editorial-2020-12-practice-incident-review`, `editorial-2020-12-mechanism-incident-review`, `editorial-2020-12-field-incident-review`. - **Техническая проблема:** команда чинит видимый симптом, но не связывает триггер, обнаружение, восстановление и профилактику; собрать фактологичный review без поиска виноватого. - **Источники:** исходные логи/алерты/изменения инцидента + runbook и конфигурация мониторинга на тот момент. - **Визуал:** временная шкала инцидента и таблица решений с владельцами. - **Голос / объём:** М3, 8–10 тыс. знаков. - **Зависимости и риск:** П29–П33; Р-О, Р-К. ### 2021 — данные, конкуренция и распределённые системы - **П35 · 2021-01 · Границы транзакции PostgreSQL** - **Slug:** `editorial-2021-01-practice-transactions`, `editorial-2021-01-mechanism-transactions`, `editorial-2021-01-field-transactions`. - **Техническая проблема:** две операции читают одно состояние и записывают несовместимый результат; показать изоляцию, блокировку и границу транзакции на конкурентной фикстуре. - **Источники:** официальная документация PostgreSQL + пара параллельных транзакций с журналом блокировок. - **Визуал:** временная шкала транзакций и таблица уровней изоляции. - **Голос / объём:** М4, 8–10 тыс. знаков. - **Зависимости и риск:** П17; Р-В, Р-О. - **П36 · 2021-02 · Инвалидация кеша** - **Slug:** `editorial-2021-02-practice-cache-invalidation`, `editorial-2021-02-mechanism-cache-invalidation`, `editorial-2021-02-field-cache-invalidation`. - **Техническая проблема:** источник уже обновлён, а пользователь получает старую проекцию; определить владельца ключа, событие инвалидирования и проверку попадания. - **Источники:** официальная документация cache-store/фреймворка + трасса ключа до и после изменения данных. - **Визуал:** жизненный цикл ключа и матрица консистентности. - **Голос / объём:** М4, 8–10 тыс. знаков. - **Зависимости и риск:** П15, П30, П35; Р-В, Р-О. - **П37 · 2021-03 · Очереди задач** - **Slug:** `editorial-2021-03-practice-queues`, `editorial-2021-03-mechanism-queues`, `editorial-2021-03-field-queues`. - **Техническая проблема:** порядок, дубли и poison message не укладываются в «поставили очередь»; определить delivery guarantee, retry и ручной маршрут ошибки. - **Источники:** официальная документация брокера + тестовый harness с дубликатом, задержкой и ошибкой обработчика. - **Визуал:** автомат сообщения и таблица гарантий доставки. - **Голос / объём:** М4, 8–10 тыс. знаков. - **Зависимости и риск:** П27, П28; Р-В, Р-О. - **П38 · 2021-04 · Согласованность данных между сервисами** - **Slug:** `editorial-2021-04-practice-data-consistency`, `editorial-2021-04-mechanism-data-consistency`, `editorial-2021-04-field-data-consistency`. - **Техническая проблема:** два сервиса считают один заказ в разных состояниях; задать инвариант, компенсирующее действие и границу eventual consistency. - **Источники:** ADR/контракт данных проекта + интеграционная трасса несогласованного сценария. - **Визуал:** state machine с компенсирующим действием. - **Голос / объём:** М4, 9–11 тыс. знаков. - **Зависимости и риск:** П35–П37; Р-О, Р-К. - **П39 · 2021-05 · Блокировки и конкуренция** - **Slug:** `editorial-2021-05-practice-distributed-locks`, `editorial-2021-05-mechanism-distributed-locks`, `editorial-2021-05-field-distributed-locks`. - **Техническая проблема:** lease истекает, владелец останавливается, а второй worker выполняет критическую секцию; не выдавать lock за универсальную защиту. - **Источники:** официальная документация lock-provider-а + конкурентный тест с паузой владельца и логом lease. - **Визуал:** временная шкала захвата, истечения и fence token. - **Голос / объём:** М4, 8–11 тыс. знаков. - **Зависимости и риск:** П35, П37, П38; Р-В, Р-О. - **П40 · 2021-06 · Событийная интеграция** - **Slug:** `editorial-2021-06-practice-event-driven`, `editorial-2021-06-mechanism-event-driven`, `editorial-2021-06-field-event-driven`. - **Техническая проблема:** событие приходит дважды, схема меняется без миграции или consumer отстаёт; зафиксировать envelope, совместимость и replay. - **Источники:** спецификация CloudEvents/документация брокера + запись события и результат replay-теста. - **Визуал:** топология producer–broker–consumer и таблица совместимости схем. - **Голос / объём:** М4, 8–11 тыс. знаков. - **Зависимости и риск:** П37, П38; Р-В, Р-О. - **П41 · 2021-07 · Индексация и поиск** - **Slug:** `editorial-2021-07-practice-search-indexing`, `editorial-2021-07-mechanism-search-indexing`, `editorial-2021-07-field-search-indexing`. - **Техническая проблема:** документ сохранён, но не находится или выдача устарела; пройти путь ingest, индексирования, refresh и запроса. - **Источники:** официальная документация поискового движка + фикстура документа, индексный лог и запрос выдачи. - **Визуал:** путь «запись → индекс → запрос» и таблица задержек. - **Голос / объём:** М4, 8–10 тыс. знаков. - **Зависимости и риск:** П36, П40; Р-В, Р-О. - **П42 · 2021-08 · Контракт хранилища** - **Slug:** `editorial-2021-08-practice-storage-contracts`, `editorial-2021-08-mechanism-storage-contracts`, `editorial-2021-08-field-storage-contracts`. - **Техническая проблема:** потребитель предполагает тип, nullable-поле или порядок, которые хранилище не гарантирует; описать совместимость чтения и записи. - **Источники:** схема/документация хранилища + миграционный тест и набор совместимых данных. - **Визуал:** матрица producer/consumer-совместимости. - **Голос / объём:** М4, 8–10 тыс. знаков. - **Зависимости и риск:** П38, П41; Р-В. - **П43 · 2021-09 · Версионирование API** - **Slug:** `editorial-2021-09-practice-api-versioning`, `editorial-2021-09-mechanism-api-versioning`, `editorial-2021-09-field-api-versioning`. - **Техническая проблема:** изменение поля или семантики ломает старый клиент; выбрать способ эволюции, объявить срок и подтвердить его contract test-ом. - **Источники:** OpenAPI/официальная спецификация API + клиентская фикстура и результат совместимого contract test-а. - **Визуал:** маршрут версий и таблица совместимости клиента. - **Голос / объём:** М4, 8–10 тыс. знаков. - **Зависимости и риск:** П16, П40, П42; Р-В. - **П44 · 2021-10 · Runtime D в сервисе** - **Slug:** `editorial-2021-10-practice-d-runtime-service`, `editorial-2021-10-mechanism-d-runtime-service`, `editorial-2021-10-field-d-runtime-service`. - **Техническая проблема:** ожидания от PHP/JavaScript переносят на runtime D, а стоимость GC, I/O или FFI оказывается другой; ограничить вопрос одним сервисным запросом и измерением. - **Источники:** официальная документация языка D/runtime + исходник benchmark-а и профиль запуска. - **Визуал:** трасса обработки запроса и таблица измерений. - **Голос / объём:** М4, 8–10 тыс. знаков. - **Зависимости и риск:** линия 2017 D, П17; Р-В, Р-О. - **П45 · 2021-11 · Нагрузочное тестирование** - **Slug:** `editorial-2021-11-practice-load-testing`, `editorial-2021-11-mechanism-load-testing`, `editorial-2021-11-field-load-testing`. - **Техническая проблема:** тест создаёт «много запросов», но не воспроизводит профиль пользователей и скрывает узкое место; зафиксировать сценарий, границы среды и критерий остановки. - **Источники:** официальная документация load-test инструмента + сценарий, конфигурация среды и сырые результаты прогона. - **Визуал:** кривая нагрузки с latency/error rate и таблица профиля. - **Голос / объём:** М4, 8–11 тыс. знаков. - **Зависимости и риск:** П30, П31, П44; Р-В, Р-О. - **П46 · 2021-12 · Архитектурный разбор решения** - **Slug:** `editorial-2021-12-practice-architecture-review`, `editorial-2021-12-mechanism-architecture-review`, `editorial-2021-12-field-architecture-review`. - **Техническая проблема:** решение выбирают по знакомому инструменту, а инварианты, стоимость и отказные режимы остаются неявными; провести review как проверку гипотез. - **Источники:** ADR/диаграмма и исходный код границы системы + метрики, тесты или результат рассмотренного решения. - **Визуал:** context/container-схема и матрица решений. - **Голос / объём:** М4, 9–11 тыс. знаков. - **Зависимости и риск:** П35–П45; Р-О, Р-К. ### 2022 — frontend-система и пользовательский сценарий - **П47 · 2022-01 · Граница SSR и CSR** - **Slug:** `editorial-2022-01-practice-ssr-csr`, `editorial-2022-01-mechanism-ssr-csr`, `editorial-2022-01-field-ssr-csr`. - **Техническая проблема:** SSR отдаёт одно состояние, hydration ожидает другое, а данные загружаются дважды; определить, кому принадлежит запрос и состояние на каждой фазе. - **Источники:** официальная документация используемого framework-а + браузерная трасса SSR/hydration на минимальной странице. - **Визуал:** жизненный цикл рендера и таблица владения состоянием. - **Голос / объём:** М5, 7–9 тыс. знаков. - **Зависимости и риск:** П18, П43; Р-В, Р-Б. - **П48 · 2022-02 · Бюджет производительности** - **Slug:** `editorial-2022-02-practice-performance-budget`, `editorial-2022-02-mechanism-performance-budget`, `editorial-2022-02-field-performance-budget`. - **Техническая проблема:** скорость деградирует по чуть-чуть, пока релиз не становится заметно медленным; превратить бюджет в проверку CI с понятным допуском. - **Источники:** официальная документация Web Vitals/Lighthouse + результаты CI и условия замера одной страницы. - **Визуал:** график бюджета и таблица допусков. - **Голос / объём:** М5, 7–9 тыс. знаков. - **Зависимости и риск:** П18, П47; Р-Б, Р-О. - **П49 · 2022-03 · Как браузер рисует страницу** - **Slug:** `editorial-2022-03-practice-browser-rendering`, `editorial-2022-03-mechanism-browser-rendering`, `editorial-2022-03-field-browser-rendering`. - **Техническая проблема:** «медленный рендер» смешивает style, layout, paint и JavaScript; связать конкретное изменение DOM с кадром в Performance panel. - **Источники:** официальная документация браузерного движка + экспорт Performance trace с воспроизводимым jank. - **Визуал:** frame timeline и схема render pipeline. - **Голос / объём:** М5, 8–10 тыс. знаков. - **Зависимости и риск:** П13, П18, П48; Р-Б. - **П50 · 2022-04 · Доступный интерфейс** - **Slug:** `editorial-2022-04-practice-accessible-interface`, `editorial-2022-04-mechanism-accessible-interface`, `editorial-2022-04-field-accessible-interface`. - **Техническая проблема:** компонент визуально готов, но недоступен с клавиатуры и не сообщает состояние ассистивной технологии; проверить семантику, фокус и объявление. - **Источники:** WCAG/ARIA и официальная документация браузера + accessibility tree и сценарий ручной проверки. - **Визуал:** последовательность фокуса и карта объявлений. - **Голос / объём:** М5, 7–10 тыс. знаков. - **Зависимости и риск:** П19, П49; Р-Б. - **П51 · 2022-05 · Маленькая дизайн-система** - **Slug:** `editorial-2022-05-practice-design-system`, `editorial-2022-05-mechanism-design-system`, `editorial-2022-05-field-design-system`. - **Техническая проблема:** одинаковые кнопки расходятся по токенам, состояниям и a11y; выбрать минимальный контракт компонента без фальшивой «универсальной системы». - **Источники:** исходный код компонентной библиотеки/токенов + визуальные regression-фикстуры и usage-инвентарь. - **Визуал:** поток токенов и таблица вариантов компонента. - **Голос / объём:** М5, 7–10 тыс. знаков. - **Зависимости и риск:** П50; Р-В, Р-К. - **П52 · 2022-06 · Ошибки формы** - **Slug:** `editorial-2022-06-practice-form-errors`, `editorial-2022-06-mechanism-form-errors`, `editorial-2022-06-field-form-errors`. - **Техническая проблема:** серверная ошибка приходит после исправления поля, сообщение не связано с причиной, а пользователь не понимает следующий шаг; зафиксировать состояние валидации и повторной отправки. - **Источники:** HTML/ARIA-спецификация + запись сценария с искусственной сетевой задержкой и тестовый набор формы. - **Визуал:** автомат формы и таблица приоритетов ошибок. - **Голос / объём:** М5, 7–9 тыс. знаков. - **Зависимости и риск:** П14, П50; Р-Б, Р-В. - **П53 · 2022-07 · Работа при плохой сети** - **Slug:** `editorial-2022-07-practice-poor-network`, `editorial-2022-07-mechanism-poor-network`, `editorial-2022-07-field-poor-network`. - **Техническая проблема:** интерфейс показывает успешное действие без ответа сервера, повторяет запрос или теряет черновик при offline; определить видимое состояние и правило восстановления. - **Источники:** Fetch/Service Worker-документация + network-throttling trace и offline-фикстура. - **Визуал:** диаграмма сетевых состояний и таблица retry/отката. - **Голос / объём:** М5, 8–10 тыс. знаков. - **Зависимости и риск:** П28, П52; Р-В, Р-Б. - **П54 · 2022-08 · Изображения и медиа** - **Slug:** `editorial-2022-08-practice-media-performance`, `editorial-2022-08-mechanism-media-performance`, `editorial-2022-08-field-media-performance`. - **Техническая проблема:** изображение увеличивает LCP, вызывает layout shift или грузится не по приоритету; сопоставить разметку, формат и реальную загрузку. - **Источники:** официальная документация браузера/форматов изображений + trace и Web Vitals одного стенда. - **Визуал:** waterfall медиа и график «до / после». - **Голос / объём:** М5, 7–10 тыс. знаков. - **Зависимости и риск:** П48, П53; Р-Б, Р-О. - **П55 · 2022-09 · Мобильный сценарий** - **Slug:** `editorial-2022-09-practice-mobile-ux`, `editorial-2022-09-mechanism-mobile-ux`, `editorial-2022-09-field-mobile-ux`. - **Техническая проблема:** десктопный поток требует точного hover, двух рук или широкого экрана; проверить один пользовательский путь на реальном viewport. - **Источники:** документация браузерных viewport API + запись прохождения задачи и обезличенный сигнал продукта. - **Визуал:** схема task flow на мобильном экране и таблица препятствий. - **Голос / объём:** М5, 7–9 тыс. знаков. - **Зависимости и риск:** П52–П54; Р-Б, Р-К. - **П56 · 2022-10 · Проверки пользовательского сценария** - **Slug:** `editorial-2022-10-practice-ui-tests`, `editorial-2022-10-mechanism-ui-tests`, `editorial-2022-10-field-ui-tests`. - **Техническая проблема:** e2e-тест ждёт произвольную секунду, не наблюдает нужное состояние и флакует; заменить ожидание времени наблюдаемым контрактом страницы. - **Источники:** официальная документация e2e-инструмента + trace, video и статистика повторов одного теста. - **Визуал:** временная шкала теста и матрица причин флака. - **Голос / объём:** М5, 7–10 тыс. знаков. - **Зависимости и риск:** П25, П52, П55; Р-В, Р-О. - **П57 · 2022-11 · Производительность Bitrix-страницы** - **Slug:** `editorial-2022-11-practice-bitrix-performance`, `editorial-2022-11-mechanism-bitrix-performance`, `editorial-2022-11-field-bitrix-performance`. - **Техническая проблема:** медленную страницу объясняют Bitrix целиком, хотя время уходит в запрос, компонентный кеш или шаблон; снять разложение запроса до оптимизации. - **Источники:** официальная документация Bitrix по кешированию + профилировщик, SQL-trace и trace браузерной загрузки. - **Визуал:** breakdown запроса и таблица узких мест. - **Голос / объём:** М5, 8–10 тыс. знаков. - **Зависимости и риск:** П36, П48, линия 2018 Bitrix; Р-В, Р-О. - **П58 · 2022-12 · Исследование пользовательской проблемы** - **Slug:** `editorial-2022-12-practice-user-research`, `editorial-2022-12-mechanism-user-research`, `editorial-2022-12-field-user-research`. - **Техническая проблема:** инженер улучшает интерфейс без подтверждённой проблемы; собрать наблюдение, отделить факт от интерпретации и выбрать следующий эксперимент. - **Источники:** протокол исследования/согласованные исходные заметки + запись задачи или обезличенный продуктовый сигнал. - **Визуал:** карта «наблюдение → гипотеза → решение» и таблица доказательств. - **Голос / объём:** М5, 7–9 тыс. знаков. - **Зависимости и риск:** П55, П56; Р-К. ### 2023 — безопасность, качество и устойчивость - **П59 · 2023-01 · Модель угроз** - **Slug:** `editorial-2023-01-practice-threat-model`, `editorial-2023-01-mechanism-threat-model`, `editorial-2023-01-field-threat-model`. - **Техническая проблема:** контроль выбирают по чек-листу, не назвав актив, границу доверия и злоупотребление; построить небольшую модель угроз для одного потока данных. - **Источники:** официальная методика threat modeling/стандарт безопасности + актуальная схема потока данных и список активов проекта. - **Визуал:** DFD с trust boundary и таблица «угроза → контроль → доказательство». - **Голос / объём:** М6, 8–10 тыс. знаков. - **Зависимости и риск:** П33, П58; Р-З, Р-К. - **П60 · 2023-02 · Аутентификация и сессии** - **Slug:** `editorial-2023-02-practice-sessions-auth`, `editorial-2023-02-mechanism-sessions-auth`, `editorial-2023-02-field-sessions-auth`. - **Техническая проблема:** cookie-флаги, rotation и logout трактуются как отдельные настройки, из-за чего сессия живёт дольше ожидаемого; разобрать жизненный цикл одной сессии. - **Источники:** официальная спецификация cookie/документация auth-платформы + браузерная storage/network-трасса тестовой сессии. - **Визуал:** автомат сессии и таблица параметров cookie. - **Голос / объём:** М6, 8–10 тыс. знаков. - **Зависимости и риск:** П59; Р-В, Р-Б, Р-З. - **П61 · 2023-03 · CSRF и CORS** - **Slug:** `editorial-2023-03-practice-csrf-cors`, `editorial-2023-03-mechanism-csrf-cors`, `editorial-2023-03-field-csrf-cors`. - **Техническая проблема:** CORS принимают за защиту от CSRF или открывают origin с credentials; разделить модель браузера, серверную проверку и конкретный запрос. - **Источники:** Fetch/CORS-спецификация + сетевой repro в двух origin с cookie и preflight. - **Визуал:** карта origin, credentials и preflight. - **Голос / объём:** М6, 8–10 тыс. знаков. - **Зависимости и риск:** П60; Р-Б, Р-З. - **П62 · 2023-04 · Безопасность зависимостей** - **Slug:** `editorial-2023-04-practice-dependency-security`, `editorial-2023-04-mechanism-dependency-security`, `editorial-2023-04-field-dependency-security`. - **Техническая проблема:** уязвимость скрыта в транзитивной зависимости, а механическое обновление ломает runtime; соединить advisory, lockfile, достижимость и проверку обновления. - **Источники:** официальные security advisory экосистемы + lockfile/SBOM и результат сканирования конкретной сборки. - **Визуал:** дерево зависимости с зоной риска и матрица решения об обновлении. - **Голос / объём:** М6, 8–11 тыс. знаков. - **Зависимости и риск:** П21, П33, П59; Р-В, Р-З. - **П63 · 2023-05 · Статический анализ** - **Slug:** `editorial-2023-05-practice-static-analysis`, `editorial-2023-05-mechanism-static-analysis`, `editorial-2023-05-field-static-analysis`. - **Техническая проблема:** правило создаёт много шума или пропускает контекст, поэтому команда отключает анализатор; выбрать одну опасную категорию и измерить качество сигнала. - **Источники:** официальная документация/исходный код правила анализатора + SARIF-отчёт и классификация находок из репозитория. - **Визуал:** воронка triage и таблица «находка → решение». - **Голос / объём:** М6, 8–10 тыс. знаков. - **Зависимости и риск:** П56, П62; Р-В, Р-К. - **П64 · 2023-06 · Секреты и цепочка поставки** - **Slug:** `editorial-2023-06-practice-secrets-supply-chain`, `editorial-2023-06-mechanism-secrets-supply-chain`, `editorial-2023-06-field-secrets-supply-chain`. - **Техническая проблема:** секрет или неподписанный артефакт проходит через CI и образ, но аудит видит только финальный deploy; перечислить звенья и доказательства целостности. - **Источники:** официальная документация build/attestation-платформы и SLSA + логи CI, SBOM и результаты безопасного сканирования артефакта. - **Визуал:** границы цепочки поставки и таблица артефактов. - **Голос / объём:** М6, 8–11 тыс. знаков. - **Зависимости и риск:** П24, П25, П62; Р-В, Р-З. - **П65 · 2023-07 · Контрактные тесты API** - **Slug:** `editorial-2023-07-practice-contract-tests`, `editorial-2023-07-mechanism-contract-tests`, `editorial-2023-07-field-contract-tests`. - **Техническая проблема:** provider меняет семантику, consumer узнаёт это после релиза; зафиксировать пример контракта, совместимость и запуск с обеих сторон. - **Источники:** OpenAPI/Pact-документация + contract-файл и результат provider verification. - **Визуал:** путь контракта через consumer и provider, матрица совместимости. - **Голос / объём:** М6, 8–10 тыс. знаков. - **Зависимости и риск:** П43, П63; Р-В. - **П66 · 2023-08 · Стабильные e2e-тесты** - **Slug:** `editorial-2023-08-practice-e2e-stability`, `editorial-2023-08-mechanism-e2e-stability`, `editorial-2023-08-field-e2e-stability`. - **Техническая проблема:** retry превращает реальную ошибку в шум, а тест ждёт не ту готовность интерфейса; классифицировать флак по trace, а не повышать timeout. - **Источники:** официальная документация e2e-инструмента + trace/video и история повторных запусков. - **Визуал:** классификация флака и временная шкала ожиданий. - **Голос / объём:** М6, 8–10 тыс. знаков. - **Зависимости и риск:** П56, П65; Р-В, Р-О. - **П67 · 2023-09 · Логи, метрики и трассы** - **Slug:** `editorial-2023-09-practice-telemetry-signals`, `editorial-2023-09-mechanism-telemetry-signals`, `editorial-2023-09-field-telemetry-signals`. - **Техническая проблема:** три сигнала существуют раздельно, label взрывает cardinality, а причина запроса не связывается с ошибкой; провести один идентификатор через все представления. - **Источники:** спецификация OpenTelemetry + согласованный набор trace, log и metric-query для одного сценария. - **Визуал:** карта корреляции сигналов и таблица cardinality. - **Голос / объём:** М6, 8–11 тыс. знаков. - **Зависимости и риск:** П29–П31; Р-В, Р-О. - **П68 · 2023-10 · SLI и SLO** - **Slug:** `editorial-2023-10-practice-sli-slo`, `editorial-2023-10-mechanism-sli-slo`, `editorial-2023-10-field-sli-slo`. - **Техническая проблема:** alert смотрит на удобную метрику, а не на пользовательский результат; сформулировать SLI, SLO, окно и правило расходования error budget. - **Источники:** конфигурация service objective и alert-правила + сырые данные метрик и история срабатываний. - **Визуал:** график error budget и таблица соответствия SLI сценарию. - **Голос / объём:** М6, 8–11 тыс. знаков. - **Зависимости и риск:** П30, П45, П67; Р-О, Р-К. - **П69 · 2023-11 · Postmortem без поиска виноватого** - **Slug:** `editorial-2023-11-practice-postmortem`, `editorial-2023-11-mechanism-postmortem`, `editorial-2023-11-field-postmortem`. - **Техническая проблема:** ретроспектива заменяет доказательства оценками людей и не меняет систему; отделить факты, решения в моменте и профилактический эксперимент. - **Источники:** исходные артефакты инцидента + история изменений, алертов и runbook-а. - **Визуал:** timeline инцидента и таблица «сигнал → решение → действие». - **Голос / объём:** М6, 8–10 тыс. знаков. - **Зависимости и риск:** П34, П68; Р-О, Р-К. - **П70 · 2023-12 · Практический аудит веб-проекта** - **Slug:** `editorial-2023-12-practice-security-audit`, `editorial-2023-12-mechanism-security-audit`, `editorial-2023-12-field-security-audit`. - **Техническая проблема:** аудит превращается в общий список, не покрывающий реальные активы и пути данных; ограничить область, доказательства и порядок исправлений. - **Источники:** официальное руководство по security testing + инвентарь активов и результаты разрешённых проверок стенда. - **Визуал:** матрица покрытия аудита и карта активов. - **Голос / объём:** М6, 9–11 тыс. знаков. - **Зависимости и риск:** П59–П64, П67; Р-В, Р-З. ### 2024 — модернизация, платформа и доставка - **П71 · 2024-01 · Модернизация legacy-системы** - **Slug:** `editorial-2024-01-practice-legacy-modernization`, `editorial-2024-01-mechanism-legacy-modernization`, `editorial-2024-01-field-legacy-modernization`. - **Техническая проблема:** переписывание теряет поведение и останавливает развитие; выбрать измеримый шов, правило совместимости и этап отката. - **Источники:** исходный код/история legacy-модуля + официальная документация целевой платформы и результаты parity-теста. - **Визуал:** strangler-карта и матрица совместимости. - **Голос / объём:** М7, 9–11 тыс. знаков. - **Зависимости и риск:** П11, П46; Р-В, Р-К. - **П72 · 2024-02 · Модульный монолит** - **Slug:** `editorial-2024-02-practice-modular-monolith`, `editorial-2024-02-mechanism-modular-monolith`, `editorial-2024-02-field-modular-monolith`. - **Техническая проблема:** модули являются только папками и обходят границы через общий слой; задать разрешённые зависимости и тестировать их. - **Источники:** dependency graph/исходный код репозитория + ADR и тесты границ модулей. - **Визуал:** матрица зависимостей и схема допустимых направлений. - **Голос / объём:** М7, 8–11 тыс. знаков. - **Зависимости и риск:** П46, П71; Р-К. - **П73 · 2024-03 · Границы пакетов** - **Slug:** `editorial-2024-03-practice-package-boundaries`, `editorial-2024-03-mechanism-package-boundaries`, `editorial-2024-03-field-package-boundaries`. - **Техническая проблема:** общая утилита превращается в неявную платформу, а пакет тянет чужую доменную модель; определить публичный API и запретные импорты. - **Источники:** документация package manager-а/сборщика + import graph и CI-проверка границ. - **Визуал:** граф пакетов и таблица API-границ. - **Голос / объём:** М7, 8–10 тыс. знаков. - **Зависимости и риск:** П72; Р-В, Р-К. - **П74 · 2024-04 · Безопасная миграция данных** - **Slug:** `editorial-2024-04-practice-data-migrations`, `editorial-2024-04-mechanism-data-migrations`, `editorial-2024-04-field-data-migrations`. - **Техническая проблема:** schema change выкатывается раньше кода, backfill перегружает БД, откат невозможен; применить expand–migrate–contract с измеренным rehearsal. - **Источники:** официальная документация СУБД + миграция, rollback-план и журнал rehearsal-прогона. - **Визуал:** временная шкала expand/contract и таблица совместимости версий. - **Голос / объём:** М7, 9–12 тыс. знаков. - **Зависимости и риск:** П35, П42, П72; Р-В, Р-О. - **П75 · 2024-05 · Шаблоны для команд** - **Slug:** `editorial-2024-05-practice-platform-templates`, `editorial-2024-05-mechanism-platform-templates`, `editorial-2024-05-field-platform-templates`. - **Техническая проблема:** шаблон ускоряет старт, но жёстко фиксирует неверный выбор и плодит fork-и; выбрать golden path, расширение и критерий отказа от шаблона. - **Источники:** исходный код шаблона/usage-инвентарь + issue и интервью с командами-потребителями. - **Визуал:** путь команды через шаблон и таблица escape hatch. - **Голос / объём:** М7, 8–11 тыс. знаков. - **Зависимости и риск:** П72, П73; Р-К, Р-В. - **П76 · 2024-06 · Управление контейнерной нагрузкой** - **Slug:** `editorial-2024-06-practice-container-orchestration`, `editorial-2024-06-mechanism-container-orchestration`, `editorial-2024-06-field-container-orchestration`. - **Техническая проблема:** resource limit, autoscaling и readiness не соответствуют профилю приложения; сопоставить манифест, загрузку и наблюдаемое поведение pod-а. - **Источники:** официальная документация Kubernetes + manifests и метрики контролируемой нагрузки кластера. - **Визуал:** жизненный цикл pod-а и график capacity. - **Голос / объём:** М7, 9–12 тыс. знаков. - **Зависимости и риск:** П23, П45; Р-В, Р-О. - **П77 · 2024-07 · Инженерия релиза** - **Slug:** `editorial-2024-07-practice-release-engineering`, `editorial-2024-07-mechanism-release-engineering`, `editorial-2024-07-field-release-engineering`. - **Техническая проблема:** версия, артефакт и миграция расходятся между стадиями; создать цепочку доказательств от commit-а до deploy-а и контролируемый rollback. - **Источники:** документация CI/CD/deploy-платформы + журнал артефактов и событий поставки. - **Визуал:** delivery chain и таблица точек rollback. - **Голос / объём:** М7, 9–11 тыс. знаков. - **Зависимости и риск:** П25, П74–П76; Р-В, Р-О. - **П78 · 2024-08 · Feature flags** - **Slug:** `editorial-2024-08-practice-feature-flags`, `editorial-2024-08-mechanism-feature-flags`, `editorial-2024-08-field-feature-flags`. - **Техническая проблема:** флаг скрывает долг, меняет поведение клиента или остаётся после rollout; определить владельца, аудиторию, срок и безопасное удаление. - **Источники:** официальная документация feature-flag платформы + конфигурация флага и обезличенные данные exposure. - **Визуал:** decision tree флага и временная шкала rollout. - **Голос / объём:** М7, 8–11 тыс. знаков. - **Зависимости и риск:** П77; Р-В, Р-К. - **П79 · 2024-09 · Запись инженерного решения** - **Slug:** `editorial-2024-09-practice-adr-decisions`, `editorial-2024-09-mechanism-adr-decisions`, `editorial-2024-09-field-adr-decisions`. - **Техническая проблема:** решение существует только в переписке, а через полгода никто не помнит условие и цену; оформить ADR как проверяемую гипотезу с датой пересмотра. - **Источники:** история ADR и review-артефакты + исходный код/метрики, на которых основан выбор. - **Визуал:** поток принятия решения и матрица альтернатив. - **Голос / объём:** М7, 8–10 тыс. знаков. - **Зависимости и риск:** П46, П77, П78; Р-К. - **П80 · 2024-10 · Ёмкость и стоимость** - **Slug:** `editorial-2024-10-practice-capacity-cost`, `editorial-2024-10-mechanism-capacity-cost`, `editorial-2024-10-field-capacity-cost`. - **Техническая проблема:** сервис проходит SLO, но стоимость растёт быстрее нагрузки; связать рабочую нагрузку, ресурс, цену и предел масштабирования. - **Источники:** официальный прайс-лист/документация инфраструктуры + данные потребления и измерение нагрузки. - **Визуал:** график «нагрузка → ресурс → стоимость» и таблица сценариев. - **Голос / объём:** М7, 8–11 тыс. знаков. - **Зависимости и риск:** П45, П76; Р-В, Р-О. - **П81 · 2024-11 · Удаление устаревшего** - **Slug:** `editorial-2024-11-practice-deprecation`, `editorial-2024-11-mechanism-deprecation`, `editorial-2024-11-field-deprecation`. - **Техническая проблема:** удаление API ломает скрытого потребителя, а старый путь живёт вечно; найти пользователей, сообщить срок, измерить миграцию и удалить доказуемо. - **Источники:** code search/история использования + официальные правила версионирования и telemetry потребителей. - **Визуал:** карта потребителей и timeline deprecation. - **Голос / объём:** М7, 8–11 тыс. знаков. - **Зависимости и риск:** П43, П73, П79; Р-В, Р-К. - **П82 · 2024-12 · Год сопровождения системы** - **Slug:** `editorial-2024-12-practice-maintenance-retro`, `editorial-2024-12-mechanism-maintenance-retro`, `editorial-2024-12-field-maintenance-retro`. - **Техническая проблема:** долг перечисляют без связи с риском, стоимостью и повторяемым сбоем; собрать maintenance-ретроспективу из исторических артефактов. - **Источники:** issue/change history и ADR + метрики надёжности, стоимости или времени поддержки. - **Визуал:** тепловая карта долг/риск и timeline изменений. - **Голос / объём:** М7, 9–12 тыс. знаков. - **Зависимости и риск:** П71–П81; Р-О, Р-К. ### 2025 — AI-инструменты, внутренние продукты и исследовательская дисциплина - **П83 · 2025-01 · Помощник для написания кода** - **Slug:** `editorial-2025-01-practice-ai-coding-assistant`, `editorial-2025-01-mechanism-ai-coding-assistant`, `editorial-2025-01-field-ai-coding-assistant`. - **Техническая проблема:** сгенерированный код выглядит правдоподобно, но нарушает контракт, стиль или безопасность; ограничить задачу, подготовить контекст и сделать проверку обязательным шагом. - **Источники:** официальная документация/model card поставщика инструмента + контролируемый набор задач, diff и результаты тестов. - **Визуал:** граница «prompt → diff → review → test» и таблица типов ошибок. - **Голос / объём:** М8, 8–10 тыс. знаков. - **Зависимости и риск:** П63, П79; Р-В, Р-З. - **П84 · 2025-02 · Проверка сгенерированного кода** - **Slug:** `editorial-2025-02-practice-ai-code-verification`, `editorial-2025-02-mechanism-ai-code-verification`, `editorial-2025-02-field-ai-code-verification`. - **Техническая проблема:** тест проходит, но код всё ещё небезопасен, нечитабелен или не учитывает неявный контракт; построить несколько независимых доказательств вместо одной зелёной проверки. - **Источники:** официальная документация AI-инструмента/его ограничений + результаты тестов, линтера, review и ручного воспроизведения. - **Визуал:** воронка верификации и матрица «риск → способ обнаружения». - **Голос / объём:** М8, 8–11 тыс. знаков. - **Зависимости и риск:** П63, П83; Р-В, Р-З. - **П85 · 2025-03 · Поиск по инженерной базе знаний** - **Slug:** `editorial-2025-03-practice-knowledge-retrieval`, `editorial-2025-03-mechanism-knowledge-retrieval`, `editorial-2025-03-field-knowledge-retrieval`. - **Техническая проблема:** поиск возвращает устаревший или закрытый источник, а ответ не позволяет проверить цитату; связать индекс, права, дату документа и ссылку на первоисточник. - **Источники:** официальная документация retrieval-платформы + инвентарь корпуса, журнал индексации и выборка ответов с источниками. - **Визуал:** путь «запрос → retrieval → цитата» и таблица свежести источника. - **Голос / объём:** М8, 8–11 тыс. знаков. - **Зависимости и риск:** П75, П84; Р-В, Р-З, Р-К. - **П86 · 2025-04 · Данные и приватность в AI-инструментах** - **Slug:** `editorial-2025-04-practice-ai-data-privacy`, `editorial-2025-04-mechanism-ai-data-privacy`, `editorial-2025-04-field-ai-data-privacy`. - **Техническая проблема:** фрагмент кода или лога пересекает внешнюю границу без ясности о retention и обучении; сопоставить классификацию данных, policy и фактический egress. - **Источники:** официальная policy/DPA поставщика + инвентарь потоков данных и журналы разрешённого egress. - **Визуал:** trust boundary данных и таблица допустимости контекста. - **Голос / объём:** М8, 8–11 тыс. знаков. - **Зависимости и риск:** П24, П59, П83, П85; Р-В, Р-З, Р-К. - **П87 · 2025-05 · Автоматизация рутины** - **Slug:** `editorial-2025-05-practice-engineering-automation`, `editorial-2025-05-mechanism-engineering-automation`, `editorial-2025-05-field-engineering-automation`. - **Техническая проблема:** автоматизация масштабирует исключение и делает массовый неверный change; добавить preview, approval, audit log и откат в сам механизм. - **Источники:** официальная документация API/оркестратора + dry-run, audit log и безопасный тест rollback. - **Визуал:** автомат approval/rollback и таблица уровней полномочий. - **Голос / объём:** М8, 8–11 тыс. знаков. - **Зависимости и риск:** П25, П77, П84; Р-В, Р-К. - **П88 · 2025-06 · Удобство внутреннего инструмента** - **Slug:** `editorial-2025-06-practice-developer-experience`, `editorial-2025-06-mechanism-developer-experience`, `editorial-2025-06-field-developer-experience`. - **Техническая проблема:** внутренний инструмент формально работает, но создаёт очередь ожидания и обходные пути; измерить одну задачу пользователя от входа до результата. - **Источники:** исходный код/документация внутреннего инструмента + наблюдение задачи, support-обращения или измерение времени ожидания. - **Визуал:** пользовательский путь и гистограмма времени ожидания. - **Голос / объём:** М8, 8–10 тыс. знаков. - **Зависимости и риск:** П75, П87; Р-К. - **П89 · 2025-07 · Метрики продукта для инженера** - **Slug:** `editorial-2025-07-practice-product-metrics`, `editorial-2025-07-mechanism-product-metrics`, `editorial-2025-07-field-product-metrics`. - **Техническая проблема:** инженер улучшает latency или conversion без связи с решением пользователя и guardrail-метрикой; построить одну причинную цепочку, а не дашборд из всего. - **Источники:** event schema/определение метрики + сырые события и запрос дашборда за фиксированный период. - **Визуал:** funnel с guardrail и таблица интерпретации изменения. - **Голос / объём:** М8, 8–11 тыс. знаков. - **Зависимости и риск:** П58, П88; Р-О, Р-К. - **П90 · 2025-08 · Исследование UX внутреннего инструмента** - **Slug:** `editorial-2025-08-practice-tool-ux-research`, `editorial-2025-08-mechanism-tool-ux-research`, `editorial-2025-08-field-tool-ux-research`. - **Техническая проблема:** интервью подтверждает удобную гипотезу автора, а не проблему коллеги; зафиксировать нейтральный сценарий, согласие и разбор наблюдений. - **Источники:** исследовательский протокол/форма согласия + обезличенные записи задач и журнал кодирования наблюдений. - **Визуал:** evidence map и таблица «цитата/действие/неопределённость». - **Голос / объём:** М8, 8–10 тыс. знаков. - **Зависимости и риск:** П58, П88, П89; Р-К. - **П91 · 2025-09 · Инженерное интервью** - **Slug:** `editorial-2025-09-practice-engineering-interviews`, `editorial-2025-09-mechanism-engineering-interviews`, `editorial-2025-09-field-engineering-interviews`. - **Техническая проблема:** интервью проверяет память на термины, а не способ работы с неопределённостью; связать rubric, рабочую пробу и единые критерии review. - **Источники:** утверждённый rubric/описание роли + обезличенный результат рабочей пробы и review-критериев. - **Визуал:** матрица компетенций и схема оценивания. - **Голос / объём:** М8, 8–10 тыс. знаков. - **Зависимости и риск:** П63, П90; Р-К. - **П92 · 2025-10 · Объяснение сложной темы** - **Slug:** `editorial-2025-10-practice-teaching-engineering`, `editorial-2025-10-mechanism-teaching-engineering`, `editorial-2025-10-field-teaching-engineering`. - **Техническая проблема:** объяснение даёт рецепт без модели, и читатель копирует код вне условий; соединить исходную задачу, контрпример и короткое упражнение с проверкой. - **Источники:** исходный код/официальная документация разбираемой технологии + результаты упражнения и обратная связь по pull request-ам. - **Визуал:** путь «модель → упражнение → проверка» и таблица типичных ошибок. - **Голос / объём:** М8, 8–11 тыс. знаков. - **Зависимости и риск:** П91; Р-К. - **П93 · 2025-11 · Проверка источников** - **Slug:** `editorial-2025-11-practice-research-method`, `editorial-2025-11-mechanism-research-method`, `editorial-2025-11-field-research-method`. - **Техническая проблема:** статья собирает ссылки, но не отделяет версию, маркетинговое обещание и воспроизводимый факт; вести журнал утверждений и первоисточников. - **Источники:** metadata/release notes первичных публикаций + исследовательский журнал с повторяемой фикстурой. - **Визуал:** лестница доказательств и таблица статуса утверждений. - **Голос / объём:** М8, 8–10 тыс. знаков. - **Зависимости и риск:** П85, П92; Р-В, Р-К. - **П94 · 2025-12 · Синтез инженерного года** - **Slug:** `editorial-2025-12-practice-year-synthesis`, `editorial-2025-12-mechanism-year-synthesis`, `editorial-2025-12-field-year-synthesis`. - **Техническая проблема:** годовой текст отбирает только успехи и выдаёт корреляцию за эффект; собрать timeline решений, альтернатив и наблюдаемых результатов. - **Источники:** история изменений/ADR + метрики, результаты проверок и инцидентные артефакты. - **Визуал:** timeline года и матрица «решение → цена → наблюдение». - **Голос / объём:** М8, 9–12 тыс. знаков. - **Зависимости и риск:** П82, П89, П93; Р-О, Р-К. ### 2026 — сквозная архитектура и техническое лидерство > На дату инвентаризации завершены календарные партии до июля 2026 года включительно. Для партий августа–декабря `Р-Ф` означает: сначала подтвердить, что материал может быть опубликован как факт, иначе писать его как явно датированный план или сценарий. - **П95 · 2026-01 · API платформенной команды** - **Slug:** `editorial-2026-01-practice-platform-api`, `editorial-2026-01-mechanism-platform-api`, `editorial-2026-01-field-platform-api`. - **Техническая проблема:** платформенная абстракция скрывает детали до первого нестандартного потребителя, после чего API начинает протекать; определить контракт, escape hatch и обратную совместимость. - **Источники:** официальная API-спецификация/стандарты команды + contract tests и трасса двух потребителей. - **Визуал:** карта публичного API и таблица гарантий/исключений. - **Голос / объём:** М9, 9–12 тыс. знаков. - **Зависимости и риск:** П43, П75; Р-В, Р-К. - **П96 · 2026-02 · Устойчивость к отказам** - **Slug:** `editorial-2026-02-practice-resilience`, `editorial-2026-02-mechanism-resilience`, `editorial-2026-02-field-resilience`. - **Техническая проблема:** retry, fallback и репликация независимо кажутся защитой, а вместе увеличивают нагрузку во время сбоя; разложить каскад и точку ограничения. - **Источники:** официальная документация компонентов устойчивости + результат failure-injection и трасса распространения ошибки. - **Визуал:** граф каскада отказа и таблица режимов деградации. - **Голос / объём:** М9, 9–12 тыс. знаков. - **Зависимости и риск:** П28, П45, П95; Р-В, Р-О. - **П97 · 2026-03 · Контракты данных** - **Slug:** `editorial-2026-03-practice-data-contracts`, `editorial-2026-03-mechanism-data-contracts`, `editorial-2026-03-field-data-contracts`. - **Техническая проблема:** schema change координируют вручную между producer и consumer, поэтому версия данных ломается уже после deploy; автоматизировать compatibility gate. - **Источники:** схема/документация schema registry + CI-проверка совместимости и набор граничных данных. - **Визуал:** эволюция контракта и матрица producer/consumer. - **Голос / объём:** М9, 9–12 тыс. знаков. - **Зависимости и риск:** П42, П65, П95; Р-В. - **П98 · 2026-04 · Современная безопасность веба** - **Slug:** `editorial-2026-04-practice-modern-web-security`, `editorial-2026-04-mechanism-modern-web-security`, `editorial-2026-04-field-modern-web-security`. - **Техническая проблема:** перечень controls не показывает, какой путь атаки закрыт и что осталось открытым; связать threat model, контрмеру и тест доказательства. - **Источники:** актуальные официальные advisory/стандарты + модель угроз и результаты разрешённой проверки стенда. - **Визуал:** карта «атака → защита → доказательство» и матрица остаточного риска. - **Голос / объём:** М9, 9–13 тыс. знаков. - **Зависимости и риск:** П59–П70; Р-В, Р-З. - **П99 · 2026-05 · Производительность системы** - **Slug:** `editorial-2026-05-practice-systems-performance`, `editorial-2026-05-mechanism-systems-performance`, `editorial-2026-05-field-systems-performance`. - **Техническая проблема:** оптимизация одного сервиса не меняет end-to-end latency, потому что ограничение находится в очереди, БД или внешнем вызове; найти bottleneck на единой трассе. - **Источники:** официальная документация runtime/профайлера + benchmark-harness, trace и конфигурация измерения. - **Визуал:** critical-path waterfall и график «нагрузка → latency». - **Голос / объём:** М9, 9–13 тыс. знаков. - **Зависимости и риск:** П18, П45, П96; Р-В, Р-О. - **П100 · 2026-06 · PHP, JavaScript и D в одном ландшафте** - **Slug:** `editorial-2026-06-practice-multi-runtime`, `editorial-2026-06-mechanism-multi-runtime`, `editorial-2026-06-field-multi-runtime`. - **Техническая проблема:** языковые границы маскируют разные модели ошибок, типов и времени выполнения; выбрать один контракт между runtime-ами и подтвердить его интеграционным тестом. - **Источники:** официальная документация всех трёх runtime-ов + контрактный тест, profile и трасса межсервисного запроса. - **Визуал:** карта совместимости runtime-ов и таблица границ контракта. - **Голос / объём:** М9, 9–12 тыс. знаков. - **Зависимости и риск:** П44, П97, П99; Р-В, Р-О. - **П101 · 2026-07 · План миграции** - **Slug:** `editorial-2026-07-practice-migration-playbook`, `editorial-2026-07-mechanism-migration-playbook`, `editorial-2026-07-field-migration-playbook`. - **Техническая проблема:** план описывает целевую архитектуру, но не включает инвентарь, перевод трафика, миграцию данных и rollback; задать контрольные точки с наблюдаемыми критериями. - **Источники:** официальная документация целевой технологии + репозиторный инвентарь, rehearsal и метрики переходного периода. - **Визуал:** фазы миграции с decision gate и таблица rollback. - **Голос / объём:** М9, 10–13 тыс. знаков. - **Зависимости и риск:** П71, П74, П81, П96; Р-В, Р-О, Р-К. - **П102 · 2026-08 · End-to-end наблюдаемость** - **Slug:** `editorial-2026-08-practice-end-to-end-observability`, `editorial-2026-08-mechanism-end-to-end-observability`, `editorial-2026-08-field-end-to-end-observability`. - **Техническая проблема:** данные теряют correlation ID между UI, API и worker-ом, а наблюдаемость создаёт лишние персональные или высококардинальные данные; спроектировать сквозную связь и sampling. - **Источники:** спецификация OpenTelemetry + полноценный trace/log/metric-набор одного сценария. - **Визуал:** карта сигналов по границам системы и график cardinality. - **Голос / объём:** М9, 9–13 тыс. знаков. - **Зависимости и риск:** П67, П96, П101; Р-В, Р-О, Р-Ф. - **П103 · 2026-09 · Граница frontend и backend** - **Slug:** `editorial-2026-09-practice-frontend-backend-boundary`, `editorial-2026-09-mechanism-frontend-backend-boundary`, `editorial-2026-09-field-frontend-backend-boundary`. - **Техническая проблема:** UI присваивает себе доменное состояние или API возвращает экранную модель, из-за чего обе стороны нельзя менять отдельно; разделить ответственность по контексту и контракту. - **Источники:** API-спецификация/код границы + UI-network trace и контрактный тест сценария. - **Визуал:** карта владения состоянием и таблица ответственности. - **Голос / объём:** М9, 9–12 тыс. знаков. - **Зависимости и риск:** П47, П95, П97; Р-В, Р-К, Р-Ф. - **П104 · 2026-10 · Стандарт code review** - **Slug:** `editorial-2026-10-practice-code-review-standard`, `editorial-2026-10-mechanism-code-review-standard`, `editorial-2026-10-field-code-review-standard`. - **Техническая проблема:** review застревает в стиле и не видит риск контракта, миграции или эксплуатации; описать входные доказательства и stop-the-line критерии. - **Источники:** правила review/история pull request-ов + дефекты, CI-артефакты и изменения после review. - **Визуал:** матрица review-решений и схема эскалации риска. - **Голос / объём:** М9, 9–12 тыс. знаков. - **Зависимости и риск:** П63, П91, П103; Р-О, Р-К, Р-Ф. - **П105 · 2026-11 · Сравнение технологий без хайпа** - **Slug:** `editorial-2026-11-practice-technology-evaluation`, `editorial-2026-11-mechanism-technology-evaluation`, `editorial-2026-11-field-technology-evaluation`. - **Техническая проблема:** сравнение берёт популярность или benchmark без контекста и игнорирует стоимость внедрения; формализовать критерии, веса, воспроизводимое измерение и стоп-факторы. - **Источники:** официальные документация, лицензия и release notes кандидатов + собственный benchmark/прототип с опубликованной конфигурацией. - **Визуал:** взвешенная decision matrix и график trade-off. - **Голос / объём:** М9, 9–13 тыс. знаков. - **Зависимости и риск:** П99, П100, П104; Р-В, Р-О, Р-К, Р-Ф. - **П106 · 2026-12 · Инженерный кейс от проблемы до результата** - **Slug:** `editorial-2026-12-practice-portfolio-case`, `editorial-2026-12-mechanism-portfolio-case`, `editorial-2026-12-field-portfolio-case`. - **Техническая проблема:** кейс скрывает исходные ограничения, неудачные варианты и стоимость поддержки, поэтому превращается в рекламу; показать цепочку «контекст → решение → доказательство → остаточный риск». - **Источники:** ADR/артефакты проекта + метрики, результаты тестов, инциденты или change log. - **Визуал:** причинная timeline кейса и таблица компромиссов. - **Голос / объём:** М9, 10–13 тыс. знаков. - **Зависимости и риск:** П94, П101, П105; Р-О, Р-К, Р-Ф. ### 2027 — ретроспектива, капстоуны и наставничество > Все партии этого раздела несут `Р-Ф`: до наступления их календарной даты нельзя писать так, будто будущая версия инструмента, исследование или наблюдение уже существуют. Публикация допустима только после свежей сверки источников либо в форме явно помеченного плана/сценария. - **П107 · 2027-01 · Десять лет web-диагностики** - **Slug:** `editorial-2027-01-practice-debugging-decade`, `editorial-2027-01-mechanism-debugging-decade`, `editorial-2027-01-field-debugging-decade`. - **Техническая проблема:** ретроспектива превращает разные сбои в красивый «универсальный метод»; сопоставить ранние логи, современные trace и неизменный порядок проверки гипотез. - **Источники:** исходные bug report/log-артефакты разных лет + актуальная документация и повторный repro выбранных случаев. - **Визуал:** эволюционная timeline диагностики и таблица «сигнал → инструмент → предел». - **Голос / объём:** М10, 9–13 тыс. знаков. - **Зависимости и риск:** П01, П29, П102; Р-В, Р-Ф. - **П108 · 2027-02 · Уроки Bitrix для legacy-разработки** - **Slug:** `editorial-2027-02-practice-bitrix-lessons`, `editorial-2027-02-mechanism-bitrix-lessons`, `editorial-2027-02-field-bitrix-lessons`. - **Техническая проблема:** старые API-примеры продолжают копировать без версии, а уроки о legacy звучат как оправдание неизменности; отделить сохраняющийся принцип от устаревшего вызова. - **Источники:** архивная и актуальная документация/исходный код Bitrix + migration test на выбранном сценарии. - **Визуал:** decision tree «сохранить / обернуть / заменить» и таблица версионных ограничений. - **Голос / объём:** М10, 9–13 тыс. знаков. - **Зависимости и риск:** январская серия 2018, П03, П11, П71; Р-В, Р-Ф. - **П109 · 2027-03 · Уроки D для прикладного инженера** - **Slug:** `editorial-2027-03-practice-d-lessons`, `editorial-2027-03-mechanism-d-lessons`, `editorial-2027-03-field-d-lessons`. - **Техническая проблема:** личный опыт с языком подают как сравнение экосистем без условий; повторно измерить один сервисный сценарий и честно назвать, где D не является выбором по умолчанию. - **Источники:** официальная спецификация и release notes D + исходник benchmark-а и повторный profile. - **Визуал:** график trade-off runtime-ов и таблица ограничений. - **Голос / объём:** М10, 9–13 тыс. знаков. - **Зависимости и риск:** линия 2017 D, П44, П100; Р-В, Р-О, Р-Ф. - **П110 · 2027-04 · Эволюция frontend-сборки** - **Slug:** `editorial-2027-04-practice-build-evolution`, `editorial-2027-04-mechanism-build-evolution`, `editorial-2027-04-field-build-evolution`. - **Техническая проблема:** новая сборка объявляется автоматически лучше старой, хотя меняются тип приложения, кеширование и CI; сравнивать конфигурации и артефакты, а не названия инструментов. - **Источники:** исторические config/CI-артефакты + актуальная официальная документация сборщиков и результаты одинакового build-замера. - **Визуал:** timeline эволюции сборки и таблица сравнимых условий. - **Голос / объём:** М10, 9–13 тыс. знаков. - **Зависимости и риск:** П05, П21, П77; Р-В, Р-О, Р-Ф. - **П111 · 2027-05 · Полевой справочник HTTP и TLS** - **Slug:** `editorial-2027-05-practice-http-tls-guide`, `editorial-2027-05-mechanism-http-tls-guide`, `editorial-2027-05-field-http-tls-guide`. - **Техническая проблема:** «советы по HTTP/TLS» стареют вместе с протоколами и настройками клиентов; ограничить справочник диагностическими вопросами, версией и проверяемой командой. - **Источники:** RFC/errata и официальная документация OpenSSL/cURL + контролируемые handshake и HTTP-трассы. - **Визуал:** карта handshake/заголовков и матрица симптомов. - **Голос / объём:** М10, 10–14 тыс. знаков. - **Зависимости и риск:** П06, П07, П98; Р-В, Р-З, Р-Ф. - **П112 · 2027-06 · Большой разбор производительности** - **Slug:** `editorial-2027-06-practice-performance-capstone`, `editorial-2027-06-mechanism-performance-capstone`, `editorial-2027-06-field-performance-capstone`. - **Техническая проблема:** улучшение одного числа выдают за системный эффект без профиля нагрузки и критического пути; связать workload, инструмент, bottleneck и повторный замер. - **Источники:** benchmark-harness/конфигурация среды + сырые telemetry и profile-артефакты. - **Визуал:** end-to-end critical path и график latency/throughput. - **Голос / объём:** М10, 10–15 тыс. знаков. - **Зависимости и риск:** П18, П45, П99; Р-О, Р-Ф. - **П113 · 2027-07 · Большой разбор надёжности** - **Slug:** `editorial-2027-07-practice-reliability-capstone`, `editorial-2027-07-mechanism-reliability-capstone`, `editorial-2027-07-field-reliability-capstone`. - **Техническая проблема:** reliability сводят к retry и replica, не считая восстановление, нагрузку и организационную реакцию; показать систему ограничений через один отказный сценарий. - **Источники:** incident records/runbook + результаты failure-injection и SLO-метрики. - **Визуал:** fault tree, error budget и timeline восстановления. - **Голос / объём:** М10, 10–15 тыс. знаков. - **Зависимости и риск:** П28, П34, П96; Р-О, Р-К, Р-Ф. - **П114 · 2027-08 · Большой разбор безопасности** - **Slug:** `editorial-2027-08-practice-security-capstone`, `editorial-2027-08-mechanism-security-capstone`, `editorial-2027-08-field-security-capstone`. - **Техническая проблема:** «best practices» не доказывают, что путь атаки закрыт; провести от актива через угрозу к контролю и доказательству тестом. - **Источники:** актуальные официальные security advisory/стандарты + threat model и результаты разрешённого security-теста. - **Визуал:** attack tree и карта контролей. - **Голос / объём:** М10, 10–15 тыс. знаков. - **Зависимости и риск:** П59–П70, П98; Р-В, Р-З, Р-Ф. - **П115 · 2027-09 · Серия для инженера, который растёт** - **Slug:** `editorial-2027-09-practice-mentor-series`, `editorial-2027-09-mechanism-mentor-series`, `editorial-2027-09-field-mentor-series`. - **Техническая проблема:** наставничество даёт абстрактный список навыков и не создаёт доказательства роста; связать ситуацию, упражнение, review и следующий уровень самостоятельности. - **Источники:** учебная программа/репозиторные примеры + обезличенные результаты упражнений и обратная связь. - **Визуал:** skill map и петля deliberate practice. - **Голос / объём:** М10, 9–13 тыс. знаков. - **Зависимости и риск:** П91, П92, П106; Р-К, Р-Ф. - **П116 · 2027-10 · Длинное техническое интервью** - **Slug:** `editorial-2027-10-practice-long-form-interview`, `editorial-2027-10-mechanism-long-form-interview`, `editorial-2027-10-field-long-form-interview`. - **Техническая проблема:** интервью превращается в авторитетный рассказ без проверяемых опор; сопоставить согласованный transcript с кодом, метриками и источниками, а не усиливать реплику редактурой. - **Источники:** утверждённая расшифровка/первичные артефакты собеседника + независимые технические документы, код или измерения. - **Визуал:** карта «утверждение → подтверждение → ограничение». - **Голос / объём:** М10, 10–14 тыс. знаков. - **Зависимости и риск:** П91, П93, П106; Р-К, Р-Ф. - **П117 · 2027-11 · Пересмотр старых советов** - **Slug:** `editorial-2027-11-practice-mistakes-revisions`, `editorial-2027-11-mechanism-mistakes-revisions`, `editorial-2027-11-field-mistakes-revisions`. - **Техническая проблема:** старый совет остаётся в поиске после смены версии или появления контрпримера; сравнить исходный текст, его условия и свежий repro, затем выпустить корректировку. - **Источники:** историческая статья/снимок старой документации + актуальная документация и повторный тест. - **Визуал:** timeline исправлений и таблица «было → почему неверно → теперь». - **Голос / объём:** М10, 9–13 тыс. знаков. - **Зависимости и риск:** П107–П111; Р-В, Р-З, Р-Ф. - **П118 · 2027-12 · Манифест инженерного письма** - **Slug:** `editorial-2027-12-practice-author-manifesto`, `editorial-2027-12-mechanism-author-manifesto`, `editorial-2027-12-field-author-manifesto`. - **Техническая проблема:** манифест легко становится набором лозунгов, не отражающим реальную редакционную практику; вывести правила из разобранных решений, ревью и исправлений, а не объявить их истиной. - **Источники:** архив опубликованных статей/изменений и редакционные review-записи + данные о проверках, исправлениях и обратной связи. - **Визуал:** график эволюции редакционных решений и rubric качества статьи. - **Голос / объём:** М10, 10–15 тыс. знаков. - **Зависимости и риск:** П94, П115–П117; Р-К, Р-Ф. ## Зависимости и порядок запуска 1. **Не переписывать партии из середины траектории раньше опорных.** П01–П11 дают словарь диагностики, интеграций и примеров. П12–П22 расширяют его на браузер, HTTP, API и данные. Это сохраняет правдоподобное развитие автора. 2. **Исследование ведётся партиями, а не одним архивным поиском.** Для каждой партии сначала фиксируются версии и два первичных источника, затем создаётся собственный визуал, после чего пишутся три разные статьи. Общая визуальная «обложка года» не заменяет объясняющую схему внутри статьи. 3. **Артефакты переходят только как зависимость, а не как текстовый шаблон.** Например, П29–П31 можно использовать для терминов наблюдаемости в П67 и П102, но пример, данные и вывод обязаны быть новыми. 4. **Будущие даты блокируют публикационные утверждения.** П102–П118 требуют отдельной проверки календарной актуальности; если факт нельзя подтвердить на дату выпуска, материал остаётся в очереди либо маркируется как план/сценарий. 5. **О-01 не расширять искусственно.** Одиночная статья идёт в том же редакционном окне, что П09 и П12, с полной тройной вычиткой. Добавление фиктивной третьей статьи нарушит сохранность slug-архива. ## Обязательный выход каждой партии - Три разных материала (или один для О-01), каждый в пределах 5–15 тыс. знаков основного текста. - Два проверенных первичных источника с датой и версией. - Один воспроизводимый пример, минимум одна таблица и один объясняющий визуал с осмысленными `alt` и подписью. - Три отдельных результата ревью: факты и техника; редактура и голос; визуал и выпуск. - Перед публикацией — аудит партии, проверка JSON и production-сборка. Партия не считается завершённой по числу переписанных slug без этих доказательств.