Cours "Programmation asynchrone en Python" - cours 50 000 roubles. de l'atelier Yandex, formation 2,5 mois, Date: 4 décembre 2023.
Miscellanea / / December 03, 2023
À tout moment qui vous convient
La formation sera divisée en sprints sans délais stricts: vous pourrez étudier quand cela vous convient, l'essentiel est de soumettre tous les projets avant la fin du cours
Utiliser des exemples tirés de la vie et une pratique constante
Vous étudierez en ligne sur la plateforme Workshop: nous vous expliquerons la théorie dans un langage simple et vous la mettrez en pratique dans le simulateur.
Avec des projets pédagogiques
Vous pourrez appliquer vos nouvelles connaissances et réaliser 5 projets, pour chacun d'eux vous recevrez un retour détaillé d'un expert expérimenté
En informatique depuis 2013, a travaillé chez Mail. Ru, Cisco, Babylon Health et Palantir Technologies. J'ai commencé avec C++ et Java, puis j'ai bu du Big Data et du ML avec une cuillerée, et j'ai finalement donné mon cœur au backend en Python.
1 sprint 30 heures - Programmation parallèle
Vous apprendrez ce que sont les processus et les threads, comment les créer et les terminer, et vous familiariserez avec le comportement et les problèmes qui surviennent dans les programmes multiprocesseurs et multithreads. Familiarisez-vous avec le GIL, les concepts de famine, de race, d'impasse, apprenez à détecter et à contourner les problèmes émergents et, plus important encore, appliquez des processus et des fils de discussion lors de la résolution de problèmes appliqués.
Travail de projet
Analyse des données de l'API Yandex Weather à l'aide de concepts de programmation parallèle.
2 sprints 30 heures - De la programmation synchrone à asynchrone
Vous vous familiariserez avec les itérateurs, les générateurs et les coroutines, les différents types de tâches, les différences dans l'utilisation des ressources et les limites d'utilisation des approches. En pratique, apprenez à créer et à utiliser des itérateurs, générateurs et coroutines personnalisés.
Travail de projet
Conception et implémentation d'un gestionnaire de tâches utilisant les concepts de coroutine.
3 sprints 30 heures - Travailler avec du code asynchrone
Vous apprendrez ce que sont la programmation basée sur les événements et les boucles d'événements et vous familiariserez avec les types de multitâche. Apprenez à utiliser les sockets et appliquez les principales classes et primitives du framework asyncio pour résoudre les problèmes d'application. Créez votre premier serveur asynchrone en utilisant asyncio et un serveur http pour gérer les requêtes.
Travail de projet
Conception et implémentation du messager (parties client et serveur) à l'aide de la bibliothèque interne asyncio.
4 sprints 30 heures - Frameworks asynchrones
Nous vous parlerons de la conception des frameworks, du traitement des requêtes et de la mise en œuvre de la logique métier. Vous acquerrez des compétences pratiques en travaillant avec des frameworks asynchrones tels que aiohttp, FastAPI et créerez votre service en utilisant l'un des frameworks dans le cadre d'une mission de projet.
Travail de projet
Conception et mise en œuvre d'un service de génération de liens vers des ressources et d'analyse des transitions effectuées à travers celles-ci.
5 sprints 30 heures - Travailler avec une application asynchrone en production
Vous apprendrez à organiser l'infrastructure à l'aide de Docker et de nginx et à vous familiariser avec les serveurs Web populaires pour FastAPI. Apprenez à travailler avec des configurations à l'aide de pydantic et effectuez une tâche pratique sur la création d'un service qui fonctionne avec une base de données, se déploie sur le cloud et est soumis à une charge.
Travail de projet
Conception et mise en œuvre d'un service de téléchargement, de stockage et d'émission de fichiers; déploiement de services sur des serveurs distants.