Files
progcode/editorial/reviews/2022-11-draft.md
T
huncode f09e56b0fd
Build and deploy / deploy (push) Successful in 15s
revise November 2022 Bitrix performance articles
2026-07-31 14:14:05 +03:00

34 lines
7.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# П57 · 2022-11 · Производительность Bitrix-страницы — три прохода саморевью
## Рамка пакета
- Slug: `editorial-2022-11-practice-bitrix-performance`, `editorial-2022-11-mechanism-bitrix-performance`, `editorial-2022-11-field-bitrix-performance`.
- Голос: М5, ноябрь 2022 года. Краткая прагматичная техническая речь: симптом → причина → проверка → действие. Автор уже системно разделяет границы, но не объявляет production-результат без артефакта.
- Граница: package не запускает Bitrix, PHP, HTTP, SQL, файловый кеш, шаблон, браузер, profiler, часы или метрики. `declared-cache-reuse` и `declared-cache-build` — только ветки локальной модели, не cache hit/miss.
- Sidecar содержит ровно пять новых файлов. Registry, README, `articles.json`, очередь, документация, Git, другие месяцы и чужие файлы не менялись.
## Проход 1 — факты и техника
- Проверены три первичных исторических источника Bitrix с точными immutable Wayback URL и ответом `HTTP/2 200`: [StartResultCache, snapshot 27.09.2022](https://web.archive.org/web/20220927080127id_/https://dev.1c-bitrix.ru/api_help/main/reference/cbitrixcomponent/startresultcache.php), [SetResultCacheKeys, snapshot 15.08.2022](https://web.archive.org/web/20220815073221id_/https://dev.1c-bitrix.ru/api_help/main/reference/cbitrixcomponent/setresultcachekeys.php), [курс о кешировании, snapshot 29.06.2022](https://web.archive.org/web/20220629225339id_/https://dev.1c-bitrix.ru/learning/course/?COURSE_ID=43&LESSON_ID=3485). Все снимки доступны до ноября 2022; текущие плавающие страницы не используются как историческое доказательство.
- Документы применены строго в своей области: `StartResultCache` — для возвращаемых веток и базовых частей зависимости; `SetResultCacheKeys` — для того, какие части `$arResult` сохраняются; курс — для различения типов кеширования. Ни один источник не назван профилем страницы, SQL trace, cache hit-rate или измерением ответа.
- Независимая правка редактора: первоначально rollback строился от исходного объекта, поэтому формально возвращал прежний template, не пройдя через учебно изменённую версию. Теперь `applyTeachingChange` сохраняет отдельную неизменяемую changed model, а rollback начинается именно от неё; fixture проверяет и смену template, и его возврат.
- `runBitrixPerformanceFixture()` имеет тринадцать assertions о локальных объектах: нет runtime/SQL/duration/profiler, полный и неполный key contract различаются, неполный contract блокирует изменение, план создаёт отдельную версию с rollback, rollback возвращает template. Нет assertion о реальном Bitrix, пользователе, HTTP, HTML, миллисекундах или эффекте оптимизации.
## Проход 2 — голос, полнота и объём
- Первые два абзаца каждой статьи называют ошибку и цену: слово «Bitrix» скрывает границу, а слепая очистка кеша, переписывание шаблона или изменение ресурсов увеличивают риск без доказательства причины.
- Каждая статья содержит таблицу, исполнимый code/example, нумерованный маршрут, одну содержательную figure с alt/caption, ограничения, rollback и следующий шаг. Полевой материал не маскирует типичный случай под реальный кейс.
- Основной текст без списка источников: 8 100 / 9 205 / 8 836 знаков. Внутренний builder и `audit:draft` подтверждают диапазон 5 000–15 000 и минимум 8 минут чтения.
## Проход 3 — визуал, безопасность и выпуск
- Три SVG разделяют вопросы: request/component/cache/template evidence contract, полнота cache key и маршрут diagnosis/rollback. На ширине 375 px проверены Sharp-рендеры; заголовки и последовательность различимы, мелкий технический текст не несёт единственного смысла.
- После независимой правки повторно пройдены: `node --check web/scripts/upgrade-2022-11.mjs`; `node web/scripts/upgrade-2022-11.mjs --verify-fixture` — PASS 13/13; `cd web && npm run audit:draft -- scripts/upgrade-2022-11.mjs` — PASS; прямой import-safe экспорт без `date`/`author`; `xmllint --noout`; safety scan без `script`, `foreignObject`, external/data href и inline handlers; Sharp-review всех SVG на 375 px.
- При приёмке пакет добавлен в registry поверх исходных slug; `articles.json`, даты и автор не менялись. README обновлён с 172 до 175 принятых материалов из 358. Чужие sidecar-файлы не затрагивались.
## Интеграционная приёмка
- Строгий аудит опубликованного overlay прошёл для всех трёх slug: 8 108 / 9 205 / 8 864 знака, по одной figure, table и code example. Отдельная merge-проверка подтверждает исходные даты и автора `DarkRiDDeR`; в registry 166 ревизий.
- `npm run build` в `web/` завершился успешно: production-сборка сгенерировала 374 статические страницы. Предупреждения относятся только к неподдерживаемым локальным npm-конфигурациям; TypeScript и Next.js завершились без ошибки.
- Перед commit остаются `git diff --check`, проверка точного staged-набора и отношение к `origin/master`; reset и перезапись архива не применялись.