SPIS TREŚCI
Wstęp
Część I. Co nowego?
1. Współczesna sieć WWW
Wprowadzenie
Usługi i API
Rodzaje API
HTTP
REST(ful)
Formaty danych JSON i API
JSON:API
GraphQL
Współbieżność
Warstwy
Dane
Podsumowanie
2. Współczesny Python
Wprowadzenie
Narzędzia
Zaczynamy
Python
Zarządzanie pakietami
Środowiska wirtualne
Poetry
Formatowanie źródeł
Testowanie
Kontrola wersji i ciągła integracja
Narzędzia webowe
API i usługi
Zmienne są nazwami
Podpowiedzi typów
Struktury danych
Frameworki webowe
Django
Flask
FastAPI
Podsumowanie
Część II. Przegląd FastAPI
3. Przegląd FastAPI
Wprowadzenie
Czym jest FastAPI?
Aplikacja FastAPI
Żądania HTTP
Ścieżka URL
Parametry zapytania
Ciało
Nagłówek HTTP
Różne rodzaje danych w żądaniu
Która metoda jest najlepsza?
Odpowiedzi HTTP
Kod statusu
Nagłówki
Rodzaje odpowiedzi
Konwersja typów
Modele i response_model
Automatyczna dokumentacja
Dane złożone
Podsumowanie
4. await, współbieżność i wycieczka po Starlette
Wprowadzenie
Starlette
Rodzaje współbieżności
Przetwarzanie rozproszone i równoległe
Procesy systemu operacyjnego
Wątki systemu operacyjnego
Zielone wątki
Wywołania zwrotne
Generatory Pythona
async, await i asyncio w Pythonie
FastAPI i async
Bezpośrednie użycie Starlette
Interludium: sprzątanie domu zagadek
Podsumowanie
5. Pydantic, podpowiedzi typów i wycieczka po modelach
Wprowadzenie
Podpowiedzi typów
Grupowanie danych
Alternatywy
Prosty przykład
Walidacja typów
Walidacja wartości
Podsumowanie
6. Zależności
Wprowadzenie
Czym jest zależność?
Problemy z zależnościami
Wstrzykiwanie zależności
Zależności FastAPI
Pisanie zależności
Zakres zależności
Pojedyncza ścieżka
Wiele ścieżek
Zakres globalny
Podsumowanie
7. Porównanie frameworków
Wprowadzenie
Flask
Ścieżka
Parametry zapytania
Ciało
Nagłówek
Django
Inne cechy frameworków webowych
Bazy danych
Zalecenia
Inne frameworki Pythona
Podsumowanie
Część III. Tworzymy serwis WWW
8. Warstwa sieci
Wprowadzenie
Z góry na dół, z dołu do góry, od środka na zewnątrz?
Projekt RESTful API
Struktura plików i katalogów w serwisie
Pierwszy kod źródłowy
Żądania
Wiele obiektów trasowania
Budowanie warstwy sieci
Definiowanie modeli danych
Dane wpisane na sztywno
Tworzenie funkcji wspólnych dla całego serwisu
Tworzenie sztucznych danych
Test
Użycie zautomatyzowanych formularzy testowych FastAPI
Komunikacja z warstwami usług i danych
Podział na strony i sortowanie
Podsumowanie
9. Warstwa usług
Wstęp
Definiowanie usług
Układ
Ochrona
Funkcje
Test
Inne rzeczy w warstwie usług
Logowanie
Statystyki, monitorowanie, obserwowalność
Śledzenie
Inne
Podsumowanie
10. Warstwa danych
Wstęp
DB-API
SQLite
Układ
Uruchomienie
Test
Testy pełne
Testy jednostkowe
Podsumowanie
11. Uwierzytelnianie i autoryzacja
Wstęp
Czy potrzebujesz uwierzytelniania?
Metody uwierzytelniania
Uwierzytelnianie ogólne: współdzielony sekret
Proste uwierzytelnianie indywidualne
Uwierzytelnianie zaawansowane
OAuth2
Model użytkownika
Użytkownicy w warstwie danych
Użytkownicy w warstwie sztucznych danych
Użytkownicy w warstwie usług
Użytkownicy w warstwie sieci
Test
Główna warstwa serwisu
Kroki autoryzacji
JWT
Autoryzacja przez partnerów zewnętrznych – OIDC
Autoryzacja
Warstwa pośrednia
CORS
Pakiety innych dostawców
Podsumowanie
12. Testowanie
Wstęp
Testowanie API sieciowego
Gdzie testować?
Co testować?
Pytest
Układ
Automatyczne testy jednostkowe
Symulowanie
Dublerzy i sztuczne dane
Sieć
Usługi
Dane
Automatyczne testy integracyjne
Wzorzec repozytorium
Pełne testy automatyczne
Testy bezpieczeństwa
Testowanie wydajności
Podsumowanie
13. Produkcja
Wstęp
Publikacja
Wiele wątków roboczych
HTTPS
Docker
Usługi chmurowe
Kubernetes
Wydajność
Asynchroniczność
Pamięć podręczna
Bazy danych, pliki i pamięć
Kolejki
Sam Python
Rozwiązywanie problemów
Rodzaje problemów
Logowanie
Statystyki
Podsumowanie
Część IV. Galeria
14. Bazy danych, analiza danych i odrobinę sztucznej inteligencji
Wstęp
Alternatywne magazyny danych
Relacyjne bazy danych i SQL
SQLAlchemy
SQLModel
SQLite
PostgreSQL
EdgeDB
Nierelacyjne (NoSQL) bazy danych
Redis
MongoDB
Cassandra
Elasticsearch
Cechy NoSQL w bazach danych SQL
Testy wydajnościowe baz danych
Analiza danych i sztuczna inteligencja
Podsumowanie
15. Pliki
Wstęp
Obsługa części
Wysyłanie plików
File()
UploadFile
Pobieranie plików
FileResponse
StreamingResponse
Serwowanie plików statycznych
Podsumowanie
16. Formularze i szablony
Wstęp
Formularze
Szablony
Podsumowanie
17. Eksploracja i wizualizacja danych
Wstęp
Python i dane
Wyjście w formacie PVS
CSV
python-tabulate
pandas
SQLite jako wejście i sieć jako wyjście
Pakiety do wykresów i grafik
Pierwszy przykład z testowym wykresem
Drugi przykład z histogramem
Pakiety map
Przykład mapy
Podsumowanie
18. Gry
Wstęp
Pakiety Pythona dla gier
Rozdzielenie logiki gry
Projekt gry
Warstwa sieci – część I: inicjalizacja gry
Warstwa sieci – część II: kroki gry
Warstwa usług – część I: inicjalizacja
Warstwa usług – część II: wyliczanie wyniku
Test
Warstwa danych: inicjalizacja
Zagrajmy w Cryptonamicon
Podsumowanie
A. Dalsza lektura
B. Stworzenia i ludzie
Opinie
Na razie nie ma opinii o produkcie.