Курс на Stepik
Обложка курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro» на Stepik
97 979 ₽

Python PROрыв: полный цикл веб-разработки — с нуля до Pro ★ 5.000

Открыть на
STEPIK.ORG

Знакомство с веб-разработкой на Python от и до. Всё, что нужно знать и уметь веб-разработчику на Python.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Учеников на курсе 73
Сертификаты, выданные на курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Сертификатов выдано 0
Отзывы о курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Отзывов получено 2
Рейтинг курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Рейтинг курса 5.000
Уроки в курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Количество уроков 402
Тесты в курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Количество квизов 228
Время прохождения курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Время прохождения курса —
Стоимость курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Стоимость курса 97 979 ₽ —
Обновления курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Обновления курса — —
Дата публикации курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Дата публикации курса — ———
Последнее обновление курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro»Последнее обновление — ———
Сложность easy — ———

Содержание курса

Разделы в курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro» 70 разделов Уроки в курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro» 402 урока Тесты в курсе «Python PROрыв: полный цикл веб-разработки — с нуля до Pro» 228 тестов Время прохождения курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro» 91 ч. Последнее обновление курса «Python PROрыв: полный цикл веб-разработки — с нуля до Pro» обн. 10 августа 2026

Введение

2 урока
1. Знакомство ↗
2. Чат ↗

Групповые встречи

7 уроков
1. Про встречи ↗
2. Встреча №0 - 20 апреля 2025 ↗
3. Встреча №1 - 17 мая 2025 ↗
4. Встреча №2 - 21 июня 2025 ↗
5. Встреча №3 - 20 июля 2025 ↗
6. Встреча №4 - 07 сентября 2025 ↗
7. Встреча №5 - 12 октября 2025 ↗

Блок "Работа на локальном компьютере"

1 урок
1. О блоке "Работа на локальном компьютере" ↗

Терминал

6 уроков
1. Windows CMD ↗
2. PowerShell ↗
3. WSL - Ubuntu на Windows ↗
4. zsh ↗
5. Настройка шрифтов в oh-my-posh ↗
6. Настройка шрифта в терминале PyCharm на Windows ↗

Установка Python

6 уроков
1. Зачем запускать Python локально ↗
2. Установка Scoop на Windows ↗
3. Установка Python на Windows ↗
4. Установка Python на Ubuntu или Debian Linux ↗
5. Установка brew на macOS ↗
6. Установка Python на macOS ↗

REPL

2 урока
1. REPL ↗
2. Нижнее подчеркивание ↗

Установка pipx

4 урока
1. Зачем нужен pipx ↗
2. Установка pipx на Windows ↗
3. Установка pipx на Ubuntu Linux ↗
4. Установка pipx на macOS ↗

Блок "PyCharm"

1 урок
1. О блоке "PyCharm" ↗

Обновление Python

1 урок
1. Обновление Python на Windows через pyenv ↗

Начало работы с PyCharm

5 уроков
1. Где писать код ↗
2. Установка PyCharm на Windows ↗
3. Установка PyCharm на Ubuntu ↗
4. Установка PyCharm на macOS ↗
5. Знакомство с PyCharm и первичная настройка ↗

Плагины

1 урок
1. Ставим тему в PyCharm ↗

Блок "Рабочее окружение"

1 урок
1. О блоке "Рабочее окружение" ↗

Обновление PyCharm

2 урока
1. Обновляем PyCharm ↗
2. Проверяем новый PyCharm и ставим плагины ↗

Виртуальное окружение virtualenv

1 урок
1. Знакомство с virtualenv ↗

Poetry

3 урока
1. Установка Poetry ↗
2. Инициализация проекта и установка зависимостей ↗
3. Запуск скриптов в виртуальном окружении через Poetry ↗

uv

6 уроков
1. Установка uv на *nix ↗
2. Установка uv на Windows ↗
3. uv vs pip и Poetry ↗
4. uv vs virtualenv ↗
5. uv vs pipx ↗
6. uv vs pyenv ↗

Установка и использование инструментов

3 урока
1. Установка black через uv tool на Windows ↗
2. Использование black в терминале ↗
3. Автоформатирование black в PyCharm ↗

Блок "git"

1 урок
1. О блоке "git" ↗

