MoscowPython Conf Channel
496 subscribers
196 photos
6 videos
4 files
323 links
Moscow Python Conf++

Информационный канал профессиональной конференции для Python-разработчиков.


https://conf.python.ru
Download Telegram
Тот самый понедельник!

Сегодня закрываем приём заявок на Moscow Python Conf++ 2020. Осталось всего несколько часов, чтобы успеть запрыгнуть в последний вагон.

Если вы планируете посетить конференцию как слушатель, билеты можно приобрести здесь. Повышение цен 31 января.
На Moscow Python Conf++ Никита Воронов будет выступать с докладом о Dependency Hell. Перед конференцией Никита Соболев взял у него интервью, расспросил о докладе и узнал о резолвинге зависимостей, боли плохих решений, DepHell, pip, принципе first match wins, Гвидо и сообществе, Pipflie, инкрементальном развитии Python, какое решение из Go можно было бы взять в Python, и будущем экосистемы в плане работы с зависимостями. https://habr.com/ru/company/oleg-bunin/blog/483920/
На Moscow Python Conf 2019 Глеб Ивашкевич объяснил, зачем нужны новые языки и почему иногда Python не хватает. Рассказал, что в Julia интересного, о её сильных и слабых сторонах, сравнил с другими языками. Показал, перспективы использования этого языка в машинном обучении и вычислениях вообще.

Расшифровку доклада читайте на Хабре https://habr.com/ru/company/oleg-bunin/blog/476114/.
Мы приняли в программу Moscow Python Conf++ все 24 доклада (смотрите их на странице https://conf.python.ru/moscow/2020/abstracts/ с зеленой пометкой «Доклад принят в программу конференции») и выходим в фазу активной работы со спикерами.

Например, записываем и публикуем интервью. Читайте разговор с Владимиров Филоновым о том, что такое legacy, как им поменьше зарастать, как бороться, когда уже по уши в legacy, а когда всё бросать и писать заново, на Хабре: https://habr.com/ru/company/oleg-bunin/blog/486142/

Спойлер: Владимир говорит, что переписывать полностью никогда ничего не надо. Но справиться с legacy всё равно можно 💪
Moscow Python Conf++ еще только 27 марта, а Никита Соболев из Программного комитета уже призывает нас выйти на бой со страшными чудовищами, которые, возможно, уже обжились в нашем Python-коде. Что это за твари и как с ними бороться, читайте в статье.

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

Григорий Петров лично проверил, что в расписании нет ни одной проходной темы, и рассказывает о спикерах в статье на Хабре:
https://habr.com/ru/company/oleg-bunin/blog/488006/
Moscow Python Conf++, считай, через месяц. У Программного комитета всё готово, а работа организаторов мероприятия и спикеров в самом разгаре. Пора подключаться и участникам!

Начнем подробно изучать расписание с доклада-введения — «Introduction to low-level profiling and tracing».

🗂 Christian Heimes — Core-разработчик CPython, член Python security team и Python Software Foundation, работает в Red Hat и специализируется на профилировании и ускорении Python-кода.
📆 27 марта в 16:00 в зале 3 Кристиан расскажет, как понять, почему код тормозит и что с этим делать.

📌 NB: Этот доклад отлично дополнит воркшоп Алексея Романова из Wargaming.
🗂Андрей Светлов — Python Core Developer, разработчик asyncio и автор aiohttp.

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

А 27 марта Кирилл расскажет о технической стороне рефакторинга кода с Python 2 на Python 3. Что может быть актуальнее, да еще если подкреплено опытом такой крупной компании как Booking.com!
Мы так и не определились, считать ли Python Core-разработчиком заведующего разработкой Pytest и Hypothesis, помогите нам 🤔

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

🗂 Zac Hatfield-Dodds — Core-разработчик библиотеки для написания unit-тестов и мэйнтейнер Pytest. В ходе доклада Зак поделится своим мнением о современном тестировании и обсудит с гостями конференции их вопросы.
Шесть спикеров 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/
🗂 Пётр Ермаков специализируется на 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. Будут подробно рассмотрены причины такой миграции, имеющиеся технологические ограничения, разница между распределенным и нераспределенным пайплайном.
Владимир Колясинский расскажет о Celery — одной из самых популярных очередей задач для Python — и брокерах сообщений. В течение девяти лет в Яндексе брокером была MongoDB, и альтернатив особо не наблюдалось, но со временем скопилась критическая масса «хотелок», и команда разработки отправилась на поиски замены!

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

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

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

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

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

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

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

Q: Вы мониторите ситуацию?
A: Конечно! В своих оценках мы ориентируемся в первую очередь на рекомендации Всемирной организации здравоохранения, Роспотребнадзора и официальные публикации государственных органов. Информационная гигиена во время важных событий критически важна.

Q: Многие конференции отменились, вы знаете об этом?
A: Да, конечно, многие международные конференции отменились. Ключевое слово — международные, то есть привлекающие посетителей из огромного количества стран и континентов.

В Москве и Санкт-Петербурге, как и по всей России, ситуация под контролем.

По мнению ВОЗ меры, принимаемые в Российской Федерации, одни из самых жёстких и эффективных.

Иностранных спикеров на наших конференциях счётное количество, и мы обеспечим дополнительный (кроме пограничного) контроль за их самочувствием.

Q: Какие меры предосторожности вы предпримете?
A: Все, рекомендуемые ВОЗ и Роспотребнадзором:
1. Дополнительно дезинфицируем помещения конференции.
2. Выдадим личные средства для очистки поверхностей и гаджетов каждому участнику.
3. Выдадим личные антисептики каждому участнику конференции.
4. Также антисептики будут расположены на всех столах и в туалетах.
5. Подготовим туалеты к тому, что вы будете правильно мыть руки — мыло, бумажные полотенца, дезинфицирующие средства :)

