Инженеры/архитекторы/аналитики данных
1.01K subscribers
1 photo
3 videos
58 links
Канал посвящен обучению с нуля до архитектора хранилища данных. Изучаем SQL, Power BI, ETL, Python, моделирование DWH, выбор технических решений для DWH.
Download Telegram
Завтра начинаем первую встречу группы по подготовке к трудоустройству аналитиков данных.

За последние несколько дней удалось пообщаться с несколькими будущими участниками и провести небольшие интервью. Было интересно увидеть, что, несмотря на разный опыт, проблемы у большинства очень похожи.

Кто-то уже закончил несколько курсов и регулярно проходит собеседования, но пока не получает оффер.

Кто-то хорошо решает SQL-задачи, но чувствует неуверенность во время технического интервью.

Кто-то понимает, что знает теорию, но пока не представляет, как выглядит работа аналитика в реальной компании.

Поэтому программу первой версии группы я немного скорректировал.

Помимо подготовки к собеседованиям, будем уделять больше внимания реальным рабочим кейсам.

Хочется, чтобы после нескольких месяцев занятий участники умели не только писать SQL-запросы, но и отвечать на вопросы вроде:

— Почему упала выручка?
— Почему вырос отток клиентов?
— Какие показатели стоит показать руководителю?
— Какие выводы можно сделать из этих данных?

Именно такие задачи аналитики решают каждый день.

Кроме этого, будем регулярно проводить тренировочные собеседования, разбирать реальные тестовые задания компаний, обсуждать резюме, отклики и обратную связь работодателей.

Мне хочется сделать не просто очередной курс по SQL или Python, а небольшую рабочую группу, в которой люди постепенно становятся более уверенными специалистами и помогают друг другу дойти до первой работы.

Если вы давно изучаете аналитику данных, но чувствуете, что самостоятельно двигаться становится сложно, то присоединиться еще можно.

Первая встреча состоится завтра. Если останутся свободные места, можно будет подключиться к группе в течение первой недели без потери материала.

Если есть вопросы — пишите в личные сообщения.

@vladamelin
👍3
Привет! Вчера провели первую встречу группы по подготовке к трудоустройству аналитиков данных.

Начали с темы, которая очень часто встречается на собеседованиях, — оконных функций в SQL.

Но главная цель занятия была не просто разобрать теорию. Хочется, чтобы знания постепенно переходили в навык, который можно спокойно использовать на собеседовании и в работе.

Поэтому домашнее задание построено немного иначе, чем на большинстве курсов.

В течение недели каждый участник:

* каждый день решает по одной задаче на оконные функции;
* самостоятельно формулирует два теоретических вопроса по теме;
* придумывает одну собственную задачу.

На следующей встрече участники будут проводить тренировочные собеседования друг для друга.

Один выступает в роли интервьюера, другой — кандидата. Будем тренировать самопрезентацию, разбирать теоретические вопросы и решать практические задачи так, как это происходит на реальных технических интервью.

Мне кажется, такой формат дает гораздо больше, чем просто просмотр очередной лекции. Когда сам задаешь вопросы, оцениваешь ответы и объясняешь решения, начинаешь гораздо глубже понимать материал.

Параллельно продолжаю работу над автоматизацией обучения.

В ближайшее время значительную часть рутинной работы возьмет на себя ИИ.

Бот будет самостоятельно присылать участникам задачи, проверять решения, давать обратную связь, подсказывать, какие темы стоит повторить, и помогать поддерживать регулярную практику между занятиями.

Мне кажется, за такими инструментами будущее обучения. Но при этом они не заменяют наставника — они освобождают время для того, что действительно сложно автоматизировать: обсуждения бизнес-кейсов, разборов собеседований, анализа решений и индивидуальной обратной связи.

Если вам близок такой подход к обучению и вы хотите подготовиться к первой работе аналитиком данных не только через изучение теории, но и через постоянную практику, присоединиться к группе пока еще можно.

На этой неделе новые участники еще успеют спокойно включиться в работу.

@vladamelin
Привет 👋
📚 Опубликовал два новых видеоурока по Python.

