Moscow Python
1.35K subscribers
70 photos
2 videos
1 file
636 links
Канал Python.ru и Moscow Python. Новости сообщества, события, статьи, интервью.

Чат: @moscowpythonconf
Download Telegram
🗂Андрей Светлов — Python Core Developer, разработчик asyncio и автор aiohttp.

🗓 Доклад Андрея традиционно посвящен асинхронности и называется «Многопоточность и async/await: подход разный, проблемы общие». Проблемы современных разработчиков с использованием асинхронного подхода далеко не новы. Копнув немного вглубь истории разработки, узнаем, как похожие проблемы решались 10, 20 лет назад, и попробуем понять, как с ними удобнее всего справляться сейчас.
#НеПереключайтеКанал

Сегодня выкладываем доклад Николая Фоминых (S7) «Делаем Dashboard для авиакомпании: Dash и не только».

«У нас в S7 много разных данных, например, мы собираем параметры наших самолетов и определяем лучшее время для техосмотра. Данные сложные, их много, показывать надо разным людям с разными целями. На ум сразу приходят Grafana и Dash, но действительно ли это лучшие решения?

Мы проанализировали много решений, и в докладе я расскажу об их сильных и слабых сторонах, а также области применения. Больше всего достанется нашему любимому Dash: пытаясь сделать на нем все, что нужно, мы набили все возможные шишки. И теперь хотим делиться!»
https://youtube.com/watch?v=mzIB5zxn6kg
Кирилл Борисов в прошлом году рассказывал о работе с legacy-кодом и попытках внедрить в него тесты. Читайте в статье по следам того выступления, как укрощать зверя, то есть legacy-код: работать с кодом и людьми, внедрять тестирование, и зачем вообще это нужно разработчику.

А 27 марта Кирилл расскажет о технической стороне рефакторинга кода с Python 2 на Python 3. Что может быть актуальнее, да еще если подкреплено опытом такой крупной компании как Booking.com!
#НеПереключайтеКанал

Сегодня делимся докладом Никиты Левоновича (Квестоделы) «Micropython для квестов в реальности и аркадных игр»

«Квестоделы применяют Micropython для разработки квестов в реальности последнего поколения и аркадных игр.

Современный квеструм - это около 15 электронно-вычислительных устройств, общающихся по сети (MQTT). Большинство из этих ЭВУ - микроконтроллеры (ESP32), которые управляют периферийными устройствами: mp3-плееры, реле и различные датчики, и используют устройства ввода-вывода: дисплеи, диоды, кнопки, клавиатуры и многие другие.

Однако, так было далеко не всегда, еще пару лет назад в квестах было гораздо меньше устройств, основным вычислительным модулем была Arduino, а общение между разными парами устройств могло происходить по разным протоколам.

Доклад будет посвящен формированию архитектуры, используемой командой КВЕСТОДЕЛЫ для решения подобных задач на micropython применительно к популярным микроконтроллерам от Espressif Systems».
https://youtube.com/watch?v=1Vtgikz8ZyY
Мы так и не определились, считать ли Python Core-разработчиком заведующего разработкой Pytest и Hypothesis, помогите нам 🤔

В любом случаем, ждём доклад «Sufficiently Advanced Testing» с нетерпением.

🗂 Zac Hatfield-Dodds — Core-разработчик библиотеки для написания unit-тестов и мэйнтейнер Pytest. В ходе доклада Зак поделится своим мнением о современном тестировании и обсудит с гостями конференции их вопросы.
#НеПереключайтеКанал

Сегодня у нас доклад Benjamin Peterson (Dropbox) «Python Governance»

«Last summer, Guido van Rossum retired as BDFL of Python. Consequently, the CPython project has had to adopt a new governance model. This talk will cover the history of the Python project, how the new CPython governance model was selected, and what the future might hold for CPython and the Python language».

https://youtube.com/watch?v=CuhBzwYBdII
Шесть спикеров Moscow Python Conf++ сделают доклады на английском. Мы сгруппировали их в один поток в третьем зале (и пометили «en» в расписании). Синхронного перевода не будет — мы пробовали, получается плохо — поэтому если считаете, что это помешает получить максимум пользы, выбирайте другие выступления. Для этого у нас четыре параллельных трека.

🗂 Nicola Iarocci — автор большого количества популярных библиотек и создатель REST-фреймворка Eve.

🗓 Свой доклад Николя посвятит фреймворку для валидации данных Cerberus. С вопросами валидации данных рано или поздно сталкивается каждый проект, поэтому настоятельно рекомендуем.
🗂 Юлия Волкова работает в компании заказной разработки, в которую клиенты время от времени приносят legacy Python код на поддержку, починку и развитие. Если звезды складываются неудачно — такого кода десятки тысяч строк, а тестов к нему очень мало. Это приводит к печальной ситуации «тестов нет, код рефакторить нельзя». А работать с кодом надо надо: вносить изменения, фиксить баги, организовывать новую функциональность.

