Szkolenie: Python: Tworzenie aplikacji HTTP/REST w architekturze mikroserwisowej
Uczestnicy szkolenia zapoznają się z metodami tworzenia aplikacji webowych w języku Python
Czas trwania szkolenia:3 dni (24h)
Kod kursu:PYTHON/HTTP
Python: Tworzenie aplikacji HTTP/REST w architekturze mikroserwisowej
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
Dla kogo?
Średnio zaawansowani i zaawansowani programiści posługujący się językiem Python
Architekci rozwiązań aplikacyjnych w języku Python
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
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
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
Program szkolenia
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