Про курс
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 для розгортання додатків.
- Працювати з потоками та мати практичне розуміння використання асинхронності.
- 4 год 43 хв
- у записі
- 9
- 9 з 10
- українська
Що входить до курсу
Насамперед налаштуємо середовище для розробки, встановимо всі залежності.
Також ми познайомимося з 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.