Освой полный набор знаний для backend разработчика, чтобы найти первую работу или получить повышение Спойлер: Программа курса 00 План курса и знакомство с автором (бесплатно) Особенности курса Об авторе: стек, опыт и зарплата Программа и план курса Типичные проблемы начинающих разработчиков Как я помогу вам побороться с ними Результаты модуля: Познакомитесь с автором курса и узнаете его подход к обучению Определитесь, подходит ли вам подача материала, чтобы учеба была комфортной и эффективной Поставите свои цели на курс, чтобы четко понимать, чего хотите достичь и как это сделать 01 Введение в асинхронность Асинхронность: Теоретический блок Асинхронность: Практический блок Результаты модуля: Поймете, как работает асинхронность в веб-приложениях, чтобы обрабатывать множество запросов одновременно Научитесь писать асинхронный код через async/await, чтобы в разы ускорить работу вашего приложения 02 Освоение FastAPI Что такое FastAPI. Спрос на рынке труда и мотивация к изучению Установка, запуск, написание первых API ручек Разбор всех HTTP методов и первый роутер Валидация данных с Pydantic Результаты модуля: Напишете и запустите приложение на FastAPI, современном фреймворке для создания API Научитесь писать ручки для CRUD операций, чтобы эффективно управлять данными в приложении Освоите валидацию данных с помощью Pydantic, чтобы гарантировать корректность входных данных Реализуете пагинацию через механизм зависимостей в FastAPI, чтобы удобно отображать большие объемы данных 03 Работа с базой данных Зачем нужны базы данных. Спрос на рынке труда и мотивация к изучению Модели данных и миграции с Alembic Работа с базой данных через SQLAlchemy ORM Паттерн Репозиторий: изучение и внедрение Паттерн DataMapper: изучение и внедрение Результаты модуля: Поймете, зачем нужны миграции и ORM, и как они упрощают работу с базами данных Подключите SQLAlchemy — самую популярную ORM на Python, чтобы легко взаимодействовать с базами данных Научитесь писать и запускать миграции, чтобы без проблем обновлять структуру данных и поддерживать базу данных в актуальном состоянии Реализуете паттерны Repository и Data Mapper, чтобы сделать код более чистым и поддерживаемым 04 Авторизация и аутентификация Мотивация к изучению авторизации и аутентификации Регистрация пользователей Знакомство и использование JWT токена Защищенные API ручки, аутентификация и авторизация через cookie Результаты модуля: Поймете, как устроена авторизация в современных приложениях, чтобы обеспечить безопасность пользователей Познакомитесь с хэшированием паролей и JWT токенами для безопасного хранения и передачи данных Реализуете аутентификацию с помощью JWT токенов, чтобы создать надежную систему входа для вашего приложения 05 Продвинутые SQL запросы к БД, M2M связи и Relationships Расширенные возможности работы с SQL-запросами Перенос сырых запросов в SQLAlchemy Реализация M2M связей в базе данных и приложении Результаты модуля: Научитесь писать SQL-запросы с применением CTE, подзапросов, JOIN'ов и группировок для эффективной работы с данными Освоите внедрение many-to-many (M2M) связи в базе данных, чтобы организовать сложные отношения между таблицами Реализуете сложную бизнес-логику по бронированию отелей в вашем проекте Напишете собственный асинхронный контекстный менеджер, чтобы управлять ресурсами и повысить производительность приложения 06 Ревью других проектов Код-ревью других FastAPI проектов Изучение частых ошибок при написании проектов на FastAPI Паттерн Репозиторий Разбор обработки исключений в других проектах Разбор работы с базой данных в других проектах Разбор преимуществ и недостатков архитектуры, реализованной в разных проектах варианты улучшения этих подходов Результаты модуля: Узнаете, как другие разработчики реализуют код, чтобы расширить свои знания и подходы к программированию Изучите множество фишек написания проектов на FastAPI, чтобы использовать лучшие практики и улучшить качество вашего кода Поймете принципы построения архитектуры приложений на FastAPI, чтобы создавать масштабируемые и поддерживаемые решения Разовьете насмотренность благодаря разнообразию изученных проектов, что поможет легче ориентироваться в коде и адаптироваться к реальным задачам разработчика 07 Экосистема Python Backend: Redis и Celery Мотивация к изучению Redis и кэширования Написание собственного класса для кэширования Использование плагина для кэширования API Фоновые отложенные задачи с Celery и Celery Beat Работа с файлами в FastAPI Фоновые задачи в FastAPI Результаты модуля: Научитесь кэшировать данные через Redis, чтобы ускорить работу API и снизить нагрузку на базу данных Внедрите плагин для кэширования ручек в FastAPI, чтобы легко и эффективно добавить кэширование в проект Подключите Celery - инструмент для асинхронной обработки задач, чтобы управлять долгими процессами в фоновом режиме Реализуете фоновые задачи, чтобы не блокировать работу приложения и отправлять запросы на выполнение длительных задач в фоновом режиме Научитесь работать с файлами в FastAPI: принимать и обрабатывать файлы от пользователей для расширения функционала вашего приложения 08 Тестирование Написание unit-тестов Написание интеграционных тестов Первые фикстуры и знакомство с моками Тестирование API Результаты модуля: Покроете весь код тестами через pytest, самой популярной библиотеки для тестирования кода на Python Научитесь писать unit-тесты, интеграционные тесты и API тесты, чтобы обнаруживать ошибки в коде до того, как их увидят реальные пользователи Освоите написание фикстур и моков, чтобы тестировать отдельные части проекта, имитируя реальную нагрузку со стороны других сервисов Узнаете, как параметризировать тесты, чтобы учесть краевые случаи и сделать тесты более лаконичными и эффективными 09 Доведение проекта до production-ready кода Линтеры и форматтеры Статические типизаторы Обработка исключений в больших приложениях Логирование Новый слой в приложении — слой сервисов Обзор реального production кода Паттерн Command Результаты модуля: Узнаете, что такое линтер, форматтер и статический типизатор, и внедрите их в ваш проект, чтобы проверить качество кода до его отправки на сервер Поймете, как выстроить слоистую архитектуру, и реализуете ее в вашем проекте для лучшей структуры и масштабируемости Внедрите логирование, чтобы легче выявлять возможные ошибки и анализировать работу кода Добавите обработку ошибок во всех слоях приложения, чтобы пользователь получал понятные сообщения о причинах неполадок Посмотрите на реальный production-код, с которым автор работал больше года, чтобы улучшить вашу насмотренность и понять, как выглядят проекты в реальной разработке Познакомитесь с паттерном Command и научитесь использовать его для более гибкой и расширяемой архитектуры 10 Деплой и CI/CD Мотивация к изучению Docker и CI/CD Разворачиваем брокеров, базы данных и кэш через Docker Знакомство с Docker и написание Dockerfile Локальный разворот приложения через Docker Знакомство с Docker compose Аренда сервера и развертывание приложения на реальном сервере Подключение Nginx Подключение домена и SSL Сертификатов Настройка собственного CI/CD пайплайна Результаты модуля: Изучите Docker и Docker compose и развернете весь проект Арендуете собственный сервер Познакомите и внедрите Nginx, чтобы защитить проект от возможных атак и подключить надежное подключение https Развернете приложение на реальном сервере, чтобы добавить собственный работающий сайт в портфолио С нуля реализуете CI/CD для проекта, чтобы быстро и безошибочно вносить изменения в работающий проект Спойлер: Ваше резюме после обучения Имя Фамилия (Python Backend Developer) Hard skills Пишу производительные, масштабируемые приложения с использованием FastAPI Умею разворачивать приложения через Docker и Docker compose Могу создать и настроить CI/CD пайплайн Покрываю код unit-тестами и интеграционными тестами при помощи pytest Применяю в работе Redis и Celery Работаю с PostgreSQL через ORM и сырые SQL запросы Использую в работе линтеры и статические типизаторы Soft skills *Составлено качественное резюме *Знаю, как отвечать на каверзные вопросы рекрутера *Навык самопрезентации *Прокачиваем на тарифе с менторством Спойлер: Автор курса Артем Шумейко Senior Python Разработчик в Самокате Работал в стартапах и бигтехе, на проектах с нагрузкой 5000 запросов в секунду Прошел более 100 собеседований на позиции от Middle до Team Lead в Python Backend Выстроил собственную методику по получению офферов на Python Backend разработчика Обучающие видео автора посмотрели сотни тысяч людей на YouTube Автор курса backend разработке - победителя в номинации "Прорыв года" в 2023 году на Stepik Средняя оценка курса на Stepik - 4.9 Тариф Стартовый: 27+ часов видеоматериалов 30 практических заданий Доступ к репозиторию с кодом проекта Доступ к материалам на 9 месяцев Полноценный проект в портфолио Сертификат курса «Python Backend-разработчик на FastAPI»