GTR = sesiune garantata
*Pretul nu include TVA si este valabil pentru un participant inscris la sesiuni publice sau la un curs in format SPVC sau WBT.
Inscrierea la o sesiune publica nu va garanteaza rezervarea unui loc. La scurt timp de la momentul inscrierii, veti fi contactat de un reprezentant Kluger pentru confirmarea rezervarii si a pretului final.
Disponibilitatea acestui curs in alte formate de livrare, sub un cod diferit, se poate verifica in portofoliu.
Daca doriti o sesiune privata, cu agenda standard sau adaptata nevoilor dvs., va rugam sa ne contactati.
DESCRIERE
Programare din perspectiva unui developer senior
Un program intensiv de 4 zile, dedicat dezvoltatorilor care folosesc deja Python în producție și vor să exploreze limbajul la adevăratul său potențial. Cursul este construit în jurul unui proiect aplicat, ce reproduce un scenariu realist de lucru cu date, de la ingestie până la procesare și livrare.
Tratăm cu provocări de performanță, arhitectură și scalare întâlnite în producție, explorând tehnici și decizii esențiale la nivel senior.
Agenda high-level
- recapitulare concepte cheie Python la nivel avansat
- modelarea problemelor complexe folosind OOP
- iteratori, generatori și pipeline-uri de date
- design patterns aplicate în Python
- concurență, paralelism și performanță
- gestionarea resurselor și erorilor în producție
- limitele limbajului și decizii arhitecturale
Scenarii exploatate
Cursul este construit în jurul unui proiect aplicat de tip ETL (Extract – Transform – Load), tratând cu provocări reale întâlnite în producție:
- procesarea datelor în batch-uri și incremental
- lucrul cu volume mari de date și constrângeri de memorie
- procesare paralelă și concurentă a fluxurilor de date
- ingestia datelor din API-uri și surse externe
- lucrul cu stream-uri de date
- validarea și curățarea datelor de intrare
- gestionarea stării și a erorilor de transmisie
- construirea de pipeline-uri de transformare a datelor
grupare, agregare și funcții de tip „fereastră” (window functions)
OBIECTIVE
După acest curs, vei putea să:
- iei decizii informate de arhitectură și performanță
- argumentezi soluții tehnice la nivel senior
- evaluezi soluții și trade-off-uri în sisteme Python reale
- folosești Python în modul în care își arată adevărata valoare: cu structuri și obiecte bine alese, utilizând iterație, fluxuri și pipeline-uri de date
- modelezi problemele într-un mod ce folosește design patterns simple și puternice, scriind cod expresiv, eficient și greu de replicat în alte limbaje
- identifici limitele limbajului într-un context dat
AUDIENTA
Acest curs este pentru tine dacă:
- ai experiență reală de lucru cu Python în medii de producție
- te confrunți cu probleme de performanță, scalare sau arhitectură și cauți soluții concrete
- simți că stăpânești Python la nivel practic, dar vrei să îți maturizezi stilul
- urmărești să evoluezi spre un nivel senior sau să îți consolidezi acest rol
Acest curs nu este pentru tine dacă:
- nu ai experiență practică cu Python în producție
- cauți un curs de nivel intermediar sau o introducere în concepte avansate
- nu ești pregătit să lucrezi pe scenarii complexe, apropiate de realitatea din producție
PRERECHIZITE
Verifica detaliile din sectiunea Audienta
Parcurs de invatare
Varianta A:
- Experiență redusă sau inexistentă în programare
- Experiență rezonabilă de lucru în producție cu Python →
- Experiență solidă de lucru în producție cu Python
Varianta B:
- Experiență de lucru în producție cu alte limbaje de programare
- Experiență solidă de lucru în producție cu Python
CONTINUT
- Recapitulare avansată Python
- tipuri de date built-in, mutabilitate și implicații
- împachetarea și despachetarea argumentelor: *args, **kwargs
- comportamentul obiectelor și modelul de obiecte Python
- Iterație avansată și fluxuri de date
- comprehensions și expresii generator
- funcții generator și keyword-ul yield
- iterabile, iteratori și protocolul de iterare
- construirea de pipeline-uri de procesare a datelor
- Decoratori și manageri de context
- decoratori bazați pe funcții, cu și fără argumente
- decoratori-clasă
- implementarea de manageri de context personalizați
- Programare orientată pe obiecte – nivel avansat
- metodele și atribute speciale cu underscore dublu („dunder”)
- operator overloading
- @property, getters și setters
- @classmethod și @staticmethod
- acces personalizat la elemente: __getitem__, __setitem__
- acces personalizat la atribute: __getattr__ vs __getattribute__
- __new__ și aplicații
- metaclase
- Structuri de date și funcții avansate din standard library
- structuri de date din modulul collections: namedtuple, defaultdict, deque, Counter
- iteratori specializați din modulul itertools
- funcții de ordin superior și utilitare: map, filter, reduce, enumerate, zip, sorted
- modulul functools
- Execuție concurentă și performanță
- execuție concurentă cu threading
- procesare paralelă cu multiprocessing
- paradigma async: introducere în programarea asincronă
- Dacă timpul permite, conform interesului participanților:
- interacțiunea cu procese externe folosind subprocess
- logging: loggers, handlers, formatters
- unit testing: unittest, pytest