
Curs Python Nivel II (avansat)
4 Ore/Zi Online
10:00 - 14:00
Cursul Python Avansat a fost conceput cu scopul de a recapitula noțiunile de bază din algortmică și programare și de a introduce modalitățile de a folosi baze de date (SQL și No-SQL) pentru a interacționa sau a crea aplicații RESTful API.
Cursul cuprinde 32 de ore de curs online în clasă virtuală și aproximativ 12 ore de lucru individual al participanților pe parcursul celor 8 zile.
Competente dobandite:
La finalul cursului, participanții:
- vor avea o viziune clară a conceptelor de bază ale programării
- vor putea analiza performanța codului unui program
- vor putea efectua operațiuni de scriere/citire în fișiere sau directoare
- vor putea folosi programarea asincornă în Python
- vor putea efectua testare de tip unit test în Python
- vor putea interacționa cu baze de date SQL și No-SQL (MariaDB și respectiv MongoDB)
- vor putea crea și interacționa cu aplicații RESTful API
Metodologie:
Acest curs îmbină partea teoretică cu exercițiul practic. Temele propuse au scopul de a fixa noțiunile de bază și a crește treptat nivelul de dificultate.
Cui se adreseaza
Curs se adresează persoanelor care doresc să aprofundeze crearea și utilizarea aplicațiilor RESTful API folosind limbajului Python
Prețul include:
Suportul de curs în format electronic și diploma interna ProManagement.
Înscrierea se face prin completarea detaliilor din formularul de mai jos. Veți primi o factură pro-forma pe care vă să o plătiți pentru a confirma locul la acest training.
Dacă doriți să înscrieți mai multe persoane din cadrul companiei dumneavoastră, vă rugăm să ne contactați prin email la adresa office@promanagement.ro .
Bonus!
2 ore de introducere în Version Control Management System – Git și GitLab! Prin intermediul platformei GitLab, trainerul va putea evalua munca individuală a participanților și va da un feedback punctual pentru codul fiecăruia.
În plus, fiecare participant beneficiază de consultanță individuală opțională de până la 2 ore. Participanții pot programa intervale de timp între 10 minute și maxim o oră, oricând în afara orelor de curs. În aceste intervale, se vor putea adresa întrebări suplimentare trainierului sau se va primi asistență în rezolvarea dificultăților întâmpinate în realizarea temelor de curs.
-
1. Introducere, instalare și setările de baza pentru Python
Vom discuta despre principiile de baza din Python și vom instala împreună toate componentele necesare pe parcursul cursului.
Niciun element în această secțiune -
2. Primul program în Python. Modalități de executare
Vom începe cu un clasic "Hello World!" pe care îl vom afișa folosind linia de comandă și IDE-ul PyCharm.
Niciun element în această secțiune -
3. Variabile și tipuri de date de bază
Ne vom concentra pe definirea clară a variabilelor scalare, listelor, seturilor, tuplurilor și dicționarelor.
Niciun element în această secțiune -
4. Structuri de control
Vom analiza aplicarea structurilor if, if-else, swich, for, foreach, while prin exemple practice.
Niciun element în această secțiune -
5. Crearea și apelarea funcțiilor. Parametri, constrângeri. Funcții Lambda
Deși Python nu este un limbaj strongly typed, vom vedea împreună cum putem parametriza funcțiile incluzând și constrângeri legate de tipul de date pe care o funcție le poate primi sau returna.
Niciun element în această secțiune -
6. Tratarea excepțiilor
Vom trata diferite tipuri de excepții care pot apărea, concentrându-ne pe înțelegerea mesajelor de eroare și a modalităților de tratare.
Niciun element în această secțiune -
7. Analiza codului unui program. Intorducere în Pylint
Cât de optim este scris codul nostru? Încalcă standardele generale Python? Vom afla împreună răspunsul la aceste întrebări.
Niciun element în această secțiune -
8. Folosirea Debuggerului
Ne vom "juca" cu modalitățile de verificare a codului în timpul execuției acestuia folosind atât instrumentele oferite de IDE cât și linia de comandă folisnd pdb.
Niciun element în această secțiune -
9. Analiza performanței programului
Poate că am scris un cod corect din punct de vedere al cerințelor și a standardelor dar, cât de performant e? În cât timp ne va returna rezultatele?
Niciun element în această secțiune -
10. Crearea logurilor programului
Învață cum să folosești logarea etapelor din program sau a erorilor într-un mod optim.
Niciun element în această secțiune -
11. Introducere/recapitulare a conceptelor de Programare Orientată Obiect. Clase, Proprietăti implicite, Moștenire, Polimorfism
Vom discuta și vom pune în practică conceptele de bază a programării OOP
Niciun element în această secțiune -
12. Folosirea modulelor în Python
Vom exemplifica câteva din cele mai utilizate module disponibile și vom vedea cum putem să ne creem propriile module.
Niciun element în această secțiune -
13. Introducere în utilizarea modulului pentru sistemul de operare și flosirea variabilelor de sistem
Prin utilizarea acestui modul, vom avea acces la proprietățile sistemului de operare pe care îl folosim. Vom pune în practică câteva din cazurile de utilizare pe care acest modul ni le oferă
Niciun element în această secțiune -
14. Introducere în scrierea testelor de tip unit test
Ne vom testa codul folosind teste care folosesc libraria pytest
Niciun element în această secțiune -
15. Folosirea modulului de parsare a datelor calendaristice
Datele calendaristice pot genera multe erori. Vom discuta și exeplifica modalități prin care putem evita apariția lor.
Niciun element în această secțiune -
16. Programare asincronă
Vom discuta despre principiile programări asincrone în Python cu aplicații practice folosind threaduri, variabile partajate, cozi de execuție
Niciun element în această secțiune -
17. Procesarea fișierelor text
După ce am exersat scrierea, citirea sau modificarea resurselor locale, ne vom axa și pe transferul de informații către o aplicație externă, un RESTful API
Niciun element în această secțiune -
18. Procesarea directoarelor
Vom exersa operațiunile de creare, ștergere sau modificare a directoarelor sau a fișierelor dintr-un director și vom analiza informațiile de tip metadata ale acestora.
Niciun element în această secțiune -
19. Folosirea căilor de acces spre documente/directoare
Exersăm operațiuni de mutare, ștergere, modificare, etc. folosind, de această dată, doar calea spre fișiere sau directoare
Niciun element în această secțiune -
20. Procesarea fișierelor binare
Modalități de scriere sau citire a fișierelor binare
Niciun element în această secțiune -
21. Procesarea fișierelor CSV
Scrierea, citirea și procesarea datelor dintr-un fișier .csv
Niciun element în această secțiune -
22. Introducere în formatul de date ierarhic (ElementTree). Procesarea fisierelor XML
Recapitularea noțiunilor de bază a Extensible Markup Language(XML) și aplicații practice de procesare a acestui tip de fișier
Niciun element în această secțiune -
23. Procesarea fișierelor JSON
Scrierea, citirea și procesarea datelor dintr-un fișier .json
Niciun element în această secțiune -
24. Preluarea paginilor web
După ce am exersat scrierea, citirea sau modificarea resurselor locale, ne vom axa și pe servicii externe: citirea conținutului unei pagini de pe internet
Niciun element în această secțiune -
25. Interactiunea cu API-uri externe
Vom folosi o aplicație externă de tip RESTfull API pentru efectuarea operațiunilor CRUD(Create, Read, Update, Delete)
Niciun element în această secțiune -
26. Conectarea la un serviciu extern prin SSH
Discuție despre tipurile de conexiuni și exemplificarea conexiunii SSH
Niciun element în această secțiune -
27. Crearea și trimiterea unui e-mail
Discuție despre setările necesare și exemple de e-mail-uri text, HTML, cu sau fără atașamente
Niciun element în această secțiune -
28. Introducere/recapitulare a noțiunilor de bază din domeniul bazelor de date relaționale
Ne vom reaminti care sunt principiile definitorii ale bazelor de date relaționale.
Niciun element în această secțiune -
29. Managementul bazelore de date relaționale folosind Python
Vom folosi o bază de date mysql și modulul SQLAlchemy pentru exemplificarea operațiunilor CRUD
Niciun element în această secțiune -
30. Introducere/recapitulare a noțiunilor de bază din domeniul bazelor de date non-relaționale
Ne vom reaminti care sunt principiile definitorii ale bazelor de date non-relaționale.
Niciun element în această secțiune -
31. Managementul bazelore de date non-relaționale folosind Python
Vom folosi o bază de date mongoDB și modulul pymongo pentru exemplificarea operațiunilor CRUD
Niciun element în această secțiune -
32. Proiect final: Creare unui API RESTful
Folosind noțiunile prezentate pe parcursul training-ului, vom crea propriul API
Niciun element în această secțiune