Мы разработали способ, позволяющий быстро проверить температуру у всех участников конференции ещё до регистрации. Люди с повышенной температурой будут переводиться в онлайн-режим.

Ограничим количество участников конференции и разрядим пространство. Если потребуется, то наиболее популярные доклады будут транслироваться на два зала.

Мы подготовим инструкции для участников о правилах гигиены, защиты себя и окружающих.

На всех конференциях постоянно работает клининговая служба, в этот раз она получит инструкции по постоянной генеральной уборке (протирка ручек, столов, перил лестниц, дверей).

На всех конференциях постоянно дежурят врачи и/или скорая, мы обеспечим, чтобы врачи могли проверить тревожные симптомы, если они будут, у любого желающего.

Для питания мы используем только одноразовую посуду, нашим подрядчикам по питанию также поставлена задача предпринять все необходимые меры предосторожности и контроля.

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

А именно: промышленные аппараты для рециркуляции и обеззараживания воздуха и поверхностей, применяемые в лечебных учреждениях. Естественно, под контролем медиков и, естественно, только такие и только так, чтобы они не могли причинить вред участникам.

Q: Что будет, если кто-то из спикеров не сможет приехать?
A: Как и обычно, у нас есть пул запасных спикеров, доклад будет равноценно заменён. Другой вариант — будет организовано онлайн-участие спикера.

Q: Планируете ли вы отменить мероприятие?
A: На данный момент мы планируем провести конференцию, однако в случае ухудшения ситуации, либо форс-мажоров мы перенесём её на тот срок, когда опасность минует.

Q: Что будет, если в России запретят массовые мероприятия?
A: Будем рассматривать это как форс-мажор.

В таком маловероятном случае конференция будет перенесена с сохранением всех билетов, партнёрских опций, докладчиков и всех других обязательств, которые мы на себя берём.

Мы не видим для себя никакой возможности просто отменить мероприятие — конференции де-факто стали частью бизнес-процесса наших участников и партнёров, где они обмениваются профессиональным опытом и строят свой HR-бренд.

Паника неизбежно утихнет, вакцина и лекарство будет производиться, а заболевание сойдет на нет.

Q: А если я к этому моменту уже купил авиабилеты и гостиницу?
A: Мы рекомендуем брать только возвратные авиабилеты. В отдельных случаях мы можем рассмотреть компенсацию потерь, например, равнозначным стоимости авиабилетов вычетом из стоимости билетов на конференции.
В сухом остатке: в данной ситуации мы, как организаторы конференции, примем все необходимые меры для снижения риска до минимума. Мы сделаем все, что от нас зависит, чтобы никто из наших участников, партнёров, клиентов, докладчиков, сообществ, друзей не пострадал!

Мы внимательно следим за ситуацией, находимся в контакте с государственными органами, профессиональными сообществами и готовы ответить на любые ваши вопросы — organization@ontico.ru.

Об усилении профилактических мер, а также о любых изменениях будем оперативно сообщать.

До встречи!
Продолжаем ждать Moscow Python Conf++!

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

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

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

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

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

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

Встретимся на Moscow Python Conf++, обсудим Python с разных точек зрения, в том числе и безопасности 😎