Corso "Sviluppatore Middle Python" - corso 110.000 rubli. da Yandex Workshop, formazione 6 mesi, data 11 gennaio 2024.
Miscellanea / / November 28, 2023
3 ore gratuite. Test d'ingresso
Qui imparerai come funziona la formazione e farai un test di domande sullo sviluppo del backend.
0 modulo 5 ore. Modulo introduttivo
Una serie di lezioni sui requisiti del codice, sul lavoro con Git, sul processo di apprendimento del corso e sul primo compito pratico.
— Piccolo onboarding
— Introduzione a Git
- Requisiti
1 modulo 115 ore. Pannello di amministrazione + servizi ETL
Creazione e personalizzazione di un pannello di amministrazione per un cinema online in Python utilizzando Django. Uno studio dettagliato dei componenti Django più utilizzati: il pannello di amministrazione e l'ORM. Familiarità con indici, migrazioni e ottimizzazione delle query. Progettazione di database relazionali. Dispositivo Docker e funzionamento Nginx. Conoscere il modello architettonico ETL e creare il proprio ETL per trasferire dati da PostgreSQL a Elasticsearch.
Sprint 1
— Progettazione di database, familiarità con gli indici e consumo di memoria
— Familiarità con il processo di inserimento dei dati, classi di dati e utilizzo del tempo nei database
— Informazioni introduttive sui database senza SQL, criteri per la scelta di un framework e uno studio dettagliato di Django: dall'installazione al pannello di amministrazione
Sprint 2
— Studio approfondito della tecnologia ORM
— Implementazione dell'API in collaborazione con Django e test del risultato
— Un'introduzione dettagliata a Docker
— Elaborazione delle richieste in un ambiente di produzione e configurazione di Nginx
Sprint 3
— Approfondimento su Elasticsearch, ricerca full-text e architettura ETL
- Python + UWSGI + Django
- PostgreSQL
- Nginx
- Docker
- ETL
- Ricerca elastica
+ 1 progetto nel portfolio
Amministrazione del cinema online + ETL per il trasferimento dei dati
Modulo 2 80 ore. Servizio API asincrono
Immergiti in Python asincrono, scopri come funziona e metti in pratica l'API Fast. Introduzione a iteratori, generatori e coroutine. Analisi del multithreading e del multiprocessing.
Gli studenti lavorano in gruppi di 2-3 persone. Il processo di sviluppo imita lo sviluppo in una vera azienda di prodotti: i team hanno un team leader, revisioni del codice e demo settimanali con mentori.
Sprint 4
— Principi di lavoro nel modulo di comando e specifiche tecniche per lo sprint
— Descrizione del principio di lavoro in Git
— Introduzione all'approccio asincrono, iteratori, generatori e coroutine
— Analisi di framework asincroni: Twisted, AIOHTTP e FastAPI
— Studio dettagliato di FastAPI
Sprint 5
— Una descrizione dettagliata dei principi generali della revisione del codice
— La differenza tra codice solido e poco dignitoso
— Prove funzionali per il servizio e l'infrastruttura di prova
— Concetto di API e istruzioni per la scrittura della documentazione
- Pitone
- ASINCIO
- API veloce
- Redis
- Iteratori e generatori
- Coroutine
+ 1 progetto nel portfolio
API del cinema online
Modulo 3 80 ore. Servizio di autorizzazione
Sviluppo di un servizio responsabile della creazione, archiviazione e registrazione di un profilo utente. Permetterà agli utenti di registrarsi al cinema e gestire il proprio account. Un'analisi dettagliata su come archiviare correttamente le password e garantire la sicurezza dei dati dell'utente.
Gli studenti progettano in modo indipendente l'architettura del servizio, difendendo le loro soluzioni in una revisione. Pensano al sistema di interazione tra i servizi, prestando attenzione alla gestione degli errori e al possibile arresto di uno dei servizi.
Immergersi nei framework sincroni utilizzando Flask come esempio e lavorare con database relazionali utilizzando PostgreSQL come esempio. Focus sulla sicurezza informatica e sulla corretta organizzazione della raccolta, protezione e archiviazione dei dati.
Sprint 6
— Spiegazione del motivo per cui è necessario il servizio Auth
— Analisi e raccolta dei requisiti, lavoro con dati sensibili, sicurezza, crittografia, hashing e gestione dell'accesso alle risorse
— Studio delle modalità di autorizzazione e sviluppo dei requisiti del servizio. Apprendimento continuo di Flask e Redis
Sprint7
— Una storia dettagliata sul lavoro di OAuth 1.0, OAuth 2.0 e openID
— Lavorare con captcha e autenticazione a due fattori
— Studio della comunicazione tra microservizi. Configurazione della resistenza del servizio ai carichi e alle modifiche dell'API, implementazione dell'autorizzazione in AsyncAPI, gestione dei livelli di carico e individuazione rapida dei problemi
- Python + FlaskPython + Flask
- Redis
- PostgreSQL (repliche/frammenti)
- OpenID
- oauth2
- jwt
- сaptcha + prova di lavoro
+ 1 progetto nel portfolio
Servizio di autorizzazione utente con protezione dei dati
Modulo 4 80 ore. Servizio UGC
Il servizio consente agli utenti di creare i propri contenuti nel proprio cinema: lasciare Mi piace, commenti, recensioni di film. Gli studenti devono organizzare la raccolta e l'archiviazione dei dati sull'attività degli utenti.
Selezione indipendente di un framework asincrono e archiviazione dei dati per il servizio. Condurre la propria ricerca sulle prestazioni di diversi data warehouse. Difesa dei risultati ottenuti, conclusioni e decisioni prese in una demo con un mentore.
Sprint 8
— Cos’è l’UGC e perché è necessario. Pianificazione del servizio
— Descrizione dell'architettura e consigli utili per la sua progettazione
— Selezione dell'archiviazione, lavoro basato sugli eventi con i dati e lavoro con Kafka
— Approcci all'archiviazione e all'elaborazione dei dati che non rientrano in un server. Emergenza locale di un cluster informatico e utilizzo dei dati al suo interno
Sprint 9
— Un altro spazio di archiviazione distribuito, archiviazione dei dati e ottimizzazione dell'archiviazione e dell'elaborazione
— CI/CD: creazione di un'integrazione continua per l'applicazione
— Introduzione al login nell'architettura dei microservizi
- Pitone
- Mongo
- ApacheKafka
- ClickHouse
- Apache Spark
- CI/CD
- ALCE
+ 1 progetto nel portfolio
Organizzazione della raccolta e archiviazione dei dati sull'attività dell'utente
Modulo 5 60 ore. Servizio di notifica
Il servizio di notifica è responsabile della comunicazione con l'utente tramite e-mail, notifiche push mobili, websocket nel browser. Questo è un problema aziendale spesso risolto nello sviluppo commerciale: le prestazioni aziendali dipendono dalla corretta comunicazione con l'utente.
Studio dei problemi architetturali dello sviluppo web. Percorri in modo indipendente il percorso da un problema aziendale a una soluzione funzionante. Scelta indipendente dello stack tecnologico e disegno dell'architettura del servizio.
Nuove tecnologie: broker di messaggi utilizzando l'esempio di RabbitMQ e Websocket.
Sprint 10
— Descrizione del principio di funzionamento del servizio di notifica
— Meccanismo per l'invio di messaggi agli utenti e una politica di contatto unificata
— Progettazione di sistemi di comunicazione
— Dispositivo di posta elettronica e motori di modelli. Imparare quali protocolli o tecnologie possono essere applicati nelle diverse situazioni in cui è necessario contattare un cliente
- Utilizzo del broker di messaggi RabbitMQ. Servizi di mailing transazionale e collegamenti abbreviati
— Ritornare al processo CI/CD
- Pitone
- API veloce
- ConiglioMQ
- CI/CD
+ 1 progetto nel portfolio
Servizio di notifica via e-mail, notifiche push mobile, websocket nel browser
Il traguardo è di 80 ore. Progetto di diploma
Gli studenti scelgono da soli un problema aziendale o ne inventano uno, pianificano il loro tempo, progettano un'architettura di soluzione, selezionano e ricercano le tecnologie, quindi difendono l'applicazione sviluppata.
Il punto finale è la difesa del progetto di diploma, in cui i laureati mostrano i risultati del lavoro del proprio team.
Sprint 11
— Preparazione per il rettilineo finale. Organizzazione del lavoro nel modulo di diploma
— Idee per un diploma. Idee già pronte per l'implementazione in un progetto di diploma
— Risoluzione del problema con il cliente. Requisiti di sviluppo e tipologie di clienti. Scomposizione del progetto e predisposizione autonoma delle specifiche tecniche per il cliente
— Organizzazione dell'orario di lavoro. Consigli utili su come organizzare l'orario di lavoro e stabilire processi trasparenti in un team
— Architettura e pianificazione. Rischi e pianificazione delle attività di progetto
Python + Framework (gli studenti scelgono autonomamente il framework)
Gli studenti scelgono autonomamente l'archiviazione dei dati e le altre tecnologie
+ 1 progetto nel portfolio
Servizio tra cui scegliere
Percorso professionale 1 settimana. Programma per l'occupazione
Il percorso carriera è diviso in sette blocchi. Innanzitutto, lo studente pensa se ha davvero bisogno di cambiare posto e determina i propri criteri per un lavoro confortevole. Successivamente compila un curriculum insieme a consulenti HR esperti e si prepara con cura per tutti i tipi di colloqui e noi offriremo i posti vacanti attuali ai partner.
J
John Smith
05.04.2021 G.
Python-middle: ora ne so sicuramente di più!
Vantaggi: un'ampia gamma di tecnologie studiate, strumenti, analisi di soluzioni best-practice. Svantaggi: errori di battitura in teoria Ciao a tutti, lavoro come programmatore Python, e ad un certo punto sono rimasto perplesso mia competenza, perché non ne ero sicuro, e ho deciso di vedere cosa offriva il mercato dell'istruzione online. Quasi tutti i corsi prevedevano un livello base, il che non era affatto interessante...