Предлагаемые треки
Далее представлен список направлений с описанием основных степеней изучения той или иной технологии на выбор.
Трек P1 "Python intro" - Ступени изучения Python для начинающих
Трек "Python intro" направлен на успешное освоения языка Python, после которого специалист может выбрать любое другое направление.
1
Установка среды разработки
  • Установка интерпретатора Python (обычно версии 3.x).
  • Выбор редактора кода или IDE (например, Visual Studio Code, PyCharm, Sublime Text).
  • Настройка рабочей среды: создание виртуального окружения (опционально).
2
Основы синтаксиса
  • Переменные и типы данных: строки, числа, булевы значения.
  • Операции над данными: арифметические операции, сравнение значений.
  • Условные конструкции (if, else, elif) и логические операторы (and, or, not).
  • Циклы (for, while) и управление потоком выполнения программы.
3
Структуры данных
  • Списки, кортежи, множества, словари.
  • Методы работы с этими структурами данных: добавление элементов, удаление, изменение порядка.
  • Срезы и индексация.
4
Функции и Функциональное программирование
  • Определение функций с параметрами и возвращаемыми значениями.
  • Рекурсия и её применение.
  • Лямбда-функции и анонимные функции.
5
Файлы и ввод-вывод
  • Открытие и закрытие файлов.
  • Чтение и запись данных в файлы.
  • Форматы файлов: текстовые, двоичные (опционально).
6
Исключения и обработка ошибок
  • Обработка исключительных ситуаций с помощью конструкций try, except, finally.
  • Создание собственных исключений.
7
Модули и пакеты (опционально)
  • Создание и импортирование собственных модулей.
  • Работа с пакетами и организация проекта.
8
Объектно-ориентированное программирование (ООП)
  • Классы и объекты.
  • Наследование, полиморфизм, инкапсуляция.
  • Магические методы (__init__, __str__, __repr__ и другие).
9
Работа с датами и временем
  • Модуль time: получение текущего времени, задержки в выполнении программы.
  • Модуль datetime: работа с датами и временными интервалами.
10
Регулярные выражения (опционально)
  • Базовая работа с модулем re: сопоставление шаблонов, поиск подстрок, замена текста.
11
Отладка и тестирование. Красно-Зеленый стиль написания кода
  • Написание тестов для проверки корректности работы программы.
  • Использование встроенных средств отладки (например, pdb).
12
Продвинутые темы
  • Итераторы и генераторы.
  • Декораторы.
  • Контекстные менеджеры (with).
13
Документирование и оформление кода (для самых педантичных)
  • Комментирование кода.
  • Оформление кода согласно PEP 8 (стандарты кодирования в Python).
14
Самостоятельное изучение и практика
  • Чтение книг и документации по Python.
  • Участие в сообществах разработчиков, обсуждение вопросов и решений.
  • Решение задач на сайтах типа LeetCode, HackerRank, Codewars (обязательно)
Трек P2 "SQL intro" - Ступени изучения навыков написания запросов к Базам и Хранилищам данных.
Трек "SQL intro" направлен на успешное освоения навыков написания запросов к Базам и Хранилищам данных, например для тех, кто хочет вырасти до Junior DWH Developer.
1
Понимание основ реляционных баз данных
  • Что такое базы данных?
  • Реляционная модель данных: таблицы, столбцы, строки.
  • Типы данных: целочисленные, строковые, даты, логические и т.д.
  • Нормальные формы (1NF, 2NF, 3NF).
2
Основные команды SQL
  • SELECT: выборка данных из таблиц.
  • WHERE: фильтрация данных.
  • ORDER BY: сортировка результатов.
  • GROUP BY и агрегационные функции (COUNT, SUM, AVG, MAX, MIN):
  • JOIN и UNION: объединение таблиц.
  • HAVING: фильтрация финального среза данных.
3
Создание и модификация таблиц
  • CREATE TABLE: создание новой таблицы.
  • ALTER TABLE: изменение существующей таблицы.
  • DROP TABLE: удаление таблицы.
