Курс: Python для веб – разработки. Flask и разработка веб – приложений
Курс: Python для веб – разработки. Flask и разработка веб – приложений
Продолжительность курса: 40 ак. ч.
Описание курса:
Курс посвящен углубленному изучению микрофреймворка Flask в применении к созданию полноценного веб-приложения на примере блога. Курс охватывает важные темы современной backend веб-разработки: логирование, механизмы аутентификации, асинхронные запросы и т.д.
• Курс включает в себя разработку полноценного веб-приложения при помощи языка Python и микрофреймворка Flask, а также освоение основных этапов разработки при проектировании веб-приложений.
• Курс основан на опыте практического применения языка Python в современной backend разработке.
• Курс включает в себя не только практическую, но и теоретическую часть, и таким образом не сводится к простому «сборнику рецептов».
• Курс читается на базе ОС Linux. Обучение проводится на примере популярнейшего дистрибутива Ubuntu. Однако большинство технологий, изучаемых на курсе, могут применяться и на базе Windows.
Аудитория:
• Разработчики на Python
• Веб-разработчики
Необходимая подготовка:
Успешное окончание курса Python для веб - разработки. Flask и проектирование REST API, или эквивалентная подготовка.
Программа курса:
Модуль 1. Шаблоны. Шаблонизатор Jinja2
• Знакомство с Jinja2.
• Создание шаблонов.
• Шаблонные теги.
• Механизм наследования и блоки шаблонов.
Практикум. Использование шаблонов на практике
• Создание сайта для работы с пользователями на основе шаблонов.
Модуль 2. Структура проекта
• Структура файлов и директорий в проекте.
• Логические части web-приложения.
Практикум. Рефакторинг проекта с учетом разделения логики
• Реализовать REST API с учетом модульности проекта.
Модуль 3. Сериализация и десериализация данных
• Знакомство с библиотекой Marshmallow.
• Сериализация на основе Marshmallow.
• Десериализация на основе Marshmallow.
• Добавление в проект библиотек flask-marshmallow и marshmallow-sqlalchemy.
Практикум. Добавление схем marshmallow в проект
• Реализация схем сериализации и десериализации.
• Реализация собственных схем валидации входных данных.
• Тестирование REST API.
Модуль 4. Авторизация, работа с пользователями. Формы
• Аутентификация и авторизация.
• Добавление модуля для реализации процесса login’a и logout’a.
• Добавления модуля для работы с формами.
• Базовая аутентификация.
• Расширенная аутентификация на основе токенов.
• Примеры работы с формами.
Практикум. Реализация работы с пользователями сайта
• Доработка проекта, реализация форм для входа и регистрации новых пользователей.
• Реализация базовой и расширенной аутентификации в проекте.
• Тестирование REST API.
Модуль 5. Документация проекта на основе OpenAPI
• Знакомство со стандартом OpenAPI.
• Механизм документирования проекта.
Практикум. Реализация документирования проекта
• Внедрение документации в проект.
• Тестирование REST API на основе OpenAPI.
Модуль 6. Локализация проекта
• Знакомство с библиотекой flask-babel.
• Механизм добавление разных языков для проекта.
Практикум. Добавление локализации в проект
• Добавление русского языка в проект
Модуль 7. Расширение функционала, сложные запросы
• Расширенная фильтрация средствами SQLAlchemy.
• Работа с фикстурами.
• Реализация отношения многие-к-многим.
Практикум. Реализация сложных запросов в проекте
• Реализация сложных запросов на основе фильтраций.
• Создание и использование фикстур.
• Тестирование REST API.
Модуль 8. Deployment (развертывание) на основе docker
• Понятие производственного(production) окружения.
• Идея готовых «песочниц», docker как пример реализаций.
• СI / CD как важный процесс подготовки к production release.
Практикум. Создание docker контейнера
• Реализация создания docker контейнера на основе готового web приложения.
• Запуск готового docker контейнера и тестирование работы.
Окончательная цена указывается в договоре на обучение.