docs(labs): ТЗ ступени 2 «Свой график в Superset» и порядок программы

- Зачем:
  - программа лаб принята спекой, но индекс docs/labs/ показывал только
    пять витрин и дашборд; ступень 2 не имела ТЗ (#226).
- Что:
  - новое ТЗ docs/labs/superset-chart.md: один столбиковый график доли
    отказов по устройствам поверх dm.session_overview_v, метрика в датасете.
  - docs/labs/README.md: семь ступеней основной программы и пять разделов
    факультативов; правила пяти витрин помечены как правила ступени 1.
  - шапка docs/labs/superset-dashboard.md: факультатив раздела «Superset и BI».
- Проверка:
  - grep 'ё' и 'менти' по трем файлам молчат; скрипт ссылок из тикета
    печатает пусто; git diff --check чистый.

Closes #226
This commit is contained in:
ddadmin committed 2026-09-03 17:12:37 -04:00
1 parent 92948986a0
commit 830efa7ef4
3 files changed
+151 -22

No files matched your search

+58 -17
View File
@@ -1,21 +1,29 @@
# Учебные задания: витрины слоя DM и дашборд в Superset
# Учебные задания
Пять домашних заданий — про витрины слоя DM. Стенд привозит слой
наполовину: витрины трех сюжетов дашборда и контроль качества построены,
остальные витрины строит менти. Каждое из них — самостоятельное ТЗ: что за
витрина, какое у нее зерно, из чего она собирается и как проверить, что
собралась верно.
Программа состоит из двух частей: основная включает семь ступеней, которые ты
проходишь по порядку, а факультативы выбираешь по желанию. Причины такого
порядка и формы заданий описаны в [программе учебных лаб](../specs/2026-09-01-labs-program.md#2-устройство-программы-основная-программа-и-факультативы).
Шестое задание — необязательная лаба в Superset. В ней менти собирает свой
дашборд поверх пяти витрин.
## Основная программа
Общее устройство слоя — [дока DM](../architecture/dm.md). Она отвечает на
вопросы «почему так», задание отвечает на вопрос «что сделать».
| Ступень | Задание | Чему учит |
|---|---|---|
| 1 | Пять витрин слоя DM | построить результат для потребителя хранилища; уроки каждой витрины — в таблице ниже |
| 2 | [Свой график в Superset](superset-chart.md) | превратить свой результат из хранилища в отчет в BI |
| 3 | Нарежь сессии сам | счет показывает проблему, но причину приходится искать в отдельных строках |
| 4 | Перепиши нарезку стенда | изменить расчетную сущность внутри готового конвейера и проверить ее внешним эталоном |
| 5 | Сначала сторож, потом ломай: заказы | построить сторожей до рискованного изменения, а не после первой поломки |
| 6 | Разбери сырые события и сверь результат со стендом | изучить разбор потока отдельно от живого приема и сверить его со стендовым результатом |
| 7 | Мониторинг: куда смотреть | выбрать, куда и на что смотреть в живой системе |
## Порядок
ТЗ для ступеней 3–7 появятся по мере продвижения программы.
Задания идут по нарастанию: каждое следующее опирается на то, что уже
усвоено.
## Ступень 1: пять витрин слоя DM
Слой DM в стенде построен наполовину: витрины трех сюжетов дашборда и контроль
качества уже построены, остальные пять витрин строишь ты. Каждая из них —
самостоятельное ТЗ: в нем есть состав витрины, зерно, источники и способ
проверки.
| № | Результат | Чему учит |
|---|---|---|
@@ -24,11 +32,13 @@
| 3 | [`session_overview`](session-overview.md) | зерно решает, на какие вопросы витрина уже не ответит |
| 4 | [`dq_errors_daily`](dq-errors-daily.md) | у брака свой день и свой срок жизни |
| 5 | [`utm_effectiveness`](utm-effectiveness.md) | `declared_` в имени — предупреждение, а не украшение |
| 6 | [Свой дашборд в Superset](superset-dashboard.md) — необязательная лаба | свои объекты BI живут отдельно от стендовых |
## Общие правила
Общее устройство слоя — [дока DM](../architecture/dm.md). Она отвечает на
вопросы «почему так», задание отвечает на вопрос «что сделать».
Они одни для пяти заданий по витринам, поэтому записаны здесь, а не
## Общие правила ступени 1
Они одни для пяти заданий по витринам ступени 1, поэтому записаны здесь, а не
повторяются в каждом ТЗ.
**Читать — через `_v`.** Публичный договор сущности DDS — представление с
@@ -72,7 +82,7 @@ DDS, и задания остаются независимыми. Исключе
Списывать с нее устройство можно и нужно; списывать состав колонок — нет,
он у каждой витрины свой.
## Самопроверка
## Самопроверка ступени 1
Даг `homework_check` запускается рукой, расписания у него нет. Задача
витрины красная, пока витрины нет или счет не сходится, и зеленая, когда
@@ -101,6 +111,37 @@ DDS, и задания остаются независимыми. Исключе
Смотреть туда стоит после своей сборки: сравнить два решения полезно,
списать одно — нет.
## Факультативы
Эти задания ты берешь по желанию. Полный список сюжетов — в разделе
[«Факультативы — пять разделов»](../specs/2026-09-01-labs-program.md#4-факультативы--пять-разделов)
программы.
### Почему выручка не сходится
Открывается после ступени 1. Расхождения между источниками, повторы
покупок и день, после которого отчет можно считать окончательным.
### Тонкий анализ данных
Открывается после ступени 1. Знание о пользователе на дату и обогащение
отчета своим словарем.
### Superset и BI
Открывается после ступени 2. [Свой дашборд в Superset](superset-dashboard.md):
свои объекты BI живут отдельно от стендовых.
### Инженерия стенда
Открывается после ступени 1. Прием и хранение данных, раскладка по шардам,
повторная обработка дня и обновление витрин.
### Что делать, когда стенд сломался
Открывается после ступени 7. Поломки стенда и runbook по итогам
расследований; весь раздел — повышенная сложность.
## Уборка
Черновики и опыты за собой сносить: правило проверок стенда —