О курсе
Flask – это популярный Python фреймворк для создания веб-приложений, известный своей простотой и гибкостью. Для создания веб-приложений он предоставляет только базовые возможности, оставляя разработчикам максимальный контроль за работой приложения.
На данном курсе вы познакомитесь с фреймворком Flask и получите необходимые теоретические и практические знания для построения собственной программы или поддержки существующего проекта. Мы также будем строить полноценное веб-приложение для контроля затрат, которое в дальнейшем станет вашим базисом.
На курсе мы обсудим все подводные камни, на которые может «наступить» новичок, и поговорим о лучших практиках, используемых в разработке веб-приложений с помощью Flask. Будет рассмотрен процесс создания веб-приложения с использованием Jinja2 Templates – работа с циклами и условиями, наследование форм. Вы познакомитесь с архитектурным стилем построения веб-сервисов REST, SQLAlchemy и свяжете приложение с SQLite3.
Далее, вы узнаете, для чего нужна и как использовать валидацию пользовательских данных на стороне сервера, и что такое сериализация и десериализация данных. Вы поймете, что такое миграции в базе данных, для чего они используются и как задействовать на практике миграционные инструменты в Flask. Вы рассмотрите, что такое аутентификация и чем она отличается от авторизации, какие существуют способы аутентификации REST, познакомитесь со стандартом создания токенов JWT. Также вы узнаете, как правильно тестировать Flask приложение, какие тесты бывают, что такое потоки, примитивы синхронизации в Python, как они могут ускорить вашу программу, рассмотрите использование асинхронности в вашем приложении. На последних уроках вы на практике рассмотрите, что такое Docker и как доставлять приложения клиенту, научитесь писать Dockerfile и развернете ваше приложение на Heroku.
Этот курс входит в специальности:
Предварительные Требования
Курс ориентирован на разработчиков, которые в полной мере знают язык Python на уровне Python Углубленный.
Вы научитесь
- Разрабатывать REST API приложения на Python и Flask.
- Использовать Best practices для работы с базами данных.
- Тестировать веб-приложения Python.
- Использовать Docker для развертывания приложений.
- Работать с потоками и иметь практическое понимание использования асинхронности.
- 5 ч 6 м
- 24.06.2024
- 10
- 24.06.2024
- украинский
Что входит в курс
В первую очередь настроим среду для разработки, установим все зависимости. Также мы познакомимся с Flask, узнаем, как он работает и из каких компонентов состоит: представления, модели и контроллеры. Построим первое веб-приложение с использованием Jinja2 Templates: работа с циклами и условиями, наследование форм.
В больших проектах делятся frontend и backend части, чтобы они могли развиваться независимо друг от друга, поэтому мы познакомимся с архитектурным стилем построения веб-сервисов REST. Начнем работу над полноценным веб-приложением для контроля затрат, познакомимся с SQLAlchemy и свяжем приложение с SQLite3. Узнаем, что такое SwaggerUI и как можно автоматически генерировать документацию. Также рассмотрим альтернативы REST: gRPC и GraphQL.
Обсудим, зачем нужна валидация пользовательских данных на стороне сервера и что такое сериализация и десериализация данных. Улучшим структуру программы.
Целью данного урока будет использование SQLAlchemy, рассмотрение более сложных запросов. Обсудим, зачем нужны ORM и какие существуют подводные камни при работе с ORM.
На этом уроке поговорим о том, что такое миграции и зачем они используются. Также рассмотрим инструменты для миграций в Flask.
В этом уроке поговорим о том, что такое аутентификация и чем она отличается от авторизации. Обсудим методы аутентификации программы REST. Познакомимся с JWT.
В этом уроке поговорим о том, как правильно тестировать Flask приложение, какие тесты вообще бывают. Также научимся использовать Mock и настроим процесс CI для нашей программы.
В этом уроке мы поговорим о том, что такое Docker и как доставлять программы клиенту. Научимся писать Dockerfile и развернем наше приложение на Heroku.
В этом уроке обсудим, что такое потоки и как они могут ускорить вашу программу. Поговорим, что такое GIL и какие бывают примитивы синхронизации в Python.
В этом уроке поговорим о том, что такое асинхронное программирование и какие у него преимущества, недостатки. Рассмотрим, какие бывают асинхронные фреймворки на Python. Обсудим разницу между синхронным и асинхронным кодом, а также рассмотрим области применения каждого.