Kursus "Middle Python Developer" - kursus 110 000 hõõruda. Yandexi töökojast, koolitus 6 kuud, kuupäev 11. jaanuar 2024.
Varia / / November 28, 2023
Tasuta 3 tundi. Sisseastumiskatse
Siit saate teada, kuidas koolitus töötab, ja sooritate taustaprogrammi arendamise küsimuste testi.
0 moodul 5 tundi. Sissejuhatav moodul
Õppetundide sari koodinõuetest, tööst Gitiga, kursuse õppeprotsessist ja esimesest praktilisest ülesandest.
— Väike pardaleminek
— Giti tutvustus
- Nõuded
1 moodul 115 tundi. Admin Panel + ETL teenused
Django abil Pythonis veebikino jaoks administraatoripaneeli loomine ja kohandamine. Üksikasjalik uuring enimkasutatud Django komponentidest - administraatoripaneel ja ORM. Indekside, migratsioonide ja päringute optimeerimise tundmine. Relatsiooniandmebaasi disain. Dockeri seade ja Nginxi töö. ETL-i arhitektuurimustri tundmaõppimine ja oma ETL-i loomine andmete edastamiseks PostgreSQL-ist Elasticsearchi.
Sprint 1
— Andmebaasi kujundamine, indeksitega tutvumine ja mälukulu
— Andmete sisestamise protsessi, andmeklasside ja ajaga töötamise tundmine andmebaasides
— Sissejuhatav teave ilma SQL-ita andmebaaside kohta, raamistiku valimise kriteeriumid ja Django üksikasjalik uuring: installimisest administraatoripaneelini
Sprint 2
— ORM-tehnoloogia põhjalik uurimine
— API juurutamine koostöös Djangoga ja tulemuse testimine
— Dockeri üksikasjalik tutvustus
— Päringute töötlemine tootmiskeskkonnas ja Nginxi konfigureerimine
Sprint 3
— Elasticsearchi, täistekstiotsingu ja ETL-i arhitektuuri põhjalik uurimine
- Python + UWSGI + Django
- PostgreSQL
- Nginx
- Docker
- ETL
- elastsearch
+ 1 projekt portfellis
Online kinoadmin + ETL andmeedastuseks
Moodul 2 80 tundi. Async API teenus
Sukelduge asünkroonsesse Pythoni ja selle toimimisse ning rakendage Fast API praktikas. Sissejuhatus iteraatoritesse, generaatoritesse ja korutiinidesse. Mitme keermestamise ja multitöötluse analüüs.
Õpilased töötavad 2-3-liikmelistes meeskondades. Arendusprotsess imiteerib arengut päris tootefirmas – tiimidel on meeskonna juht, koodide ülevaated ja iganädalased demod koos mentoritega.
Sprint 4
— Juhtmooduli tööpõhimõtted ja sprindi tehnilised kirjeldused
— Giti tööpõhimõtte kirjeldus
— Asünkroonse lähenemise, iteraatorite, generaatorite ja korutiinide tutvustus
— Asünkroonsete raamistike analüüs: Twisted, AIOHTTP ja FastAPI
— FastAPI üksikasjalik uuring
Sprint 5
— Koodeksi läbivaatamise üldpõhimõtete üksikasjalik kirjeldus
— Erinevus soliidse ja ebaväärika koodi vahel
— Teenuse ja testimise infrastruktuuri funktsionaalsed testid
— API kontseptsioon ja juhised dokumentatsiooni kirjutamiseks
- Python
- ASYNCIO
- FastAPI
- Redis
- Iteraatorid ja generaatorid
- Korutiinid
+ 1 projekt portfellis
Interneti-kino API
3. moodul 80 tundi. Autoriseerimisteenus
Kasutajaprofiili loomise, salvestamise ja logimise eest vastutava teenuse arendamine. See võimaldab kasutajatel kinos registreeruda ja oma kontot hallata. Üksikasjalik analüüs, kuidas paroole õigesti säilitada ja kasutajaandmete turvalisust tagada.
Õpilased kujundavad iseseisvalt teenuse arhitektuuri, kaitstes oma lahendusi ülevaates. Nad mõtlevad läbi teenustevahelise suhtluse süsteemi, pöörates tähelepanu vigade käsitlemisele ja ühe teenuse võimalikule sulgemisele.
Sukeldumine sünkroonsetesse raamistikesse, kasutades näitena Flaski ja töötades relatsiooniliste andmebaasidega, kasutades näiteks PostgreSQL-i. Keskenduge arvutiturbele ning andmete kogumise, kaitsmise ja säilitamise nõuetekohasele korraldamisele.
Sprint 6
— selgitus, miks autentimisteenust vaja on
— nõuete analüüs ja kogumine, tundlike andmetega töötamine, turvalisus, krüptimine, räsimine ja ressurssidele juurdepääsu haldamine
— autoriseerimismeetodite uurimine ja teenindusnõuete väljatöötamine. Jätkas Flaski ja Redise õppimist
Sprint 7
— Üksikasjalik lugu OAuth 1.0, OAuth 2.0 ja openID tööst
— Töö captcha ja kahefaktorilise autentimisega
— Mikroteenuste vahelise suhtluse uurimine. Teenuse vastupidavuse konfigureerimine koormustele ja API muudatustele, autoriseerimise rakendamine AsyncAPI-s, koormustasemete haldamine ja probleemide kiire leidmine
- Python + FlaskPython + Kolb
- Redis
- PostgreSQL (koopiad/killud)
- OpenID
- oauth2
- jwt
- сaptcha + töötõend
+ 1 projekt portfellis
Kasutaja autoriseerimisteenus koos andmekaitsega
Moodul 4 80 tundi. UGC teenus
Teenus võimaldab kasutajatel luua teie kinos oma sisu – jätta filmidele meeldimisi, kommentaare, arvustusi. Õpilased peavad korraldama kasutajate tegevuse andmete kogumise ja säilitamise.
Teenuse jaoks asünkroonse raamistiku ja andmesalvestuse sõltumatu valik. Omapoolsete uuringute läbiviimine erinevate andmeladude toimivuse kohta. Saadud tulemuste, järelduste ja tehtud otsuste kaitsmine demos koos mentoriga.
Sprint 8
— Mis on UGC ja miks seda vaja on. Teenuse planeerimine
— Arhitektuuri kirjeldus ja kasulikud näpunäited selle kujundamiseks
— Salvestusruumi valik, sündmustepõhine töö andmetega ja töö Kafkaga
— Lähenemisviisid andmete salvestamiseks ja töötlemiseks, mis ei mahu ühte serverisse. Arvutusklastri lokaalne tõus ja selles sisalduvate andmetega töötamine
Sprint 9
— Teine hajutatud salvestus, andmete salvestamine ning salvestamise ja töötlemise optimeerimine
— CI/CD: rakenduse pideva integreerimise loomine
— Sissejuhatus logimisse mikroteenuste arhitektuuris
- Python
- mongo
- ApacheKafka
- Clickhouse
- Apache Spark
- CI/CD
- ELK
+ 1 projekt portfellis
Kasutajate tegevust käsitlevate andmete kogumise ja säilitamise korraldamine
Moodul 5 60 tundi. Teavitusteenus
Teavitusteenus vastutab kasutajaga suhtlemise eest e-posti, mobiili tõukemärguannete, brauseri veebipesa kaudu. See on äriarenduses sageli lahendatav äriprobleem – äritegevuse tulemuslikkus sõltub õigest suhtlusest kasutajaga.
Veebiarenduse arhitektuuriprobleemide uurimine. Liikuge iseseisvalt teel äriprobleemist toimiva lahenduseni. Sõltumatu tehnoloogiapaki valik ja teenuse arhitektuuri joonistamine.
Uued tehnoloogiad: sõnumimaaklerid RabbitMQ ja Websocketi näitel.
Sprint 10
— Teavitusteenuse tööpõhimõtte kirjeldus
— Mehhanism kasutajatele sõnumite saatmiseks ja ühtne kontaktpoliitika
— Sidesüsteemide projekteerimine
— meiliseadmete ja mallide mootorid. Õppige, milliseid protokolle või tehnoloogiaid saab erinevates olukordades rakendada, kui peate kliendiga ühendust võtma
- RabbitMQ sõnumivahendaja kasutamine. Tehingupõhised postiteenused ja lühendatud lingid
— Naaske CI/CD protsessi
- Python
- FastAPI
- RabbitMQ
- CI/CD
+ 1 projekt portfellis
Teavitusteenus e-posti kaudu, mobiilsed tõukemärguanded, brauseri veebipesa
Finišis on 80 tundi. Lõpuprojekt
Õpilased valivad ise äriprobleemi või mõtlevad selle välja, planeerivad oma aega, kujundavad lahenduse arhitektuuri, valivad ja uurivad tehnoloogiaid, seejärel kaitsevad väljatöötatud rakendust.
Viimaseks punktiks on diplomitöö kaitsmine, kus lõpetajad näitavad oma meeskonnatöö tulemusi.
Sprint 11
— Ettevalmistus viimaseks sirgeks. Töökorraldus diplomimoodulis
— Ideed diplomi saamiseks. Valmis ideed elluviimiseks diplomitöös
— Probleemi lahendamine koos kliendiga. Nõuded arendusele ja klientide tüübid. Projekti dekomponeerimine ja iseseisev tehniliste kirjelduste koostamine tellijale
— Tööaja korraldus. Kasulikud näpunäited tööaja korraldamiseks ja läbipaistvate protsesside loomiseks meeskonnas
— Arhitektuur ja planeerimine. Riskid ja projektiülesannete planeerimine
Python + Framework (õpilased valivad raamistiku ise)
Andmete salvestamise ja muud tehnoloogiad valivad õpilased ise
+ 1 projekt portfellis
Teenus, mille vahel valida
Karjäärirada 1 nädal. Tööhõive programm
Karjäärirada on jagatud seitsmeks plokiks. Esiteks mõtleb õpilane, kas tal on tõesti vaja kohta vahetada, ja määrab oma mugava töö kriteeriumid. Järgmiseks koostab ta koos kogenud personalikonsultantidega CV ja valmistub hoolikalt igat tüüpi intervjuudeks ning pakume välja praegused partnerite vabad töökohad.
J
John Smith
05.04.2021 G.
Python-middle – nüüd tean kindlasti rohkem!
Eelised: lai valik uuritud tehnoloogiaid, tööriistu, parimate praktikate lahenduste analüüs. Puudused: kirjavead teoorias Tere kõigile, töötan pythoni programmeerijana ja olin mingil hetkel hämmingus minu pädevus, sest ma polnud selles kindel ja otsustasin vaadata, mida online-haridusturg pakub. Peaaegu kõik kursused pakkusid algtaseme taset, mis polnud üldse huvitav...