Course Code:
bpfapi
Duration:
21 hours
Course Outline:
- Mikroserwisy vs aplikacje monolityczne
- Przegląd funkcjonalności FastAPI:
- Struktura kodu
- Jak stworzyć aplikację?
- Dependency injection
- Przetwarzanie synchroniczne i asynchroniczne
- Wprowadzenie
- Wykorzystanie bibliotek zewnętrznych
- Budowanie modeli danych z wykorzystaniem pydantic, w tym:
- Walidacje
- Metadane
- Modele zagnieżdżone
- Obsługa zapytań - przesyłanie:
- Danych w postaci JSON
- Plików
- Obsługa odpowiedzi:
- JSON
- Strumieniowanie
- Własne kody odpowiedzi
- Uwierzytelnianie żądań:
- Basic auth
- JWT
- Integracja z SQLALchemy:
- Obsługa transakcji
- Tworzenie modeli, walidacja, modele hybrydowe
- Najlepsze praktyki w pracy z SQLAlchemy
- Zadania w tle:
- Zadania w tle FastAPI
- Integracja z celery:
- Wybór backendu
- Konfiguracja
- Słabe / mocne strony poszczególnych rozwiązań
- Budowanie aplikacji z wykorzystaniem FastAPI + celery + redisa jako brokera
- FastAPI a modele uczenia maszynowego:
- Najlepsze praktyki eksponowania modelu za pomocą FastAPI
- Wykorzystanie cookiecutter
- Testowanie aplikacji
- Testy a asynchroniczność
- Wprowadzenie narzędzia pytest
- Mockowanie i patchowanie
- Mierzenie pokrycia kodu testami
- Integracja pytesta ze środowiskiem CI/CD
- Wykorzystanie testcontainers do przeprowadzania testów funkcjonalnych
- Praca nad projektem
- Podsumowanie