Мы строили-строили, и наконец построили: расписание Moscow Python Conf++ собрано, проверено, перепроверено и опубликовано. Не то чтобы работа Программного комитета на этом заканчивалась (за два-то месяца до конференции, ну-ну), но 10 месяцев явно потрачено не зря, и я с нетерпением жду результата, заложив все возможное для общения разработчиков друг с другом.

Сейчас расскажу, какой получилась программа конференции, и выбора у нас просто не останется. На площадке в центре Москвы будет: 3 потока докладов, поток воркшопов и митапов, 4 Core-разработчика (я до сих пор не знаю, считать ли Python Core-разработчиком заведующего разработкой Pytest и Hypothesis), 6 зарубежных спикеров с нетривиальным опытом, доклады от Microsoft, Wargaming, JetBrains, Parallels, EPAM, Booking.com, Tinkoff и других не менее интересных компаний. Ни одной проходной темы, я проверил. Каждый докладчик по-своему интересен, и каждая тема точно найдет тех, кому есть что обсудить со спикером. В этой статье я максимально кратко расскажу обо всех наших гостях: акцент на спикерах, по темам вы и сами сориентируетесь.



Англоязычные доклады


Core-разработчиков и еще нескольких крутых специалистов слушаем по-английски — у нас не будет перевода. Мы пробовали, получается плохо. Поэтому надеемся, что воспринять профессиональную информацию все справятся, а вот с вопросами уже поможем. Доклады будут идти в три параллельных потока — если не хотите англоязычные доклады, то до 17:00 избегайте третий зал.

Developing and deploying Python for secured environments


Kushal Das — Core-разработчик CPython, активный участник Tor Project и член совета директоров PSF — на нашей конференции будет рассказывать о том, как безопасно разрабатывать и деплоить Python-код. Отличительная черта выступлений Кушала в том, что он регулярно обнародует «секретные» способы сломать Python-код и в противовес показывает, как написать код так, чтобы АНБ не смогло его взломать. Уверен, что у этого спикера есть что спросить.

Sufficiently Advanced Testing


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

Introduction to low-level profiling and tracing


Christian Heimes — Core-разработчик CPython, член Python security team и Python Software Foundation, работает в Red Hat и специализируется на профилировании и ускорении Python-кода. Поэтому на Moscow Python Conf++ Кристиан расскажет, как понять, почему код тормозит, и что с этим делать.

Этот доклад отлично дополнит воркшоп Алексея Романова из Wargaming, в рамках которого мы посмотрим, что эта огромная компания делает для ускорения своего кода и обсудим, как это может помочь в коде, с которым работаете вы.

Mastering a data pipeline with Python


Robson Luis Monteiro Junior, во-первых, активный участник мирового Python-сообщества, давно и регулярно выступает на всевозможных митапах и конференциях, во-вторых, эксперт в приготовлении данных для ML из Microsoft. Вследствие такого комбо нас ждёт доклад о приёмах и подводных камнях построения пайплайнов обработки данных на Python, дистилирующий многолетний опыт спикера в Microsoft. Робсон сравнит PySpark, Dask, Pandas, Airflow и Apache Arrow и поделится своими собственными рецептами решения прикладных задач.

Cerberus or Data Validation for Humans


Nicola Iarocci — автор большого количества популярных библиотек и создатель REST-фреймворка Eve. Но о вебе с ним можно будет поговорить в кулуарах, а доклад Никола посвятит другой своей разработке: фреймворку для валидации данных Cerberus. С вопросами валидации данных рано или поздно сталкивается каждый проект, поэтому обратите пристальное внимание на этот доклад в расписании конференции.

The platform is dead, long live the platform


Luka Kladaric расскажет, как затащить в облако огромный Python-проект. Задача актуальная — будет интересно послушать об этапах и результатах её успешного решения.



Machine Learning и работа с данными


Какая Python-конференция без машинного обучения. Конечно, мы не обойдем эту тему совсем стороной, а самые горячие темы на начало 2020 года это подготовка данных для обучения и взаимодействия с дейта сайентистами, которые пишут странное.

Обработка данных в функциональном стиле с mPyPl


Дмитрий Сошников работает в Microsoft уже 13 лет, десять из которых в роли технологического евангелиста. Как технический специалист по машинному обучению Дмитрий расскажет о наработках Microsoft в этом направлении и презентует open source библиотеку mPyPl. Она упрощает обработку данных с использованием Python за счет функциональных конвейеров данных. В докладе Дмитрий покажет примеры использования такого подхода для классификации и обнаружения изображений, распознавания событий на видео, рендеринга видео, рисования когнитивных портретов и др.

Еще Дмитрий проведет воркшоп «Создаём портрет в жанре Science Art при помощи когнитивных сервисов и креативности». Из названия ясно, что это однозначно категория «расширить кругозор». Но прелесть в том, что это практический воркшоп, то есть за два часа вы сами (с помощью аффинных преобразования и когнитивных сервисов Microsoft) попробуете создать произведение цифрового искусства и заодно прокачаться в обработке изображений.

