Kontaktirajte nas
 Trajanje 28 sati

Sadržaj kursa

Dan 1 — Robusne osnove Pythona i alatstvo

Moderne karakteristike Pythona i tipizacija

  • Osnove tipizacije, genrici, Protokoli i TypeGuard
  • Dataclass-ovi, zamrznuti dataclass-ovi i pregled attrs
  • Prilagođavanje obrazaca (PEP 634+) i idiomatično korišćenje

Kvalitet koda i alatstvo

  • Formatiraoči koda i linteri: black, isort, flake8, ruff
  • Statičko proveravanje tipova uz MyPy i pyright
  • Pre-commit kuke i tokovi rada razvojača

Upravljanje projektima i pakovanje

  • Upravljanje zavisnostima uz Poetry i virtuelna okruženja
  • Raspored paketa, tačke ulaska i najbolje prakse verzionisanja
  • Gradnja i objavljivanje paketa na PyPI i privatne registre

Dan 2 — Obrasci dizajna i arhitektonske prakse

Obrasci dizajna u Pythonu

  • Kreativni obrasci: Factory, Builder, Singleton (Pythonizovani varijante)
  • Strukturalni obrasci: Adapter, Facade, Decorator, Proxy
  • Ponašajni obrasci: Strategy, Observer, Command

Arhitektonska načela

  • SOLID načela primenjena na Python bazama koda
  • Hexagonal/Clean arhitektura i granice
  • Obrasci injicije zavisnosti i upravljanje konfiguracionim podacima

Modularnost i ponovo korišćenje

  • Dizajniranje biblioteke u odnosu na kod aplikacije
  • API-ji, stabilni interfejsi i semantičko verzionisanje
  • Ručanje konfiguracionih podataka, tajni i podešavanja specifičnih za okruženje

Dan 3 — Konkurencija, asinhrona IO i performanse

Konkurencija i paralelnost

  • Osnove niti i implikacije GIL-a
  • Multiprocessing i procesni pool-ovi za CPU-ograničene zadatke
  • Kada koristiti concurrent.futures u odnosu na multiprocessing

Asinhrono programiranje uz asyncio

  • Async/await obrasci, petlja događaja i prekid
  • Dizajniranje asinhronih biblioteka i interakcija sa sinkronim kodom
  • IO-ograničeni obrasci, povratni pritisak i ograničenje stope

Profiliranje i optimizacija

  • Alati za profiliranje: cProfile, pyinstrument, perf, memory_profiler
  • Optimizacija toplih staza i korišćenje C-ekstenzija/Numba gde je primerno
  • Merenje latencije, propusnog kapaciteta i iskorišćenja resursa

Dan 4 — Testiranje, CI/CD, posmatranje i implementacija

Strategije testiranja i automatizacija

  • Testiranje jedinica i fiksni elementi uz pytest; organizacija testova
  • Testiranje zasnovano na svojstvima uz Hypothesis i testiranje ugovora
  • Mocking, monkeypatching i testiranje asinhronog koda

CI/CD, izdavanje i praćenje

  • Integracija testova i kontrolnih tačaka kvaliteta u GitHub Actions/GitLab CI
  • Gradnja reproduktibilnih kontejnera uz Docker i višestepene gradnje
  • Posmatranje aplikacija: strukturirano beleženje, metrike Prometheus i traganje

Bezbednost, učvršćivanje i najbolje prakse

  • Revizija zavisnosti, osnove SBOM-a i skeniranje ranjivosti
  • Bezbedne prakse programiranja za validaciju ulaza i upravljanje tajnama
  • Učvršćivanje u vremenu izvođenja: ograničenja resursa, korisnička prava i bezbednost kontejnera

Capstone projekat i pregled

  • Timski laboratorija: dizajniranje i implementacija male servisa koristeći obrasce iz kursa
  • Testiranje, proveravanje tipova, pakovanje i CI pipeline za projekat
  • Konačni pregled, kritika koda i plan poboljšanja za akciju

Sažetak i sledeći koraci

Uslovi

  • Snažno iskustvo srednjeg nivoa programiranja u Pythonu
  • Znajomstvo sa objektno-orijentisanom programom i osnovnim testiranjem
  • Iskustvo u korišćenju komandne linije i Gita

Publica

  • Senior Python programeri
  • Inženjeri softvera odgovorni za kvalitet koda i arhitekturu Pythona
  • Tehnički vodiči i MLOps/DevOps inženjeri koji rade sa Python bazom koda

Broj učesnika


Cena po učesniku

Iskustva korisnika (2)

Predstojeći kursevi

Povezane kategorije