Контроль версий

3 урока
1. Знакомство с git в PyCharm ↗
2. .gitignore ↗
3. git - Быстрый старт на Windows ↗

Удобное управление git

3 урока
1. Знакомство с GitHub Desktop ↗
2. git в VS Code ↗
3. git в PyCharm ↗

Блок "FastAPI приложение коротких ссылок"

1 урок
1. О блоке "FastAPI приложение коротких ссылок" ↗

FastAPI короткие ссылки REST API

18 уроков
1. Старт FastAPI проекта коротких ссылок ↗
2. API представление ↗
3. Параметры пути, схемы, перенаправление, зависимости view ↗
4. Разделение и API Router ↗
5. Получение данных в форме ↗
6. Получение данных в JSON теле ↗
7. Хранение данных в памяти ↗
8. Удаление записи ↗
9. Нужно больше вложенных роутеров ↗
10. Обновление PUT ↗
11. Обновление PATCH ↗
12. Важность схемы ответа ↗
13. Хранение данных. Задание и решение ↗
14. Логирование событий ↗
15. Цикл жизни приложения ↗
16. BackgroundTasks - откладываем действия ↗
17. Зависимости на уровне роутера ↗
18. Проверка метода запроса ↗

FastAPI Auth

7 уроков
1. Auth vs Auth ↗
2. Когда использовать Token Auth ↗
3. Токен в строке запроса ↗
4. Токен в заголовках запроса ↗
5. Единый вход в документации Swagger ↗
6. Basic Auth ↗
7. Выбор метода входа ↗

Знакомство с Docker Desktop

5 уроков
1. Контейнеризация и Docker ↗
2. Установка Docker Desktop на Windows + WSL ↗
3. Установка Docker Desktop на Ubuntu ↗
4. Установка Docker Desktop на macOS ↗
5. Запуск контейнеров в терминале ↗

Знакомство с Redis

3 урока
1. Что такое Redis ↗
2. Запуск Redis и первое знакомство ↗
3. Базы данных в Redis ↗

Хранение данных приложения в Redis

12 уроков
1. Подключение Python приложения к Redis ↗
2. Хранение токенов в Redis ↗
3. Обертка над Redis для работы с токенами ↗
4. Хранение пользователей в Redis ↗
5. Сохранение коротких ссылок в Redis ↗
6. Получение короткой ссылки из Redis ↗
7. Получение коротких ссылок из Redis ↗
8. Обновление короткой ссылки в Redis ↗
9. Удаление короткой ссылки из Redis ↗
10. Уборка. Избавляемся от лишнего кода ↗
11. Проверка наличия короткой ссылки перед записью ↗
12. Реализация в CRUD проверки наличия короткой ссылки ↗

Команды в терминале

5 уроков
1. Свои команды в терминале ↗
2. Команда для проверки токена ↗
3. Команда для отображения токенов ↗
4. Команды для управления токенами ↗
5. Запуск manage скрипта на Windows ↗

Принуждение к типизации

5 уроков
1. Почему нам важно строго соблюдать типы ↗
2. Знакомство с mypy ↗
3. Согласование кода с mypy ↗
4. Строгий mypy ↗
5. mypy и Pydantic ↗

Соблюдение код-стиля

5 уроков
1. Зачем соблюдать код-стиль ↗
2. Знакомство с ruff ↗
3. Автоматическое причесывание импортов ↗
4. Подключение новых правил ↗
5. Принуждение к соблюдению код-стиля ↗

Тестирование на unittest

12 уроков
1. Введение в тестирование ↗
2. Организация файлов тестирования ↗
3. Первый тест на unittest ↗
4. Проверка совместимости схем ↗
5. Группировка идентичных проверок ↗
6. Ожидание исключений ↗
7. Переменные окружения на Windows в разных оболочках ↗
8. Тестовое окружение ↗
9. Проверка работы с хранилищем ↗
10. Другие способы валидации ↗
11. Предварительная настройка до теста и уборка за собой ↗
12. Предварительная настройка до всех тестов и уборка за собой ↗

Проверка покрытия

6 уроков
1. Зачем проверять покрытие ↗
2. Проверка покрытия в PyCharm ↗
3. Знакомство с coverage ↗
4. Отчёты о покрытии ↗
5. Генерация отчётов ↗
6. Настройки coverage ↗