From Scikit-learn To PySpark MLlib


Машинное обучение — тема горячая, и еще один доклад в этом направлении сделает Андрей Гаврилов из EPAM. В данном случае речь пойдет о том, как адаптировать Data Science решение к работе в распределенной среде, в частности мигрировать cо Scikit-learn на аналоги из MLlib (PySpark). Андрей покажет, какие трудности возникают, когда переносишь существующий пайплайн на рельсы PySpark, и что может помочь с ними справиться — от архитектуры решения до особенностей тюнинга гиперпараметров.

Все возможности JupyterHub для более чем 20 студентов или R&D команды


Пётр Ермаков занимается машинным обучением в Lamoda и параллельно преподает Data Sceince в собственной школе DataGym. Пётр столкнулся с нетривиальной задачей настройки JupyterHub для большой Data Science команды и знает, как правильно организовать работу на общих серверах. Он поделится рекомендациями и готовыми рецептами с гостями конференции, и даже если ваша команда состоит всего из одного человека, вы все равно вынесете новые хитрости из этого доклада.



Рефакторинг и работа с legacy


2020 — год победившего Python 3. Ну или мы очень хотим в это верить. Для многих окончание поддержки Python 2 означает неизбежный (примерно, как снег этой зимой) переезд и сопутствующий рефакторинг legacy-кода. На Moscow Python Conf++ будем разбираться, как продать рефаторинг бизнесу, как сделать его технически, и, наверное, в принципе похоливарим на тему расстановки запятых во фразе «Все переписать нельзя рефакторить».

Как решиться на Python3 в проекте, которому больше 10 лет и уговорить остальных


Сначала Левон Авакян поможет нам посмотреть на проблему перехода Python 2 на Python 3 с точки зрения бизнеса. Левон расскажет о дискуссии, которая возникла в проекте World Of Tanks по этому поводу, какие аргументы за и против высказывались и к какому решению пришли в итоге.

Тема «Как продать бизнесу переход с Python 2 на Python 3» сейчас актуальна как никогда прежде, и доклад Левона один из немногих докладов, на которые я точно пойду на конференции, несмотря на то, что я куратор и у нас будут подготовительные обсуждения и прогоны. Спойлер: там интрига.

С двойки на тройку за 72 часа


Кирилл Борисов в прошлом году рассказывал о работе с legacy-кодом и попытках внедрить в него тесты. В этот раз Кирилл расскажет о технической стороне рефакторинга кода с Python 2 на Python 3. Что может быть актуальнее, да еще если подкреплено опытом такой крупной компании как Booking.com.

Как выжить, если вам достался legacy, разработчик которого слился


Владимир Филонов — один из организаторов сообщества MoscowPython — за годы работы прокачал сверхспособность разбираться в чужом legacy-коде. То есть за несколько дней Владимир начинает ориентироваться в legacy-проекте лучше, чем его (уволившиеся много лет назад) авторы. На конференции Владимир, во-первых, даст пошаговую инструкцию, что делать, если вам достался legacy, разработчик которого слился. Во-вторых, во время воркшопа на практике покажет, как он это делает. И судя по трейлеру, который изготовил Владимир, все это будет очень качественно подготовлено и классно представлено.

Автоматизация рефакторинга


Владимир Протасов из Parallels хорошо знаком участникам российского и не только Python-сообщества. На Moscow Python Conf++ Владимир расскажет, как быть, когда IDE не справляется с задачей рефакторинга, а бегать по всей кодовой базе и вносить однотипные изменения нецелесообразно от слова «совсем». Специально для ленивых программистов, которые не любят выполнять повторяющиеся задачи, можно будет на реальных примерах посмотреть, как автоматизировать сложный рефакторинг.



Бэкенд, Сельдерей, Кафка


В этот раз у нас всего один доклад прямо касающийся веб-разработки (который со словом Django в названии), зато есть очереди, потоковая обработка сообщений и, конечно же, async/await.

Многопоточность и async/await: подход разный, проблемы общие


Доклад Андрея Светлова — Python Core Developer, разработчика asyncio и автора aiohttp — традиционно будет посвящен асинхронности. Как человек, начинавший с C++, Андрей знает на собственном опыте, что проблемы современных разработчиков с использованием асинхронного подхода далеко не новы. Копнув немного вглубь истории разработки, узнаем, как похожие проблемы решались 10, 20 лет назад, и попробуем понять, как с ними удобнее всего справляться сейчас.

Статическая типизация в Django


Максим Курников расскажет о типах для Django: какие существуют решения для проверки типов в Python, какие грабли встретились в ходе написания библиотеки django-stubs, какие перспективы у proposal по добавлению типов в ядро языка.

Apache Kafka Event Streaming Platform for Python developers


