docs(course): зафиксировано целеполагание стенда, демо-материалы удалены
- Зачем:
- целеполагание было размазано по обсуждениям: место стенда в менторской
программе и иерархия целей нигде не были записаны, а демо-употребление
стенда устарело (выросло в отдельный проект).
- Что:
- PRD курса §1: место стенда в треке ClickHouse (теория и лабы вне репо,
здесь — интеграции), иерархия целей курс -> стенд -> генератор;
схема потока обновлена на генератор как источник.
- PRD §7: закрыта развилка про урок о генераторе (урока не будет,
генератор — скрытая инфраструктура), добавлена открытая развилка про
кластерную конфигурацию.
- удалены DEMO_CHEATSHEET_5MIN.md и DEMO_SCRIPT_10_15MIN.md; ссылок на них
в репозитории не осталось.
- Проверка:
- grep -rn "DEMO_CHEATSHEET\|DEMO_SCRIPT" --include="*.md" . — только
исторический handoff.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+56
-11
@@ -9,6 +9,13 @@
|
||||
> Поправка 2026-06-03 (терминология): режим сопровождения — еженедельный **созвон**, а не
|
||||
> «сессия»; менти проходит материал сам и ничего «не приносит», а на созвоне ментор
|
||||
> разбирает затыки и проверяет глубину понимания. Затронуты §1, §3, §5.
|
||||
> Поправка 2026-07-04 (целеполагание): §1 расширен — зафиксировано место стенда в
|
||||
> экосистеме менторской программы (теория и лабы по ClickHouse живут в других местах,
|
||||
> здесь — интеграции «как в жизни») и иерархия целей вплоть до генератора. Демо-материалы
|
||||
> (шпаргалки 5 и 10–15 минут) устарели и удалены: демо выросло в отдельный проект и целью
|
||||
> стенда больше не является. Схема потока в §1 обновлена под генератор (источник данных
|
||||
> сменился, см. ADR-0006). В §7 закрыта развилка про урок о генераторе и добавлена
|
||||
> развилка про кластерную конфигурацию.
|
||||
> Назначение документа: зафиксировать для будущих сессий, что это за курс, зачем
|
||||
> он, что входит в скоуп работ, а что нет. Это договорная **рамка**, а не план
|
||||
> реализации и не стандарт уроков (см. раздел «Связанные документы»).
|
||||
@@ -23,8 +30,8 @@
|
||||
Репозиторий — рабочий сквозной стенд кликстрим-DWH:
|
||||
|
||||
```
|
||||
data/*.jsonl → Kafka → ClickHouse (Kafka engine + MV → STG) → Airflow ETL (STG→ODS→DDS→DM) → Superset
|
||||
↘ Prometheus / Grafana (мониторинг)
|
||||
generator (backfill/live) → Kafka → ClickHouse (Kafka engine + MV → STG) → Airflow ETL (STG→ODS→DDS→DM) → Superset
|
||||
↘ Prometheus / Grafana (мониторинг)
|
||||
```
|
||||
|
||||
Стенд близок к продакшену и показывает несколько паттернов инженерии данных на
|
||||
@@ -32,6 +39,33 @@ data/*.jsonl → Kafka → ClickHouse (Kafka engine + MV → STG) → Airflow ET
|
||||
программу обучения — это **продвинутый курс «со звёздочкой»** для менти, уже
|
||||
прошедших базу (SQL, моделирование, Python, Git, Docker, Airflow).
|
||||
|
||||
### Место стенда в менторской программе (2026-07-04)
|
||||
|
||||
Трек ClickHouse для продвинутых менти состоит из трёх частей, и у каждой своя роль:
|
||||
|
||||
- **Теория** — внешние курсы (бесплатный курс Яндекса или запись курса Отус).
|
||||
Здесь теорию не пересказываем.
|
||||
- **Лабы по самому ClickHouse** — отдельный стенд
|
||||
[clickhouse-learning-cluster](https://github.com/dementev-dev/clickhouse-learning-cluster):
|
||||
полноценный кластер, но без внешних интеграций.
|
||||
- **Этот стенд** — то, чего нет в первых двух: ClickHouse в окружении «как в жизни».
|
||||
Интеграции (Kafka, Airflow), мониторинг и BI поверх. Ниша стенда — не сам
|
||||
ClickHouse, а инженерия данных вокруг него.
|
||||
|
||||
Иерархия целей внутри репозитория:
|
||||
|
||||
1. **Курс — главная цель.** Всё остальное — средства.
|
||||
2. **Стенд — носитель курса.** Должен подниматься одной командой, давать
|
||||
правдоподобные данные (пирамида «пользователи < визиты < события», суточная
|
||||
волна, возвраты) и быстро воспроизводиться.
|
||||
3. **Генератор — скрытая инфраструктура стенда.** Его задача — живые данные:
|
||||
стартовая история плюс живое продолжение. Учебным предметом не является
|
||||
(решение — §7); пользовательская граница — «как пользоваться», не «как устроен».
|
||||
|
||||
Демо-употребление стенда (шпаргалки на 5 и 10–15 минут) **устарело**: демо выросло
|
||||
в отдельный проект и целью этого репозитория больше не является (2026-07-04,
|
||||
материалы удалены).
|
||||
|
||||
Цель курса — превратить стенд в **самостоятельный учебный материал**, по которому
|
||||
продвинутый менти проходит ключевые паттерны сам, а ментор подключается на обычном
|
||||
еженедельном созвоне (что получилось / что нет / вопросы / план на неделю). Долгий
|
||||
@@ -139,17 +173,28 @@ Kafka → ClickHouse → BI).
|
||||
синхронизирован с реальным дашбордом; остаётся опциональным (обязательные уроки не
|
||||
блокирует).
|
||||
|
||||
Закрыто позже:
|
||||
|
||||
- ~~Генератор как инфраструктура против отдельного урока (открыто, 2026-06-14).~~
|
||||
**Решено (2026-07-04): отдельного урока про генератор не будет — генератор
|
||||
остаётся скрытой инфраструктурой.** Причина: устройство генератора (марковская
|
||||
модель, нетривиальный Python) — это разработка бэкенда и математика, а не
|
||||
инженерия данных; такой урок не попадает в цели курса, и менти его не ожидает.
|
||||
Существующие уроки адаптируем без ввода марковских цепей и сложного Python в
|
||||
путь менти (задача — `.scratch/generator-model-time-startup-history/issues/08-migrate-course-from-archive-seed.md`).
|
||||
Удобство стенда (одна команда + короткий runbook) остаётся отдельной задачей
|
||||
(`.scratch/generator-model-time-startup-history/issues/07-startup-history-portable-artifact-and-usage-docs.md`)
|
||||
и делает адаптацию уроков проще, но решение от неё больше не зависит.
|
||||
|
||||
Остаётся на будущее:
|
||||
|
||||
- Переиспользование: после **первого реального прогона менти** — ретроспектива и
|
||||
обобщение материала под других менти. Это валидация уже собранного курса, а не
|
||||
часть его подготовки.
|
||||
- Генератор как инфраструктура против отдельного урока (открыто, 2026-06-14).
|
||||
Устройство генератора вышло сложным (марковская модель, нетривиальный Python), а
|
||||
цель менти — быстро потренироваться в ClickHouse/Kafka. Вопрос: делать ли
|
||||
отдельный урок про генератор (возможный «урок 7») или оставить генератор скрытой
|
||||
инфраструктурой и **адаптировать существующие уроки**, не вводя марковские цепи и
|
||||
сложный Python в путь менти. Решение зависит от удобства стенда: если он
|
||||
поднимается одной командой и есть короткий runbook (см. бэклог фичи генератора,
|
||||
`.scratch/generator-model-time-startup-history/issues/08-startup-history-portable-artifact-and-usage-docs.md`),
|
||||
отдельный урок, скорее всего, не нужен.
|
||||
- Кластерная конфигурация ClickHouse (открыто, 2026-07-04). Сейчас стенд —
|
||||
одноузловой ClickHouse; кластер живёт в соседнем
|
||||
[clickhouse-learning-cluster](https://github.com/dementev-dev/clickhouse-learning-cluster).
|
||||
Развилка: оставить разделение «здесь интеграции, там кластер» или доработать этот
|
||||
стенд до кластера — «всё в одном» удобнее и ближе к промышленной системе, но
|
||||
ощутимо утяжеляет стенд (ресурсы, конфигурация, сложность уроков) и размывает
|
||||
нишу learning-cluster. Решение не принято.
|
||||
|
||||
Reference in New Issue
Block a user