Тестирование на pytest

24 урока
1. Почему нам недостаточно unittest ↗
2. Знакомство с pytest ↗
3. Первый тест на pytest ↗
4. Группа тестов на pytest ↗
5. Принудительное завершение pytest ↗
6. Знакомство с conftest ↗
7. Перенос представления в отдельный модуль ↗
8. Первый API тест FastAPI приложения ↗
9. Параметризация в pytest ↗
10. Ожидание исключений на pytest ↗
11. Фикстуры в pytest ↗
12. Фикстура убирает за собой ↗
13. Общие фикстуры в conftest ↗
14. Вложенные фикстуры, частота создания фикстур, api тесты ↗
15. Параметризация фикстур в pytest ↗
16. Косвенная и частичная параметризация фикстур ↗
17. Автоматическое применение фикстур в pytest ↗
18. Плагин pytest-cov ↗
19. Настройки pytest ↗
20. Метки pytest ↗
21. Ожидаемая ошибка - метка xfail ↗
22. Пропуск теста - skip и skipif ↗
23. Отчёт pytest по результатам - флаги r ↗
24. Фикстура caplog ↗

Знакомство с GitHub Actions

12 уроков
1. Что такое CI ↗
2. Знакомство с GitHub Actions ↗
3. Контекст текущего запуска ↗
4. События и условия для действий ↗
5. Установка Python и запуск black в Github Actions ↗
6. Доступ PyCharm к GitHub для чтения Actions ↗
7. Обновляем и фиксируем версию uv ↗
8. Установка uv зависимостей в GitHub Actions ↗
9. Запуск mypy в GitHub Actions ↗
10. Запуск ruff в GitHub Actions ↗
11. Запуск pre-commit в GitHub Actions ↗
12. Бейджи по результатам CI ↗

Автотесты и проверка покрытия в GitHub Actions

10 уроков
1. Обязательный успех для запуска следующей джобы в GitHub Action ↗
2. Запуск тестов в GitHub Actions ↗
3. Запуск контейнеров в GitHub Actions ↗
4. GitHub CLI ↗
5. Локальный запуск CI через act ↗
6. Секреты в локальном act ↗
7. Интерактивные отчёты о покрытии в GitHub ↗
8. Важность проверки покрытия ↗
9. Кастомный бейдж своими силами ↗
10. Артефакты по результатам CI ↗

Конфигурация приложения

7 уроков
1. Знакомство с pydantic-settings ↗
2. Настройки настроек ↗
3. .env файл ↗
4. Несколько .env файлов ↗
5. Переменные окружения ↗
6. YAML файлы ↗
7. Кэшированный объект настроек ↗

FastAPI шаблоны HTML страниц

8 уроков
1. Главная страница HTML ↗
2. Отображение представления в документации ↗
3. Шаблон главной страницы ↗
4. Базовый шаблон страницы ↗
5. Навигационная панель ↗
6. Стандартный контекст шаблона ↗
7. Страница о проекте ↗
8. Активная ссылка ↗

Наводим порядок перед большой работой

5 уроков
1. Обновление тестов ↗
2. Расположение кода хранилища ↗
3. Организация HTML представлений ↗
4. Хранилище через зависимость ↗
5. Глобальный экземпляр хранилища ↗

Отображение коротких ссылок

4 урока
1. Раздел коротких ссылок ↗
2. Пустой список коротких ссылок ↗
3. Список всех коротких ссылок ↗
4. Переход на целевой сайт ↗

Создание короткой ссылки

9 уроков
1. Представления для создания новой короткой ссылки и Pydantic форм ↗
2. HTML форма создания новой короткой ссылки ↗
3. Макросы в Jinja ↗
4. Кнопки навигации ↗
5. Создание короткой ссылки через форму ↗
6. Обработка ошибки при создании ↗
7. Обработка ошибок валидации формы ↗
8. Аутентификация при создании ↗
9. Проверка кода и исправление ошибок ↗

Обновление короткой ссылки

7 уроков
1. Рефакторинг ответа с формой ↗
2. Рефакторинг HTML формы ↗
3. Переход к редактированию короткой ссылки ↗
4. Страница редактирования короткой ссылки ↗
5. Проброс текущей короткой ссылки ↗
6. Обновление короткой ссылки ↗
7. Обработка ошибок при обновлении ↗

