Tečaj "Middle Python Developer" - tečaj 110.000 rub. iz delavnice Yandex, usposabljanje 6 mesecev, datum 11. januar 2024.
Miscellanea / / November 28, 2023
Brezplačne 3 ure. Sprejemni preizkus
Tukaj boste izvedeli, kako poteka usposabljanje, in opravili preizkus vprašanj o razvoju zaledja.
0 modul 5 ur. Uvodni modul
Niz lekcij o zahtevah kode, delu z Gitom, učnem procesu tečaja in prvi praktični nalogi.
— Majhen vkrcanje
— Uvod v Git
- Zahteve
1 modul 115 ur. Admin Panel + ETL storitve
Ustvarjanje in prilagajanje skrbniške plošče za spletni kino v Pythonu z uporabo Djanga. Podrobna študija najpogosteje uporabljenih komponent Django - skrbniške plošče in ORM. Seznanjenost z indeksi, migracijami in optimizacijo poizvedb. Oblikovanje relacijske baze podatkov. Naprava Docker in delovanje Nginx. Spoznavanje arhitekturnega vzorca ETL in ustvarjanje lastnega ETL za prenos podatkov iz PostgreSQL v Elasticsearch.
Sprint 1
— Oblikovanje baze podatkov, seznanitev z indeksi in porabo pomnilnika
— Poznavanje postopka vnosa podatkov, podatkovnih razredov in dela s časom v bazah podatkov
— Uvodne informacije o bazah podatkov brez SQL, merila za izbiro ogrodja in podrobna študija Djanga: od namestitve do skrbniške plošče
Sprint 2
— Poglobljena študija tehnologije ORM
— Implementacija API-ja v sodelovanju z Django in testiranje rezultata
— Podroben uvod v Docker
— Obdelava zahtev v produkcijskem okolju in konfiguracija Nginx
Sprint 3
— Poglobljena študija Elasticsearch, iskanja po celotnem besedilu in arhitekture ETL
- Python + UWSGI + Django
- PostgreSQL
- Nginx
- Docker
- ETL
- Elasticsearch
+ 1 projekt v portfelju
Spletni kino admin + ETL za prenos podatkov
Modul 2 80 ur. Storitev Async API
Poglobite se v asinhroni Python in njegovo delovanje ter uporabite Fast API v praksi. Uvod v iteratorje, generatorje in korutine. Analiza večnitnosti in večprocesiranja.
Učenci delajo v skupinah po 2-3 osebe. Razvojni proces posnema razvoj v pravem produktnem podjetju – ekipe imajo vodjo ekipe, preglede kode in tedenske predstavitve z mentorji.
Šprint 4
— Principi dela v komandnem modulu in tehnične specifikacije za sprint
— Opis principa dela v Gitu
— Uvod v asinhroni pristop, iteratorje, generatorje in korutine
— Analiza asinhronih ogrodij: Twisted, AIOHTTP in FastAPI
— Podrobna študija FastAPI
Šprint 5
— Podroben opis splošnih načel pregleda kode
— Razlika med trdnim in nedostojnim zakonikom
— Funkcionalni testi za storitveno in testno infrastrukturo
— Koncept API-ja in navodila za pisanje dokumentacije
- Python
- ASYNCIO
- FastAPI
- Redis
- Iteratorji in generatorji
- Korutine
+ 1 projekt v portfelju
API spletnega kina
Modul 3 80 ur. Avtorizacijska služba
Razvoj storitve, odgovorne za ustvarjanje, shranjevanje in beleženje uporabniškega profila. Uporabnikom bo omogočal registracijo v kinu in upravljanje svojega računa. Podrobna analiza pravilnega shranjevanja gesel in zagotavljanja varnosti uporabniških podatkov.
Študenti samostojno oblikujejo arhitekturo storitve in svoje rešitve zagovarjajo v recenziji. Razmišljajo o sistemu interakcije med storitvami, pri čemer so pozorni na obravnavo napak in morebitno zaustavitev katere od storitev.
Poglobitev v sinhrona ogrodja na primeru Flaska in delo z relacijskimi bazami podatkov na primeru PostgreSQL. Osredotočite se na računalniško varnost in ustrezno organizacijo zbiranja, zaščite in shranjevanja podatkov.
Šprint 6
— Pojasnilo, zakaj je potrebna storitev Auth
— Analiza in zbiranje zahtev, delo z občutljivimi podatki, varnost, šifriranje, zgoščevanje in upravljanje dostopa do virov
— Preučevanje metod avtorizacije in razvoj zahtev glede storitev. Nadaljevanje učenja Flaska in Redisa
Šprint 7
— Podrobna zgodba o delovanju OAuth 1.0, OAuth 2.0 in openID
— Delo s captcha in dvofaktorsko avtentikacijo
— Proučevanje komunikacije med mikrostoritvami. Konfiguriranje odpornosti storitve na obremenitve in spremembe API-ja, implementacija avtorizacije v AsyncAPI, upravljanje ravni obremenitev in hitro iskanje težav
- Python + FlaskPython + Flask
- Redis
- PostgreSQL (replike/odrezki)
- OpenID
- oauth2
- jwt
- сaptcha + Proof-of-Work
+ 1 projekt v portfelju
Storitev avtorizacije uporabnikov z zaščito podatkov
Modul 4 80 ur. storitev UGC
Storitev uporabnikom omogoča ustvarjanje lastne vsebine v vašem kinu - pustite všečke, komentarje, ocene filmov. Študenti morajo organizirati zbiranje in shranjevanje podatkov o aktivnosti uporabnikov.
Samostojna izbira asinhronega ogrodja in shranjevanja podatkov za storitev. Izvajanje lastne raziskave o delovanju različnih podatkovnih skladišč. Zagovor doseženih rezultatov, zaključkov in odločitev, sprejetih v demo z mentorjem.
Šprint 8
— Kaj je UGC in zakaj je potreben. Načrtovanje storitev
— Opis arhitekture in koristni nasveti za njeno oblikovanje
— Izbira shrambe, dogodkovno delo s podatki in delo s Kafko
— Pristopi k shranjevanju in obdelavi podatkov, ki ne sodijo na en strežnik. Lokalni vzpon računalniške gruče in delo s podatki v njej
Šprint 9
— Drugo porazdeljeno shranjevanje, shranjevanje podatkov in optimizacija shranjevanja in obdelave
— CI/CD: Gradnja stalne integracije za aplikacijo
— Uvod v beleženje v arhitekturi mikrostoritev
- Python
- Mongo
- ApacheKafka
- Clickhouse
- Apache Spark
- CI/CD
- ELK
+ 1 projekt v portfelju
Organizacija zbiranja in shranjevanja podatkov o aktivnosti uporabnikov
Modul 5 60 ur. Storitev obveščanja
Storitev obveščanja je odgovorna za komunikacijo z uporabnikom preko elektronske pošte, mobilnih potisnih obvestil, spletne vtičnice v brskalniku. To je pogosto rešljiv poslovni problem v komercialnem razvoju – uspešnost poslovanja je odvisna od pravilne komunikacije z uporabnikom.
Študij arhitekturnih problemov spletnega razvoja. Samostojno krmarite po poti od poslovnega problema do delujoče rešitve. Samostojna izbira tehnološkega sklada in izris storitvene arhitekture.
Nove tehnologije: posredniki sporočil na primeru RabbitMQ in Websocket.
Sprint 10
— Opis načela delovanja storitve obveščanja
— Mehanizem za pošiljanje sporočil uporabnikom in enotna politika stikov
— Oblikovanje komunikacijskega sistema
— E-poštna naprava in motorji predlog. Naučite se, katere protokole ali tehnologije je mogoče uporabiti v različnih situacijah, ko morate stopiti v stik s stranko
- Uporaba posrednika sporočil RabbitMQ. Transakcijske poštne storitve in skrajšane povezave
— Vrnite se na postopek CI/CD
- Python
- FastAPI
- RabbitMQ
- CI/CD
+ 1 projekt v portfelju
Storitev obveščanja prek e-pošte, mobilnih potisnih obvestil, spletne vtičnice v brskalniku
Ciljna črta je 80 ur. Diplomski projekt
Študenti sami izberejo poslovni problem ali si ga izmislijo, načrtujejo svoj čas, oblikujejo arhitekturo rešitve, izbirajo in raziskujejo tehnologije, nato pa zagovarjajo razvito aplikacijo.
Končna točka je zagovor diplomske naloge, kjer diplomanti pokažejo rezultate svojega timskega dela.
Šprint 11
— Priprave na finale. Organizacija dela v diplomskem modulu
— Ideje za diplomo. Pripravljene ideje za izvedbo v diplomskem projektu
— Rešitev težave s stranko. Zahteve za razvoj in vrste strank. Razčlenitev projekta in samostojna priprava tehničnih specifikacij za naročnika
— Organizacija delovnega časa. Koristni nasveti, kako organizirati delovni čas in vzpostaviti transparentne procese v timu
— Arhitektura in načrtovanje. Tveganja in načrtovanje projektnih nalog
Python + Framework (študentje sami izberejo ogrodje)
Dijaki sami izbirajo tehnologije za shranjevanje podatkov in druge tehnologije
+ 1 projekt v portfelju
Storitev na izbiro
Karierna pot 1 teden. Program zaposlovanja
Karierna pot je razdeljena na sedem blokov. Najprej študent razmišlja, ali mora res zamenjati svoje mesto, in določi svoja merila za udobno delo. Nato skupaj z izkušenimi kadrovskimi svetovalci sestavi življenjepis in se skrbno pripravi na vse vrste razgovorov, ponudili pa bomo aktualna prosta delovna mesta partnerjev.
J
john smith
05.04.2021 G.
Python-middle - zdaj zagotovo vem več!
Prednosti: širok nabor preučenih tehnologij, orodij, analiza najboljših praks rešitev. Slabosti: tipkarske napake v teoriji Pozdravljeni vsi, delam kot programer za python in na neki točki sem bil zmeden mojo kompetenco, ker o njej nisem bil prepričan, sem se odločil preveriti, kaj ponuja trg spletnega izobraževanja. Skoraj vsi tečaji so ponujali začetni nivo, kar pa ni bilo prav nič zanimivo...