Bonjour, Habr!
Les 24 et 25 juin, la septième conférence russe pour les programmeurs Python
PYCON RUSSIA 2019 se tiendra à 95 km de Moscou.
Déjà au programme:
Raymond Hettinger (développeur Python core, USA),
Michael Foord (développeur Python core, Angleterre),
Travis Oliphant (auteur de SciPy, NumPy, Anaconda, USA),
Antonio Cuni (développeur core PyPy, Italie),
Grigory Bakunov ( Yandex),
Andrey Vlasovskikh (JetBrains),
Kirill Borisov (Booking.com),
Vadim Pushtaev (Mail.Ru Group),
Alexander Khayorov (
Chainstack ),
Ivan Tsyganov (Positive Technologies),
Alexey Kuzmin (DomKlik),
Zlata Obukhovskaya (évangéliste Moscou Python),
Vasily Litvinov (Intel). Et ce n'est qu'un programme préliminaire.
Sous la coupe - détails du programme.
Si vous ne savez pas ce qu'est PyConRu, voici une courte vidéo sur le déroulement de la conférence de l'année dernièreHaut-parleurs PyConRu-2019
Nous sommes impatients de dire qui se produira cette année. Certains intervenants négocient toujours sur des sujets, donc quelqu'un les a, quelqu'un apparaîtra bientôt.