Удаление короткой ссылки

5 уроков
1. Модальное окно ↗
2. Представление для удаления короткой ссылки ↗
3. Форма для удаления короткой ссылки ↗
4. Удаление короткой ссылки из хранилища ↗
5. Внезапный HTMX ↗

Сессия пользователя

3 урока
1. Что такое сессия ↗
2. Starlette SessionMiddleware ↗
3. flash сообщения о создании ↗

Блок "Основы Frontend"

1 урок
1. О блоке "Основы Frontend" ↗

HTML

6 уроков
1. Что такое HTML ↗
2. Первая HTML страница ↗
3. Популярные теги ↗
4. Формы ↗
5. Стандартные поля ввода ↗
6. Правила хорошего тона ↗

CSS

4 урока
1. Знакомство с CSS ↗
2. Стиль элемента ↗
3. Базовые стили элементов страницы ↗
4. Стили и классы ↗

JavaScript

6 уроков
1. Зачем нужен JS ↗
2. Первые строки на JS ↗
3. Взаимодействие с компонентами ↗
4. Обновление части элемента ↗
5. Простая обработка событий ↗
6. Слушатели событий ↗

Готовые наборы CSS - Bootstrap

6 уроков
1. Готовые наборы CSS - зачем нужны и какие бывают ↗
2. Знакомство с Bootstrap ↗
3. Система именования в Bootstrap ↗
4. Подключение Bootstrap CSS ↗
5. Сетка страницы ↗
6. Панель навигации ↗

Сторонний JS

5 уроков
1. Использование стороннего JS ↗
2. Подключение Bootstrap JS ↗
3. Тултипы и поповеры ↗
4. Фильтр на JS ↗
5. Что если нет JS ↗

Публикация статичного сайта

3 урока
1. Выбор хостинга ↗
2. Загрузка в репозиторий ↗
3. Запуск на GitHub Pages ↗

Блок "SQL"

1 урок
1. О блоке "SQL" ↗

Знакомство с SQL

8 уроков
1. Что такое базы данных ↗
2. Что такое SQL ↗
3. SQLite ↗
4. Запросы и сортировка ↗
5. Фильтрация ↗
6. Вставка ↗
7. Обновление ↗
8. Удаление ↗

Проектирование таблицы

8 уроков
1. Описание таблицы товаров ↗
2. Схема таблицы товаров ↗
3. Тип первичного ключа ↗
4. Создание и удаление таблиц ↗
5. Создание таблицы товаров ↗
6. Описание таблицы клиентов ↗
7. Схема таблицы клиентов ↗
8. Создание таблицы клиентов ↗

Запуск Postgres и первое подключение

3 урока
1. Запуск PostgreSQL в Docker ↗
2. Подключение через DBeaver ↗
3. Новая схема ↗

Обновление таблицы

5 уроков
1. Доработка описания таблицы товаров ↗
2. Доработка схемы таблицы товаров ↗
3. Модификация таблицы товаров ↗
4. Доработка описания и схемы таблицы клиентов ↗
5. Модификация таблицы клиентов ↗

Ограничения - Constraints

11 уроков
1. Описание нового ограничения в таблице ↗
2. Ограничение целого числа по значению ↗
3. Описание ограничения даты ↗
4. Ограничение даты ↗
5. Выбор типа строки и почему не нужен VARCHAR ↗
6. Переезд в новую колонку и ограничение текста по длине ↗
7. Описание ограничения текста по значению ↗
8. Ограничение TEXT по значению ↗
9. Колонка статуса клиента ↗
10. IDENTITY vs SERIAL ↗
11. Отказ от SERIAL в пользу IDENTITY ↗

Перечисление ENUM

7 уроков
1. Enum vs CHECK IN ↗
2. Миграция в enum ↗
3. Таблица обращений пользователей ↗
4. Сортировка и фильтрация по приоритету Enum ↗
5. Строгий тип Enum ↗
6. Добавление значений в Enum ↗
7. Изменение опций в Enum ↗

Группировки и агрегатные функции

7 уроков
1. Зачем нужны агрегатные функции ↗
2. Группировки ↗
3. COUNT ↗
4. SUM ↗
5. MAX ↗
6. MIN ↗
7. AVG ↗

