Kurs "Middle Python Developer" - kurs 110 000 rub. fra Yandex Workshop, opplæring 6 måneder, dato 11. januar 2024.
Miscellanea / / November 28, 2023
Gratis 3 timer. Inngangsprøve
Her vil du lære om hvordan opplæringen fungerer og ta en test av spørsmål om backend-utvikling.
0 modul 5 timer. Intromodul
En serie leksjoner om kodekrav, arbeid med Git, læringsprosessen til kurset og den første praktiske oppgaven.
— Liten onboarding
— Introduksjon til Git
- Krav
1 modul 115 timer. Administrasjonspanel + ETL-tjenester
Opprette og tilpasse et administrasjonspanel for en nettkino i Python ved hjelp av Django. En detaljert studie av de mest brukte Django-komponentene - adminpanelet og ORM. Kjennskap til indekser, migreringer og spørringsoptimalisering. Relasjonell databasedesign. Docker-enhet og Nginx-drift. Bli kjent med ETL-arkitektoniske mønster og lag din egen ETL for å overføre data fra PostgreSQL til Elasticsearch.
Sprint 1
— Databasedesign, kjennskap til indekser og minneforbruk
— Kjennskap til prosessen med datainnsetting, dataklasser og arbeid med tid i databaser
— Innledende informasjon om databaser uten SQL, kriterier for valg av rammeverk og en detaljert studie av Django: fra installasjon til adminpanel
Sprint 2
— Dypstudie av ORM-teknologi
— Implementering av API i samarbeid med Django og testing av resultatet
— En detaljert introduksjon til Docker
— Behandle forespørsler i et produksjonsmiljø og konfigurere Nginx
Sprint 3
— Fordypning i Elasticsearch, fulltekstsøk og ETL-arkitektur
- Python + UWSGI + Django
- PostgreSQL
- Nginx
- Docker
- ETL
- Elasticsearch
+ 1 prosjekt i porteføljen
Online kino admin + ETL for dataoverføring
Modul 2 80 timer. Async API-tjeneste
Dykk inn i asynkron Python og hvordan det fungerer, og bruk Fast API i praksis. Introduksjon til iteratorer, generatorer og koroutiner. Analyse av multithreading og multiprosessering.
Elevene jobber i team på 2-3 personer. Utviklingsprosessen imiterer utviklingen i et ekte produktselskap – teamene har en teamleder, kodegjennomganger og ukentlige demoer med mentorer.
Sprint 4
— Arbeidsprinsipper i kommandomodulen og tekniske spesifikasjoner for sprinten
— Beskrivelse av arbeidsprinsippet i Git
— Introduksjon til asynkron tilnærming, iteratorer, generatorer og koroutiner
— Analyse av asynkrone rammeverk: Twisted, AIOHTTP og FastAPI
— Detaljert studie av FastAPI
Sprint 5
— En detaljert beskrivelse av de generelle prinsippene for gjennomgang av koden
— Forskjellen mellom solid og uverdig kode
— Funksjonstester for tjenesten og testinfrastruktur
— Konsept for API og instruksjoner for å skrive dokumentasjon
- Python
- ASYNCIO
- FastAPI
- Redis
- Iteratorer og generatorer
- Coroutines
+ 1 prosjekt i porteføljen
Online kino API
Modul 3 80 timer. Autorisasjonstjeneste
Utvikling av en tjeneste ansvarlig for å opprette, lagre og logge en brukerprofil. Det vil tillate brukere å registrere seg på kinoen og administrere kontoen sin. En detaljert analyse av hvordan du lagrer passord på riktig måte og sikrer sikkerheten til brukerdata.
Studentene designer selvstendig tjenestearkitekturen og forsvarer løsningene sine i en anmeldelse. De tenker gjennom systemet for samhandling mellom tjenester, og tar hensyn til feilhåndtering og mulig nedleggelse av en av tjenestene.
Dykke inn i synkrone rammer ved å bruke Flask som eksempel og jobbe med relasjonsdatabaser med PostgreSQL som eksempel. Fokus på datasikkerhet og riktig organisering av datainnsamling, beskyttelse og lagring.
Sprint 6
— Forklaring på hvorfor Auth-tjenesten er nødvendig
— Analyse og innsamling av krav, arbeid med sensitive data, sikkerhet, kryptering, hashing og administrasjon av ressurstilgang
— Studere autorisasjonsmetoder og utvikle servicekrav. Fortsatt læring av Flask og Redis
Sprint 7
— En detaljert historie om arbeidet med OAuth 1.0, OAuth 2.0 og openID
— Jobber med captcha og tofaktorautentisering
— Studerer kommunikasjon mellom mikrotjenester. Konfigurere tjenestemotstand mot belastninger og API-endringer, implementere autorisasjon i AsyncAPI, administrere belastningsnivåer og raskt finne problemer
- Python + FlaskPython + Flask
- Redis
- PostgreSQL (replikaer/skår)
- OpenID
- oauth2
- jwt
- сaptcha + Proof-of-Work
+ 1 prosjekt i porteføljen
Brukerautorisasjonstjeneste med databeskyttelse
Modul 4 80 timer. UGC-tjeneste
Tjenesten lar brukerne lage sitt eget innhold på kinoen din – legg igjen likes, kommentarer, anmeldelser av filmer. Studentene må organisere innsamling og lagring av data om brukeraktivitet.
Uavhengig valg av et asynkront rammeverk og datalagring for tjenesten. Utføre din egen forskning på ytelsen til forskjellige datavarehus. Forsvar av oppnådde resultater, konklusjoner og beslutninger tatt i en demo med en mentor.
Sprint 8
— Hva er UGC og hvorfor trengs det. Tjenesteplanlegging
— Beskrivelse av arkitekturen og nyttige tips for utformingen
— Utvalg av lagring, hendelsesbasert arbeid med data og arbeid med Kafka
— Tilnærminger til lagring og behandling av data som ikke passer på én server. Lokal fremvekst av en dataklynge og arbeid med data inne i den
Sprint 9
— En annen distribuert lagring, datalagring og optimalisering av lagring og prosessering
— CI/CD: Bygger kontinuerlig integrasjon for applikasjonen
— Introduksjon til logging i mikrotjenestearkitektur
- Python
- Mongo
- ApacheKafka
- Klikkhus
- Apache Spark
- CI/CD
- ELK
+ 1 prosjekt i porteføljen
Organisering av innsamling og lagring av data om brukeraktivitet
Modul 5 60 timer. Varslingstjeneste
Varslingstjenesten er ansvarlig for kommunikasjon med bruker via E-post, mobil push-varsling, websocket i nettleseren. Dette er et ofte løst forretningsproblem i kommersiell utvikling – forretningsytelse avhenger av riktig kommunikasjon med brukeren.
Studie av arkitektoniske problemer ved webutvikling. Naviger selvstendig veien fra et forretningsproblem til en fungerende løsning. Selvstendig valg av teknologistabel og tegning av tjenestearkitektur.
Nye teknologier: meldingsmeglere som bruker eksemplet med RabbitMQ og Websocket.
Sprint 10
— Beskrivelse av driftsprinsippet for varslingstjenesten
— Mekanisme for å sende meldinger til brukere og en enhetlig kontaktpolicy
— Utforming av kommunikasjonssystemer
— E-postenhet og malmotorer. Lære hvilke protokoller eller teknologier som kan brukes i ulike situasjoner når du trenger å kontakte en klient
- Bruke RabbitMQ-meldingsmegleren. Transaksjonelle posttjenester og forkortede lenker
— Gå tilbake til CI/CD-prosessen
- Python
- FastAPI
- RabbitMQ
- CI/CD
+ 1 prosjekt i porteføljen
Varslingstjeneste via e-post, mobil push-varsler, websocket i nettleseren
Målgang er 80 timer. Avgangsprosjekt
Studentene velger et forretningsproblem selv eller finner opp et, planlegger tiden sin, designer en løsningsarkitektur, velger og forsker på teknologier, og forsvarer deretter den utviklede applikasjonen.
Det siste punktet er forsvaret av diplomprosjektet, der nyutdannede viser resultatene av teamets arbeid.
Sprint 11
— Forberedelse til den siste rette. Organisering av arbeidet i diplommodulen
— Ideer til et diplom. Ferdige ideer for gjennomføring i et diplomprosjekt
— Å jobbe gjennom problemet med kunden. Krav til utvikling og kundetyper. Prosjektdekomponering og selvstendig utarbeidelse av tekniske spesifikasjoner for kunden
— Organisering av arbeidstiden. Nyttige tips om hvordan du kan organisere arbeidstiden og etablere transparente prosesser i et team
— Arkitektur og planlegging. Risikoer og planlegging av prosjektoppgaver
Python + Framework (elevene velger rammeverket selv)
Studentene velger selv datalagring og andre teknologier
+ 1 prosjekt i porteføljen
Service å velge mellom
Karrierespor 1 uke. Sysselsettingsprogram
Karrieresporet er delt inn i syv blokker. Først tenker eleven om han virkelig trenger å bytte plass, og bestemmer sine egne kriterier for komfortabelt arbeid. Deretter setter han sammen en CV sammen med erfarne HR-konsulenter og forbereder seg nøye til alle typer intervjuer, og vi vil tilby aktuelle partnervikariater.
J
john smith
05.04.2021 G.
Python-midt - nå vet jeg definitivt mer!
Fordeler: et bredt spekter av studerte teknologier, verktøy, analyse av beste praksis-løsninger. Ulemper: skrivefeil i teorien Hei alle sammen, jeg jobber som pythonprogrammerer, og på et tidspunkt ble jeg forvirret min kompetanse, fordi jeg ikke var sikker på det, og bestemte meg for å se hva det nettbaserte utdanningsmarkedet tilbød. Nesten alle kurs tilbød et inngangsnivå, noe som ikke var interessant i det hele tatt...