Виктор Гамов — соавтор книги «Enterprise Web Development» от O’Reilly, известный спикер и автор статей, а еще developer advocate в Confluent — компании, которая делает платформу потоковой обработки событий на основе Apache Kafka. О Кафке и пойдет речь в докладе Виктора: он покажет, насколько возможности Apache Kafka шире, чем просто обмен сообщениями, разберет основные моменты внутренней архитектуры и объяснит, как Python- разработчики могут использовать Кафку для работы с потоковыми данными.

Выбор брокера для Celery


Celery — одна из самых популярных очередей задач, но Владимир Колясинский расскажет не о работе с самим очередями, а о выборе брокера. В Яндексе долгое время в качестве брокера использовали MongoDB, но столкнулись с недостатками и стали искать альтернативы. Какие варианты рассматривали и почему в итоге пришли к YMQ (спойлер: нет, не только потому, что ее сделали в Яндексе), спикер расскажет на докладе.

Очереди в Python: как приготовить салат из сельдерея, редиски и их друзей


А еще Celery станет одним из главных героев митапа Игоря Мосягина. На митапе Игорь рассмотрит обработку долгих пользовательских запросов на примере библиотек rq, huey, и celery. Познакомит с текущим состоянием dask и расскажет «а как там это всё делать в стандартной библиотеке». Потому что дать дейта сайентистам что-то сложное иногда просто не получается: лапки и все такое.

Интеграция Python-приложений с Windows API


Василий Панков поделится историей ужасов в представлении многих современных разработчиков и расскажет, как в кровавом enterprise Python живет на Windows. Разработка Python-приложений для компаний, которые не используют Docker или WSL, а предпочитают MS Windows в чистом виде имеет много, действительно много особенностей. И Василий расскажет, как взаимодействовать с большинством из них. И не надо думать, что вы никогда с таким не столкнетесь. Иногда у таких компаний много, ну просто очень много денег на разработку. И Windows.



Сам Python, эволюция и использование


У Python большое и деятельное сообщество. Как следствие в язык все время проникают новые идеи (иногда — оператор моржика), появляются новые концепции, идет борьба пакетов и библиотек. Следить за всем этим простому разработчику не обязательно, но тому, кто хочет видеть дальше и знать больше, пригодится.

Dependency Hell


Автор библиотеки DepHell Никита Воронов, как можно догадаться, хорошо разбирается в болезненном для Python вопросе управления зависимостями. Мы недавно публиковали разговор с Никитой о том, в чем там дело, а из его доклада вы узнаете, кто побеждает в конкуренции между Pipenv и Poetry и как решать текущие задачи, когда не хватает pip.

Типы? Типы… Типы!


Виталий Брагилевский — член комитета по стандартизации Haskell, автор книги «Haskell in Depth». Его выступление на Moscow Python Conf++ не обойдется без сравнения Python с Haskell: Виталий расскажет про работу с типами и о том, чем строгая типизация может быть полезна нам с вами. Будет сложно, но интересно, особенно для тех Python-разработчиков, которые хотят новых возможностей для прицельного решения специфичных задач.

О чём мечтают Java-роботы, глядя на Python


Паша Финкельштейн сравнит Python и Java для написания бизнес-логики. У Паши за плечами 10 лет разработки на Java, и за это время он ни разу не встречал ничего похожего на джанговские «толстые модели». В марте узнаем, как такие штуки делаются в мире бизнес-разработки, как в Python, почему это кажется странным и какие есть решения.

Metaprogramming в Python: мечта о генерации unit-тестов из кода


Мы пригласили Юлию Волкову из GridDynamics, чтобы обсудить необычное в мире тестирования. Юлия, встретившись с очередным проектом абсолютно без тестов, задумалась, а что если можно автоматизировать создание какого-то набора тестов. Каких результатов по генерации unit-тестов из код получилось добиться, какие уроки в итоге выучены, а самое главное, что это дало, Юлия и расскажет на конференции.

Как мы внедряли Julia туда, где всегда жил Python


В прошлом году выступление Глеба Ивашкевича о возможностях языка Julia получило очень высокие оценки участников конференции. Текстовая версия доклада, которую мы недавно опубликовали, тоже вызвала немалый интерес. А в марте Глеб продолжит историю и расскажет, как гибкий и быстрый в теории язык показал себя на практике.



Итого 24 доклада и 6 воркшопов/митапов. Это ядро конференции. Но так как наша конференция «про поговорить», то выступления спикеров будут давать пищу для размышления и направлять обсуждения. Остальное сделает нетворкинг, для которого мы делаем все возможное: дискуссионные и экспертные зоны, стенды партнеров, встречи локальных сообществ, бесконечный кофе-брейк, афтепати и в целом атмосферу профессионального мероприятия.

Об event-фишках конференции будем писать в телеграме, фейсбуке, твиттере, вконтакте, когда преодолеем стадию proof of concept. А вы уже можете зайти на сайт Moscow Python Conf++ и забронировать билет, пока цена не выросла окончательно.