В них разбираем темы, которые пригодятся не только для понимания языка, но и для написания действительно качественного кода.

🔹 Урок 38. Использование декораторов. Разбираем, зачем функции нужна эта «обёртка». Смотрим на практичные примеры: кэширование через @lru_cache (чтобы не вычислять одно и то же по десять раз, нагружая процессор) и элегантное превращение методов в свойства через @property.
🔹 Урок 39. Создание своих декораторов. Учимся писать универсальные декораторы с *args и **kwargs, передавать в них аргументы для гибкой настройки и сохранять документацию оригинальной функции с помощью @wraps, чтобы не терять читаемость кода.

Ссылки на видео:
▶️ Урок 38: https://youtu.be/Td_DnkSGGSY
▶️ Урок 39: https://youtu.be/3LTb22D27XU

Полные версии уроков вместе с домашними заданиями и проверкой результатов уже доступны на Stepik:
🔗 https://stepik.org/lesson/2473247/step/1?unit=2510961
🔗 https://stepik.org/lesson/2473248/step/1?unit=2510962
👍41
Инженеры/архитекторы/аналитики данных pinned «Также вы можете приобрести полные версии курсов по ClickHouse и dbt со скидкой 1000 рублей. Курс по ClickHouse: Ссылка: https://stepik.org/a/259019 Промокод: FORCHANNEL Курс по dbt: Ссылка: https://stepik.org/a/240234 Промокод: FORCHANNEL»
🎥 Опубликовал новый видеоурок по Python — Работа с API и библиотека requests.

API — один из самых важных инструментов современного разработчика. Именно через API программы получают данные от внешних сервисов, работают с Telegram-ботами, погодными сервисами, банковскими системами, нейросетями и тысячами других приложений.

В этом уроке подробно разбираем:
• что такое API и как происходит обмен данными по HTTP;
• чем отличаются запросы GET, POST, PUT и DELETE;
• как использовать библиотеку requests;
• как передавать параметры через params и заголовки через headers;
• как получать и обрабатывать JSON-ответы;
• что означают основные HTTP-статусы (200, 400, 403, 404, 500);
• как правильно обрабатывать ошибки и использовать тайм-ауты при работе с внешними сервисами.

🎬 Смотреть видео:
https://youtu.be/gadQkLmWE8o
https://rutube.ru/video/private/ffb2ea42e642730eac8687ed4a0b64d8/?p=XF9SO6YoppY2pwrN8eMxig

📚 Если хотите не просто посмотреть урок, а закрепить материал на практике, полная версия занятия с тестами доступна на Stepik:
https://stepik.org/lesson/2495164/step/1?unit=2533026

💻 Весь код из урока:
https://github.com/amelinvladimir/python_basics_course/tree/main/%D0%A3%D1%80%D0%BE%D0%BA%2040

Даже если вы не планируете становиться backend-разработчиком, понимание работы API сегодня необходимо практически каждому Python-разработчику, аналитику данных и специалисту по автоматизации. Это одна из тех тем, без которой сложно представить реальные проекты.
👍7🔥2
🎥 Опубликовал новый видеоурок по Python — Создание собственного API на FastAPI.

В предыдущем уроке мы научились обращаться к чужим API с помощью библиотеки requests. Теперь пришло время посмотреть на задачу с другой стороны — создать собственный API, к которому смогут обращаться другие программы.

В этом уроке разбираем:

• как работают серверные приложения, предоставляющие API;
• почему FastAPI стал одним из самых популярных Python-фреймворков для разработки веб-сервисов;
• как создавать собственные API-эндпоинты с помощью декораторов;
• как обрабатывать GET, POST, PUT и DELETE-запросы;
• как принимать параметры из URL и тела запроса;
• как запустить приложение, которое постоянно ожидает входящие запросы и возвращает клиентам структурированные ответы.

После этого урока вы сможете написать свой первый полноценный API и поймете, как устроено взаимодействие между клиентом и сервером. Именно на таких принципах работают Telegram-боты, мобильные приложения, интернет-магазины, банковские сервисы и большинство современных веб-приложений.

🎬 Смотреть на YouTube:
https://youtu.be/DhiF2RwIek4

