Python. Микросервисы. Backend на FastAPI [Stepik] [Саид Магомедов]

Kevin

VIP складчик
Platinum
Администратор
Регистрация
8 Сен 2016
Сообщения
485.215
Реакции
268.201
Python. Микросервисы. Backend на FastAPI [Stepik] [Саид Магомедов]






Чему вы научитесь

FastAPI: Изучите постепенно быстрорастущий и востребованный фреймворк. Вы узнаете чем FastAPI круче чем Django и Flask .
Архитектура: Научитесь строить чистую микросервисную архитектуру. Вы построите приложения на основе "MVC" и погрузитесь в DDD
Asyncio: Асинхронность требуется в 90%+ вакансий, присоединившись к курсу узнаете что такое coroutinue, future, event-loop и много полезного, что поможет легче проходить собеседования.
SQL и SQLAlchemy: Научитесь работать с базой данных через ORM и сырым SQL.
Pydantic: С помощью Pydantic освоите искусство строгой типизации и верификации данных, что есть ключ к созданию надежных приложений.
Аутентификация через соц сети: Подключите авторизацию через Google и Yandex. JWT, OAuth, и Depends не будут сложностью, научитесь осваивать и применять эти технологии.
DevOps: Разберетесь в практиках деплоя, улучшения процессов разработки проектов

О курсе

5 лет назад я начинал обучаться и мне было очень сложно найти качественный материал. Я прекрасно понимаю боль начинающих разработчиков, когда им нужно потратить несколько месяцев(!!!) только на то, что бы найти хороший курс.
И я вложил весь свой опыт и знания сюда и буду рад видеть вас тут!

Для кого этот курс
Этот курс подойдёт самым разным людям — от Junior до опытных Middle+, которые стремятся развить или обрести новые навыки. Новички в программировании на Python: Если уже освоили Python и готовы к следующему шагу. Курс добавит уверенности на собеседованиях Разработчики, которые ищут новый фреймворк: Если надоели Django или Flask, а может быть и другой язык и хочется нового, то курс дает это. Пройдите курс и сможете "пересесть" на FastAPI Те, кто хочет разобраться в асинхронном программировании: Если стремитесь к созданию быстрых и масштабируемых веб-приложений, асинхронность тут необходима. Мы предложим понятный подход, основанный на практике, к изучению этой темы. Опытные профессионалы: Если уже знакомы с веб-разработкой, но хотите улучшить качество кода или освоить новые технологии, наш курс поможет подняться на новый уровень. Project manager и QA: Если работаете с продуктом и хотите глубже понять процесс создания веб-приложений, знания, полученные на курсе, позволят говорить на одном языке с разработчиками.

Начальные требования

Для комфортного старта на курсе потребуется базовое знакомство с Python

Что желательно знать:


Основные структуры данных: списки, кортежи, словари и множества.
Как работать с циклами (for, while) и условными конструкциями (if-else).
Основы ООП: классы, объекты, методы и наследование.
Создание и использование функций: как их определять, вызывать и работать с параметрами и возвращаемыми значениями.
Работа с модулями и пакетами: как импортировать и использовать стандартные библиотеки.

Наши преподаватели
Саид Магомедов
Senior разработчик, Тех-лид и Co-Founder в стартапе.
Неудавшийся юрист и самоучка в IT. Знаю на себе, что такое самостоятельное обучение, поэтому хочу облегчить его другим


Спойлер: Программа Курса
Введение в веб разработку

Что такое интернет и архитектура веб приложений
Инструменты на Python для бекенда. Сравнение фреймворков
Введение в FastAPI. Плюсы и минусы
Создание проекта: Pomodoro Timer

Введение в практику pomodoro
Настройка виртуального окружения через poetry
Настройка handlers
Автоматизация команд через Makefile
Разработка проекта

Обработка HTTP запросов
Pydantic
Базы данных
SQL
FastAPI+Sqlite
SQLAlchemy 2.0+Alembic
Введение в PostgreSQL и Docker
Redis сервер. Работаем с redis-py
Учимся работать с Git и Github

Git+Github
Работаем с авторизацией в FastAPI

Подготовка кода. Напишем простую авторизацию
Авторизация через JWT
OAuth авторизация. Подключаем Google
OAuth авторизация. Подключаем Яндекс
Асинхронность и асинхронные веб приложения

Asyncio. Рефакторим код
Отличие WSGI от ASGI приложений
Архитектурные подходы для написания кода

Погружения в MVC (Model-View-Controller)
Введение в DDD (Domain-Driven Design)
Тесты: юнит и интерграционные. Линтеры и форматирование кода

Что такое тесты и зачем они нужны?
Pytest: Unittest
Pytest: Интеграционные
Фоновые задачи и микросервисы: Celery, RabbitMQ, Kafka

BackgroundTask
Celery+Redis
Celery+RabbitMQ
Rabbitmq+Microservice
Архитектура Kafka
Kafka+Microservice
Микросервисная архитектура. Соединяем сервисы через Kafka
Devops: Деплой, CI/CD, Sentry, Graphana

Что такое Devops?
Docker
Настраиваем CI/CD
Sentry
Деплоим приложение на хостинг







 
Сверху