docs(labs): ТЗ необязательной лабы «свой дашборд в Superset» #197

Closed
opened 2026-08-31 00:08:45 +03:00 by ddmitry · 1 comment
Owner

Part of #10

Цель

ТЗ необязательной лабы: менти заводит свои датасеты поверх витрин, которые
сам построил в лабах 1–5, и собирает собственный дашборд в Superset,
стендовый не трогая. Урок — базовое владение BI-инструментом: полезный навык
дата-инженера, но стенд в первую очередь про ClickHouse, поэтому лаба
необязательная.

Критерии приёмки

  • Документ docs/labs/superset-dashboard.md: что за дашборд, из каких
    витрин собирается, как проверить себя. Слаг называет предмет задания —
    у этой лабы это дашборд, а не витрина.
  • В ТЗ назван довод «стендовый дашборд не расширять»: его перезапишет
    импорт с --overwrite; свой дашборд — по тому же правилу, что свой
    DDL в 70-labs.sql.
  • Строка лабы в таблице docs/labs/README.md с пометкой
    «необязательная»; колонка таблицы называется «Витрина» — шапку
    можно поправить, если строка в неё не ложится.
  • Правило AGENTS.md про имена в docs/labs/ расширено с «слаг
    называет витрину задания» до «слаг называет предмет задания» —
    тем же PR, по правилу «решения переносятся в доки».
  • Дока DM: обещание «отдельная домашка после этапа 8» указывает на эту
    лабу и называет её необязательной.
  • Самопроверка через homework_check не заводится: у дашборда нет
    счётного инварианта, раздел «Как проверить себя» описывает проверку
    глазами.

Границы

  • Стендовый дашборд и дерево infra/superset/import/ не менять.
  • ТЗ остальных лаб не править, кроме строки в README.

Сначала прочитать

  • docs/labs/README.md — устройство лаб и общие правила;
  • docs/architecture/dm.md, «Кто строит: стенд и менти»;
  • стендовый дашборд из #196 — образец и то, что менти не трогает.

Проверка

  • Вычитка текста; кода и DDL в тикете нет.
Part of #10 ## Цель ТЗ необязательной лабы: менти заводит свои датасеты поверх витрин, которые сам построил в лабах 1–5, и собирает собственный дашборд в Superset, стендовый не трогая. Урок — базовое владение BI-инструментом: полезный навык дата-инженера, но стенд в первую очередь про ClickHouse, поэтому лаба необязательная. ## Критерии приёмки - [x] Документ `docs/labs/superset-dashboard.md`: что за дашборд, из каких витрин собирается, как проверить себя. Слаг называет предмет задания — у этой лабы это дашборд, а не витрина. - [x] В ТЗ назван довод «стендовый дашборд не расширять»: его перезапишет импорт с `--overwrite`; свой дашборд — по тому же правилу, что свой DDL в `70-labs.sql`. - [x] Строка лабы в таблице `docs/labs/README.md` с пометкой «необязательная»; колонка таблицы называется «Витрина» — шапку можно поправить, если строка в неё не ложится. - [x] Правило AGENTS.md про имена в `docs/labs/` расширено с «слаг называет витрину задания» до «слаг называет предмет задания» — тем же PR, по правилу «решения переносятся в доки». - [x] Дока DM: обещание «отдельная домашка после этапа 8» указывает на эту лабу и называет её необязательной. - [x] Самопроверка через `homework_check` не заводится: у дашборда нет счётного инварианта, раздел «Как проверить себя» описывает проверку глазами. ## Границы - Стендовый дашборд и дерево `infra/superset/import/` не менять. - ТЗ остальных лаб не править, кроме строки в README. ## Сначала прочитать - `docs/labs/README.md` — устройство лаб и общие правила; - `docs/architecture/dm.md`, «Кто строит: стенд и менти»; - стендовый дашборд из #196 — образец и то, что менти не трогает. ## Проверка - Вычитка текста; кода и DDL в тикете нет.
Author
Owner

Реализация готова, ждет слияния в PR #199 (закрывает issue).

Что сделано по ТЗ (docs/labs/superset-dashboard.md):

  • docs/labs/superset-dashboard.md — новый документ лабы: какой дашборд, из
    каких пяти витрин собирается, как проверить себя глазами;
  • docs/labs/README.md — шестая строка таблицы, лаба помечена
    необязательной, формулировка «пять заданий по витринам» разводит ее с
    обязательными лабами;
  • docs/architecture/dm.md — ссылка на лабу вместо обещания «отдельная
    домашка после этапа 8»;
  • AGENTS.md — правило про имена в docs/labs/ расширено с «слаг называет
    витрину задания» до «слаг называет предмет задания».

Отдельное решение по ходу слепого ревью (находка REV-2): срок жизни
объектов менти в Superset — не факт лабы, а факт архитектуры, поэтому
абзац об этом добавлен в docs/architecture/superset.md рядом с правилом
«стендовые объекты не расширяют руками», а лаба на него ссылается. Это
расширило границу тикета одним файлом сверх исходных четырех — решение
принято сознательно, чтобы не задваивать источник истины.

Слепое ревью: закрыто 9 находок (восемь исправлены сразу, девятая —
через решение выше), при перепроверке нашлись и закрыты еще две
мелкие. homework_check для лабы не заводился: у дашборда нет счетного
инварианта, самопроверка — глазами, как и требовало ТЗ.

Реализация готова, ждет слияния в PR #199 (закрывает issue). Что сделано по ТЗ (docs/labs/superset-dashboard.md): - docs/labs/superset-dashboard.md — новый документ лабы: какой дашборд, из каких пяти витрин собирается, как проверить себя глазами; - docs/labs/README.md — шестая строка таблицы, лаба помечена необязательной, формулировка «пять заданий по витринам» разводит ее с обязательными лабами; - docs/architecture/dm.md — ссылка на лабу вместо обещания «отдельная домашка после этапа 8»; - AGENTS.md — правило про имена в docs/labs/ расширено с «слаг называет витрину задания» до «слаг называет предмет задания». Отдельное решение по ходу слепого ревью (находка REV-2): срок жизни объектов менти в Superset — не факт лабы, а факт архитектуры, поэтому абзац об этом добавлен в docs/architecture/superset.md рядом с правилом «стендовые объекты не расширяют руками», а лаба на него ссылается. Это расширило границу тикета одним файлом сверх исходных четырех — решение принято сознательно, чтобы не задваивать источник истины. Слепое ревью: закрыто 9 находок (восемь исправлены сразу, девятая — через решение выше), при перепроверке нашлись и закрыты еще две мелкие. `homework_check` для лабы не заводился: у дашборда нет счетного инварианта, самопроверка — глазами, как и требовало ТЗ.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: ddmitry/clickstream-data-platform#197