Kurz "Middle Python Developer" - kurz 110 000 rub. z Yandex Workshop, školení 6 měsíců, datum 11. ledna 2024.
Různé / / November 28, 2023
Zdarma 3 hodiny. Vstupní test
Zde se dozvíte, jak školení probíhá, a otestujete si otázky týkající se vývoje backendu.
0 modul 5 hodin. Úvodní modul
Série lekcí o požadavcích na kód, práci s Git, procesu učení kurzu a prvním praktickém úkolu.
— Malý nástup
— Úvod do Gitu
- Požadavky
1 modul 115 hodin. Admin Panel + ETL služby
Vytvoření a přizpůsobení administrátorského panelu pro online kino v Pythonu pomocí Django. Podrobná studie nejpoužívanějších komponent Django - admin panel a ORM. Znalost indexů, migrací a optimalizace dotazů. Návrh relační databáze. Docker zařízení a provoz Nginx. Seznámení s architektonickým vzorem ETL a vytvoření vlastního ETL pro přenos dat z PostgreSQL do Elasticsearch.
Sprint 1
— Návrh databáze, seznámení s indexy a spotřebou paměti
— Seznámení s procesem vkládání dat, datovými třídami a prací s časem v databázích
— Úvodní informace o databázích bez SQL, kritéria pro výběr frameworku a podrobná studie Django: od instalace po admin panel
Sprint 2
— Hluboké studium technologie ORM
— Implementace API ve spolupráci s Django a testování výsledku
— Podrobný úvod do Dockeru
— Zpracování požadavků v produkčním prostředí a konfigurace Nginx
Sprint 3
— Hloubkové studium Elasticsearch, fulltextového vyhledávání a ETL architektury
- Python + UWSGI + Django
- PostgreSQL
- Nginx
- Přístavní dělník
- ETL
- Elasticsearch
+ 1 projekt v portfoliu
Online kino admin + ETL pro přenos dat
Modul 2 80 hodin. Služba Async API
Ponořte se do asynchronního Pythonu a do jeho fungování a zaveďte Fast API do praxe. Úvod do iterátorů, generátorů a korutin. Analýza multithreadingu a multiprocessingu.
Studenti pracují v týmech po 2-3 lidech. Proces vývoje napodobuje vývoj ve skutečné produktové společnosti – týmy mají vedení týmu, recenze kódu a týdenní dema s mentory.
Sprint 4
— Zásady práce ve velitelském modulu a technické specifikace pro sprint
— Popis principu práce v Gitu
— Úvod do asynchronního přístupu, iterátory, generátory a korutiny
— Analýza asynchronních rámců: Twisted, AIOHTTP a FastAPI
— Podrobná studie FastAPI
Sprint 5
— Podrobný popis obecných zásad revize kódu
— Rozdíl mezi pevným a nedůstojným kódem
— Funkční testy pro službu a testovací infrastrukturu
— Koncepce API a instrukce pro psaní dokumentace
- Krajta
- ASYNCIO
- FastAPI
- Redis
- Iterátory a generátory
- Coroutines
+ 1 projekt v portfoliu
Online kino API
Modul 3 80 hodin. Autorizační služba
Vývoj služby zodpovědné za vytváření, ukládání a přihlašování uživatelského profilu. Umožní uživatelům zaregistrovat se v kině a spravovat svůj účet. Podrobná analýza toho, jak správně ukládat hesla a zajistit bezpečnost uživatelských dat.
Studenti samostatně navrhují architekturu služeb a svá řešení obhajují v recenzi. Přemýšlejí o systému interakce mezi službami, věnují pozornost řešení chyb a možnému vypnutí jedné ze služeb.
Ponoření se do synchronních frameworků na příkladu Flask a práce s relačními databázemi pomocí PostgreSQL jako příkladu. Zaměřte se na počítačovou bezpečnost a správnou organizaci sběru, ochrany a ukládání dat.
Sprint 6
— Vysvětlení, proč je potřeba služba Auth
— Analýza a sběr požadavků, práce s citlivými daty, zabezpečení, šifrování, hashování a správa přístupu ke zdrojům
— Studium autorizačních metod a vývoj požadavků na služby. Pokračující učení Flask a Redis
Sprint 7
— Podrobný příběh o práci OAuth 1.0, OAuth 2.0 a openID
— Práce s captcha a dvoufaktorovou autentizací
— Studium komunikace mezi mikroslužbami. Konfigurace odolnosti služby vůči zatížení a změnám API, implementace autorizace v AsyncAPI, správa úrovní zatížení a rychlé hledání problémů
- Python + FlaskPython + Flask
- Redis
- PostgreSQL (repliky/úlomky)
- OpenID
- oauth2
- jwt
- сaptcha + Proof-of-Work
+ 1 projekt v portfoliu
Služba autorizace uživatelů s ochranou dat
Modul 4 80 hodin. Služba UGC
Služba umožňuje uživatelům vytvářet vlastní obsah ve vašem kině – zanechávat lajky, komentáře, recenze filmů. Studenti musí organizovat sběr a ukládání dat o aktivitě uživatelů.
Nezávislý výběr asynchronního rámce a úložiště dat pro službu. Provádění vlastního výzkumu výkonu různých datových skladů. Obhajoba získaných výsledků, závěry a rozhodnutí učiněná v demu s mentorem.
Sprint 8
— Co je UGC a proč je potřeba. Plánování služeb
— Popis architektury a užitečné tipy pro její návrh
— Výběr úložiště, eventová práce s daty a práce s Kafkou
— Přístupy k ukládání a zpracování dat, které se nevejdou na jeden server. Lokální vznik výpočetního clusteru a práce s daty v něm
Sprint 9
— Další distribuované úložiště, ukládání dat a optimalizace ukládání a zpracování
— CI/CD: Budování nepřetržité integrace pro aplikaci
— Úvod do logování v architektuře mikroslužeb
- Krajta
- Mongo
- ApacheKafka
- Clickhouse
- Apache Spark
- CI/CD
- ELK
+ 1 projekt v portfoliu
Organizace sběru a ukládání dat o aktivitě uživatele
Modul 5 60 hodin. Notifikační služba
Notifikační služba je zodpovědná za komunikaci s uživatelem prostřednictvím e-mailu, mobilní push notifikace, websocket v prohlížeči. Toto je často řešený obchodní problém v komerčním vývoji – obchodní výkon závisí na správné komunikaci s uživatelem.
Studium architektonických problémů vývoje webu. Nezávisle navigujte cestu od obchodního problému k funkčnímu řešení. Nezávislý výběr technologického zásobníku a výkres architektury služeb.
Nové technologie: zprostředkovatelé zpráv na příkladu RabbitMQ a Websocket.
Sprint 10
— Popis principu fungování oznamovací služby
— Mechanismus pro zasílání zpráv uživatelům a jednotná kontaktní politika
— Návrh komunikačního systému
— E-mailové zařízení a nástroje šablon. Naučte se, které protokoly nebo technologie lze použít v různých situacích, když potřebujete kontaktovat klienta
- Použití zprostředkovatele zpráv RabbitMQ. Transakční poštovní služby a zkrácené odkazy
— Návrat k procesu CI/CD
- Krajta
- FastAPI
- RabbitMQ
- CI/CD
+ 1 projekt v portfoliu
Notifikační služba prostřednictvím e-mailu, mobilní push notifikace, websocket v prohlížeči
Cílová čára je 80 hodin. Absolventský projekt
Studenti si sami vyberou obchodní problém nebo jej vymyslí, naplánují si čas, navrhnou architekturu řešení, vyberou a vyzkoumají technologie, poté vyvinutou aplikaci obhájí.
Závěrečným bodem je obhajoba diplomového projektu, kde absolventi ukazují výsledky práce svého týmu.
Sprint 11
— Příprava na závěrečnou rovinku. Organizace práce v diplomovém modulu
— Nápady na diplom. Hotové nápady pro realizaci v diplomovém projektu
— Řešení problému se zákazníkem. Požadavky na vývoj a typy zákazníků. Dekompozice projektu a samostatná příprava technické specifikace pro zákazníka
— Organizace pracovní doby. Užitečné tipy, jak si zorganizovat pracovní dobu a zavést transparentní procesy v týmu
— Architektura a plánování. Rizika a plánování projektových úkolů
Python + Framework (studenti si sami volí framework)
Datové úložiště a další technologie si studenti volí sami
+ 1 projekt v portfoliu
Služba na výběr
Kariérní dráha 1 týden. Program zaměstnanosti
Dráha kariéry je rozdělena do sedmi bloků. Nejprve se student zamyslí, zda opravdu potřebuje změnit své místo, a určí si vlastní kritéria pro pohodlnou práci. Dále sestaví životopis spolu se zkušenými HR konzultanty a pečlivě se připraví na všechny typy pohovorů a nabídneme aktuální volná místa partnerů.
J
John Smith
05.04.2021 G.
Python-middle – teď vím rozhodně víc!
Výhody: široká škála studovaných technologií, nástrojů, analýza best-practice řešení. Nevýhody: překlepy v teorii Ahoj všichni, pracuji jako python programátor a v určitém okamžiku jsem byl zmatený své schopnosti, protože jsem si tím nebyl jistý, a rozhodl jsem se podívat, co nabízí trh online vzdělávání. Téměř všechny kurzy nabízely základní úroveň, která nebyla vůbec zajímavá...