3-4 июля недалеко от Москвы прошла четвертая международная конференция python-разработчиков PyCon Russia. Под катом — много видео, презентации и фотографии. А еще посмотрите отчетный ролик — в нем коротко о том, что было на PyCon-2016 плюс немного из истории конференции. Python core developer с 2001 года, автор и мэйнтейнер многих частей языка Raymond Hettinger (Санта-Клара, США) сделал доклад «Thinking about Concurrency» и провел воркшоп «Descriptors and Context Managers». По итогам голосования в телеграм-боте @PyconRu_bot Реймонд признан лучшим докладчиком. Посмотрите видео и убедитесь сами.  @raymondh Thank for great talk at #PyConRU, never thought that somebody will teach me how to code again. It was awesome! Nathaniel Manista (Сан-Франциско, США), программист из Google, рассказал про лучшие практики поддержки больших софтверных проектов в докладе «Code Unto Others». Как проектировать, писать и поддерживать большие приложения, чтобы правки в одном месте не ломали все остальное. Кстати, именно в этот день у Натаниэля был день рождения :) #pyconru Nathaniel Manista: class should be shorter than a cup of coffee Armin Ronacher (Вена, Австрия), автор фреймворка Flask, проекта Pallets, один из основателей Pocoo Team, автор известного шаблонизатора для языка Python Jinja2 и нескольких библиотек с открытым исходным кодом, погрузил во внутренности интерпретатора CPython докладом «How Python was Shaped by leaky Internals».  Seen @mitsuhiko in a lobby at #pyconru. Yay! Martin Gorner (Франция), Developer Relations из Google, рассказал про TensorFlow — новую, быструю, умную и гибкую систему машинного обучения от Google. К слову, самым популярным ответом на вопрос анкеты обратной связи «Появилась ли у вас после конференция идея, которую вы захотели реализовать?» был «Поковырять TensorFlow».  David MacIver (Лондон, Великобритания) — автор Hypothesis — библиотеки для легкого и умного тестирования для python, работавший до этого в Google и нескольких лондонских стартапах, рассказал о проблемах хорошего тестирования в докладе «21st Century Software Testing» и провел воркшоп «Property-based testing with Hypothesis».

  Jackie Kazil, Technical Fellow в компании Capital One, активный участник PyLadiesDC, PyLadies Int’l, Women Data Science DC, Python Software Foundation, автор книги Data Wrangling with Python и библиотеки Mesa, рассказала про техники и методы проектирования, которые помогут вдохновить разработчиков на более активное участие в вашем проекте. 

  Ben Nuttall, менеджер Raspberry Pi Community в Raspberry Pi Foundation в Кембридже (Великобритания), автор python-библиотеки GPIO Zero, сделал доклад «Physical computing with Python and Raspberry Pi».

  Андрей Светлов, Python Core Developer, программный директор PyCon Russia, рассказал про библиотеку py.test. В докладе речь шла о написании pytest fixtures (основном инструменте расширения), добавлении конфигурационных параметров, написании plugins и прочих полезных штуках. 

  Андрей Власовских, разработчик PyCharm и эмулятора Vim для сред программирования в JetBrains, программный директор PyCon Russia, рассказал, как информация о типах позволяет находить ошибки несовместимости версий, почему в Dropbox добавляют аннотации типов даже в проекты на Python 2, что нового уже появилось и ещё появится в PEP 484 для поддержки совместимости Python 2 и 3.

  Второй по популярности докладчик (по итогам голосования в боте) Александр Кошкин, Senior python developer в компании Positive Technologies из Бостона, сделал доклад с чудесным названием «Знай и люби свой CPython во имя луны и великой справедливости». 

  Екатерина Тузова, разработчик PyCharm (Санкт-Петербург), показала в докладе базовые принципы Theano и общие сложности, с которыми сталкивается разработчик, впервые начиная использовать библиотеку. 

  Ведущий инженер-разработчик Python в Rambler&Co Павел Петлинский (Москва) сделал доклад для пытливых и любознательных питонистов. Python «тормозит»? Смотрим, как устроена виртуальная машина. Python съел всю память? Смотрим, как устроено управление памятью и структура данных в стандартной библиотеке. GIL — зло. Что будет, если его отключить?

  Ведущий разработчик/DevOps в компании Ostrovok.ru Антон Егоров (Москва) поделился опытом и лучшими практиками деплоймента веб-приложения на Python с помощью технологии Docker. Антон рассказал, как собрать образ с нуля, и дал пошаговую инструкцию, которой можно пользоваться как шаблоном для своих приложений. 

  Senior python developer в компании Positive Technologies Артем Малышев (Нижний Новгород) рассказал о внутреннем устройстве Celery и RQ. С какими проблемами столкнулись их создатели, как их решили и чем эти решения грозят конечному пользователю? Как устроены группы, хорды и eta? Как добиться отказоустойчивости на транспортном уровне? Почему это тяжело масштабировать?

  Дмитрий Кукушкин, разработчик в компании Wargaming.net на проекте Wolrd Of Tanks Global Map, рассказал про микрофреймворк falcon. Причины, по которым они взяли falcon, плюсы и минусы этого решения, выводы, которые они сделали по итогу внедрения этой библиотеки — обо всем этом в докладе Дмитрия.

  Senior python developer в компании Positive Technologies Иван Цыганов (Санкт-Петербург) объяснил, зачем нужны предметно-ориентированные языки (DSL), и какие проблемы они помогают решать. 

  Python-разработчик в Scrapinghub Александр Сибиряков (Прага, Чехия) рассказал, как он построил автоматический классификатор заявок о ложных срабатываниях в антивирусе Avast для того, чтобы разгрузить вирусную лабораторию от ручного труда. 

  Константин Лопухин, разработчик в компании Scrapinghub (Москва), сделал доклад для тех, кому требовалось дать пользователям возможность расширять приложение при помощи скриптов или макросов. Когда становится понятно, что это нужно, сразу возникает много проблем. Встроить чужой язык или сделать свой? Если чужой, как правильно организовать песочницу, которая не даст выполнить произвольный код? Как устроить API и выбрать нужный уровень абстракции? Как показать пользователю ошибки, как лучше организовать документацию, как обучить новых пользователей? Когда это вообще оправдано?

  Тимлид команды Продукты в HeadHunter, мейнтейнер Питон-инфраструктуры hh.ru Андрей Сумин (Москва) рассказал о том, как Питон справляется с нагрузкой самого посещаемого работного сайта в рунете (и почему иногда всё-таки не справляется).

  Андрей Солдатенко (Киев), CTO в австралийском стартапе Persollo, python-разработчик в Toptal, поделился опытом и рассказал, как построить большой социальный граф для социальной сети с помощью python и Graph.

  Все хотят знать, как выполняется их код. Многие догадываются, чем это можно измерить. И лишь немногие находят в себе силы продраться через результаты измерений. Кирилл Борисов, разработчик систем авторизации из Яндекса (Москва), рассказал, как упростить все это с помощью визуализации, а именно — flame graph'ов, красивых и наглядных.

  Разработчик из Endpoint.com (занимаются распределенными системами визуализации геоданных, 3д моделей и Street View панорам) Дмитрий Киселев (Екатеринбург) рассказал, чем интересен Robot Operation System, почему его стоит использовать вместо Middleware framework, и объяснил, почему вам нужен Robot Operation System, даже если вы не робот. 

  Алексей Лавренюк (Москва), разработчик Яндекса, автор open-source проекта Яндекс.Танк, провел мастер-класс «Один день из жизни нагрузочного тестировщика в Яндексе». Мастер-классы и воркшопы на видео не снимались.  На дискуссионной панели Андрей Светлов, Михаил Коробов, Армин Ронахер и Джеки Казил обсудили, как и зачем писать свои библиотеки на python.

  На Lightning Talks выступили в этом году Артем Малышев, Борис Бурков, Арут Дагесян, Кирилл Борисов.

  Все доклады можно посмотреть на канале IT-People на YouTube. Презентации выложены здесь (не все, но большая часть). Фотографии с конференции смотрите в группе ВКонтакте, в Фейсбуке и на Яндекс.Фотках. Спонсоры не давали скучать между докладами.  Генеральный спонсор, компания Positive Technologies, удивляли участников чудо-нейрошлемом. Кроме этого, на их стенде желающие могли получить сборник исследований по практической безопасности Positive Research, который был представлен на PHDays VI.  JetBrains разыграли лицензии на PyCharm.  Rambler&Co с помощью своего бота разыграли кучу толстовок, кружек, сертификатов и устроили шикарную лаундж-зону на природе.   Wargaming дарили подарки и разыграли швейцарское зарядное устройство и фитнес-браслет jawbone up2.  Ostrovok.ru угощали холодными напитками и дарили брендированные подарки.  Scrapinghub установили информационный стенд и дарили стикеры.  Kiwi.com угощали пивом на афтепати.  Костер, природа, игротека, бесплатное пиво — вечер прошел в лучших традициях PyCon-а.   В этом году мы впервые проводили PyCon не в Екатеринбурге, поэтому нам важно было знать, что конференция понравилась, оказалась полезной и интересной.  My first #pycon, it was awesome! Thank you all #pycon2016 #pyconru https://t.co/SBlZaMXnm6 Feel kinda depressed now, that the conference is over. Postcon depression if you will. #PyConRU Very insightful talk and workshop by @raymondh today at #PyConRU. Can't wait to start using it all in practice. #Python vezunchik
Workshop with Raymond Hettinger is the best that happened to me in recent time. #pycon Отзыв Александра Кораблева:
«PyConRu 2016 завершился. Это конференция была лучшей из пайконов, которые проходили в России. Я уже писал, что мой критерий хорошей конференции — 3 достойных доклада. В этот раз я вполне мог бы составить полную дневную секцию из великолепных докладов (и это из двух дневной конференции!).» Отзыв Романа Рыбальченко+ краткий конспект самых интересных докладов:
«Мне очень понравилась как организация конфы, место проведения, так и сами доклады. Как начинающего питониста, меня порадовало разнообразие тем докладов: ядро CPython, тестирование, инфраструктура, machine learning, highload.»   Присоединяйтесь к боту @PyconRu_bot, подписывайтесь на наш канал, на страницу в Фейсбуке и вы первыми узнаете про новую конференцию. Мы пишем нечасто и по делу. До встречи на PyConRu-2017!