Раз за разом обкладывая тестами legacy-код Юлия стала замечать, что многие штуки можно сделать автоматически. Конечно, утилиты не смогут «понять» код и написать к нему «правильные» тесты — иногда такая задача предельно сложна даже для опытного разработчика. Зато автоматика сможет сделать много простых тестов на граничные случаи и создать «boilerplate» код, который можно дорабатывать напильником самому.

📆 27 марта в 16:00 в зале 2 Юлия расскажет о своих приключениях на пути от начальной идеи до работающего open source прототипа по автогенерации тестов.

А пока мы опубликовали интервью, в котором расспросили, откуда появилась сама идея, что лежит в основе и с чем еще предстоит справиться. Читайте на Хабре, чего стоит заставить машину генерировать тесты из кода без контрактов и дополнительных инструкций: https://habr.com/ru/company/oleg-bunin/blog/490670/
#НеПереключайтеКанал

Сегодня делимся докладом Xuye Qin (Alibaba) «Mars: A tensor-based unified framework for large scale data computation»

«Mars is a tensor-based unified framework for large-scale data computation.
Mars tensor provides a compatible interface like Numpy, users can obtain the ability to handle extreme huge tensor/ndarray by simple import replacement. We extend the interface of Numpy to support create tensor/ndarray on GPU by specifying gpu=True on all the implemented array creation, and also, create sparse matrix via noting sparse=True on some array creation like zeros, eye and so on.

Mars can scale in to a laptop, and scale out to a cluster with thousands of machines. Both the local and distributed version share the same piece of code, it's fairly simple to migrate from a single machine to a cluster due to the increase of data. Mars is evolving quickly aimed at reaching production-level.

Mars is completely open sourced, and takes advantage of the great projects from Python community like numpy, cupy, numexpr, pyarrow etc to build the entire project. In the long term, mars is aimed to create a distributed counterpart of scipy stack which is not subject to the ability of a single machine.

This talk will focus on why we start the project of Mars and how we have done to ensure the simplicity of API and performance on huge terabytes-scale tensor/ndarray computation».
https://youtube.com/watch?v=RFysn2oUjN8
#НеПереключайтеКанал

Сегодня делимся докладом Alex Viscreanu (Kiwi.com) «How we test 1'000 Python projects in Kiwi»

«At Kiwi.com we have lots and lots of Python projects, some important ones are more than 5 years old. With our explosive growth from a small start-up into an international company, it's critical for us to manage code quality at scale. If we find some issue with nginx configuration, we need an automated way to check all projects for it. One year ago we created our own "Zoo" project, which is open sourced! This "reverse-test-system" constantly crawls all our repositories and checks a wide range of issues, from simple "wrong dependency version" and up to tricky GitLab and deploy misconfiguration. In the talk I will showcase how you can set the "Zoo" for yourself and what tests we are using for our code. Hope some of them can be useful for you code base too!»
https://youtube.com/watch?v=av0hvjRg0NM
🗂 Пётр Ермаков специализируется на Data Science: за его плечами HeadHunter, Mail.ru, 5 лет преподавания, сейчас он работает с данными в Lamoda и в прошлом году запустил собственную школу машинного обучения DataGym.

Какой доклад можно приготовить с таким бэкграундом? Например, про организацию работы дата саентистов на одном жирном сервере, чтобы им не было мучительно больно совместно творить добро и передавать свои наработки опытным разработчикам.

💫 В центре внимания — Jupyter Notebook, в последние годы ставший одновременно и пропуском в профессию дата сайентиста, и главным инстурментом в их работе. Но то, что хорошо для обучения, не всегда хорошо для решения бизнес-задач крупных компаний и создания надежных сервисов. То, как математики и аналитики используют Jupyter, часто вызывает скупую слезу у разработчиков и заставляет вспомнить демотиватор «я сделаль».

В качестве одного из ключевых инструментов по уменьшению хаоса работы с юпитером Пётр расскажет о JupyterHub — штуке для совместного, правильного использования юпитера командой дата саентистов.

🗓 Доклад сугубо практический: какие были сложности при развертывании и использовании хаба, как решать популярные задачи, что с интеграциями и стоит ли вообще игра свеч или нужно просто брать неработающие ноутбуки сайентистов и переписывать их силами командой разработки. Если в вашем проекте есть data science (а где его теперь нет), не пропустите выступление Петра Ермакова.
На повестке снова ML!

Как известно, Machine Learning часто начинается с ноутбука разработчика, на котором он и данные подготавливает, и модели обучает, и на прод получившееся деплоит. Когда данных становится слишком много, то ноутбук заменяют на что-нибудь серверно-распределенное, например Spark с его заслуженным интерфейсом PySpark. Но что делать с обучением моделей?

Перенести ML-решения из нераспределенной среды в распределенную не так просто, и Андрей Гаврилов из EPAM уже несколько раз сталкивался с такими ситуациями на разных проектах.

🗓 В своё докладе Андрей расскажет о своей практике адаптации алгоритмов машинного обучения к распределенной среде и миграции c Scikit-learn на аналоги из библиотеки распределённого машинного обучения MLlib. Будут подробно рассмотрены причины такой миграции, имеющиеся технологические ограничения, разница между распределенным и нераспределенным пайплайном.
#НеПереключайтеКанал

