1.15. Python: Flask

1.15.1. Polish

  1. Wprowadzenie do Flask:

    • Instalacja Flask i środowiska uruchomieniowego

    • Wbudowany serwer HTTP (nasłuchiwanie lokalne oraz na wszystkich interfejsach)

    • IDE oraz narzędzia dla programistów

  2. Protokół HTTP:

    • Request-Response

    • Metody protokołu (czasowniki HTTP)

    • Nagłówki żądań i odpowiedzi

    • Statusy

    • Mimetype

    • Uwierzytelnianie

    • Pobieranie danych z serwera

    • Przesyłanie danych do serwera

    • Debugging

    • HTTPS

    • Uwierzytelnianie

  3. Type annotations:

    • Typy

    • Sekwencje

    • Mapy

    • Funkcje

    • Klasy

  4. Projekty Flask:

    • Konwencja nazewnicza

    • Podział projektu na wiele plików

    • Mechanizm importów

    • Reużywalność

    • Wersjonowanie API

  5. Widoki:

    • URL Routing

    • Obsługa zapytań GET, POST, PUT, DELETE

    • Parametry w URL, parametry żądania

    • Nagłówki zapytań i odpowiedzi

    • Schematy wejściowe i wyjściowe

    • Kody statusu, tagi

  6. System szablonów Jinja:

    • Znaczniki

    • Filtry

    • Własne funkcje

    • Zaawansowane użycie

  7. Modele bazy danych:

    • Modele w SQLAlchemy

    • Typy pól

    • Relacje między modelami

    • Parametry pól, unikalność, wartości null, indeks w bazie, wymagalność pól

    • Migracje i ich obsługa

    • Schematy dla modeli ORM

    • Tworzenie prostych zapytań przy pomocy ORM

    • Tworzenie obiektów, zapis do bazy, aktualizacja

    • Pobieranie obiektów, filtrowanie, łączenie zapytań, sortowanie

    • Podglądanie zapytań do bazy danych

  8. Middleware:

    • Mechanizm przetwarzania żądań

    • Tworzenie własnych middleware

  9. Autoryzacja i uwierzytelnianie:

    • System uwierzytelniania JSON Web Token (JWT)

    • Logowanie

    • Mechanizm sesji

    • Definiowanie uprawnień dla użytkownika i grup

    • Ograniczanie dostępu do widoków

  10. Websockets:

    • Omówienie technologii

    • Prosta implementacja

  11. Testowanie API:

    • Debugging

    • Fixtures

    • CI/CD aplikacji Flask

  12. Aplikacja Flask w środowisku produkcyjnym:

    • nginx+uWSGI vs nginx+Gunicorn

    • Docker i Kubernetes

  13. Architektura mikroserwisowa:

    • Architektura mikroserwisowa

    • Skalowalność

    • BFF - Backend for Frontend

    • API Gateway

    • Load Balancing