Kurs "Middle Python Developer" - kurs 110 000 rub. från Yandex Workshop, utbildning 6 månader, datum 11 januari 2024.
Miscellanea / / November 28, 2023
Gratis 3 timmar. Inträdesprov
Här får du lära dig om hur utbildningen fungerar och göra ett test av frågor om backend-utveckling.
0 modul 5 timmar. Intromodul
En serie lektioner om kodkrav, arbete med Git, kursens inlärningsprocessen och den första praktiska uppgiften.
— Liten onboarding
— Introduktion till Git
- Krav
1 modul 115 timmar. Adminpanel + ETL-tjänster
Skapa och anpassa en adminpanel för en onlinebiograf i Python med Django. En detaljerad studie av de mest använda Django-komponenterna - adminpanelen och ORM. Kännedom om index, migreringar och frågeoptimering. Relationell databasdesign. Docker-enhet och Nginx-drift. Lär känna ETL-arkitektoniska mönstret och skapa din egen ETL för att överföra data från PostgreSQL till Elasticsearch.
Sprint 1
— Databasdesign, bekantskap med index och minnesförbrukning
— Kännedom om processen för infogning av data, dataklasser och att arbeta med tid i databaser
— Introduktionsinformation om databaser utan SQL, kriterier för att välja ramverk och en detaljerad studie av Django: från installation till adminpanel
Sprint 2
— Djupstudie av ORM-teknik
— Implementering av API: t i samarbete med Django och testning av resultatet
— En detaljerad introduktion till Docker
— Bearbeta förfrågningar i en produktionsmiljö och konfigurera Nginx
Sprint 3
— Fördjupad studie av Elasticsearch, fulltextsökning och ETL-arkitektur
- Python + UWSGI + Django
- PostgreSQL
- Nginx
- Hamnarbetare
- ETL
- Elasticsearch
+ 1 projekt i portföljen
Online bio admin + ETL för dataöverföring
Modul 2 80 timmar. Async API-tjänst
Dyk in i asynkron Python och hur det fungerar och sätt Fast API i praktiken. Introduktion till iteratorer, generatorer och koroutiner. Analys av multithreading och multiprocessing.
Eleverna arbetar i team om 2-3 personer. Utvecklingsprocessen imiterar utvecklingen i ett riktigt produktföretag - teamen har en teamleader, kodgenomgångar och veckovisa demos med mentorer.
Sprint 4
— Arbetsprinciper i kommandomodulen och tekniska specifikationer för sprinten
— Beskrivning af arbetsprincipen i Git
— Introduktion till den asynkrona metoden, iteratorer, generatorer och koroutiner
— Analys av asynkrona ramverk: Twisted, AIOHTTP och FastAPI
— Detaljerad studie av FastAPI
Sprint 5
— En detaljerad beskrivning av de allmänna principerna för kodgranskning
— Skillnaden mellan solid och ovärdig kod
— Funktionstester för tjänsten och testinfrastruktur
— Begreppet API och instruktioner för att skriva dokumentation
- Pytonorm
- ASYNCIO
- FastAPI
- Redis
- Iteratorer och generatorer
- Coroutiner
+ 1 projekt i portföljen
Online bio API
Modul 3 80 timmar. Auktoriseringstjänst
Utveckling av en tjänst som ansvarar för att skapa, lagra och logga en användarprofil. Det kommer att tillåta användare att registrera sig på bio och hantera sitt konto. En detaljerad analys av hur man korrekt lagrar lösenord och säkerställer säkerheten för användardata.
Studenter designar självständigt tjänstearkitekturen och försvarar sina lösningar i en recension. De tänker igenom systemet för interaktion mellan tjänster, uppmärksammar felhantering och eventuell avstängning av en av tjänsterna.
Dyka in i synkrona ramverk med Flask som exempel och arbeta med relationsdatabaser med PostgreSQL som exempel. Fokus på datorsäkerhet och korrekt organisation av datainsamling, skydd och lagring.
Sprint 6
— Förklaring till varför Auth-tjänsten behövs
— Analys och insamling av krav, arbete med känslig data, säkerhet, kryptering, hash- och resursåtkomsthantering
— Studera auktorisationsmetoder och utveckla servicekrav. Fortsatt lärande av Flask och Redis
Sprint 7
— En detaljerad berättelse om arbetet med OAuth 1.0, OAuth 2.0 och openID
— Arbeta med captcha och tvåfaktorsautentisering
— Studera kommunikation mellan mikrotjänster. Konfigurera servicemotstånd mot belastningar och API-ändringar, implementera auktorisering i AsyncAPI, hantera belastningsnivåer och snabbt hitta problem
- Python + FlaskPython + Flask
- Redis
- PostgreSQL (repliker/skärvor)
- Öppet ID
- oauth2
- jwt
- сaptcha + Proof-of-Work
+ 1 projekt i portföljen
Användarbehörighetstjänst med dataskydd
Modul 4 80 timmar. UGC-tjänst
Tjänsten låter användare skapa sitt eget innehåll i din biograf - lämna likes, kommentarer, recensioner av filmer. Eleverna måste organisera insamling och lagring av data om användaraktivitet.
Oberoende val av ett asynkront ramverk och datalagring för tjänsten. Genomför din egen forskning om prestanda för olika datalager. Försvar av erhållna resultat, slutsatser och fattade beslut i en demo med en mentor.
Sprint 8
— Vad är UGC och varför behövs det. Serviceplanering
— Beskrivning av arkitekturen och användbara tips för dess utformning
— Val av lagring, händelsebaserat arbete med data och arbete med Kafka
— Tillvägagångssätt för att lagra och bearbeta data som inte får plats på en server. Lokal uppkomst av ett datorkluster och arbete med data inuti det
Sprint 9
— En annan distribuerad lagring, datalagring och optimering av lagring och bearbetning
— CI/CD: Bygga kontinuerlig integration för applikationen
— Introduktion till inloggning i mikrotjänstarkitektur
- Pytonorm
- Mongo
- ApacheKafka
- Klickhus
- Apache Spark
- CI/CD
- ÄLG
+ 1 projekt i portföljen
Organisering av insamling och lagring av data om användaraktivitet
Modul 5 60 timmar. Aviseringstjänst
Aviseringstjänsten ansvarar för kommunikation med användaren via E-post, mobila push-meddelanden, websocket i webbläsaren. Detta är ett ofta löst affärsproblem inom kommersiell utveckling – affärsresultat beror på korrekt kommunikation med användaren.
Studie av arkitektoniska problem med webbutveckling. Självständigt navigera vägen från ett affärsproblem till en fungerande lösning. Oberoende val av teknikstack och ritning av tjänstearkitektur.
Ny teknik: meddelandeförmedlare som använder exemplet RabbitMQ och Websocket.
Sprint 10
— Beskrivning av funktionsprincipen för meddelandetjänsten
— Mekanism för att skicka meddelanden till användare och en enhetlig kontaktpolicy
— Utformning av kommunikationssystem
— E-postenhet och mallmotorer. Att lära sig vilka protokoll eller teknologier som kan tillämpas i olika situationer när du behöver kontakta en kund
- Använda RabbitMQ meddelandemäklare. Transaktionella e-posttjänster och förkortade länkar
— Återgå till CI/CD-processen
- Pytonorm
- FastAPI
- RabbitMQ
- CI/CD
+ 1 projekt i portföljen
Aviseringstjänst via E-post, mobila push-meddelanden, websocket i webbläsaren
Målgången är 80 timmar. Examensprojekt
Eleverna väljer själva ett affärsproblem eller uppfinner ett, planerar sin tid, designar en lösningsarkitektur, väljer och forskar om teknologier och försvarar sedan den utvecklade applikationen.
Den sista punkten är försvaret av diplomprojektet, där akademiker visar resultaten av sitt teams arbete.
Sprint 11
— Förberedelser inför den sista raka. Organisation av arbetet i diplommodulen
— Idéer till ett diplom. Färdiga idéer för genomförande i ett diplomprojekt
— Att arbeta igenom problemet med kunden. Krav på utveckling och typer av kunder. Projektnedbrytning och självständig framställning av tekniska specifikationer för kund
— Arbetstidens förläggning. Användbara tips om hur man organiserar arbetstider och etablerar transparenta processer i ett team
— Arkitektur och planering. Risker och planering av projektuppgifter
Python + Framework (elever väljer själva ramverket)
Eleverna väljer själva datalagring och andra tekniker
+ 1 projekt i portföljen
Service att välja mellan
Karriärspår 1 vecka. Sysselsättningsprogram
Karriärspåret är uppdelat i sju block. Först funderar eleven på om han verkligen behöver byta plats och bestämmer sina egna kriterier för bekvämt arbete. Därefter sammanställer han ett CV tillsammans med erfarna HR-konsulter och förbereder sig noga för alla typer av intervjuer, så kommer vi att erbjuda aktuella partnervakanser.
J
john smith
05.04.2021 G.
Python-mitten - nu vet jag definitivt mer!
Fördelar: ett brett utbud av studerade teknologier, verktyg, analys av bästa praxis-lösningar. Nackdelar: stavfel i teorin Hej allihop, jag jobbar som pythonprogrammerare och vid något tillfälle blev jag förbryllad min kompetens, eftersom jag inte var säker på det, och bestämde mig för att se vad utbildningsmarknaden online erbjöd. Nästan alla kurser erbjöd en ingångsnivå, vilket inte alls var intressant...