или на Rutube:
https://rutube.ru/video/private/a78cba2ccf69f7ad55413bfa977c6c59/?p=aBRvK-xiff2NtgKX946I5g

📚 Полное занятие с тестами и практическими заданиями:
https://stepik.org/lesson/2495165/step/1?unit=2533027

💻 Код из видеоурока:
https://github.com/amelinvladimir/python_basics_course/tree/main/%D0%A3%D1%80%D0%BE%D0%BA%2041

Если проходите курс последовательно, рекомендую сначала изучить предыдущий урок по работе с API через requests, а затем переходить к FastAPI. Вместе эти два занятия дают полное представление о том, как программы обмениваются данными: сначала как клиент, затем как сервер.
6🔥2
Всем привет!

опубликованы 2 урока курса по Python, посвященные работе с реальным проектом httpie, на которых мы:
- узнаем о проекте httpie;
- установим и запустим httpie;
- скачаем исходный код проекта и соберем из него httpie;
- внесем правки в код проекта.

Получайте опыт работы с реальным проектом на python:
https://stepik.org/lesson/2509677/step/1?unit=2547567
https://stepik.org/lesson/2509678/step/1?unit=2547568
Друзья, курс "Основы Python" завершен.
Это был долгий путь в 6 месяцев, в течение которого было пройдено много тем, которых более чем достаточно, чтобы перейти к web разработке на python, работе с данными или решению devOps задач.

Курсом во многом доволен.

Курс опубликован в открытом доступе, так как основы Python также как и SQL это самые первые темы, которые стоит учить, когда заходишь в ИТ в анализ или инжиниринг данных.

Спасибо группе, с которой мы шли.

https://stepik.org/course/271947/syllabus
🔥231
Друзья, несколько анонсов 👇

1. 2 сентября стартует курс по анализу данных с помощью Python.
Более подробную информацию о курсе опубликую в конце этой недели.

2. Прорабатываю полноценную двухлетнюю программу подготовки аналитиков и инженеров данных с нуля.
Обучение будет построено вокруг большого проекта, максимально приближённого к реальному рабочему процессу data-команды.

Мне самому этот проект очень интересен, поэтому буду постепенно делиться новостями и показывать, как всё развивается.
👍22🔥2👏1
2 сентября начнется курс «Python для анализа данных и инженерии данных 🐍»

Курс будет длиться 4 месяца и рассчитан на тех, кто прошел уроки с 1.1 по 6.6 базового курса по Python.
После прохождения курса вы сможете использовать Python для решения практических задач анализа данных и Data Engineering.

Python регулярно встречается в вакансиях по анализу и инженерии данных. Знание Python стало одним из базовых профессиональных навыков.

Как будет проходить обучение
Каждую неделю будут опубликованы 1–2 видеоурока продолжительностью до 15 минут.
После каждого урока будут тестовые вопросы и задачи с автопроверкой.

Раз в неделю, по средам в 20:00, будет общий созвон, на котором мы будем разбирать ваши вопросы по теории и решать дополнительные задачи.

У нас будет общий чат для обсуждения вопросов.

Также учиться нам будет помогать бот, который каждый день будет присылать небольшой блок теории и небольшую задачу.
Цель бота — помочь нам заниматься 10–15 минут каждый день и стабильно продвигаться в обучении даже в условиях нехватки времени.

