Bądźmy w kontakcie
 Czas trwania 28 godzin

Plan Szkolenia

Dzień 1 — Solidne fundamenty Pythona i narzędzia

Nowoczesne funkcje Pythona i typowanie

  • Podstawy typowania, generyki, Protocols i TypeGuard
  • Dataclass, zamarznięte dataclass oraz przegląd atrybutów (attrs)
  • Dopasowanie wzorców (PEP 634+) i idiomatyczne użycie

Jakość kodu i narzędzia

  • Formatery i linterzy kodu: black, isort, flake8, ruff
  • Statyczne sprawdzanie typów za pomocą MyPy i pyright
  • Haki pre-commit i przepływy pracy developerów

Zarządzanie projektami i pakowanie

  • Zarządzanie zależnościami za pomocą Poetry i wirtualnych środowisk
  • Struktura pakietów, punkty wejściowe i najlepsze praktyki w zakresie versioningu
  • Budowanie i publikowanie pakietów w PyPI i prywatnych rejestrach

Dzień 2 — Wzorce projektowe i praktyki architektoniczne

Wzorce projektowe w Pythonie

  • Wzorce tworzenia: Factory, Builder, Singleton (warianty pythoniczne)
  • Wzorce strukturalne: Adapter, Facade, Decorator, Proxy
  • Wzorce behawioralne: Strategy, Observer, Command

Zasady architektoniczne

  • Zastosowanie zasad SOLID w kodzie Python
  • Architektura heksagonalna/czysta (Clean) i granice
  • Wzorce wstrzykiwania zależności i zarządzanie konfiguracją

Modułowość i ponowne użycie

  • Projektowanie kodu bibliotecznego vs. aplikacyjnego
  • API, stabilne interfejsy i semantyczne versioning
  • Obsługa konfiguracji, tajemnic (secrets) i ustawień specyficznych dla środowiska

Dzień 3 — Współbieżność, wejście/wyjście asynchroniczne i wydajność

Współbieżność i równoległość

  • Podstawy wątkowania i implikacje GIL
  • Multiprocessing i procesowe pulę dla zadań obciążających CPU
  • Kiedy używać concurrent.futures vs multiprocessing

Programowanie asynchroniczne z asyncio

  • Wzorce async/await, pętla zdarzeń i anulowanie
  • Projektowanie bibliotek asynchronicznych i interoperacyjność z kodem synchronicznym
  • Wzorce wejścia/wyjścia ograniczonego przez IO, backpressure i limitowanie szybkości

Profilowanie i optymalizacja

  • Narzędzia do profilowania: cProfile, pyinstrument, perf, memory_profiler
  • Optymalizacja gorących ścieżek i stosowanie rozszerzeń C/Numba, jeśli to odpowiednie
  • Pomiar opóźnienia, przepustowości i wykorzystania zasobów

Dzień 4 — Testy, CI/CD, obserwowalność i wdrażanie

Strategie testowania i automatyzacja

  • Testy jednostkowe i fixtuwry z pytestem; organizacja testów
  • Testowanie oparte na właściwościach z Hypothesis i testowanie kontraktów
  • Mockowanie, monkeypatching i testowanie kodu asynchronicznego

CI/CD, wydawanie i monitorowanie

  • Integrowanie testów i bram jakości w GitHub Actions/GitLab CI
  • Budowanie odtwarzalnych kontenerów z Dockerem i buildami wielostopniowymi
  • Obserwowalność aplikacji: strukturalne logowanie, metryki Prometheus i śledzenie (tracing)

Bezpieczeństwo, wzmacnianie i najlepsze praktyki

  • Audyt zależności, podstawy SBOM i skanowanie luk bezpieczeństwa
  • Bezpieczne praktyki kodowania dla walidacji wejścia i zarządzania tajemnicami
  • Wzmacnianie środowiska uruchomieniowego: limity zasobów, prawa użytkownika i bezpieczeństwo kontenerów

Projekt końcowy i przegląd

  • Ćwiczenie zespołowe: zaprojektowanie i zaimplementowanie małej usługi z użyciem wzorców z kursu
  • Testy, sprawdzanie typów, pakowanie i pipeline CI dla projektu
  • Ostateczny przegląd, krytyka kodu i plan dalszych działań

Podsumowanie i kolejne kroki

Wymagania

  • Silne doświadczenie w programowaniu w Pythonie na poziomie średniozaawansowanym
  • Znajomość programowania obiektowego i podstaw testowania
  • Doświadczenie w używaniu wiersza poleceń oraz Git

Grupa docelowa

  • Senior Python developers
  • Inżynierowie oprogramowania odpowiedzialni za jakość i architekturę kodu Python
  • Liderzy techniczni oraz inżynierowie MLOps/DevOps pracujący z bazami kodu Python

Wybierz dostępny termin kursu

  • Formularz Zdalne
  • Język polski
  • Szkolenie Kursy otwarte
  • Data rozpoczęcia 2027-01-11
  • Czas trwania 4 dni (28 godzin)
ZAREZERWUJ - 5150 PLN

Cena netto za uczestnika

Opinie uczestników (3)

Propozycje terminów

Powiązane Kategorie