Профессия Python-разработчик. Часть 4. Python Advanced
О чём курс
Курс «Python Advanced» представляет собой комплексную программу профессиональной подготовки, разработанную для тех, кто стремится выйти на уровень уверенного Python-разработчика. Обучение охватывает широкий спектр технологий и инструментов, необходимых для создания современных, масштабируемых и надежных веб-приложений. Программа сфокусирована на практическом применении знаний: от глубокого понимания работы протоколов HTTP, HTTPS и WebSockets до профессиональной работы с базами данных, API и системами очередей задач, такими как RabbitMQ.
Курс идеально подходит для специалистов, которые уже имеют базовые знания языка и хотят систематизировать свой опыт, освоить современные фреймворки (Django, Flask, FastAPI) и научиться применять принципы объектно-ориентированного программирования (ООП) на практике. Вы научитесь не просто писать код, но и эффективно управлять жизненным циклом разработки: от настройки CI/CD и использования системы контроля версий Git до автоматизации развертывания приложений с помощью Docker и работы на удаленных серверах Linux.
Особое внимание в программе уделено вопросам качества кода и производительности. Вы освоите методы тестирования (Unit-тестирование, Pytest), дебаггинга, профилирования и логирования, что позволит создавать отказоустойчивые системы. Также программа включает глубокое погружение в многозадачность (многопоточность и асинхронное программирование на asyncio), что критически важно для высоконагруженных проектов. Вы научитесь работать с реляционными базами данных, освоите ORM SQLAlchemy, миграции и принципы безопасности веб-приложений, включая защиту от SQL-инъекций, XSS и CSRF-атак.
Формат обучения сочетает теоретические блоки с интенсивной практической работой, что позволяет закрепить полученные навыки на реальных задачах. Вы пройдете путь от создания простого приложения на Flask до проектирования сложных REST API и их документирования с помощью Swagger. Дополнительно курс включает модули по SQL, что дает фундаментальное понимание работы с данными, а также бонусные материалы по карьере и использованию AI-инструментов в разработке. Прохождение этого курса — это инвестиция в профессиональный рост, которая дает на выходе готовый набор компетенций для работы в современной IT-команде, понимание архитектурных паттернов и уверенное владение стеком технологий, востребованным на рынке труда.
Программа обучения
Часть 4. Python Advanced:
- Flask: начало: 1.1 Клиент-серверная архитектура и Flask — 3 мин. 1.2 Виртуальные окружения и установка Flask 1.3 Endpoints и Url-routing. Первое приложение на Flask — 5 мин. 1.4 Коды состояния (HTTP response) — 4 мин. 1.5 Работа с Git и предложения о слиянии 1.6 Работа с Git из терминала 1.7 Практика по модулю «Flask: начало»
- Основы работы в Linux: 2.1 Обзорно о Linux — 3 мин. 2.2 Установка Linux — 15 мин. 2.3 Практика работы в Linux и подготовка пустого проекта Flask — 16 мин. 2.4 Flask URL params — 35 мин. 2.5 Практика по модулю «Основы работы в Linux»
- Основы культуры CI. Часть 1: 3.1 Разбор домашнего задания — 3 мин. 3.2 Как можно тестировать web приложение — 8 мин. 3.3 Unit-тестирование на практике — 9 мин. 3.4 Что такое CI. Место тестирования в разработке — 6 мин. 3.5 Добавление unit тестов в приложение — 5 мин. 3.6 Поиск ошибок и дебаггинг в Pycharm — 7 мин. 3.7 Методы класса TestCase 3.8 Практическая работа
- Flask: 4.1 Разбор домашнего задания — 2 мин. 4.2 GET requests и Flask — 15 мин. 4.3 POST requests и Flask. Установка postman — 26 мин. 4.4 Flask wtforms — 9 мин. 4.5 Валидаторы — 6 мин. 4.6 Практическая работа
- Основы работы в Linux 2: 5.1 Разбор домашнего задания — 1 мин. 5.2 Понятие процесса и потока — 5 мин. 5.3 Запуск и контроль программ в linux — 17 мин. 5.4 Запуск и управление процессами из Python — 5 мин. 5.5 Работа с объектом Popen — 7 мин. 5.6 Протокол контекстного менеджера — 7 мин. 5.7 Практическая работа
- Основы дебаггинга и профилирования. Часть 1: 6.1 Разбор домашнего задания — 4 мин. 6.2 Обработка ошибок в Flask. Flask Error Handlers — 10 мин. 6.3 Иерархия исключений Python. Логирование. Модуль logging — 17 мин. 6.4 Логирование и Flask — 8 мин. 6.5 Логирование. Конфигурация — 7 мин. 6.6 Практика по модулю «Основы дебаггинга и профилирования. Часть 1»
- Logger: 7.1 Объект логера — 7 мин. 7.2 basicConfig своими руками — 9 мин. 7.3 Декларативное конфигурирование логирования в проекте — 5 мин. 7.4 Custom Handlers — 5 мин. 7.5 Логирование в production — 7 мин. 7.6 Практическая работа
- Деплой приложения на linux: 8.1 Разбор домашнего задания — 3 мин. 8.2 Удалённый сервер. SSH — 7 мин. 8.3 Создание и использование SSH-ключа для подключения к серверу Cloud.ru 8.4 Начало работы по ssh — 6 мин. 8.5 Удаленный сервер. Настройка python проекта — 6 мин. 8.6 Удалённый сервер. Разворачивание проекта на удалённом сервере — 12 мин. 8.7 Практическая работа
- Docker: 9.1 Разбор домашнего задания — 2 мин. 9.2 Что такое docker — 9 мин. 9.3 Установка docker на Linux и запуск приложения из публичного репозитория — 12 мин. 9.4 Пишем Dockerfile для нашего приложения — 12 мин. 9.5 Регистрируемся в dockerhub и выкладываем наше приложение — 5 мин. 9.6 Практическая работа
- Базы данных. Часть 1: 10.1 БД: зачем они нужны. Требования к БД — 7 мин. 10.2 Реляционные БД. Начало работы с БД из IDE — 10 мин. 10.3 Работа с БД из Python — 10 мин. 10.4 Практика по модулю «Базы данных. Часть 1»
- Мультипоточность. Часть 1: 11.1 Ещё раз о процессах и потоках — 5 мин. 11.2 Python Process and Threads — 6 мин. 11.3 Типы многозадачности — 5 мин. 11.4 Недетерминированность многозадачности на threads. Примитивы синхронизации — 7 мин. 11.5 Решение классических задач — 4 мин. 11.6 Практическая работа
- Мультипоточность. Часть 2: 12.1 Разбор домашней работы — 3 мин. 12.2 Многозадачность в python: GIL — 6 мин. 12.3 Advanced примитивы многозадачности в Python — 11 мин. 12.4 CPU-bound task vs IO-bound task. Пути решения проблемы GIL — 6 мин. 12.5 Практическая работа
- Базы данных. Часть 2: 13.1 INSERT statement — 20 мин. 13.2 SELECT ... WHERE ... statement — 18 мин. 13.3 UPDATE и DELETE statement — 17 мин. 13.4 SELECT ... ORDER BY statement — 8 мин. 13.5 Практика по модулю «Базы данных. Часть 2»
- MVC, язык шаблонов: 14.1 Model-view-controller design pattern — 8 мин. 14.2 Flask как MVC фреймворк: Controller, Model — 11 мин. 14.3 Flask шаблоны: основы — 12 мин. 14.4 Практическая работа
- Основы сетевого взаимодействия: 15.1 Что происходит, когда мы вбиваем в браузере ya.ru — 11 мин. 15.2 Протокол HTTP и основные методы — 11 мин. 15.3 Построение API. Уровни зрелости — 14 мин. 15.4 Практическая работа
- Базы данных. Часть 3: 16.1 Атрибуты таблицы: Primary Key, Foreign Key — 10 мин. 16.2 Виды связей между таблицами — 6 мин. 16.3 Соединение таблиц. JOIN + UNION — 10 мин. 16.4 Практическая работа
- REST API: 17.1 REST API: Что это и зачем? — 10 мин. 17.2 Пишем REST API — 9 мин. 17.3 POST JSON + валидация — 10 мин. 17.4 Практическая работа
- Документирование. Стандарты API: 18.1 Документирование API: Swagger — 15 мин. 18.2 Работа со сторонним API, библиотека requests — 8 мин. 18.3 Спецификация написания различных API: RPC-JSON, JSON-API — 8 мин. 18.4 Практика по модулю «Документирование. Стандарты API»
- Базы данных. Часть 4: 19.1 Агрегация данных — 9 мин. 19.2 GROUP BY, HAVING + LIMIT — 7 мин. 19.3 Вложенные запросы — 6 мин. 19.4 Практическая работа
- ORM SQLAlchemy: 20.1 ORM что это и зачем — 5 мин. 20.2 Способы подключения ORM к приложению — 13 мин. 20.3 Модели базы данных — 22 мин. 20.4 CRUD методы ORM — 13 мин. 20.5 Практическая работа
- ORM SQLAlchemy. Часть 2: 21.1 Отношения между таблицами в SQLAlchemy: 1-2-1, 1-2-many — 19 мин. 21.2 Операции над MANY-TO-MANY, CASCADE, LAZY — 23 мин. 21.3 Транзакции — 19 мин. 21.4 Выполнение сложных запросов с множеством моделей — 16 мин. 21.5 Практическая работа
- Очереди задач: 22.1 Очереди задач 22.2 Celery 22.3 Celery в веб-приложениях 22.4 Мониторинг задач. Flower 22.5 Практическая работа
- CGI server: 23.1 Что такое web server. Знакомство с серверами — 7 мин. 23.2 NGINX — 10 мин. 23.3 PEP3333 - WSGI — 10 мин. 23.4 Практическая работа
- Основы дебаггинга и профилирования. Часть 2: 24.1 Типы профайлеров — 11 мин. 24.2 Профилирование Flask-приложения — 17 мин. 24.3 Sentry — инструмент мониторинга ошибок — 15 мин. 24.4 Мониторинг с Prometheus + Grafana — 18 мин. 24.5 Логирование со structlog и loguru — 12 мин. 24.6 Практика по модулю «Основы дебаггинга и профилирования. Часть 2»
- Многозадачность: asyncio: 25.1 Асинхронное программирование — 5 мин. 25.2 Асинхронность в python: Генераторы — 13 мин. 25.3 Асинхронность в python: event loop и корутины — 14 мин. 25.4 Асинхронность в python: aiohttp — 7 мин. 25.5 Практическая работа
- Многозадачность: fastAPI: 26.1 Краткий обзор основных возможностей — 5 мин. 26.2 Пишем простое API: endpoints, параметры, валидация — 14 мин. 26.3 Работаем с БД — 7 мин. 26.4 Практическая работа
- Postgres + Миграции: 27.1 Что это за БД — 14 мин. 27.2 Как запустить PostgreSQL в docker — 23 мин. 27.3 Синхронное и асинхронное подключение — 25 мин. 27.4 Миграции — 31 мин. 27.5 Практическая работа
- Безопасность: 28.1 Безопасность — 8 мин. 28.2 CORS — 14 мин. 28.3 XSS и CSRF — 13 мин. 28.4 SQL-инъекции — 7 мин. 28.5 Практика по модулю «Безопасность»
- Pytest, Mock: 29.1 Виды тестирования — 15 мин. 29.2 Pytest — 23 мин. 29.3 Тестирование web-приложения — 28 мин. 29.4 TDD, BDD — 27 мин. 29.5 Практическая работа
- Основы культуры CI 3: linters: 30.1 Software Development Life Cycles — 10 мин. 30.2 Linters. Какие бывают, зачем они нужны? — 15 мин. 30.3 Знакомство с gitlab-ci — 16 мин. 30.4 Практическая работа
- CD, автоматический деплой: 31.1 CD, автоматический деплой 31.2 Принципы программирования: SOLID, DRY, KISS 31.3 Командная работа с Git
Основы SQL:
- Введение в хранение и обработку данных: 1.1 Что вас ждёт на курсе 1.2 Введение в модуль 1.3 Хранилища данных — 20 мин. 1.4 Транзакции — 10 мин. 1.5 Распределённые хранилища данных — 14 мин. 1.6 Установка и настройка программ для работы с БД — 15 мин. 1.7 Итоги пройденных тем. Проверьте себя
- Реляционные базы данных: 2.1 Введение в модуль 2.2 Структура реляционных СУБД — 9 мин. 2.3 Индексы, первичные ключи — 12 мин. 2.4 Отношения — 8 мин. 2.5 Нормальные формы — 8 мин. 2.6 Создание и изменение таблиц через UI — 33 мин. 2.7 Итоги пройденных тем. Проверьте себя 2.8 Практика по теме «Создание и изменение таблиц»
- Команды добавления, изменения и удаления данных: 3.1 Введение в модуль 3.2 Команды Create и Alter — 26 мин. 3.3 Практика по теме «Команды Create и Alter» 3.4 Команда Insert — 18 мин. 3.5 Практика по теме «Команда Insert» 3.6 Команда Update — 11 мин. 3.7 Практика по теме «Команда Update» 3.8 Команды Delete, Drop — 11 мин. 3.9 Практика по теме «Команды Delete, Drop» 3.10 Итоги пройденных тем. Проверьте себя
- Команды обработки данных: 4.1 Введение в модуль 4.2 Команда SELECT — 33 мин. 4.3 Практика по теме «Команда SELECT» 4.4 Фильтрация данных — 27 мин. 4.5 Практика по теме «Фильтрация данных» 4.6 Объединение запросов — 15 мин. 4.7 Практика по теме «Объединение запросов» 4.8 Итоги пройденных тем. Проверьте себя
- Продвинутый SQL: 5.1 Введение в модуль 5.2 Команда JOIN — 20 мин. 5.3 Практика по теме «Команда JOIN» 5.4 Группировки и агрегирующие функции — 15 мин. 5.5 Практика по теме «Группировки и агрегирующие функции» 5.6 Подзапросы — 35 мин. 5.7 Практика по теме «Подзапросы» 5.8 Использование транзакций — 14 мин. 5.9 Практика по теме «Использование транзакций» 5.10 Индекcы и внешние ключи — 14 мин. 5.11 Тест по теме «Индекcы и внешние ключи» 5.12 План исполнения запроса, EXPLAIN — 11 мин. 5.13 Практика по теме «План исполнения запроса, EXPLAIN» 5.14 Итоги и рекомендации
Теги курса
Другие материалы автора 3
РБ Роман Булгаков, Сурен Хоренян Все материалыОтзывов пока нет. Будьте первым!
Этот курс сейчас в процессе организации складчины. Нажмите кнопку «Записаться» и ожидайте старта — вам придёт уведомление. Когда складчина стартует, в карточке курса будет указан актуальный взнос. Текущая цена пока в процессе формирования и может отличаться от финальной.
Да, мы стремимся, чтобы финальный взнос был не больше ≈10% от оригинальной цены курса. Чем больше участников записывается в складчину, тем ниже выходит взнос для каждого.
Нажмите кнопку «Записаться» и авторизуйтесь на сайте через email (через ту же почту, которую будете использовать для входа). В личном кабинете вас будут ждать инструкции, как пригласить других участников — чем больше людей записалось, тем быстрее стартует складчина и тем ниже взнос. Как только складчина готова к приобретению, вам придёт уведомление.