План на 16 недель
1. Python для эффективной обработки данных
• Итераторы и генераторы
yield и lazy evaluation
• Генераторные выражения
• Потоковая обработка данных
• Работа с большими объёмами данных и памятью
2. NumPy
ndarray, shape, dimensions, dtype
• Индексация и slicing
• Векторизированные вычисления
• Broadcasting
• Агрегации
• NumPy vs обычные Python-циклы
3. Pandas: основы
• Series и DataFrame
• Index и columns
• Типы данных
• Загрузка и первичное исследование datasets
loc, iloc
• Фильтрация и query
4. Pandas: преобразование данных
rename, astype, assign
• Создание новых признаков
map и apply
• Векторизация
• Производительность Pandas
5. Pandas: группировка и агрегация
groupby
agg
• Несколько агрегатов
transform
filter
• MultiIndex
• Расчёт бизнес-метрик
6. Pandas: объединение и изменение структуры данных
merge
• INNER / LEFT / RIGHT / OUTER JOIN
• One-to-one, one-to-many, many-to-many
• Cardinality и дубликаты ключей
concat
pivot, pivot_table, melt
7. Время и очистка данных
• Работа с datetime
• Timezone
• Resampling
• Rolling и накопительные показатели
• Пропуски
• Дубликаты
• Некорректные типы
• Выбросы
• Проверка качества данных
8. Исследовательский анализ данных
• Как правильно проводить EDA
• Постановка аналитического вопроса
• Поиск закономерностей и аномалий
• Формирование и проверка гипотез
• Matplotlib
• Seaborn
• Выбор правильного типа визуализации
Практический кейс: исследование поведения клиентов на реальном наборе данных.
9. Python + PostgreSQL
• Подключение к PostgreSQL из Python
• DB-API
• Connection и Cursor
• Параметризованные запросы
• Transactions
• SQLAlchemy
• Engine и Connection
• Работа с DataFrame и PostgreSQL
10. Надёжная загрузка данных из API
• Pagination
• Rate limits
• Timeout
• Retries
• Обработка ошибок
• Incremental loading
• Watermark
• Checkpoint
• Защита от дубликатов
Практика: API → Python → PostgreSQL
11. ETL / ELT и проектирование Data Pipeline
• ETL и ELT
• Extract → Transform → Load
• Raw / Staging / Final
• Архитектура pipeline
• Full и incremental loading
• Idempotency
• Retry и recovery
• Checkpoints
• Что происходит при падении pipeline
Практика: спроектировать и реализовать устойчивый ETL pipeline.
12. Production Python
• Архитектура Python-проекта
• Modules и packages
src-структура
• Configuration
• Environment variables
• Secrets
pyproject.toml
• Dependencies
• Type hints
• Pydantic
Практика: превратить обычный ETL-скрипт в полноценный Python-проект.
13. Testing и Data Quality
• Pytest
• Unit tests
• Fixtures
• Parametrization
• Mocking
• Тестирование transformations
• Schema validation
• Null checks
• Uniqueness
• Referential integrity
• Business rules
Практика: добавить автоматические тесты и проверки качества данных в pipeline.
14. Большие данные и эффективное хранение
• Когда Pandas перестаёт справляться
• Memory limitations
• Chunk processing
• Streaming
• SQL pushdown
• DuckDB
• Polars
• CSV vs Parquet
• Apache Arrow
• Compression
• Partitioning
• Predicate pushdown
Практика:
CSV → Python → Parquet → DuckDB → Analytics
15. Airflow + Docker
• Зачем нужен orchestration
• Airflow DAG
• Tasks
• Dependencies
• Scheduling
• Retries
• Idempotent tasks
• Docker images и containers
• Dockerfile
• Volumes и networks
• Docker Compose
Практика: запустить собственный ETL pipeline через Airflow в Docker.
16. Финальный проект 🚀
Создание полноценного production-like data-проекта:
External APIs

Python ingestion

Raw data

Data Quality

Transformation

Parquet / PostgreSQL

Data Marts

Analytics
В финальном проекте будем применять всё, что изучили на курсе:
• Python
• Pandas
• SQL
• PostgreSQL
• API ingestion
• Incremental loading
• ETL
• Parquet
• Data Quality
• Testing
• Logging
• Idempotency
• Airflow
• Docker

Стоимость обучения
6000 рублей в месяц.
Оплата помесячная.
По всем вопросам и для записи пишите @vladamelin
🔥7👍4
1. Является ли Python необходимым навыком, чтобы устроиться аналитиком или инженером данных?
2. В каких вакансиях он нужен, а в каких нет?
3. Что именно нужно освоить для овладения навыком работы с данными в Python?
4. Какие плюсы и минусы использования Python для решения аналитических и инженерных задач?

В преддверии старта курса "Python для анализа данных" даю ответы на эти вопросы в данном видео.
🔥4