Программа и содержание

Практический курс по backend разработке. Тариф Только курс (2024)

Слив курса Практический курс по backend разработке (2024) [Тариф Только курс] [Артем Шумейко]

Курс для тех, кто:

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

Хочет перейти с другого Python-фреймворка на FastAPI, научиться работать с экосистемой сервисов и структурировать знания в backend разработке

Программа курса:

План курса и знакомство с автором

Введение в асинхронность. Почему ее везде используют.

Освоение FastAPI и основ Backend разработки.

Подключаем базу данных к проекту, изучаем ORM и SQL запросы.

Авторизация и аутентификация.

Продвинутая работа с базой данных и SQL.

Обзор кода реальных production проектов на FastAPI и Flask.

Инструменты Production разработки: Кеширование (Redis) и фоновые задачи (Celery).

Тестирование кода как в компаниях.

Доведение проекта до production-ready состояния.

Развертывание проекта на реальный сервер и настройка CI/CD.

Программа подробно:

0. План курса и знакомство с автором

Особенности курса

Об авторе: стек, опыт и зарплата

Программа и план курса

Типичные проблемы начинающих разработчиков — Как я помогу вам побороться с ними

Результаты модуля:

— Познакомитесь с автором курса и узнаете его подход к обучению

— Определитесь, подходит ли вам подача материала, чтобы учеба была комфортной и эффективной

— Поставите свои цели на курс, чтобы четко понимать, чего хотите достичь и как это сделать

1. Введение в асинхронность. Почему ее везде используют

Асинхронность: Теоретический блок

Асинхронность: Практический блок

Результаты модуля:

— Поймете, как работает асинхронность в веб-приложениях, чтобы обрабатывать множество запросов одновременно

— Научитесь писать асинхронный код через async/await, чтобы в разы ускорить работу вашего приложения

2. Освоение FastAPI и основ Backend разработки

Что такое FastAPI. Спрос на рынке труда и мотивация к изучению

Установка, запуск, написание первых API ручек

Разбор всех HTTP методов и первый роутер

Валидация данных с Pydantic

Результаты модуля:

— Напишете и запустите приложение на FastAPI, современном фреймворке для создания API

— Научитесь писать ручки для CRUD операций, чтобы эффективно управлять данными в приложении

— Освоите валидацию данных с помощью Pydantic, чтобы гарантировать корректность входных данных

— Реализуете пагинацию через механизм зависимостей в FastAPI, чтобы удобно отображать большие объемы данных

3. Подключаем базу данных к проекту, изучаем ORM и SQL запросы

Зачем нужны базы данных. Спрос на рынке труда и мотивация к изучению

Модели данных и миграции с Alembic

Работа с базой данных через SQLAlchemy ORM

Паттерн Репозиторий: изучение и внедрение

Паттерн DataMapper: изучение и внедрение

Результаты модуля:

— Поймете, зачем нужны миграции и ORM, и как они упрощают работу с базами данных

— Подключите SQLAlchemy — самую популярную ORM на Python, чтобы легко взаимодействовать с базами данных

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

— Реализуете паттерны Repository и Data Mapper, чтобы сделать код более чистым и поддерживаемым

4. Авторизация и аутентификация

Мотивация к изучению авторизации и аутентификации

Регистрация пользователей

Знакомство и использование JWT токена

Защищенные API ручки, аутентификация и авторизация через cookie

Результаты модуля:

— Поймете, как устроена авторизация в современных приложениях, чтобы обеспечить безопасность пользователей

— Познакомитесь с хэшированием паролей и JWT токенами для безопасного хранения и передачи данных

— Реализуете аутентификацию с помощью JWT токенов, чтобы создать надежную систему входа для вашего приложения

5. Продвинутая работа с базой данных и SQL

Расширенные возможности работы с SQL-запросами

Перенос сырых запросов в SQLAlchemy

Реализация M2M связей в базе данных и приложении

Результаты модуля:

— Научитесь писать SQL-запросы с применением CTE, подзапросов, JOIN'ов и группировок для эффективной работы с данными

— Освоите внедрение many-to-many (M2M) связи в базе данных, чтобы организовать сложные отношения между таблицами

— Реализуете сложную бизнес-логику по бронированию отелей в вашем проекте

— Напишете собственный асинхронный контекстный менеджер, чтобы управлять ресурсами и повысить производительность приложения

6. Обзор кода реальных production проектов на FastAPI и Flask

Код-ревью других FastAPI проектов

Изучение частых ошибок при написании проектов на FastAPI

Паттерн Репозиторий

Разбор обработки исключений в других проектах

Разбор работы с базой данных в других проектах

Разбор преимуществ и недостатков архитектуры, реализованной в разных проектах варианты улучшения этих подходов

Результаты модуля:

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

— Изучите множество фишек написания проектов на FastAPI, чтобы использовать лучшие практики и улучшить качество вашего кода

— Поймете принципы построения архитектуры приложений на FastAPI, чтобы создавать масштабируемые и поддерживаемые решения

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

7. Инструменты Production разработки: Кеширование (Redis) и фоновые задачи (Celery)

Мотивация к изучению Redis и кэширования

Написание собственного класса для кэширования

Использование плагина для кэширования API

Фоновые отложенные задачи с Celery и Celery Beat

Работа с файлами в FastAPI

Фоновые задачи в FastAPI

Результаты модуля:

— Научитесь кэшировать данные через Redis, чтобы ускорить работу API и снизить нагрузку на базу данных

— Внедрите плагин для кэширования ручек в FastAPI, чтобы легко и эффективно добавить кэширование в проект

— Подключите Celery - инструмент для асинхронной обработки задач, чтобы управлять долгими процессами в фоновом режиме

— Реализуете фоновые задачи, чтобы не блокировать работу приложения и отправлять запросы на выполнение длительных задач в фоновом режиме

— Научитесь работать с файлами в FastAPI: принимать и обрабатывать файлы от пользователей для расширения функционала вашего приложения

8. Тестирование кода как в компаниях

Написание unit-тестов

Написание интеграционных тестов

Первые фикстуры и знакомство с моками

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

Результаты модуля:

— Покроете весь код тестами через pytest, самой популярной библиотеки для тестирования кода на Python

— Научитесь писать uni