Programator Python - curs 124.500 rub. de la GeekBrains, antrenament 8 luni, Data: 10 iunie 2023.
Miscelaneu / / December 04, 2023
În ultimii doi ani, cererea de dezvoltatori Python a crescut cu 20%. Pentru a stăpâni o profesie solicitată, cunoștințele școlare vă vor fi suficiente. Veți învăța elementele de bază ale HTML/CSS și veți învăța cum să dezvoltați partea de server a unui site web în Python și Django.
Curs video Bazele limbajului Python. 1 lună.
Cursul Python Language Fundamentals este perfect atât pentru programatorii cu experiență care doresc să se familiarizeze cu un nou instrument de dezvoltare, cât și pentru începătorii completi. Vom trece de la elementele de bază ale programării (variabile, bucle, ramificare) la construirea de programe folosind o abordare orientată pe obiecte. Pe parcursul cursului ne vom uita la diverse exemple de utilizare a limbajului pentru a rezolva probleme practice. Să ne scufundăm în lumea lui Python și să ne inspirăm din ideologia și filozofia acestuia. Cursul folosește Python versiunea 3
Lectia 1. Introducere
Lectia 2. Introducere în Python
Lecția 3. Analiza unei sarcini practice
Lecția 4. Tipuri încorporate și operațiuni cu ele
Lecția 5. Analiza unei sarcini practice
Lecția 6. Atelier. Jocul „Ghicește numărul”
Lecția 7. Analiza unei sarcini practice
Lecția 8. Funcții
Lecția 9. Analiza unei sarcini practice
Lecția 10. Module și biblioteci
Lecția 11. Analiza unei sarcini practice
Lecția 12. Lucrul cu fișiere. Codificări
Lecția 13. Analiza unei sarcini practice
Lecția 14. Instrumente utile. Tratarea excepțiilor
Lecția 15. Analiza unei sarcini practice
Lecția 16. Atelier. Manager de fișiere consolă
Lecția 17. Analiza unei sarcini practice
Git. Curs de bază
Bazele Git
13 videoclipuri vă vor învăța elementele de bază ale lucrului cu sistemul de control al versiunilor Git. Veți afla de ce este important în dezvoltarea modernă. Învață conceptele de bază: repository, commit-uri, ramuri și etichete. Operații principale: crearea și clonarea unui depozit, îmbinarea ramurilor, interogarea istoricului modificărilor și multe altele. După antrenament, veți fi gata să utilizați Git pentru a pregăti teme pentru cursuri de programare în orice limbă. În plus, te vei apropia de interviu, unde mai multe întrebări se concentrează de obicei pe controlul versiunilor.
Lectia 1. Introducere în Git
Lectia 2. Instalarea și configurarea Git
Lecția 3. Comenzi terminale de bază
Lecția 4. Lucrul cu depozitele în Git
Lecția 5. Administrarea fișierelor de depozit
Lecția 6. Istoricul schimbărilor
Lecția 7. Lucrul cu ramurile depozitului
Lecția 8. Publicarea unui depozit
Lecția 9. Sucursala fuzionează
Lecția 10. Gestionarea versiunilor
Lecția 11. Crearea unei cereri de tragere
Lecția 12. Operații complexe
Lecția 13. Lucrul cu depozitele Fork
Bazele limbajului Python. 1 lună.
De la elementele de bază ale programării la construirea de programe folosind POO
Limbajul de programare Python este un instrument puternic pentru crearea de programe pentru o mare varietate de scopuri, accesibil chiar și pentru începători. Poate fi folosit pentru a rezolva diferite tipuri de probleme. Cursul Python Basic este perfect atât pentru programatorii experimentați care doresc să se familiarizeze cu un nou instrument de dezvoltare, cât și pentru începători. Vom trece de la elementele de bază ale programării (variabile, bucle, ramificare) la construirea de programe folosind o abordare orientată pe obiecte. Pe parcursul cursului ne vom uita la diverse exemple de utilizare a limbajului pentru a rezolva probleme practice. Să ne scufundăm în lumea lui Python și să ne inspirăm din ideologia și filozofia acestuia.
Lectia 1. Introducere în Python
Lecția conține informațiile de bază necesare pentru un început cu succes în dezvoltarea Python, inclusiv o descriere a instalării interpretului în diverse sisteme de operare și medii de dezvoltare. De asemenea, în curs este inclusă o descriere a conceptului de tastare dinamică, caracteristicile utilizării operațiilor aritmetice și logice. Secțiuni separate ale lecției sunt dedicate modalităților de formatare a șirurilor, urmărire, ramificare și bucle. La sfârșit există o listă cu principalele erori ale dezvoltatorului și modalități de a le rezolva.
Lectia 2. Tipuri încorporate și operațiuni cu ele
Această lecție descrie principalele tipuri de date încorporate implementate în Python. Dezvoltatorul poate efectua operațiuni pe tipuri de date tradiționale, cum ar fi șiruri de caractere, numere și valori booleene. Sunt luate în considerare liste, seturi, tupluri și dicționare. De asemenea, ca parte a lecției, ne vom familiariza cu conceptele de operator ternar și operator is. Cu siguranță vom atinge câteva operațiuni efectuate cu date de tipuri de bază și vom afla despre trucuri pe care un dezvoltator le poate folosi pentru a crește concizia codului.
Lecția 3. Funcții
Este timpul să vă familiarizați cu mecanismul de grupare a liniilor de cod în blocuri - funcții. Ele oferă posibilitatea de a reutiliza aceste blocuri de cod oriunde în program. Funcțiile pot fi denumite sau anonime, iau parametri și returnează un rezultat. Un concept important în această lecție este domeniul de aplicare al variabilelor. Funcțiile pot fi documentate pentru a descrie scopul lor, parametrii pe care îi acceptă și rezultatul pe care îl returnează. În cele din urmă, funcțiile pot fi încorporate sau personalizate (scrise personalizat).
Lecția 4. Instrumente utile
Lecția este dedicată instrumentelor care vă vor face codul mai concis și vă vor simplifica rezolvarea multor probleme standard. Lecția descrie, de asemenea, capacitățile unui număr de module suplimentare utilizate la scrierea algoritmilor. Sunt prezentate caracteristicile mecanismului de lansare a scripturilor cu parametri și de obținere a accesului la parametrii din codul programului. Utilizarea instrumentelor prezentate se referă la un stil de programare mai avansat și crește statutul dezvoltatorului.
Lecția 5. Lucrul cu fișiere
Lecția actuală discută aspecte ale lucrului cu fișiere pentru a extrage date și a înregistra rezultatele programului. Sunt luate în considerare mecanismele de citire și scriere a datelor și modurile de lucru cu fișierele. Este luat în considerare un concept atât de important precum un manager de context și sunt descrise erorile comune atunci când lucrați cu fișiere. Sunt date caracteristicile de determinare a poziției pointerului într-un fișier, parametrii posibili ai obiectelor fișierului și caracteristicile implementării tipăririi într-un fișier.
Lecția 6. Programare orientată pe obiecte
Este timpul să facem cunoștință cu cea mai importantă paradigmă de programare - orientată pe obiecte programare, care joacă un rol important în Python și vă permite să formați structura programului din componente separate. Conceptele importante ale paradigmei sunt clasă, constructor, atribut, metodă, instanță de clasă. În lecție sunt incluse și cele mai importante proprietăți ale POO: încapsularea, moștenirea și polimorfismul. Este oferită o descriere a mecanismelor de supraîncărcare și a metodelor de depășire.
Lecția 7. OOP. Nivel avansat
În această lecție, vom analiza caracteristicile implementării supraîncărcării operatorilor, adică schimbarea mecanismului de funcționare a operatorilor de limbă folosind metode speciale. De asemenea, ca parte a sarcinii curente, ne vom familiariza cu conceptul de suprascriere a metodei, adică vom învăța să modificăm logica metodelor claselor de bază. Vom introduce conceptul de interfață și vom învăța cum să ne creăm propriile obiecte iteratoare. La sfârșitul lecției, vom afla pentru ce este folosit decoratorul @property și cele mai importante caracteristici ale implementării paradigmei OOP în Python.
Lecția 8. OOP. Adăugiri utile
A opta lecție a cursului acoperă completări importante care extind capacitățile paradigmei OOP în Python, cum ar fi metodele statice și metodele de clasă. În plus, vom vorbi despre atributele și metodele încorporate inerente claselor. În această lecție, vom analiza, de asemenea, procesul pas cu pas de scriere a unui program simplu bazat pe paradigma OOP și vom învăța cum să ne creăm propriile excepții. Pentru a încheia acest tutorial, vom vorbi despre câteva trucuri pentru a vă face codul mai concis și vom explora o serie de biblioteci utile.
Fundamentele bazelor de date relaționale. MySQL. 1,5 luni.
Familiarizați-vă cu limbajul de interogare SQL. Învață să scrii interogări, să faci calcule și să lucrezi cu tabele. Aflați principalele limitări ale SQL. Veți lucra cu MySQL și vă veți familiariza cu baze de date alternative: MongoDB, Redis, ElasticSearch și ClickHouse.
Lectia 1. Webinar. Configurarea mediului. comenzi DDL
Tipuri de baze de date. Fundamentele bazelor de date relaționale. SGBD MySQL. Clienții. Managementul bazei de date.
Lectia 2. Tutorial video. Managementul bazei de date. Limbajul de interogare SQL
Introducere în SQL. Tipuri de date. Indici. Operațiuni CRUD
Lecția 3. Webinar. Introducere în proiectarea bazelor de date
Proiectarea bazei de date.
Lecția 4. Webinar. Operațiuni CRUD
Operațiuni CRUD.
Lecția 5. Tutorial video. Operatori, filtrare, sortare și limitare. Agregarea datelor
Gruparea datelor. Funcții de agregare. GROUP BY, HAVING și WITH. Operatori. Eșantionare condiționată și limitată. Funcții predefinite.
Lecția 6. Webinar. Operatori, filtrare, sortare și limitare. Agregarea datelor
Gruparea datelor. Funcții de agregare. GROUP BY, HAVING și WITH. Operatori. Eșantionare condiționată și limitată. Funcții predefinite.
Lecția 7. Tutorial video. Interogări complexe
Interogări cu mai multe tabele. UNIUNE. Interogări imbricate. JOIN se alătură. Chei străine.
Lecția 8. Webinar. Interogări complexe
Interogări cu mai multe tabele. UNIUNE. Interogări imbricate. JOIN se alătură. Chei străine.
Lecția 9. Tutorial video. Tranzacții, variabile, vizualizări. Administrare. Proceduri și funcții stocate, declanșatoare
Tranzacții. Variabile. Tabele temporare. Expresii pregătite. Reprezentare. Administrare. Drepturile utilizatorului. Replicare Proceduri și funcții stocate. Parametri și variabile. Operatori de ramuri și bucle. Declanșatoare.
Lecția 10. Webinar. Tranzacții, variabile, vizualizări. Administrare. Proceduri și funcții stocate, declanșatoare
Tranzacții. Variabile. Tabele temporare. Expresii pregătite. Reprezentare. Administrare. Drepturile utilizatorului. Replicare Proceduri și funcții stocate. Parametri și variabile. Operatori de ramuri și bucle. Declanșatoare.
Lecția 11. Tutorial video. Optimizarea interogărilor. NoSQL
Tipuri de tabele. Optimizarea interogărilor. Indici. baze de date NoSQL. SGBD orientat pe documente. SGBD în coloană. Valoare-cheie DBMS. Căutare text integral DBMS.
Lecția 12. Webinar. Optimizarea interogărilor
Tipuri de tabele. Optimizarea interogărilor. Indici. baze de date NoSQL. SGBD orientat pe documente. SGBD în coloană. Valoare-cheie DBMS. Căutare text integral DBMS.
Algoritmi și structuri de date în Python. Curs de bază. 1 lună.
Soluții eficiente la problemele de calcul
Elevii își vor aprofunda baza de programare în Python și își vor îmbunătăți gândirea algoritmică. Cursul vă învață să înțelegeți algoritmii fundamentali și să îi utilizați pentru a rezolva probleme practice. Introduce metode de analiză a datelor în Python și toate bibliotecile necesare.
Lectia 1. Introducere în algoritmizarea și implementarea algoritmilor simpli în Python
Introducere în algoritmizare. Rezolvarea problemelor practice.
Lectia 2. Cicluri. Recursiune. Funcții.
Cicluri – repetarea repetată a aceluiași tip de acțiuni. Căutare recursiva. algoritmul lui Euclid. Sita lui Eratosthenes este un algoritm pentru determinarea numerelor prime. Utilizarea funcțiilor.
Lecția 3. Matrice. Tupluri. Mulțimi. Liste.
Conceptul de matrice, tuplu, set și liste. Prelucrarea secvențelor, a tablourilor unidimensionale și bidimensionale. Lucrul cu tablouri asociative (tabele de date). Căutare binară pentru un element dintr-o matrice.
Lecția 4. Evaluarea empirică a algoritmilor în Python
Măsurătorile timpului de rulare folosind timeit. Profiler.
Lecția 5. Colecții. Listă. Coadă. Dicţionar.
Conceptul de colecție. Tipuri de bază de colectare. Metode standard de lucru cu colecții. Exemple de utilizare a colecțiilor pentru a rezolva probleme practice.
Lecția 6. Lucrul cu memorie dinamică
Reprezentarea colecţiilor în memorie. Gestionarea memoriei.
Lecția 7. Algoritmi de sortare
Sortare cu bule. Sortare rapida. Sortare Shell. Sortarea structurilor complexe folosind o cheie. Sortare inversă. Sortare folosind funcția attrgetter.
Lecția 8. Copaci. Funcția hash
Arbori binari de căutare. Mergând printr-un copac. Funcția hash.
HTML/CSS. Curs interactiv. 1 lună.
HTML/CSS este un limbaj de marcare hipertext, baza pentru studierea limbajelor de pe partea serverului. Învățând HTML, puteți crea o pagină web sau un site web receptiv. CSS - foi de stil în cascadă - vă va permite să vă proiectați site-ul web așa cum doriți. Veți putea viziona cursul video la un moment convenabil și, dacă aveți întrebări, contactați un mentor care vă va monitoriza progresul. Formatul încurajează comunicarea și autodisciplina în învățare. Într-o lună veți învăța: * aspectul site-urilor web responsive, * aspectul cross-browser valid, * aspectul flexbox, * efectuarea operațiunilor de bază în Figma, * utilizarea preprocesoarelor SASS și Bootstrap. Tema pentru acasă trebuie să fie notată înainte de a putea trece la următoarea lecție din curs. Acest lucru va arăta că ați înțeles lecția anterioară și că veți învăța cu ușurință noi cunoștințe. Sarcina poate fi verificată atât de mentorul, cât și de colegii de clasă ale căror cunoștințe aveți încredere și primiți o realizare pentru aceasta. Cu fiecare verificare, numărul de realizări crește, iar abilitatea de a lucra cu codul altor persoane crește. Nivelul certificatului final depinde de numărul de realizări: cu cât sunt mai multe, cu atât este mai mare statutul. Această mecanică oarecum de joc face clasele și mai interesante.
Lectia 1. Concepte de bază în dezvoltarea web
Introducere, informații introductive, configurarea codului vizual studio, taste rapide, instalarea extensiilor. Crearea unui document html Structura unui document html. Tipuri și atribute ale etichetelor Browser debugger
Lectia 2. Elementele de bază ale limbajului de marcare a documentelor HTML
Liste în html Caractere speciale și comentarii Hiperlinkuri (locale, absolute, ancore) Tipuri de imagini pentru web; Formele și elementele lor. Vizualizați, editați, căutați erori prin depanatorul browserului
Lecția 3. Bazele limbajului de stilare a documentelor CSS
Introducere în stiluri Metode de conectare a stilurilor Selectoare Proprietăți de bază ale stilurilor (px, %, fundal, culoare, chenar) partea 1 Proprietăți de bază ale stilului (lățime, înălțime, font, stil listă, text) Imbricare, moștenire și grupare proprietăți
Lecția 4. Etichete de bază pentru aspect, Pseudo-clase și pseudo-elemente
Etichete de bază div, span, crearea unei structuri de bloc Indentări de elemente Elemente de flux Pseudo-clase Pseudo-elemente Tabele
Lecția 5. Elemente de bază privind poziționarea, lucrul cu Flexbox
Proprietate de afișare Ce este flexbox (aspect orizontal și vertical) Ordine de afișare, multi-linie, offset al unui bloc separat Setarea dimensiunilor flexibile pentru blocuri Poziție: relativă și absolut
Lecția 6. Lucrul cu o machetă de design în format Figma
Ce este un layout și ce tipuri de layout-uri există Cunoașterea programului Figma, tăierea layout-ului Determinarea dimensiunilor blocurilor, crearea unei structuri de bloc Adăugarea de stiluri din layout Crearea unui site web pe baza layout-ului. Partea 1 Crearea unui site web bazat pe aspect. Partea 2
Lecția 7. Elementele de bază ale creării unui site web responsive
Dimensiuni flexibile de bloc, site web receptiv Emulare dispozitiv mobil Interogări media Strângere subsol în partea de jos a ecranului Practica de creare a unui site web responsive Practica de creare a unui site web responsive partea 2
Lecția 8. Standarde web și instrumente de asistență
Instrumente de dezvoltare. Partea 1 Încărcarea proiectelor pe server Cross-browser Prezentarea Boostrap Prezentarea preprocesorului Sass Utilizarea practică a preprocesorului Sass
Curs JavaScript de bază. 1 lună.
Aplicații web interactive la ECMASCRIPT 2016
Elevii învață elementele de bază ale JavaScript, ceea ce face paginile web interactive. Învață să creezi pagini și aplicații dinamice folosind experiența de codare HTML. Exersați abilitățile de programare JavaScript prin dezvoltarea de mini-jocuri.
Lectia 1. Bazele limbajului JavaScript
Sintaxă; structura codului; scripturile externe și ordinea executării acestora; variabile și tipuri de date; Salut Lume; standarde moderne.
Lectia 2. Operatori JavaScript de bază
Operatori și operanzi; prioritatea operațiunilor; declarații condiționale; funcții; recursivitate; atelier; jocul „Ghicește numărul”.
Lecția 3. Bucle, matrice, structuri de date
Bucle în JavaScript; matrice în JavaScript; structuri de date; atelier; jocul „Tauri și vaci”.
Lecția 4. Obiecte în JavaScript
Introducere în conceptul de obiecte; obiecte în JavaScript; lucrul cu obiecte; enumerarea valorilor; atelier; jocul „Quest”.
Lecția 5. Introducere în DOM
Conceptul de DOM; DOM în JavaScript; manipulare DOM în JavaScript; atelier; jocul „Quest 2.0”.
Lecția 6. Gestionarea evenimentelor în JavaScript
Conceptul de eveniment; procesarea clicurilor; evenimente din browser; atelier; jocul „Tic Tac Toe”.
Lecția 7. Lecție de atelier
Implementarea jocului „Șarpe”.
Lecția 8. Funcții anonime, închideri
Studiu aprofundat al modului în care funcționează funcțiile; funcții și expresii funcționale; funcții anonime; scurtcircuite; acțiunile implicite ale browserului.
Noțiuni de bază ale cadrului Django. 1 lună.
Crearea site-ului web
În timpul cursului, studenții vor învăța cum să creeze un site web în Python folosind cadrul Django. În timpul dezvoltării practice, programatorii începători vor învăța să folosească capacitățile Django, care accelerează scrierea codului și vă permite să traduceți rapid și eficient o idee într-un proiect IT funcțional. La sfârșitul cursului, studenții vor învăța să creeze site-uri web securizate, să implementeze modelul de design MVC, să implementeze autorizarea și înregistrarea utilizatorilor, panoul de administrare și actualizarea asincronă a conținutului. Ei vor crea un proiect personal și un portofoliu.
Lectia 1. Cunoașterea cadrului
De ce ai nevoie de Django? Punctele forte ale cadrului. Instalare și configurare. Informații generale despre structura proiectului. Introducere în urlpatterns. Prima pagină și afișarea acesteia.
Lectia 2. Șablon + Context = html
Motor de șabloane Django (etichete, filtre și moștenire). Lucrul cu conținut static și link-uri pe pagini. Trimiterea conținutului la șabloane și încărcarea acestuia în controlere din surse externe.
Lecția 3. Modele + ORM = date
Scurtă teorie a bazelor de date. Introducere în Django-ORM. Conectarea și crearea unei baze de date. Câteva cuvinte despre migrații. Lucrul cu date. Administrator încorporat. Spații de nume.
Lecția 4. Autentificarea și înregistrarea utilizatorilor
Încărcarea datelor în baza de date din fișiere. Model de utilizator. Procedura de autentificare. Forme în Django. Mecanism CRUD atunci când lucrați cu modele.
Lecția 5. Utilizator + produs = coș
Executarea interogărilor folosind ORM. Lucrul cu meniul. Crearea unui cărucior.
Lecția 6. Coș + AJAX + decoratori
Lucrul cu coșul. Adăugarea de dinamică la „oferta fierbinte”. Crearea unei pagini de produs. Restricționarea accesului la coș. AJAX: Efectuarea de cereri asincrone.
Lecția 7. Panou de administrare propriu
Integrarea unei noi aplicații în proiect. Restricționarea accesului la panoul de administrare. Implementarea mecanismului CRUD pentru utilizatori și categorii de produse.
Lecția 8. Util: ieșire în pagină, filtre șablon, CBV
Implementarea mecanismului CRUD pentru produse. afișare pagină cu pagină a obiectelor. CBV: controlere gata făcute. Filtre de șabloane.
Cadrul Django. Instrumente de optimizare. 1 lună.
Dezvoltarea site-ului web în Python
Continuând să studieze Django, studenții vor dezvolta un proiect personal: creați un procesor de context, adăugați confirmarea înregistrării utilizatorului prin e-mail. Ei vor continua să se familiarizeze cu mecanismul Django ORM, rezolvând problemele de agregare a datelor, interogări complexe, cache și optimizarea lucrului cu baza de date. Ei vor învăța să folosească seturi de formulare (fromsets) pentru a crea simultan mai multe instanțe ale unui model, de exemplu, adăugând mai multe intrări la o categorie pe o pagină din panoul de administrare. Ne vom uita la mecanismul de conectare a fișierelor statice (CSS, JS) la formularele din Django. După finalizarea dezvoltării, orice proiect trebuie testat și implementat pe un server web de producție - aceste aspecte vor fi studiate în curs.
Lectia 1. Se trimite e-mail. Procesoare de context
Să trecem la Django 2.0. Trimitem un mesaj cu codul de activare al utilizatorului. Lucrăm cu procesoare de context folosind exemplul unui coș de cumpărături.
Lectia 2. Înregistrare prin intermediul unei rețele de socializare. Django-ORM: comunicare unu-la-unu
Înregistrați-vă în magazin prin VKontakte. Creăm un profil de utilizator și îl completăm cu date din rețeaua socială.
Lecția 3. Lucrul cu comanda utilizatorului: seturi de formulare CBV, Django
Creăm aplicația ordersapp. Lucrul cu seturi de forme Django folosind CBV.
Lecția 4. Lucrul cu comanda unui utilizator: actualizarea soldurilor produselor, adăugarea codului jQuery
Ajustăm cantitatea de mărfuri atunci când lucrăm cu căruciorul și comandăm. Actualizăm statisticile comenzilor atunci când o edităm. Lucrul cu un set de formulare folosind jQuery și django-dynamic-formset.
Lecția 5. Implementarea unui proiect Django pe VPS de la REG.RU
Pregătim proiectul pentru implementare. Să trecem la baza de date PostgreSQL. Simulăm lucrul cu VPS - instalați și configurați serverul Ubuntu Server 17. Să implementăm combinația „nginx” + „gunicorn”.
Lecția 6. Profilarea și testarea încărcării proiectului, optimizarea lucrului cu baza de date
Să ne uităm la activitatea proiectului din interior. Găsirea controlere lente. Efectuăm teste de sarcină. Optimizam lucrul cu baza de date.
Lecția 7. Și mai rapid: memorarea în cache în Django
Decorator „@cached_property”: metode de model de cache. Eticheta „Cu” – memorăm în cache variabilele în șabloane. Memorăm în cache funcții, fragmente de șablon și controlere folosind „Memcached”.
Lecția 8. Lucru avansat cu Django-ORM. Testare în Django
Lucrul cu atributele modelului la nivel de bază de date. Obiectele „F” și „Q”. Implementați logica complexă folosind „Caz” și „Când”. Clasa TestCase este baza testelor în Django. Testarea fumului. Testarea aplicației de autentificare. Testul controlerului.
Aplicații client-server în Python. 1 lună.
Cursul vă va ajuta să stăpâniți capacitățile avansate ale limbajului Python - un instrument puternic pentru crearea de programe de diferite profiluri. Dezvoltarea unei aplicații care oferă managementul informațiilor de la proiectare până la testare este luată în considerare pas cu pas. Elevii vor exersa scrierea unui program cu mai multe fire prin dezvoltarea propriului mesager.
Lectia 1. Concepte de stocare a informațiilor
Caracteristici de stocare a simbolurilor în memoria computerului. Dezavantajele codificării ASCII. Introducere în Unicode. Unicode în Python 3. Conversia octeților și a șirurilor de caractere - concept și exemple. Erori de conversie.
Lectia 2. Stocarea datelor fisierelor
Introducere în stocarea datelor pe bază de fișiere. Folosiți fișiere CSV când salvați datele. Fișierele JSON ca mijloc de schimb de date. Lucrul cu fișierele YAML la procesarea și salvarea datelor.
Lecția 3. Bazele programării în rețea
Introducere în rețele și protocoalele sale. Prize ca bază pentru aplicațiile de rețea. Schimb de protocoale în proiectul de curs.
Lecția 4. Bazele testării
Introducere în testare. afirmație. Modul de testare unitară și test unitar.
Lecția 5. Logare
Înregistrarea evenimentelor și modulul de înregistrare.
Lecția 6. Decoratori și continuă să lucreze cu rețeaua
Decorator. Decorator cu parametru. Programare în rețea (continuare).
Lecția 7. Selectați modulul, sloturile
Caracteristici de utilizare a modulului de selectare. Sloturi, scopul și aplicarea lor.
Lecția 8. Fluxuri
Introducere în fire. Introducere în programarea multithreaded. Modul de filetare Primitive de sincronizare. Modul de coadă. Modul multiprocesare.
Stagiu la GeekBrains. 2 luni.
În format webinar
În timpul stagiului, studenții vor trebui să lucreze de la distanță la un proiect Open Source sau startup. Studenților li se va cere să aleagă dintr-un set de proiecte disponibile pentru dezvoltare. Elevii vor învăța să lucreze în echipă, să comunice cu alți dezvoltatori, produse și managerii de proiect, designerii, vor studia metodologii flexibile, cadrul SCRUM și vor stăpâni principiile lucru la distanță. Rezultatul stagiului este capacitatea de a lucra în echipă, adăugarea unui portofoliu și oportunitatea de a indica munca la un proiect ca experiență de lucru de bază în CV-ul tău. Stagiul se desfășoară în format de lucru la distanță part-time, întâlniri săptămânale de status cu profesorul în format webinar.
Lectia 1. Să ne cunoaștem, să alegem un proiect
Ce roluri sunt în dezvoltare? Manager de produs, manager de proiect, dezvoltator, designer. Ce este MVP. Arhitectura serviciului modern. Cum interacționează dezvoltatorii între ei. REST API, Web Socket. Backend, Frontend, aplicații mobile. Arhitectura microservicii. Bazele muncii de la distanță. Înscrie-te pentru echipe.
Lectia 2. Metodologii de dezvoltare
Revizuirea metodologiilor. Cascade (cascada), manifest Agile, Kanban, Scrum. Unde și pentru ce sunt folosite. Metodologii mixte.
Lecția 3. Metodologia SCRUM
Lucrați folosind SCRUM. Planificarea sprintului. Îngrijirea restanțelor. Gol de sprint. Creştere. Metodologie flexibilă în condiții de lucru la distanță. Instrumente de urmărire a sarcinilor (Trello, Favro)/
Lecția 4. Maparea poveștii utilizatorului
Tipuri de sarcini. Descompunerea sarcinilor. Cartografierea poveștilor utilizatorilor. Lucrul la poveștile utilizatorilor. Lucrul cu specificațiile tehnice folosind metodologii în cascadă și flexibile.
Lecția 5. Responsabilitate, motivație, creștere personală
Ce și cum să te motivezi. Care sunt nivelurile de motivare? Cum să nu epuizezi la serviciu. Și cum să nu uităm de muncă.
Lecția 6. Scrierea unui CV
Cum să scrii un CV, astfel încât HR să nu-l respingă. Cum să interesezi un angajator. Cum să demonstrezi abilitățile dobândite în studii dacă nu ai încă experiență de lucru relevantă.
Lecția 7. Rezumat preliminar, pregătire pentru apărarea proiectului
Analiza CV-urilor elevilor. Rezumat preliminar. Câteva despre startup-uri, monetizare, investitori.
Lecția 8. Rezumând, demonstrând proiectul final
Demonstrarea unui prototip funcțional de către studenți. Discuție asupra rezultatelor obținute. Feedback din partea profesorului. Cuvinte de despărțire.