Sviluppatore Python: corso 35.000 rubli. da Slurm, formazione, Data: 30 novembre 2023.
Miscellanea / / December 03, 2023
Programma
276 ore di teoria
37 ore di pratica
2 anni di accesso a 14 argomenti
Lezione introduttiva
Permetteteci di presentarvi al relatore utilizzando l'esempio di una lezione introduttiva al workshop.
introduzione
Introduzione al corso
Accesso all'archivio dei corsi
Prima che inizi
Obiettivo: configurazione con Git, conoscenza delle alternative e comprensione dei termini base
Teoria (0,8 accademico. H):
Creazione di un account e configurazione di Github.
Configurazione di SSH.
Conoscenze di base su memoria e processore.
Una storia di compilatori e interpreti.
Pratica (1 accademico. H):
Crea un nuovo archivio.
Descrivi il suo scopo in READ.ME.
Invia a Github.
Effettuare le impostazioni di visibilità del repository.
Nozioni di base
Obiettivo: infrastruttura completamente configurata (gestione delle dipendenze, controllo della versione, ambienti virtuali).
Teoria (0,7 accademico. H):
I primi programmi dall'IDE o da un file.
IDE: Visual Studio Code, vantaggi e personalizzazione, alternative.
PyCharm - Idea.
PEP8.
standard del codice linter.
Pratica (14 accademici. H):
Scarica il progetto da Github.
Crea VE tramite PIPENV.
Installa le dipendenze ed esegui.
Usa Poetry invece di PIPENV, usalo all'interno dell'IDE.
Controllo automatico tramite linter.
Linguaggio di programmazione Python
Obiettivo: imparare a scrivere programmi semplici, risolvere problemi di base e utilizzare correttamente i tipi di dati.
Teoria (1.6 accademico. H):
Variabili e tipi incorporati.
Strutture dati.
Stringhe e formattazione.
Dizionari e set.
Comprensioni, lambda, filtro, mappa, raccolte.
Pratica (12 accademici. H):
Modifica esempi.
Lavorare con le librerie: connettersi, utilizzare le funzioni.
Attraversamento ricorsivo di dizionari e attraversamento di grafici, filtraggio complesso, componenti nidificati.
Validatore di staffe.
Test
Obiettivo: comprendere i termini, imparare a scrivere test unitari e coprire completamente le soluzioni con i test.
Teoria (0,6 accademico. H):
Nozioni di base sui test: unittest, pytest, copertura.
Pratica (14 accademici. H):
Copri le attività precedenti avviate su Github con test e controllale tramite Copertura.
Configura le azioni Github per test e copertura.
Interazione con il sistema operativo
Obiettivo: comprendere le questioni standard e i principi generali del lavoro con la rete.
Teoria (1.5 accademico. H):
Cos'è il sistema operativo, processo e thread, GIL, Linux\POSIX, file system.
Lavorare con la rete nel sistema operativo.
Pratica (14 accademici. H):
Ripetere e modificare i casi d'uso.
Lavorare con un generatore di stringhe casuali su un file.
Leggere un file, ordinare righe, scrivere un file.
Velocizzare il generatore di stringhe utilizzando il multiprocessing.
Desktop – PyQt
Obiettivo: comprendere i problemi standard, imparare come utilizzare l'ereditarietà e scrivere un semplice programma in Qt.
Teoria (3.4 accademico. H):
Nozioni di base sull'OOP: ereditarietà, poliorfismo, MRO.
OOP in Python.
Widget PyQt.
Richiami sulla tecnologia QML: confronto con JavaScript, discussione di MVC, separazione di frontend e backend.
Pratica (20 accademici. H):
Ripetere e modificare i casi d'uso.
Scrivi una semplice applicazione di 6-10 elementi.
Riscrivi l'esempio precedente dai widget a QML.
PyGame Desktop
Obiettivo: imparare ad usare pygame e consolidare le conoscenze pregresse.
Teoria (0,7 accademico. H):
Cerca esempi su Github.
Lancio, dimostrazione senza analisi del codice.
Pratica (3 accademici. H):
Espandi la funzionalità di ciò che hai scritto.
Scrivi un menu con pulsanti e il tuo cursore.
Banca dati
Obiettivo: capire cos'è SQL, quali tipi di archiviazione e strumenti esistono.
Teoria (0,9 accademico. H):
Nozioni di base su SQL.
Tipi di archiviazione e database.
Revisione degli strumenti più popolari.
ORM informazioni generali, CRUD.
Record attivo e mappatore di dati.
Pratica (2 accademici. H):
Modifica il codice della lezione.
Combina i risultati della pratica di questo modulo e della lezione sul lavoro con la rete.
Scrivere un bot
Obiettivo: capire come funzionano i bot e cos'è l'API.
Teoria (0,5 accademico. H):
Che cos'è un'API? Leggi la documentazione.
Scarica la libreria e prova un semplice esempio.
Scriviamo il nostro semplice bot, come una richiesta da YouTube o Wikipedia.
Pratica (15 accademici. H):
Combina il risultato della pratica precedente con il bot.
Scrivi il tuo bot con i pulsanti in Telegram.
Nozioni di base sul WEB
Obiettivo: capire come sono scritti siti e servizi web, quali protocolli e strumenti di progettazione API sono disponibili.
Teoria (0,8 accademico. H):
Cos'è il web e con cosa si mangia?
Il posto di Python nel web, una panoramica dei framework.
Come progettare: ApiFirst, stili di progettazione, OpenAPI.
SAPONE, RPC.
Pratica (6 accademici. H):
Lavorando al progetto finale.
Django
Obiettivo: imparare a scrivere un backend in Django.
Teoria (0,9 accademico. H):
Nozioni di base su Django: connessione a un database, configurazione di Hello World.
Progettiamo un'API per il backend.
Colleghiamo DRF.
Crea un controller per i post.
Pratica (15 accademici. H):
Scrivere un controller per commenti e test per i controller.
Aggiungi un sistema di dialoghi (risposte) nei commenti.
Aggiungi autorizzazione.
Ulteriori sviluppi
Corso "Git for Beginners" - solo sulla tariffa "Riqualificazione".
Teoria minima richiesta (3 accademici. h) e 67 compiti pratici (32 accademici. H):
Filosofia di sviluppo del team.
Siti di hosting di sviluppo software popolari.
Nozioni di base su Git.
Pratiche di utilizzo di Git in team.
Configurazione Git personale per un lavoro conveniente.
Corso "Amministrazione di base dei server Linux" - solo sulla tariffa "Riqualificazione".
Conoscenze e competenze necessarie per imparare a utilizzare il sistema operativo Linux (7 accademico. h teoria e 40 accademici. ore di pratica):
Introduzione.
Come connettersi al server tramite SSH.
Nozioni di base per lavorare con il sistema operativo (autorizzazioni, comandi). Come lavorare con il server. Come copiare file, cartelle.
Analisi dei servizi di sistema. Come funziona Linux.
Nozioni di base sulla rete.
Come installare il software necessario sul server.
Come distribuire manualmente il tuo sito.
Virtualizzazione, macchine virtuali e loro funzionalità.
Possibili problemi del server, loro diagnosi e soluzioni.
Ottimizzazione del server.
Nozioni di base sulla containerizzazione Docker.
Lavorare con Git.
Corso “Docker: da zero a eroe” - solo sulla tariffa “Riqualificazione”.
Massima conoscenza pratica di Docker. Dalle nozioni di base all'esecuzione di un'applicazione in Docker e al lavoro con le immagini a livello avanzato (15 accademici. H. teoria e 88 accademici. H. pratiche):
Introduzione a Docker.
Comandi e astrazioni di base di Docker. CLI. Schema generale di funzionamento di Docker.
Docker e archiviazione dati.
File di composizione Docker.
Docker e CI/CD.
Rete in Docker.
Docker sotto il cofano.
Funzionalità di utilizzo di Docker con vari linguaggi di programmazione, inclusi i linguaggi compilati.
Logging e monitoraggio dei contenitori Docker.
Lavoro avanzato con le immagini. Impostazione del proprio registro.
Sicurezza in Docker.
Analoghi di Docker.
Orchestrazione Docker. Kubernetes, Docker SWARM. Differenze, caratteristiche, perché è necessario.