Notre première vedette est
Raymond Hettinger (Santa Clara, États-Unis), développeur principal de Python depuis 2001, auteur et mainteneur de nombreuses parties de la langue, consultant, formateur. Pour sa contribution exceptionnelle au développement de la communauté Python, il a reçu un prix de la Python Software Foundation. Grâce à cette personne, les expressions de générateur, l'optimisation locale, les collections et le module itertools, la mise en cache LRU et certaines fonctions intégrées que nous utilisons tous les jours, par exemple, tout, tous, énumèrent, inversent, compressent et trient - tels qu'ils sont.
En 2016, Raymond nous a remis un rapport chic
«Penser à la concurrence» . N'oubliez pas de consulter ce rapport, si ce n'est déjà fait.
Michael Foord (Northampton, Royaume-Uni) - Développeur principal Python, créateur de unittest2 et des bibliothèques fictives, auteur d'IronPython en action, formateur Python, coach. Michael est spécialisé dans la formation en python et les tests de systèmes automatisés complets. Conférencier régulier chez PyCon, EuroPython et PyCon UK.
Travis Oliphant est l'auteur des bibliothèques SciPy, NumPy et Numba. Fondateur et directeur d'Anaconda, une distribution open source gratuite Python et R utilisée par plus de 13 millions d'utilisateurs. Fondateur de NumFOCUS, la communauté de logiciels open source de renommée mondiale, PDG de Quansight.
Antonio Cuni, développeur principal chez PyPy
Comment PyPy peut aider pour le calcul haute performanceAntonio Cuni (Gênes, Italie) - développeur principal de PyPy, titulaire d'un doctorat et Master en informatique, auteur et mainteneur de nombreux projets open source, conférencier à EuroPython, PyCon Italie, PyCon Royaume-Uni, PyCon Pologne et PyCon Afrique du Sud.
Grigory Bakunov, connu sous le surnom de Bobuk, est le directeur de la distribution technologique de Yandex. Un vulgarisateur de la programmation, un entrepreneur prospère et un participant fréquent à de nombreuses conférences liées aux technologies Internet. L'un des créateurs et animateur permanent du podcast Radio-T.
Andrey Vlasovskikh, JetBrains
Ce qui se passera dans Python 3.8 et ce qui ne se passera pasQuoi de neuf dans Python 3.8? Vous pouvez en savoir plus vous-même dans l'excellent document
Quoi de neuf de Python 3.8 , qui ne nécessite pas de nouvelle explication. Andrey Vlasovskikh, responsable de Tehlid PyCharm et IdeaVim chez JetBrains, ne parlera de ce qui y est décrit que brièvement ou pas du tout: pourquoi ces nouvelles fonctionnalités apparaîtront, quelle est l'histoire de leur apparition, qui est déjà discutée et développée, mais ne sera pas incluse dans Python 3.8? Andrew partagera les informations qu'il a apprises à PyCon US 2019 à partir de rapports et de conversations avec les développeurs principaux de Python.
Kirill Borisov, Booking.com
Appartement trop intelligent: IoT + Python + tout le resteCyril a décidé de créer un système simple pour collecter (et soumettre) les lectures des compteurs / capteurs, en utilisant Python au maximum et toutes les choses les plus à la mode: asynchronie, cloud computing, télégramme bot et MicroPython (pour l'IoT). Qu'est-il advenu de cela, Cyril vous le dira sur PyConRu.
Alexander Khayorov, Chainstack
Au revoir les environnements virtuels?Python offre au développeur une énorme liberté dans la gestion des dépendances, contrairement aux autres langages de programmation. Pourquoi est-ce arrivé et comment cela peut-il être lié aux principes du Zen? Ne devrait-il y avoir qu'un seul outil de gestion des dépendances? Ces dernières années, Pipenv et la poésie ont gagné en popularité. Et également publié le PEP 517 (assemblage d'isolation), et que nous y prophétise-t-on? Alexander Khayorov (Singapour), responsable du développement chez Chainstack, tentera de répondre à toutes ces questions et de vous dire à quoi se préparer, compte tenu des pratiques DevOps et de leur propre expérience.
Sergey Borisov, DomKlik
Master class "Test des applications asynchrones"Tout le monde connaît l'importance des tests. Sergey Borisov, directeur technique de l'équipe d'importation de DomKlik, montrera à la classe de maître comment ils testent les applications asynchrones avec la base de données et d'autres services d'infrastructure à l'aide de Docker et pytest. Pendant le master class, les participants et le modérateur emballeront l'application web de base dans Docker et la couvriront de tests de la tête aux pieds :)
Ivan Tsyganov, Technologies positives
(Non) addictions dangereusesAu cours des sept dernières années, la menace «Utilisation de composants présentant des vulnérabilités connues» a pris la neuvième place du classement OWASP TOP-10. Le principal programmeur de Positive Technologies, Ivan Tsyganov, vous dira quelles conséquences peut entraîner l'utilisation de versions non pertinentes des bibliothèques et de l'interpréteur. Ivan montrera exactement comment un attaquant peut exploiter les vulnérabilités connues dans Django et Django Rest Framework, les bibliothèques SQLAlchemy, lxml, PyYAML et aiohttp-session et dans les interprètes Python 2 et Python 3 eux-mêmes.
Vasily Litvinov, Intel
Profiler Python et C pour le plaisir et le profit, ou Pandas, allez vite!Vasily donnera un bref aperçu des profileurs existants pour Python en mettant l'accent sur les outils fonctionnant en mode mixte (capables d'afficher à la fois Python et les fonctions natives). Ces outils peuvent être d'un intérêt particulier pour les développeurs de bibliothèques, mais seront également utiles à ceux qui utilisent ces bibliothèques. Des solutions open source et fermées seront présentées. L'utilisation sera illustrée en examinant et en accélérant certaines parties de Pandas.
Alexey Kuzmin, DomKlik
Rechercher et optimiser les goulots d'étranglement en PythonAlex partagera ses outils de vie et ses outils qui vous feront gagner du temps et des cellules nerveuses pendant le débogage. En conséquence, vous devez avoir une compréhension - quels endroits du programme ralentissent généralement, avec quels outils il peut être confirmé ou réfuté, et comment réparer ces endroits afin qu'il n'y ait plus de problèmes.
Anton Bragin, JetBrains
Carnets Jupyter - Il y a une meilleure façonAnton analysera les problèmes les plus aigus qui surviennent lors de l'utilisation de Jupyter et envisagera des approches et des outils pour éliminer ces problèmes ou réduire leur gravité. Le rapport sera intéressant à la fois pour les amoureux de Jupyter qui sont prêts à porter un regard critique sur le concept même de cahiers pour le calcul scientifique, pour ses ennemis qui ne craignent pas de donner à Jupyter une seconde chance, ainsi que pour tous ceux qui sont intéressés par les questions d'analyse et de présentation des données à l'aide de Python.
Zlata Obukhovskaya, Nvidia
Accès concurrentiel structuré. Quel est le problème avec l'asynchronie en python?À PyCon 2018, Nathaniel Smith a parlé de l'approche asynchrone mise en œuvre par lui dans la bibliothèque Trio. Cette approche, appelée concurrence simultanée structurée, implique la construction d'un contexte pour l'exécution de threads compétitifs. Dans ce contexte, il est plus facile de résoudre les problèmes de libération des ressources, de capture des erreurs et d'annulation des coroutines associées.
L'idée a été reprise par des développeurs d'autres langages (Kotlin, C, Swift) et a soulevé de nombreuses questions:
- Et si au lieu de la liste des flux concurrentiels équivalents nous avons maintenant un graphique?
- Comment transférer des données entre contextes en toute sécurité?
- Qui surveillera le cycle de vie de ces graphiques?
- Comment exécuter efficacement un graphique de threads compétitifs sur un seul cœur? Et sur quelques-uns?
- Comment atteindre le déterminisme de l'accomplissement?
Pendant ce temps, ces problèmes ont été en quelque sorte résolus dans d'autres langues et technologies.
L'évangéliste de la communauté python de Moscou Zlata Obukhovskaya vous expliquera comment les approches d'autres langues sont applicables au python moderne.
Anton Patrushev, sphérique
Python et rouille: plus de plaisir ensembleLa rouille est un sujet brûlant dans le monde du développement moderne. Anton parlera brièvement de ce langage relativement nouveau, des avantages qu'il offre au développeur. Le rapport est construit autour d'un exemple d'intégration de Rust dans une application Python existante qui montre la facilité et la commodité de l'utilisation d'extensions écrites en Rust et la disponibilité du bundle Python-Rust pour une utilisation dans vos projets Python.
Alexander Artyomenko, Yandex
Macros pour le pythonisteCeci est une discussion sur les outils qui peuvent être utilisés pour compléter la syntaxe Python en ajoutant les fonctionnalités nécessaires. Alexander examinera comment des bibliothèques telles que pytest, macropy, patterns sont organisées et ce qu'elles font pour obtenir des résultats aussi intéressants. Il montrera également un exemple de génération de code à l'aide de macros dans HyLang, un langage de type lisp fonctionnant au-dessus de Python.
Vadim Pushtaev, Mail.Ru
Développement de démons asynchronesTimlid dans Mail.Ru Group Search Vadim Pushtaev expliquera comment ils développent des services multiprocessus avec asyncio à l'intérieur. Mentionnez la complexité de la communication interprocessus, l'utilisation de la mémoire partagée, l'interaction avec les files d'attente et les stockages, et bien plus encore.
Rishat Ibragimov, Yandex
Programmation Quantum Python: apprendre à partir d'exemplesBeaucoup ont entendu parler des ordinateurs quantiques et des fantastiques possibilités qu'ils offrent. Mais peu de gens savent que la technologie a atteint un niveau tel qu'aujourd'hui n'importe qui peut écrire un simple programme Python et l'exécuter sur un véritable ordinateur quantique. Rishat analysera les bases de l'informatique quantique à l'aide d'exemples avec du code, lui apprendra à exécuter des programmes sur un simulateur local et un ordinateur quantique distant.
Nikita Grishko, Flo Health Inc
Evolution de la gestion des dépendancesSi vous écrivez en Python, vous utilisez des environnements virtuels et pip pour y installer des packages. Vous avez probablement requirements.txt dans votre projet avec toutes vos dépendances, voire deux, par exemple requirements-dev.txt. Mais que faire si cette bonne vieille approche a des problèmes et qu'il y a plus d'un outil qui essaie de les résoudre? Nikita parlera des problèmes existants de gestion des dépendances et verra comment les développeurs ont essayé et essaient de les résoudre, parcourent des outils tels que pip-tools, pipenv, flit, poésie et essaient de savoir s'ils valent votre attention et les amènent à leurs projets, ou est-ce juste un autre train de folie qui mérite d'être passé.

