Про курс
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 та обговоримо, коли краще застосовувати асинхронний підхід, а коли синхронний. Крім того, вивчимо концепти асинхронного програмування і які у нього переваги та недоліки перед синхронним підходом.