Складчина: Python PROрыв: полный цикл веб-разработки — с нуля до Pro [Stepik] [Сурен Хоренян]
Чему вы научитесь
- разрабатывать реальные веб-приложения на Python на разных фреймворках: FastAPI, Django, и не только
- взаимодействовать с базой даных на чистом SQL и при помощи ORM
- отлаживать и оптимизировать приложение
- тестировать код с unittest и pytest
- следить за чистотой и читаемостью кода
- публиковать проект на продакшн сервер
- настраивать автоматичесий деплой проекта через CI / CD
- приобретать домен и привязывать SSL сертификат
Для кого этот курс
- Этот материал подходит для всех, кто хочет повысить свой скилл.
- Если вы уже начинали изучать программирование, и хотите структурировать свои знания. Возможно, вы уже писали телеграм-ботов или веб-приложения на Python или других языках программирования. В этом материале я проведу вас за ручку через сложности вкатывания в новую тему и дам вам все инструменты для самостоятельной работы.
- Если вы только думаете познакомиться с программированием и веб-разработкой на Python. Важно! В данный момент ещё не готовы занятия по основам основ работы с Python: что это такое, функции, классы. По этим темам мы пробежимся поверхностно и только в рамках решения более сложных задач. Вы можете посмотреть основы основ на канале Сурен Хоренян, или найдите любой другой бесплатный материал по основам Python, например на этой же площадке.
Программа:
Подготовка компьютера для начала работы:
- Выбор и настройка терминала;
- Установка утилит;
- Установка и настройка Python;
- Установка среды разработки.
Программирование на Python:
- функции, классы;
- работа с файлами;
- встроенные библиотеки Python;
Управление проектами и пакетами:
- виртуальное окружение;
- установка зависимостей;
- Poetry;
- uv;
Разработка FastAPI приложения:
- заголовки, параметры пути, параметры строки запроса;
- тело в виде формы и в виде JSON;
- pydantic;
- HTML шаблоны на Jinja;
- Тестирование приложения:
- unittest;
- pytest;
Инструменты для разработчика:
- линтеры и форматтеры: black, ruff;
- статический анализ кода через mypy;
- автоматическая проверка;
- принуждение к проверке через pre-commit;
Стили веб-страниц:
- CSS;
- Bootstrap;
- Пару слов про реактивные фреймворки;
- HTMX;
Контейнеризация:
- Docker;
- Docker Compose;
- Podman;
Работа с базами данных:
- Redis;
- Язык SQL;
- SQLite;
- Postgresql;
Работа с объектным хранилищем S3;
Проектирование схемы базы данных для проекта: на что обращать внимание и как строить таблицы и связи между таблицами;
SQLAlchemy:
- Работа с core;
- Работа с ORM;
- Модели;
- Оптимизация запросов;
Аутентификация и авторизация:
- методы аутентификации;
- способы авторизации;
- auth инструменты;
- OAuth2;
Автоматизация тестирования и публикации проекта:
- GitHub Actions
- GitLab CI / CD
- Асинхронная работа в Python:
- Асинхронные веб-приложения;
- Сетевые запросы;
- Работа с базой данных;
Публикация проекта:
- Аренда сервера;
- Покупка домена;
- Настройка SSL сертификатов;
- Запуск приложения как сервиса;
- Запуск приложения в контейнере;
- распределение нагрузки;
Отладка проекта;
Удаленный интерпретатор;
Наблюдаемость проекта;
Разработка Django проекта:
- Сравнение Django с FastAPI;
- Работа с базой данных;
- Формы;
- DRF;
- асинхронная работа с Django;
Работа с очередями задач:
- RabbitMQ;
- NATS;
- Celery;
- Taskiq;
- FastStream;
Сурен Хоренян
- Senior Python Developer, open-source contributor, преподаватель.
- Сурен Хоренян, Senior Python разработчик, преподаватель по программированию, руководитель команды.
- В сфере онлайн-образования я с 2018 года, и рад поделиться с вами своими знаниями!
Цена 67890 руб.