Artem Korolev, Timur Kadyrov, Dentsu Aegis Russie
Création d'ensembles de données industrielles pour des tâches d'apprentissage en profondeurLes gars parleront d'un sujet que vous ne regardez pas habituellement sur Coursera et lisez sur Medium: d'où viennent les images pour marquer l'ensemble de données; s'il vaut la peine de les marquer de vos propres mains ou de les donner immédiatement aux entrepreneurs et à la bourse; combien de jours sont nécessaires pour collecter un ensemble de données qui répond aux exigences du client; comment mettre les savoirs traditionnels sur le balisage, etc., etc.
Le rapport est destiné aux personnes qui pensent que le deep learning est le lot des grandes entreprises avec des mégadonnées et d'énormes départements de science des données. Les gars vous diront comment aborder la reconnaissance d'image à partir de zéro et retourner au client avec le résultat dans quelques semaines sans utiliser l'API vision - Google, AWS ou Azure.
Dmitry Orlov, Edadil
Pilote asynchrone pour RabbitMQ de l'auteurLorsque Dmitry a commencé à écrire une bibliothèque Open Source pour travailler avec rabbitmq en utilisant asyncio, il voulait créer une interface simple et intuitive pour tout le monde. Cela semble avoir fonctionné, mais pas tout de suite. Cette histoire raconte comment il a dû entrer dans le pilote (pika), y éditer des bogues et écrire son propre pilote, et comment ne pas casser l'API publique actuelle et ne pas «nuire» aux utilisateurs. Ce qui manque dans asyncio pour écrire des bibliothèques réseau sans peine. Les inconvénients des protocoles réseau, en particulier AMQP 0.9.
Nikita Levonovich, concessionnaires Quest
Micropython pour les jeux d'arcade et les quêtes en réalitéUne salle de quête moderne est composée d'environ 10 appareils informatiques électroniques communiquant via un réseau (MQTT). La plupart de ces EVU sont des microcontrôleurs (ESP32) qui contrôlent les périphériques: lecteurs mp3, relais et divers capteurs et utilisent des périphériques d'E / S: écrans, diodes, boutons, claviers et bien d'autres. Cependant, ce n'était pas toujours le cas, il y a quelques années, il y avait beaucoup moins d'appareils dans les quêtes, le module informatique principal était Arduino, et la communication entre différentes paires d'appareils pouvait se produire à l'aide de protocoles différents. Le rapport sera consacré à la formation de l'architecture utilisée par l'équipe Questodela pour résoudre des problèmes similaires sur Micropython, appliqués aux microcontrôleurs populaires d'Espressif Systems.
Nikolay Markov, recherche alignée
Atelier «Emballer un projet python de A à Z»De nombreux développeurs ne se soucient pas vraiment de la conception du code et de son emballage dans des packages, en particulier avec l'avènement des conteneurs. Et en général, peu de choses sont claires dans ces packages - il y a des œufs, et whl, et pipfile ... Lors de l'atelier, les participants discuteront de la conception correcte du projet en Python (des arguments de ligne de commande à la documentation), passeront par le processus classique de construction du package avec leurs mains, jetez un coup d'œil , qu'est-ce que quoi, et comprendre à quoi ressemble l'écosystème de packages python dans le monde moderne.
Artem Malyshev, drylabs.io
Outils de conception pilotés par domaineLa complexité est inhérente et introduite. À partir du rapport, vous apprendrez à organiser le premier et à minimiser le second. Artem vous expliquera comment construire votre produit autour du problème résolu, et non du cadre utilisé. Vous découvrirez à quel endroit il est préférable d'introduire la dactylographie et les dataclasses, où la programmation contractuelle et pydantic vous sont utiles. Voir les bibliothèques du projet dry-python. Et, bien sûr, non sans tests. Ne pratiquez que. Pas de schémas UML ni d'usines de façades abstraites.
Le programme de la conférence est réapprovisionné, le plus pertinent est toujours sur le
site . Le programme final sera prêt d'ici le 1er juin.
Toutes les vidéos des rapports de l'année dernière peuvent être visionnées sur notre chaîne YouTube.Inscription
Maintenant, un billet pour une occupation double coûte 20 000 roubles, pour un simple - 28 000 roubles. Depuis le 20 mai - plus cher.
Rappelons que le prix du billet comprend:
- participation à la conférence (2 jours);
- Hébergement à l'hôtel quatre étoiles Cronwell Yakhonts Tarusa;
- déjeuner et dîner le 24 juin, petit-déjeuner et déjeuner le 25 juin;
- toutes les pauses café;
- programme de divertissement;
- bus de la station de métro Annino au lieu de la conférence et retour les 24 et 25 juin.
Inscription et détails sur
le site de la conférence .

Nous serons très heureux de vous voir à PyConRu!