docs(course): README курса переписан от менти + крючок менторства
- Зачем:
- прежний README вёл читателя в авторские доки (PRD/LEARNING_PLAN/
LESSON_STANDARD), а менти нужна точка входа: с чего начать, как ходить
по урокам и как поднять стенд. Цель PRD — самодостаточный материал.
- Что:
- mentee-first структура: «что нужно до старта» (make up → ddl →
LIMIT=50 make data, совпадает с уроками и правилом малого среза),
индекс уроков 0–6 со ссылками и режимом, «как проходить».
- блок-крючок «сам / с ментором» в тон роадмапа + CTA в Telegram.
- авторские доки убраны в секцию «Под капотом курса».
- Проверка:
- все 11 внутренних ссылок резолвятся; ai-text-lint чист (house style сохранён).
This commit is contained in:
+71
-18
@@ -1,32 +1,85 @@
|
|||||||
# Курс «Кликстрим на ClickHouse» (со звёздочкой)
|
# Курс «Кликстрим на ClickHouse» (со звёздочкой)
|
||||||
|
|
||||||
Продвинутый курс для менти, уже прошедших базовую программу: основные паттерны
|
Это продвинутый курс «со звёздочкой» для тех, кто уже прошёл базовую программу. Ты
|
||||||
инженерии данных на стенде Kafka + ClickHouse + Airflow + мониторинг + BI. Менти проходит
|
поднимаешь у себя живой стенд (Kafka + ClickHouse + Airflow + мониторинг + BI) и
|
||||||
материал самостоятельно, а на еженедельном созвоне с ментором разбирает затыки и отвечает
|
проходишь по нему основные паттерны инженерии данных. Курс самодостаточный — он
|
||||||
на вопросы по теме — чтобы проверить глубину понимания.
|
рассчитан на то, что ты идёшь по нему сам: каждый урок объясняет, зачем нужен паттерн,
|
||||||
|
даёт потрогать его руками и проверить себя в конце.
|
||||||
|
|
||||||
Сам курс — это блок «со звёздочкой» открытого роадмапа Data Engineer
|
Курс — блок «со звёздочкой» открытого роадмапа Data Engineer
|
||||||
([de.dementev.space](https://de.dementev.space/), он же
|
([de.dementev.space](https://de.dementev.space/), он же
|
||||||
[на GitHub](https://github.com/dementev-dev/de-roadmap)). Роадмап открыт и устроен так,
|
[на GitHub](https://github.com/dementev-dev/de-roadmap)).
|
||||||
что идти по нему можно в одиночку; с ментором — ощутимо короче дорога: добавляются
|
|
||||||
персональный план, разбор домашек и код-ревью.
|
|
||||||
|
|
||||||
## Что где искать
|
> **Пройти можно самому — а можно с ментором.** В одиночку реально — курс для того и
|
||||||
|
> сделан. С ментором — быстрее, понятнее и чаще с лучшим результатом:
|
||||||
|
> персональный план под твою ситуацию, разбор затыков на еженедельном созвоне, код-ревью
|
||||||
|
> твоих правок и проверка, что ты понял тему вглубь, а не просто прокликал. Хочешь так —
|
||||||
|
> напиши в Telegram [@dementev_dev](https://t.me/dementev_dev).
|
||||||
|
|
||||||
| Файл | Что это | Когда открывать |
|
## Что нужно до старта
|
||||||
|------|---------|-----------------|
|
|
||||||
| [`PRD.md`](./PRD.md) | Рамка: зачем курс, цели, аудитория, скоуп, критерии успеха | Чтобы понять «что и зачем». Замороженный документ |
|
|
||||||
| [`LEARNING_PLAN.md`](./LEARNING_PLAN.md) | План обучения: карта уроков, маршрут, аудит эталонных путей | Чтобы понять «в каком порядке и из чего» |
|
|
||||||
| [`LESSON_STANDARD.md`](./LESSON_STANDARD.md) | Стандарт уроков: шаблон урока, качество кода, самопроверка | Рабочий чеклист при написании каждого урока |
|
|
||||||
| [`lessons/`](./lessons/) | Сами уроки, по одному файлу (есть: уроки 0–6) | Прохождение курса менти |
|
|
||||||
|
|
||||||
## Порядок чтения
|
- **База пройдена:** SQL, моделирование данных, Python, Git, Docker, Airflow. ClickHouse
|
||||||
|
знать заранее не нужно — это и есть тема курса.
|
||||||
|
- **Обзорное видео по Kafka из роадмапа** — посмотри перед уроком 0. Оттуда ты возьмёшь
|
||||||
|
словарь («топик», «партиция», «offset», «consumer-группа», «lag»), а урок 0 свяжет эти
|
||||||
|
слова с живым стендом.
|
||||||
|
- **Железо:** стек тяжёлый — Kafka, ClickHouse, Airflow, Superset, Prometheus и Grafana
|
||||||
|
поднимаются одновременно. Нужна машина, которая это потянет.
|
||||||
|
- **Подними стенд и залей малый срез** (из корня репозитория) — этого хватит, чтобы
|
||||||
|
начать, и прогон быстрый:
|
||||||
|
|
||||||
1. Новому участнику (или будущей сессии): начать с `PRD.md`, затем `LEARNING_PLAN.md`.
|
```bash
|
||||||
2. Перед написанием урока: держать открытым `LESSON_STANDARD.md`.
|
make up # поднять контейнеры
|
||||||
|
make ddl # создать схему в ClickHouse (базы, таблицы, VIEW)
|
||||||
|
LIMIT=50 make data # залить по 50 строк на топик в Kafka
|
||||||
|
```
|
||||||
|
|
||||||
|
Дальше каждый урок в секции «Руки» сам напоминает, что перезапустить и с каким срезом.
|
||||||
|
Точные шаги, параметры и troubleshooting — в [`docs/OPERATIONS.md`](../OPERATIONS.md).
|
||||||
|
|
||||||
|
## Уроки
|
||||||
|
|
||||||
|
Проходи по порядку — уроки 0→4 повторяют сам пайплайн (Kafka → STG → ODS → DDS →
|
||||||
|
оркестрация), а 5 и 6 надстраиваются поверх готовых данных. В колонке «режим»:
|
||||||
|
**наблюдение** — только смотрим, **руки** — запускаешь и меняешь сам.
|
||||||
|
|
||||||
|
| # | Урок | Режим | О чём |
|
||||||
|
|---|------|-------|-------|
|
||||||
|
| 0 | [Вводный по Kafka](./lessons/00_kafka_intro.md) | наблюдение | Ходим по Kafka UI: где лежат события, кто их читает, как Kafka помнит, докуда дочитано |
|
||||||
|
| 1 | [Kafka → ClickHouse (STG)](./lessons/01_kafka_to_clickhouse.md) | руки | Как сообщение из топика становится строкой ClickHouse через Kafka engine и Materialized View |
|
||||||
|
| 2 | [STG → ODS: типизация и DQ-split](./lessons/02_stg_to_ods.md) | руки | Приводим сырьё к типам и разводим чистое и битое по разным таблицам |
|
||||||
|
| 3 | [ODS → DDS: сборка сущностей](./lessons/03_ods_to_dds.md) | руки | Собираем `click` и `event` из кусочков (argMax, JOIN) и встречаем «сирот» |
|
||||||
|
| 4 | [Оркестрация в Airflow](./lessons/04_airflow_orchestration.md) | руки | Всю цепочку — в один DAG с зависимостями и честным гейтом целостности |
|
||||||
|
| 5 | [Мониторинг: Prometheus и Grafana](./lessons/05_monitoring.md) | наблюдение + мини-правка | Смотрим систему со стороны; гасим сервис — видим, как краснеет алерт |
|
||||||
|
| 6 | [BI-витрина в Superset](./lessons/06_superset_bi.md) | руки (опционально) | Дашборд поверх ClickHouse: KPI, динамика, воронка |
|
||||||
|
|
||||||
|
## Как проходить
|
||||||
|
|
||||||
|
- **По одному уроку за раз** — ожидаемый темп около дня на урок (уроки короткие и
|
||||||
|
односоставные: один паттерн на урок).
|
||||||
|
- **Каждый урок устроен одинаково:** зачем паттерн нужен → что запустить и понаблюдать →
|
||||||
|
чтение эталонного кода → одна управляемая правка с видимым результатом → самопроверка.
|
||||||
|
Любая правка завершается шагом **«верни как было»**, чтобы стенд не остался сломанным.
|
||||||
|
- **Идёшь сам** — опорой служат секции «Проверь себя» в конце каждого урока: по ним
|
||||||
|
видно, понял ты тему или только пробежал глазами.
|
||||||
|
- **Идёшь с ментором** — еженедельный созвон покрывает несколько уроков сразу: туда
|
||||||
|
несёшь затыки и ответы «своими словами» из тех же секций «Проверь себя».
|
||||||
|
|
||||||
## Границы
|
## Границы
|
||||||
|
|
||||||
Материалы под конкретного менти (привязка к работодателю, легенда, подготовка к
|
Материалы под конкретного менти (привязка к работодателю, легенда, подготовка к
|
||||||
собесам) в этот репозиторий **не кладём** — репозиторий публичный, приватное живёт
|
собесам) в этот репозиторий **не кладём** — репозиторий публичный, приватное живёт
|
||||||
в менторской базе.
|
в менторской базе.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Под капотом курса (для автора и любопытных)
|
||||||
|
|
||||||
|
Эти документы менти для прохождения не нужны — они объясняют, как курс устроен и почему
|
||||||
|
именно так. Открывай, если ведёшь курс или хочешь заглянуть в его «исходники».
|
||||||
|
|
||||||
|
| Файл | Что это |
|
||||||
|
|------|---------|
|
||||||
|
| [`PRD.md`](./PRD.md) | Рамка: зачем курс, цели, аудитория, скоуп, критерии успеха (замороженный документ) |
|
||||||
|
| [`LEARNING_PLAN.md`](./LEARNING_PLAN.md) | План обучения: карта уроков, маршрут, аудит эталонных путей |
|
||||||
|
| [`LESSON_STANDARD.md`](./LESSON_STANDARD.md) | Стандарт уроков: шаблон, качество кода, самопроверка — рабочий чеклист при написании |
|
||||||
|
|||||||
Reference in New Issue
Block a user