Сегодня выкладываем доклад Игоря Куценко (hh.ru) «ML в поиске и рекомендациях hh.ru»

«Из доклада вы узнаете:
- как устроена система рекомендаций вакансий hh.ru;
- как в hh.ru перешли от стандартного полнотекстового поиска к поиску на основе машинного обучения;
- почему поисковая выдача hh.ru зависит от вашего резюме;
- как ML-сервис на Python может интегрироваться с поисковым движком на Java (Lucene)».
https://youtube.com/watch?v=jNGg6dbGp7Q
Владимир Колясинский расскажет о Celery — одной из самых популярных очередей задач для Python — и брокерах сообщений. В течение девяти лет в Яндексе брокером была MongoDB, и альтернатив особо не наблюдалось, но со временем скопилась критическая масса «хотелок», и команда разработки отправилась на поиски замены!

В докладе Владимир расскажет про возможные альтернативы: RabbitMQ, Redis и собственную наработку Яндекса «YMQ». Сравнит их друг с другом и подчеркнет достоинства и недостатки, специфичные для больших компаний и сложных проектов. Но выбор нового брокера — только половина работы.

Вторая часть доклада будет посвящена вопросам переезда на новый брокер, и поднятые в ней темы будет интересно обсудить гораздо большему кругу разработчиков. Что нужно поменять в коде вообще и Django в частности, куда смотреть на графики и что из «хотелок» в результате удалось воплотить в жизнь — все это через призму большой компании и высоконагруженной разработки на Moscow Python Conf++ 27 марта.
Что такое DDD и какие инструменты в нем есть, читайте в статье, основанной на докладе Артёма Малышева на Moscow Python Conf++ 2019.

В статье обсуждаем подход DDD в Python, инструменты, подводные камни, контрактное программирование и проектирование продукта вокруг решаемой проблемы, а не используемого фреймворка. Всё, чтобы ваш проект не получился похожим на синего кита — морское животное, которое не может дышать под водой.
О ситуации с коронавирусом: что мы думаем и делаем?

Друзья, в связи с обилием вопросов о работе конференции в ситуации с коронавирусом, мы публикуем этот небольшой FAQ о том, какие меры мы предпринимаем, что обо всём этом думаем и что будем делать.

В двух словах: Мы тщательно мониторим ситуацию, изучаем все возможные рекомендации всех компетентных источников. В данный момент мы планируем провести конференцию, предприняв целый ряд профилактических и информационных мер.

Одна из мер — тотальная проверка температуры у всех участников ещё до регистрации.

Однако, если ситуация изменится и будет хотя бы минимальный риск, то мы моментально перенесем конференцию, обеспечив сохранение всех опций, билетов и предприняв максимально возможные усилия для уменьшения потенциальных потерь участников.
Продолжаем ждать Moscow Python Conf++!

За последние двадцать лет рефакторинг сильно изменился. Раньше приходилось вносить множество правок руками, а потом часами отлавливать ошибки копипасты. Сейчас нам достаточно выбрать «Refactor» в контекстном меню PyCharm и в один клик, полностью автоматически, внести изменения в код любого размера.

Но иногда волшебные тулзы не справляются. Например, если мы успешно внедрили flake8 и получили множество мелких замечаний к коду. Пока нет автоматического рефакторинга «сделать все хоошо», autopep8 с таким не справится. А вносить тысячи мелких изменений вручную — так себе идея.

🗂 Владимир Протасов (Parallels) в своем докладе расскажет интересные истории из своей богатой практики: с какими рефакторингами сталкивалась за годы его команда, когда автоматика работала, а когда не справлялась. И для тех случаев, когда автоматика не смогла, Владимир расскажет и покажет собственную автоматику: как можно быстро создавать небольшие утилиты на Python, способные разобрать кодовую базу на AST, внести изменения и сохранить их обратно как код.

Все сказанное основано на реальных событиях и личном опыте, так что если у вас давно лежат в беклоге задачи по массовым изменениям в коде — приходите обсудить!
🗂 Kushal Das — Core-разработчик CPython, активный участник Tor Project и член совета директоров PSF.

📆 27 марта на нашей конференции Кушал расскажет о том, как безопасно разрабатывать и деплоить Python-код. Отличительная черта выступлений Кушала в том, что он регулярно обнародует «секретные» способы сломать Python-код и в противовес показывает, как написать код так, чтобы АНБ не смогло его взломать.

🎤 Мы задали несколько вопросов Кушалу до его доклада и опубликовали небольшое интервью: читайте на Хабре в оригинале или адаптированном русскоязычном варианте.

Встретимся на Moscow Python Conf++, обсудим Python с разных точек зрения, в том числе и безопасности 😎
В гостях у Moscow Python Podcast Петр Ермаков, senior data scientist в компании Lamoda, основатель школы DataGym. Обсудили возможности коллективной работы с jupiter notebook и многое другое.

Ведущие выпуска — сооснователь MoscowPython и компании DryLabs Валентин Домбровский, тимлид NVIDIA Злата Обуховская и DevRel компании Evrone, руководитель программного комитета Moscow Python Conf++ Григорий Петров.


https://youtube.com/watch?v=V0XXiOooP_U