Développeur Python - cours 35 000 roubles. de Slurm, formation, Date: 30 novembre 2023.
Miscellanea / / December 03, 2023
Programme
276 heures de théorie
37 heures de pratique
2 ans accès à 14 sujets
Conférence d'introduction
Laissez-nous vous présenter l'orateur en utilisant l'exemple d'une conférence d'introduction à l'atelier.
Introduction
Introduction au cours
Accès au référentiel de cours
Avant de commencer
Objectif: configuré avec Git, connaissance des alternatives et compréhension des termes de base
Théorie (0,8 académique. h):
Création d'un compte et configuration de Github.
Configuration de SSH.
Connaissances de base sur la mémoire et le processeur.
Une histoire de compilateurs et d'interprètes.
Pratique (1 académique. h):
Créez un nouveau référentiel.
Décrivez son objectif dans READ.ME.
Poussez vers Github.
Définissez les paramètres de visibilité du référentiel.
Les bases
Objectif: Infrastructure entièrement configurée (gestion des dépendances, contrôle de versions, environnements virtuels).
Théorie (0,7 académique. h):
Les premiers programmes depuis l'IDE ou depuis un fichier.
IDE: Visual Studio Code, avantages et personnalisation, alternatives.
PyCharm - Idée.
PEP8.
normes du code linter.
Pratique (14 académique. h):
Téléchargez le projet depuis Github.
Créez VE via PIPENV.
Installez les dépendances et exécutez.
Utilisez Poetry au lieu de PIPENV, utilisez-le dans l'EDI.
Vérification automatique par linters.
Langage de programmation Python
Objectif: apprendre à écrire des programmes simples, à résoudre des problèmes de base et à utiliser correctement les types de données.
Théorie (1.6 académique. h):
Variables et types intégrés.
Structures de données.
Chaînes et formatage.
Dictionnaires et ensembles.
Compréhensions, lambda, filtre, carte, collections.
Pratique (12 académiques. h):
Modifier les exemples.
Travailler avec des bibliothèques: connectez-vous, utilisez des fonctions.
Parcours récursif de dictionnaires et parcours de graphes, filtrage complexe, composants imbriqués.
Validateur de support.
Essai
Objectif: comprendre les termes, apprendre à écrire des tests unitaires et couvrir complètement vos solutions avec des tests.
Théorie (0,6 académique. h):
Bases des tests: unittest, pytest, couverture.
Pratique (14 académique. h):
Couvrez les tâches précédentes lancées sur Github avec des tests et vérifiez-les via Coverage.
Configurez les actions Github pour les tests et la couverture.
Interaction avec le système d'exploitation
Objectif: comprendre les problématiques standards et les principes généraux du travail avec le réseau.
Théorie (1.5 académique. h):
Qu'est-ce que le système d'exploitation, le processus et le thread, GIL, Linux\POSIX, le système de fichiers.
Travailler avec le réseau dans le système d'exploitation.
Pratique (14 académique. h):
Répétez et modifiez les cas d’utilisation.
Travailler avec un générateur de chaînes aléatoires dans un fichier.
Lire un fichier, trier des lignes, écrire un fichier.
Accélération du générateur de chaînes à l'aide du multitraitement.
Bureau – PyQt
Objectif: comprendre les problèmes standards, apprendre à utiliser l'héritage et écrire un programme simple sous Qt.
Théorie (3.4 académique. h):
Bases de la POO: héritage, polyorphisme, MRO.
POO en Python.
Widgets PyQt.
Revue de la technologie QML: comparaison avec JavaScript, discussion sur MVC, séparation du frontend et du backend.
Pratique (20 académiques. h):
Répétez et modifiez les cas d’utilisation.
Écrivez une application simple de 6 à 10 éléments.
Réécrivez l'exemple précédent des widgets vers QML.
Bureau PyGame
Objectif: apprendre à utiliser pygame et consolider les connaissances antérieures.
Théorie (0,7 académique. h):
Recherchez des exemples sur Github.
Lancement, démonstration sans analyse de code.
Pratique (3 académiques. h):
Développez les fonctionnalités de ce que vous avez écrit.
Écrivez un menu avec des boutons et votre propre curseur.
Base de données
Objectif: comprendre ce qu'est SQL, quels types de stockage et d'outils il existe.
Théorie (0,9 académique. h):
Bases de SQL.
Types de stockage et bases de données.
Revue des outils les plus populaires.
Informations générales ORM, CRUD.
Enregistrement actif vs mappeur de données.
Pratique (2 académiques. h):
Modifiez le code de la leçon.
Combinez les résultats de la pratique de ce module et de la leçon sur le travail avec le réseau.
Écrire un bot
Objectif: comprendre comment fonctionnent les bots et ce qu'est l'API.
Théorie (0,5 académique. h):
Qu'est-ce qu'une API? Lisez la documentation.
Téléchargez la bibliothèque et essayez un exemple simple.
Nous écrivons notre propre bot simple, comme une requête de YouTube ou Wikipedia.
Pratique (15 académiques. h):
Combinez le résultat de la pratique précédente avec le bot.
Écrivez votre propre bot avec des boutons dans Telegram.
Les bases du WEB
Objectif: comprendre comment sont écrits les sites et services web, quels protocoles et outils de conception d'API sont disponibles.
Théorie (0,8 académique. h):
Qu'est-ce que le Web et avec quoi le mange-t-on ?
La place de Python dans le web, tour d'horizon des frameworks.
Comment concevoir: ApiFirst, styles de conception, OpenAPI.
SAVON, RPC.
Pratique (6 académique. h):
Travailler sur le projet final.
Django
Objectif: apprendre à écrire un backend dans Django.
Théorie (0,9 académique. h):
Les bases de Django: connexion d'une base de données, configuration de Hello World.
Nous concevons une API pour le backend.
Nous connectons DRF.
Créez un contrôleur pour les publications.
Pratique (15 académiques. h):
Écrivez un contrôleur pour les commentaires et les tests pour les contrôleurs.
Ajoutez un système de dialogues (réponses) dans les commentaires.
Ajouter une autorisation.
La poursuite du développement
Cours "Git for Beginners" - uniquement sur le tarif "Recyclage"
Théorie minimale requise (3 académiques. h) et 67 tâches pratiques (32 académiques. h):
Philosophie de développement d’équipe.
Sites d'hébergement de développement de logiciels populaires.
Les bases de Git.
Pratiques d'utilisation de Git en équipe.
Configuration Git personnelle pour un travail pratique.
Cours "Administration de base des serveurs Linux" - uniquement sur le tarif "Recyclage"
Connaissances et compétences nécessaires pour apprendre à utiliser le système d'exploitation Linux (7 académique. h théorique et 40 académique. heures de pratique) :
Introduction.
Comment se connecter au serveur via SSH.
Bases du travail avec le système d'exploitation (autorisations, commandes). Comment travailler avec le serveur. Comment copier des fichiers, des dossiers.
Analyse des services système. Comment fonctionne Linux.
Bases du réseau.
Comment installer le logiciel nécessaire sur le serveur.
Comment déployer manuellement votre site.
Virtualisation, machines virtuelles et leurs fonctionnalités.
Problèmes de serveur possibles, leur diagnostic et leurs solutions.
Optimisation du serveur.
Notions de base sur la conteneurisation Docker.
Travailler avec Git.
Cours « Docker: de zéro à héros » - uniquement sur le tarif « Reconversion »
Connaissance pratique maximale de Docker. Des bases à l'exécution d'une application dans Docker et au travail avec des images à un niveau avancé (15 académique. h. théorie et 88 académiques. h. les pratiques):
Introduction à Docker.
Commandes et abstractions Docker de base. CLI. Schéma général du fonctionnement de Docker.
Docker et stockage de données.
Fichier Docker-compose.
Docker et CI/CD.
Mise en réseau dans Docker.
Docker sous le capot.
Fonctionnalités d'utilisation de Docker avec divers langages de programmation, y compris les langages compilés.
Journalisation et surveillance des conteneurs Docker.
Travail avancé avec des images. Création de votre propre registre.
Sécurité dans Docker.
Analogues de Docker.
Orchestration Docker. Kubernetes, Docker SWARM. Différences, caractéristiques, pourquoi c'est nécessaire.