О курсе
Flask – это удобный легковесный фреймворк, используемый для создания веб-приложений на Python. Преимуществами Flask является легкость его изучения, гибкость в настройке и модификации, возможность для разработчика полностью контролировать процесс разработки.
В курсе «Flask» рассматривается создание веб-приложения с использованием этого удобного инструмента. Проходя данный курс, вы научитесь выполнять полный цикл разработки приложения, начиная с подготовки и настройки окружения для разработки на языке Python, и заканчивая упаковкой приложения в контейнеры Docker, и развёртывания его на серверах Heroku. Вы познакомитесь с принципами архитектуры REST, особенностью работы с базами данных, научитесь тестировать ваше приложение и организовывать его многопоточную, и асинхронную работу.
Этот курс входит в специальности:
Предварительные Требования
Для прохождения курса необходимы базовые знания языка Python и основ ООП.
Вы научитесь
- Создавать полноценное веб приложение с использованием Flask Framework.
- Использовать шаблонизатор Jinja2.
- Проектировать свое веб-приложение согласно принципам RESTful API.
- Организовывать валидацию пользовательских данных с помощью Marshmallow.
- Использовать библиотеку SQLAlchemy и ORM технологию для организации работы с базой данных.
- Понимать, что такое миграции и выполнять миграции баз данных с помощью Alembic и Flask-Migrate.
- Различать способы аутентификации в REST приложениях и реализовывать аутентификацию и авторизацию, используя JWT.
- Организовывать тестирование RESTful приложения с помощью pytest и используя Mock
- Понимать, что такое Docker и Dockerfile.
- Организовывать упаковку своего приложения с помощью Docker.
- Выполнять развёртывание своего приложения на Heroku.
- Понимать принципы организации многопоточного приложения и организовывать многопоточность в приложении с помощью Global Interpreter Lock (GIL) и ThreadPoolExecutor.
- Понимать принципы асинхронного программирования, его преимущества и недостатки. Использовать асинхронные Python фреймворки для работы с вашим веб приложением.
- 6 ч 28 м
- 15.01.2021
- 10
- 10.02.2021
- русский
Что входит в курс
×
Вы действительно хотите открыть доступ к тестированию по курсу Flask на 40 дней?
Научиться настраивать среду разработки и создавать простые веб-приложения с помощью Flask Framework и Jinja2 Templates. Также, обсудить архитектуру веб-приложений.
Узнать, что такое архитектура REST и как она работает, рассмотреть альтернативы REST: gRPC и GraphQL. Научиться создавать RESTful API с помощью Flask-RESTful. Начнем знакомство с ORM SQLAlchemy и познакомимся со SwaggerUI.
Узнать, зачем нужна валидация данных на сервере, если она уже есть на клиентской части, обсудим, что такое сериализация и десериализация данных. Улучшим структуру приложения.
Повторить, что такое ORM и зачем она нужна, познакомиться с паттернами проектирования, которые используются в SQLAlchemy, научиться делать более сложные запросы с помощью ORM и узнать, как делать агрегационные запросы. Также обсудить подводные камни работы с ORM.
Узнать, что такое миграции и зачем они нужны. Разобрать инструменты, которые используется в Python для миграций данных. Также, напишем собственные миграции.
Узнать, что такое аутентификация и авторизация пользователя, чем они отличаются друг от друга. Также, рассмотреть способы и протоколы аутентификации в веб-приложениях и добавить в наше приложение аутентификацию на базе JWT.
Рассмотрим, какие бывают виды тестирования веб-приложений, узнаем, какие инструменты существуют для тестирования веб-приложений в Python и автоматизируем запуск тестов с помощью Continuous Integrations tools.
Узнаем, что такое Docker и Docker контейнер, рассмотрим причины использования Docker, упакуем наше Flask приложение в Docker контейнер и развернем его на Heroku.
Узнаем, как более эффективно использовать ресурсы сервера/процессора, изучим способы ускорения Flask приложения и рассмотрим варианты применения каждого из способов. Также, познакомимся с примитивами синхронизации в Python и поговорим о GIL.
Познакомимся с асинхронным программированием в Python, рассмотрим асинхронный фреймворк Sanic и обсудим, когда лучше применять асинхронный подход, а когда синхронный. Кроме того, изучим концепты асинхронного программирования и какие у него преимущества, и недостатки перед синхронным подходом.