4
Манипуляция данными
  • INSERT INTO: вставка данных в таблицу.
  • UPDATE: обновление существующих записей.
  • DELETE: удаление данных из таблицы.
5
Индексы и ограничения
  • Индексы: ускорение запросов.
  • Ограничения: обеспечение целостности данных
PRIMARY KEY: уникальный идентификатор записи.
FOREIGN KEY: связь между таблицами.
UNIQUE: уникальность значения в колонке.
NOT NULL: обязательное наличие значения.
6
Транзакции
  • Понятие транзакций.
  • Команды COMMIT и ROLLBACK.
  • Атомарность, согласованность, изоляция, долговечность (ACID).
7
Подзапросы и CTE (Common Table Expressions)
  • Подзапросы внутри других запросов.
  • CTE: временные результаты для многократного использования.
8
Агрегированные данные и аналитические запросы
  • Агрегационные функции: COUNT, SUM, AVG, MAX, MIN.
  • Построение отчётов с использованием группировок и фильтров.
  • Окна и оконные функции: ROW_NUMBER(), RANK(), DENSE_RANK(), LAG(), LEAD().
9
Хранилища данных (Data Warehouses)
  • Концепция хранилищ данных.
  • ETL-процессы (Extract, Transform, Load).
  • Моделирование данных: звёздная схема, снежинка.
  • Фактовые и размерные таблицы.
10
Практическая работа
  • Решение реальных задач на платформах типа HackerRank, LeetCode (обязательно).
  • Проекты на GitHub: создание и поддержка репозитория с примерами SQL-запросов.
  • Участие в открытых источниках данных (Kaggle, Open Datasets).
  • Изучение различных вариантов хранилищ данных.
Трек P3 "Apache Airflow intro" - Ступени изучения оркестратора Apache Airflow.
Трек "Apache Airflow" направлен на успешное освоения навыков написания ETL и ELT потоков данных с 0 до уровня ETL Developer.
1
Основы Apache Airflow
  • Что такое Airflow? Ознакомьтесь с основными концепциями Airflow: DAGs (Directed Acyclic Graphs), Operators, Tasks, Sensors, Triggers.
  • Архитектура Airflow: Узнайте о компонентах Airflow: Webserver, Scheduler, Executor, Metadata Database, Workers.
  • Установите Airflow локально: Установите Airflow на свой компьютер, используя pip или Docker.
2
Создание первого DAG
  • Создайте простой DAG: Создайте DAG, состоящий из нескольких задач, выполняющих простые операции, такие как печать сообщений или выполнение SQL-запросов.
  • Запуск и мониторинг DAG: Запустите созданный DAG и ознакомьтесь с интерфейсом Airflow UI для мониторинга состояния задач.
3
Operators и Tasks
  • Изучите стандартные Operators: BashOperator, PythonOperator, EmailOperator, SqliteOperator и другие.
  • Создание кастомных операторов: Научитесь создавать свои собственные операторы для выполнения специфичных задач.
4
Конфигурация и настройка Airflow (опционально)
  • Настройте Airflow: Изучите конфигурационный файл airflow.cfg и настройте параметры, такие как количество параллельных задач, интервалы проверок и т.д.
  • Использование переменных и подключений: Научитесь работать с переменными и подключениями для хранения чувствительной информации и параметров подключения к внешним сервисам.
5
ETL пайплайн с использованием Airflow
  • Извлекайте данные: Используйте Airflow для извлечения данных из различных источников, таких как базы данных, API, файлы.
  • Преобразуйте данные: Применяйте преобразования данных с использованием Python или SQL.
  • Загружайте данные: Загрузите преобразованные данные в целевой источник, такой как база данных, облачное хранилище или другой сервис.
6
Расширенная функциональность Airflow
  • Triggers и Sensors: Научитесь использовать триггеры и сенсоры для запуска задач по определенным условиям.
  • XCom: Освойте механизм передачи данных между задачами с использованием XCom.
  • Branching и условные задачи: Создавайте ветвящиеся DAG'и с использованием условных операторов.
