Python: Flask tworzenie REST API
Czas trwania szkolenia:2 dni (16h)
Kod kursu:PYTHON/FLASK
Poziom zaawansowania:
O szkoleniu Python: Flask tworzenie REST API
W cenie otrzymasz:
- Materiały szkoleniowe
- Certyfikat ukończenia szkolenia
- W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Wymagania
- Szkolenie nie jest dla początkujących, chociaż przyswojenie nowej składni nie powinno być problemem dla osób nawet z niewielkim doświadczeniem programistycznym
- Mile widziana znajomość protokołu HTTP i modelu request-response
- Mile widziana umiejętność poruszania się w środowisku Linux
Zalety
- W trakcie szkolenia uczestnicy stworzą przykładową aplikację gotową do użycia i wdrożenia na serwer
- Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań
- Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką
- Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how
Cele szkolenia
- Opanowanie elementów frameworka Flask, odpowiadających za obsługę zapytań HTTP
- Zdobycie wiedzy dotyczącej uruchamiania aplikacji Flask w środowisku produkcyjnym
- Poznanie mechanizmów Flask odpowiedzialnych za testowanie aplikacji
Program
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
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
Type annotations
- Typy
- Sekwencje
- Mapy
- Funkcje
- Klasy
Projekty Flask
- Konwencja nazewnicza
- Podział projektu na wiele plików
- Mechanizm importów
- Reużywalność
- Wersjonowanie API
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
System szablonów Jinja
- Znaczniki
- Filtry
- Własne funkcje
- Zaawansowane użycie
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
Middleware
- Mechanizm przetwarzania żądań
- Tworzenie własnych middleware
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
Websockets
- Omówienie technologii
- Prosta implementacja
Testowanie API
- Debugging
- Fixtures
- CI/CD aplikacji Flask
Aplikacja Flask w środowisku produkcyjnym
- nginx+uWSGI vs nginx+Gunicorn
- Docker i Kubernetes
Architektura mikroserwisowa
- Architektura mikroserwisowa
- Skalowalność
- BFF - Backend for Frontend
- API Gateway
- Load Balancing