Python: Tworzenie aplikacji HTTP/REST w architekturze mikroserwisowej
Czas trwania szkolenia:3 dni (24h)
Kod kursu:PYTHON/HTTP
Poziom zaawansowania:
O szkoleniu Python: Tworzenie aplikacji HTTP/REST w architekturze mikroserwisowej
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
Dla kogo?
- Średnio zaawansowani i zaawansowani programiści posługujący się językiem Python
- Architekci rozwiązań aplikacyjnych w języku Python
Wymagania
- Umiejętność posługiwania się wybranym środowiskiem IDE, dedykowanym dla języka Python, w stopniu średniozaawansowanym
- Ogólna znajomość biblioteki standardowej języka Python
- Znajomość zagadnień programowania obiektowego
Zalety
- Zajęcia prowadzone są przez doświadczonych praktyków, którzy na co dzień stosują prezentowane techniki i narzędzia
- Na zajęciach stosowane są otwarte rozwiązania
- Szkolenie porusza zagadnienia związane z tworzeniem i rozwijaniem aplikacji, z użyciem biblioteki standardowej oraz szkieletów aplikacyjnych (ang. framework) związanych z komunikacją sieciową
- W trakcie ćwiczeń wykorzystywane są przykłady zbliżone do rzeczywistych zastosowań i promowane są praktyki tworzenia łatwego w utrzymaniu kodu
- 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
- Zapoznanie się z mechanizmami programowania aplikacji sieciowych, dostarczanymi w ramach biblioteki standardowej języka Python
- Pokazanie silnych i słabych stron popularnych rozwiązań
- Wstępne zapoznanie się z frameworkami ułatwiającymi tworzenie rozwiązań w aplikacjach sieciowych
Program
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