Bądźmy w kontakcie
 Czas trwania 28 godzin

Plan Szkolenia

Dzień 1 — Solidne podstawy Pythona i narzędzia

Nowoczesne funkcje Pythona i typowanie

  • Podstawy typowania, typy generyczne, protokoły i TypeGuard
  • Klasy danych, zamrożone klasy danych i przegląd attrs
  • Dopasowywanie wzorców (PEP 634+) i idiomatyczne użycie

Jakość kodu i narzędzia

  • Formatowanie kodu i lintowanie: black, isort, flake8, ruff
  • Statyczne sprawdzanie typów za pomocą MyPy i pyright
  • Hooki pre-commit i przepływy pracy programisty

Zarządzanie projektem i pakowanie

  • Zarządzanie zależnościami za pomocą Poetry i środowisk wirtualnych
  • Struktura pakietu, punkty wejścia i najlepsze praktyki wersjonowania
  • Budowanie i publikowanie pakietów w PyPI i prywatnych repozytoriach

Dzień 2 — Wzorce projektowe i praktyki architektoniczne

Wzorce projektowe w Pythonie

  • Wzorce kreacyjne: Fabryka, Budowniczy, Singleton (warianty pythoniczne)
  • Wzorce strukturalne: Adapter, Fasada, Dekorator, Pełnomocnik
  • Wzorce behawioralne: Strategia, Obserwator, Polecenie

Zasady architektoniczne

  • Zasady SOLID w zastosowaniu do baz kodu Python
  • Architektura heksagonalna/czysta i granice
  • Wzorce wstrzykiwania zależności i zarządzanie konfiguracją

Modularność i ponowne wykorzystanie kodu

  • Projektowanie kodu bibliotecznego w porównaniu z kodem aplikacji
  • API, stabilne interfejsy i wersjonowanie semantyczne
  • Obsługa konfiguracji, sekretów i ustawień specyficznych dla środowiska

Dzień 3 — Współbieżność, asynchroniczne IO i wydajność

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

  • Podstawy wątków i implikacje GIL
  • Multiprocessing i pule procesów dla zadań obciążających CPU
  • Kiedy stosować concurrent.futures, a kiedy multiprocessing

Programowanie asynchroniczne z asyncio

  • Wzorce async/await, pętla zdarzeń i anulowanie
  • Projektowanie bibliotek asynchronicznych i współdziałanie z kodem synchronicznym
  • Wzorce związane z wejściem/wyjściem, ciśnienie wsteczne i ograniczanie szybkości

Profilowanie i optymalizacja

  • Narzędzia profilujące: cProfile, pyinstrument, perf, memory_profiler
  • Optymalizacja ścieżek krytycznych i stosowanie rozszerzeń C/Numba tam, gdzie to stosowne
  • Pomiar opóźnień, przepustowości i wykorzystania zasobów

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

Strategie testowania i automatyzacja

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

CI/CD, wydania i monitorowanie

  • Integracja testów i bramek jakości z GitHub Actions/GitLab CI
  • Budowanie odtwarzalnych kontenerów za pomocą Dockera i budowania wieloetapowego
  • Obserwowalność aplikacji: logowanie strukturalne, metryki Prometheusa i śledzenie

Bezpieczeństwo, wzmacnianie i najlepsze praktyki

  • Audyt zależności, podstawy SBOM i skanowanie podatności
  • Bezpieczne praktyki kodowania w zakresie walidacji danych wejściowych i zarządzania sekretami
  • Wzmacnianie środowiska uruchomieniowego: limity zasobów, uprawnienia użytkowników i bezpieczeństwo kontenerów

Projekt końcowy i przegląd

  • Laboratorium zespołowe: zaprojektowanie i implementacja małej usługi z wykorzystaniem wzorców z kursu
  • Testowanie, sprawdzanie typów, pakowanie i potok CI dla projektu
  • Przegląd końcowy, krytyka kodu i plan możliwych ulepszeń

Podsumowanie i kolejne kroki

Wymagania

  • Duże doświadczenie w programowaniu w Pythonie na poziomie średnio zaawansowanym
  • Znajomość programowania obiektowego i podstaw testowania
  • Doświadczenie w korzystaniu z wiersza poleceń i systemu Git

Grupa docelowa

  • Starszy programista Python
  • Inżynierowie oprogramowania odpowiedzialni za jakość kodu i architekturę w Pythonie
  • 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