Cod: SCRIPT-007
Durata: 30 ore
Durata: 30 ore
Descriere
a:2:{s:4:"TEXT";s:611:"Python® este un limbaj de programare dinamic si extrem de puternic, utilizat in cele mai diverse domenii, inclusiv in telecom. Python® este adesea comparat cu Tcl, Perl®, Ruby, Scheme sau Java®. Acest training te va ajuta sa iti imbunatatesti abilitatile de programare in Python prin dezvoltarea unui produs software back-end.In cadrul cursului vom aborda cateva arii cheie legate de Python cum ar fi: file system interactions, programarea orientata pe obiect, criptografie, programare asincrona, back-end software development, interactiunea cu bazele de date, multithreading si package assembly.";s:4:"TYPE";s:4:"html";}
Subiecte curs
Introducere- Functionalitatile cheie ale Python
- Version control systems (Git)
- Modelul Gitflow
- Virtual environments
- Implementarea unui virtual environment
File server. Descrierea proiectului
- Descrierea proiectului si a cerintelor acestuia
- Arhitectura proiectului
Primul prototip. Cum lucram cu file system
- Cum lucram cu file system, context manager
- Module si importuri
- Environment variables
- Arhitectura primului prototip
- Dezvoltarea primului prototip de file server
Testare si mentenanta
- Principiile de baza pentru mentenanta codului in Python
- Standardele legate de formatarea si documentarea codului
- Testarea codului. Pytest framework
- Logging
- Supporting Docstrings
- Dezvoltarea de teste cu Pytest framework
- Adaugarea logging
Protejarea resurselor. Criptografie. Programare orientata pe obiect
- Programarea orientata pe obiect
- Static class, singleton, meta-classes
- Encapsularea in Python
- Criptografie in Python, semnaturi digitale
- Hash functions
- Criptare simetrica si asimetrica, criptare hibrida
- Implementarea OOP in proiecte
- Implementarea de static classes si singletons
- Dezvoltarea functionalitatii file digital signatures
- Criptarea fisierelor
Transferul codului de la Python 2 la Python 3
- Diferente intre Python 2 si Python 3
- Future package, algoritmul transferului de cod de la Python 2 la Python 3
- Transferul codului de la Python 2 la Python 3
Dezvoltarea unui server web asincron
- GIL
- Programarea asincrona in Python, asyncio
- Coroutines si awaitable objects, event loop
- Aiohttp server
- Scrierea propriilor coroutines
- Dezvoltarea unui web server aiohttp
- Testarea unui web server
Autorizare. Autentificare. Folosirea unei baze de date
- Structura unei baze de date
- PostgreSQL DBMS
- Interactiunile cu bazele de date in Python
- Dezvoltarea de interogari SQL in Python
- Activitati de suport pentru conturile utilizatorilor
- Autentificarea user-ilor si autorizarea cererilor
- Interactiunea aplicatiei cu baza de date
Asamblarea pachetelor Python
- Pachete Python, structura pachetelor
- Asamblarea si instalarea pachetelor
- Asamblarea si instalarea propriului pachet
Suplimentar (in functie de nivelul de experienta al participantilor)
- Implementarea role-based access model
- Role-based access model
- ORM, SQL Alchemy
- Implementarea role-based access restriction model
- Implementarea ORM
- Multithreaded file loader
- Threads, demons, queues
- Dezvoltarea unui multithreaded file loader
Obiective
- Cum sa folosesti Python pentru file system interactions
- Cum sa scrii teste automatizate pe baza Pytest framework
- Revizuirea paradigmei programarii orientate pe obiect
- Cum sa folosesti Python pentru a rezolva sarcini legate de criptografie
- Transferul codului din Python 2 in Python 3
- Explorarea conceptului de programare asincrona in Python
- Invata cum sa dezvolti un server web
- Explorarea functionalitatilor Python in lucrul cu bazele de date
- Managementul accesului la resursele aplicatiei
- Cum sa scrii un multithread file loader
- Cum sa iti construiesti propriul pachet Python instalabil
- Cum sa iti dezvolti propriul produs software
Public tinta
Acest program de training se adreseaza programatorilor, administratorilor de sistem si inginerilor QA care vor sa invete cum sa dezvolte, cum sa automatizeze si cum sa testeze aplicatii folosind unul dintre cele mai importante limbaje de programare din industrie.Cerinte curs
- Nivel mediu de experienta in programare
- Nivel mediu de experienta in limbaje de scripting
- Intelegerea principiilor programarii orientate pe obiect
- Cunostinte de baza in bazele de date relationale
- Intelegerea principiilor HTTP
- Participarea la cursurile SCRIPT-002, SCRIPT-003
- Intelegerea logical code threads