ВІДЕОУРОК № 3. Валідація даних користувача
Насамперед налаштуємо середовище для розробки, встановимо всі залежності.
Також ми познайомимося з 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.