From 56133ccfaed1f3193fac2b1d37d0c781a7ab3777 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Sun, 27 Sep 2026 16:23:46 -0400 Subject: [PATCH] =?UTF-8?q?docs(docs):=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=20=D1=87=D0=B5=D1=80=D0=BD=D0=BE=D0=B2=D0=B8?= =?UTF-8?q?=D0=BA=20=D0=BF=D1=80=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=B8=20=D1=83=D1=87=D0=B5=D0=B1=D0=BD=D0=BE=D0=B3=D0=BE=20?= =?UTF-8?q?=D0=BC=D0=B0=D1=80=D1=88=D1=80=D1=83=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: нужны письменные указания по порядку и глубине изучения материалов. - Что: описаны первый разбор Python, дальнейшие направления для SQL и Airflow; добавлена задача в бэклог. - Проверка: проверены относительные ссылки, отсутствие приватных идентификаторов и пробелов в конце строк; git diff --cached --check прошел. --- project/TODO.md | 6 ++ project/specs/2026-09-27-learning-route.md | 86 ++++++++++++++++++++++ 2 files changed, 92 insertions(+) create mode 100644 project/specs/2026-09-27-learning-route.md diff --git a/project/TODO.md b/project/TODO.md index a55bf7e..69231ba 100644 --- a/project/TODO.md +++ b/project/TODO.md @@ -13,6 +13,12 @@ ## P2 +- [ ] **Проработать инструкции по прохождению крупных блоков.** + Начать с Python: определить части внешних курсов, глубину изучения + и практику для бесплатной альтернативы. Далее связать DEV1, книгу и QPT, + затем главы Airflow с существующими заданиями. + [Черновик обсуждения](specs/2026-09-27-learning-route.md). + - [ ] **Дополнить практику Kafka перед Clickstream.** В `nifi-kafka-postgres-lab` добавить опыты на существующем потоке: остановить потребителя и дочитать накопившиеся сообщения; прочитать diff --git a/project/specs/2026-09-27-learning-route.md b/project/specs/2026-09-27-learning-route.md new file mode 100644 index 0000000..d2f8597 --- /dev/null +++ b/project/specs/2026-09-27-learning-route.md @@ -0,0 +1,86 @@ +# Как проходить материалы роадмапа + +Статус: черновик для обсуждения. Базовая актуализация опубликована отдельно +в коммите `806417c`. Здесь прорабатываем следующий этап: письменные указания +по порядку занятий, глубине чтения и выполнению заданий. + +## Задача + +На занятиях ментор регулярно объясняет, какие части внешнего курса нужны +целиком, где достаточно нескольких упражнений и когда переходить к стенду. +Эти указания должны быть доступны рядом с материалами, до начала работы. + +Предлагаемый формат: в README оставить общий маршрут. Подробные инструкции +к крупным блокам вынести на отдельные страницы со ссылками из этих разделов. +У каждого шага должны быть понятны материал, глубина изучения, практика +и результат, с которым можно переходить дальше. + +## Какие вопросы должна закрыть инструкция + +- Какие части внешних курсов Python нужны для дальнейшей практики? +- Насколько подробно изучать устройство PostgreSQL в QPT? +- Какие главы книги прочитать перед конкретными лекциями DEV1? +- Как поддерживать SQL-практику после перехода к следующему блоку? +- Когда запускать каждый стенд и какие задания на нем выполнять? + +Объем упражнений связываем с проверяемыми умениями. Индивидуальные сроки +и сокращения программы не превращаем в требования ко всем учащимся. + +## Что уже определено + +- Docker впервые используем на DEV1: запускаем PostgreSQL, проверяем статус, + подключаемся к базе. Подробный блок Docker остается дальше. +- Data Vault и Anchor Modeling изучаем обзорно. +- venv и JupyterLab осваиваем перед Python для продвинутых. +- Greenplum остается первой курсовой; Kafka, ClickHouse и Clickstream входят + в основную программу. Lakehouse и dbt идут после нее. +- Задания Python и SQL в Airflow уже есть. Для них нужна привязка к чтению + учебника и моменту выполнения. +- Опыты с Kafka записаны отдельной задачей в [TODO](../TODO.md). + +## Первый блок для проработки: Python + +Собрать инструкцию к существующим курсам и бесплатным материалам. +Начальный вариант границ для проверки: + +| Тема | Как проходить | Как проверить результат | +|---|---|---| +| Вложенные списки и матрицы | Выборочные упражнения на механику | Самостоятельно обойти и изменить вложенный список | +| Словари, функции, файлы | Подробно, с практикой | Прочитать данные, преобразовать их и сохранить результат | +| Turtle и Monte Carlo | Можно пропустить в основном маршруте | Отдельная проверка не нужна | +| Память и ссылки, исключения, итераторы и генераторы | Включить и в курс, и в бесплатную альтернативу | Объяснить поведение небольшого примера и самостоятельно изменить его | + +Два варианта после advanced Python должны приводить к одному набору умений: +выбранные части Python Professional или последовательность бесплатных +материалов с упражнениями. Особенно проверить покрытие управления памятью +и обработки исключений. + +Перед публикацией нужно сверить актуальное оглавление обоих курсов, +подобрать точные разделы и определить достаточную практику. Проценты заданий +из отдельной встречи не заменяют этого отбора. Также нужно уточнить глубину +ООП, pandas и декораторов для дальнейших заданий Airflow. + +## Следующие кандидаты + +Для DEV1 связать лекции, главы книги и практику на `postgres-bookings`. +Например, чтение о транзакциях поставить перед темой MVCC. На входе пояснить, +где выполняются команды: терминал, `psql`, редактор SQL в DBeaver. + +Для QPT описать результат первого прохода и возвращение к теме позже. +Предлагаемый результат: прочитать план, сопоставить оценки с фактическими +строками, сформулировать и проверить гипотезу. Повторная практика должна +использовать уже знакомую базу и конкретный запрос. + +Для Airflow сопоставить главы учебника с существующими заданиями. +В каждом переходе обозначить, что сначала разбираем по готовому примеру, +что делаем самостоятельно и как проверяем результат. + +На переходах между крупными блоками напомнить о короткой регулярной практике +SQL, а после Python добавить и его поддержание. Объем подбирать по учебной +нагрузке; календарные сроки всей программы пока не фиксировать. + +## Как оценить первый результат + +На примере Python проверить, может ли читатель определить свой следующий шаг, +объем чтения и практики, способ проверки и условие перехода дальше. +После этого решить, подходит ли такой формат для остальных блоков.