7
Мониторинг и алертинг
  • Логирование и мониторинг: Настройте логирование и мониторинг задач с использованием встроенных инструментов Airflow.
  • Алерты и уведомления: Настройте отправку уведомлений при сбоях или завершении задач.
8
Реальные проекты и кейсы
  • Проекты на GitHub: Найдите и реализуйте реальные проекты с использованием Airflow на GitHub.
  • Участие в сообществе: Участвуйте в обсуждениях на форумах и в чатах, помогайте другим пользователям решать проблемы.
Трек P4 "GIT intro" - Ступени изучения GIT
Трек "GIT intro" направлен на успешное освоения системы контроля версий, широко используемой в командной работе и управлении любыми проектами.
1
Установка Git и Базовая настройка
  • Скачайте и установите последнюю версию Git для вашей операционной системы (Windows, macOS, Linux).
  • Проверьте установку, выполнив команду в терминале: git --version
  • Настройте имя пользователя и адрес электронной почты, которые будут использоваться для коммитов.
2
Создание локального репозитория и Добавление файлов в репозиторий
  • Создайте новый каталог для вашего проекта.
  • Инициализируйте пустой репозиторий Git.
  • Создайте тестовый файл.
  • Добавьте изменения в индекс.
  • Зафиксируйте изменения (создайте коммит).
3
Просмотр истории изменений, Изменение и фиксация изменений, Отмена изменений
  • Посмотрите историю коммитов.
  • Измените содержимое файла.
  • Проверьте статус репозитория.
  • Добавьте измененный файл в индекс и создайте новый коммит.
  • Отмените изменения, которые еще не были зафиксированы.
  • Откатите последний коммит.
4
Работа с ветками (branches)
  • Создайте новую ветку.
  • Переключитесь на созданную ветку.
  • Сделайте изменения в этой ветке и зафиксируйте их.
  • Вернитесь обратно на основную ветку (master или main).
  • Объедините изменения из ветки feature_x в основную ветку.
5
Удаленное хранилище (remote repository), Клонирование существующего репозитория, Получение обновлений из удалённого репозитория
  • Зарегистрируйтесь на платформе для хостинга Git-репозиториев (например, GitHub, GitLab, Bitbucket).
  • Создайте новый удалённый репозиторий на выбранной платформе.
  • Свяжите ваш локальный репозиторий с удалённым.
  • Отправьте изменения на удалённое хранилище.
  • Склонируйте существующий репозиторий.
  • Обновите локальную копию репозитория.
6
Решение конфликтов слияния
Если при объединении веток возникают конфликты, Git предложит вручную разрешить их.
7
Теги (tags)
  • Создайте тег для определенной версии.
  • Отправьте теги на удалённый репозиторий.
8
Игнорирование файлов
  • Создайте файл .gitignore для игнорирования определённых типов файлов.
9
Совместная работа и Pull Requests
  • Создайте форк (копию) чужого репозитория на GitHub.
  • Внесите изменения в своём форке.
  • Отправьте изменения на ваш форк.
  • На сайте GitHub создайте Pull Request для предложения ваших изменений владельцу оригинального репозитория.
Трек P5 "Docker intro" - Ступени изучения Docker
Трек "GIT intro" направлен на успешное освоение Docker — это популярная технология контейнеризации, которая позволяет упаковывать приложения вместе с их зависимостями в легковесные, переносимые контейнеры. Это упрощает разработку, тестирование и развёртывание приложений.
1
Основы Docker
  • Установка Docker.
  • Понимание концепции контейнеров.
  • Первый запуск контейнера.
2
Работа с образами
  • Поиск и загрузка образов.
  • Создание собственного образа.
3
Оркестрация контейнеров
  • Композиция сервисов с Docker Compose.
  • Масштабирование сервисов.
4
Взаимодействие с хост-системой
  • Тома и монтирование файлов.
  • Сети и порты.
5
Продвинутые возможности (Опционально)
  • Docker Swarm.
  • Docker Registry.
Made on
Tilda