RETURNING

5 уроков
1. RETURNING при создании ↗
2. RETURNING при обновлении ↗
3. RETURNING при удалении ↗
4. Бекап базы Postgres и раскатка на новой версии ↗
5. RETURNING OLD AND NEW ↗

Функции в Postgres

12 уроков
1. Простая функция в Postgres ↗
2. Обновление функции ↗
3. Возврат числа ↗
4. Возврат числа ↗
5. Ветвление ↗
6. Новые переменные внутри функций ↗
7. Запросы внутри функции ↗
8. Входные параметры IN ↗
9. Выходные параметры OUT ↗
10. Входные-выходные параметры INOUT ↗
11. UUID версии 7 ↗
12. Первичный ключ UUIDv7 ↗

Триггеры в Postgres

6 уроков
1. Что такое триггер ↗
2. Триггер создания для автоматических логов событий ↗
3. Триггер обновления для автоматической истории изменений ↗
4. На каждую строку или на каждое выражение ↗
5. Автоматическое поле updated_at ↗
6. Правило для обновления updated_at ↗

Внешний ключ

9 уроков
1. Зачем нужен внешний ключ ↗
2. Схема таблицы картинок товаров ↗
3. Внешний ключ и гарантия целостности ↗
4. Все товары с картинками - INNER JOIN ↗
5. Все-все товары и их картинки - LEFT JOIN ↗
6. Все картинки и их товары - RIGHT JOIN ↗
7. Все товары и все картинки ↗
8. Каскадное удаление ↗
9. ON DELETE SET NULL ↗

Отношение один-к-одному

5 уроков
1. Зачем нужно отношение один к одному ↗
2. Описание таблицы профиля автора ↗
3. Схема таблицы профиля автора ↗
4. Таблица профиля автора ↗
5. Первичный ключ и внешний ключ в таблице 1к1 ↗

Отношение многие-ко-многим

6 уроков
1. Что за многие и к каким многим ↗
2. Описание таблиц для связи многие ко многим ↗
3. Схема связи многие ко многим ↗
4. Таблица тегов ↗
5. Таблица тегов статей ↗
6. Связь статей и тегов ↗

Индексы

13 уроков
1. Описание таблицы пользователей ↗
2. Схема таблицы пользователей ↗
3. Серия данных ↗
4. Условия в запросе ↗
5. Таблица пользователей и данные ↗
6. Поиск по тысячам записей и анализ запроса ↗
7. Новый индекс ↗
8. Сбалансированное дерево поиска ↗
9. Неявный индекс - уникальное поле ↗
10. Составной индекс ↗
11. Индекс по выражению ↗
12. Частичный индекс ↗
13. Поиск по тексту на основе триграмм ↗

JSONB

6 уроков
1. JSON и JSONB в Postgres ↗
2. Работа с JSONB в Postgres ↗
3. Сложная фильтрация по JSONB ↗
4. Обновление JSONB поля ↗
5. GIN индекс на JSONB поле ↗
6. Уникальный индекс JSONB поля ↗

16 - Внешний ключ вместо перечисления

3 урока
1. Категории товаров ↗
2. Внешний ключ на категорию ↗
3. Индекс на внешний ключ ↗

THIS IS a new module name

2 урока
1. This is first lesson in the module ↗
2. This is SECOND lesson in the module ↗

Блок "Интеграция Python с базами данных"

1 урок
1. О блоке "Интеграция Python с базами данных" ↗

Python и SQLite

9 уроков
1. Подключение к SQLite в Python ↗
2. Создание таблицы и вставка значений ↗
3. Доступ к данным в строке по имени колонки ↗
4. Параметризованные запросы ↗
5. Параметризованные запросы через словарь ↗
6. Обновление данных ↗
7. Удаление данных ↗
8. Python SQLite CLI ↗
9. SQLite в памяти ↗

Python и Postgres

6 уроков
1. Подключение к Postgres в Python ↗
2. Создание таблицы и вставка записей из Python в Postgres ↗
3. Чтение данных и фабрики строк ↗
4. Обновление и удаление срок в Postgres на Python ↗
5. Форматирование запросов ↗
6. template strings в Python 3.14 и psycopg ↗