1.2. About Agenda
8:59 - meeting
9:00 - training day start
10:20-10:30 - coffee break (10 min)
11:50-12:00 - coffee break (10 min)
13:15-14:00 - lunch break (45 min)
15:20-15:30 - coffee break (10 min)
17:00 - training day end
Wprowadzenie teoretyczne do zagadnień sieciowych:
Model OSI
Komunikacja TCP/IP i trójstronny handshake
Komunikacja klient-serwer
Asynchroniczna komunikacja sieciowa
Skalowalność horyzontalna
Protokół HTTP:
Cykl życia żądania HTTP
Request-Response
Metody (czasowniki) protokołu
Nagłówki żądań i odpowiedzi
Statusy
Mimetype
Uwierzytelnianie
Pobieranie danych z serwera
Przesyłanie danych do serwera
Debugging
HTTPS
Uwierzytelnianie
OAuth2 i JWT (JSON Web Token)
REST:
JSON serializacja i deserializacja
Dokumentacja: OpenAPI
Zasady tworzenia API
Wersjonowanie API
Uwierzytelnianie
Wprowadzenie do frameworków:
FastAPI
Django
Kolejki zadań: Redis+Cellery
Wprowadzenie do baz danych:
Surowe zapytania SQL
Wykorzystanie ORM w aplikacji
Przykłady użycia baz danych: SQLite3, PostgreSQL, MongoDB, InfluxDB, Prometheus
Mechanizmy cache: memcached, redis, varnish
Wprowadzenie do konteneryzacji:
Docker
Kubernetes
Mikroserwisy:
Architektura mikroserwisowa
Skalowalność
BFF - Backend for Frontend
API Gateway
Load Ballancing
Testowanie aplikacji sieciowych:
Praktyczna implementacja testów aplikacji sieciowej w języku Python
Testowanie aplikacji sieciowych we współczesnych metodykach wytwarzania oprogramowania
Pipeline CI/CD