16-17 июля в 95 км от Москвы прошла пятая международная конференция python-разработчиков PyCon Russia. Под катом — много видео, презентации и фотографии. А еще посмотрите отчетный ролик — в нем коротко о том, как прошел PyCon-2017.
Python сore developer с 2010 года, разработчик в Facebook, «хронический перфекционист, пианист, папа» Lukasz Langa (Калифорния, США) выступил с докладом «Gradual Typing of Production Applications».
Один из разработчиков PyPy, главный разработчик jitviewer — инструмента для анализа производительности программ на python под PyPy, Maciej Fijalkowski (ЮАР, Кейптаун) объяснил «Why is Python slow?».
Разработчик в Venmo, ранее — в Reddit and HBO, Nina Zakharenko (Портленд, США) рассказала об общих антипаттернах в программах на python и показала практические решения на python для улучшения вашего кода с помощью таких инструментов, как Decorators, Context Managers, Mixins и Lambdas.
Производительность интерпретатора PyPy достигается за счет специализации, как и везде. Senior python developer в компании Positive Technologies Александр Кошкин (Санкт-Петербург) рассказал, что именно подразумевается под этим и как RPython позволяет строить быстрые интерпретаторы произвольных языков.
Елизавета Шашкова (Санкт-Петербург) из JetBrains рассказала, как работает новый интерфейс для вычисления фреймов в Python 3.6, как он может помочь при создании быстрого отладчика, и почему такой быстрый отладчик невозможно было создать в предыдущих версиях языка Python. Для тех же, кто ещё не принял окончательное решение о переходе на Python 3.6, этот доклад даст несколько дополнительных причин, почему это стоит сделать.
Scrapy — это хороший пример современного асинхронного приложения. Более того он совмещает в себе всякий функционал: Item pipelines, HTML/CSS селекторы, Middleware, поддержку нескольких сетевых протоколов, останов/продолжение с момента остановки и многих других. Александр Сибиряков (Чехия, Прага) из Scrapinghub рассказал, как обработка данных выглядит изнутри Scrapy, архитектура очереди модуля загрузки контента и других компонент, необходимых для ее отладки: Scrapy shell, telnet консоль, отладчик потребления памяти.
Кирилл Борисов (Москва) из Яндекса рассмотрел место Python'а в мире IoT, как его применить в общении с различными железяками и на чём его запускают ради великой справедливости.
В 2014 году появился MicroPython — реализация Python для микроконтроллеров. Как удалось заставить Python работать на чём-то с всего лишь 16 килобайт памяти? Сильно ли пришлось урезать для этого язык? (спойлер: нет!) Что интересного можно делать с железками и MicroPython? Разные сенсоры, акселерометры, светодиоды, моторчики — вот это всё в докладе программного директора PyConRu, руководителя PyCharm Community в JetBrains Андрея Власовских (Санкт-Петербург).
Руководитель разработки в ЦИАН Михаил Юматов (Москва) рассказал, какие есть инструменты для слежения за производительностью веб-приложений. Как с помощью них собирать детальную информацию по всем операциям, быстро обнаруживать проблемы и реагировать на них. Еще Михаил объяснил, что такое статистический анализ и как его использовать для детального исследования производительности частей приложения.
Яндекс — поисковая компания. Но хорошо находить информацию нужно не только в Интернете. Внутри Яндекса есть огромный интранет – большое количество внутренних сервисов, по которым тоже нужно эффективно искать. Компания активно использует Python, у них довольно интересная инфраструктура — есть компонентны и на Django, и на Tornado. Они активно используют Celery с разными брокерами. Взаимодействуют с внутренними инструментами и API, чтобы переиспользовать наработки большого Поиска. Александр Кошелев (Яндекс, Москва) рассказал, как все эти компоненты взаимодействуют и какие есть интересные особенности.
Хотя разработка на Python сместилась в сторону серверного сегмента, десктопные приложения на Python все ещё остаются актуальными. Более того, с ростом производительности процессоров, python-приложения стали возможностью сократить финансовые, людские и временные затраты на выпуск десктопных версий. И наиболее интересным моментом в этом становится мультиплатформенность таких приложений. Игорь Новиков (Харьков-Львов ) из Scalr рассказал про мультиплатформенный питон, тулкиты и проблемы, связанные с ними.
Руководитель группы Python-проектов в Rambler&Co Олег Чуркин (Москва) рассказал, какие требования к процессу разработки и инфраструктуре проекта необходимо выполнить, чтобы относительно быстро, эффективно и вполне безболезненно попробовать микро(сервисы). Олег объяснил, с какими проблемами придется столкнуться питонисту при использовании микросервисов в продакшене, как правильно выбрать фреймворк или утилитарную библиотеку под определенный тип задач, и как обеспечить отказоустойчивость и правильно реагировать на ошибки от сторонних интеграций.
Ольга Сентемова (Москва) из Тинькофф Банка рассказала о том, как организован live-чат, какие нагрузки он выдерживает, о введении предиктивных ответов для уменьшения нагрузки на операторов, а также о том, каким образом чат интегрирован в инфраструктуру банка.
Unit manager в Ingram Micro (ex Parallels) Александр Хаёров (Москва) познакомил с одним из незаслуженно малоизвестных сервисов Google Cloud Platform — Application Engine для Python. Кроме традиционного обзора сервиса по устройству и функционалу, Александр описал двухлетний опыт использования, плюсы, минусы и тонкие моменты. После этого доклада вы точно будете знать, как размещать свои проекты в облаке по концепции PaaS.
Инженер по нагрузочному тестированию в Яндексе Надежда Миргородская (С-Петербург) рассказала, как они тестируют производительность сервисов с помощью Яндекс.Танка и BFG — генератора нагрузки, который поддерживает сценарии тестирования, написанные на Python. Подробно разобрала, как можно использовать BFG для создания нагрузочных и других нефункциональных тестов, как это позволило легко встроить нагрузочное тестирование в общий цикл разработки и почему BFG в их командах стал популярнее, чем jMeter.
Зачем явно использовать сервера, если можно без них? В современном мире у нас есть возможность не нарезать облако на отдельные машины, а строить целые пайплайны и развертывать приложения, абсолютно не заботясь о том, где и как они будут выполняться. Даже кода можно писать абсолютный минимум, а о поддержке и развертке вообще можно практически не думать. Звучит, как фантастика? Николай Марков (Aligned Research Group, Москва) разобрался в докладе.
Наверное, только очень талантливый программист не нуждается в средствах отладки. Поменять значение переменных, посмотреть шаг за шагом ход исполнения программы, разложить всё по полочкам будет тяжело без Pdb. Независимый разработчик из Нижнего Новгорода Артём Малышев рассказал о том, как эти инструменты устроены, какие внутренние механизмы Python VM задействуют и от каких ограничений платформы страдают.
В этом году Open Web Application Security Project (OWASP) опубликовал очередной TOP-10 наиболее критических уязвимостей веб-приложений. Иван Цыганов (Санкт-Петербург) из Positive Technologies рассказал, что это за TOP-10 и что изменилось за последние 4 года с момента публикации предыдущей версии. Объяснил, какие типы уязвимостей находятся в зоне ответственности разработчика, а на какие они напрямую повлиять не могут. Показал, как популярные фреймворки помогают разрабатывать безопасные приложения, и в каких ситуациях фреймворк ничем не сможет помочь.
Руководитель отдела разработки Рамблер/Топ100 Александр Подсобляев (Москва) рассказал о том, как они перезапускали Рамблер/топ-100, доступных инструментах на рынке и об их опыте переезда с архитектуры батч-обсчета данных на обсчет данных в реальном времени.
Александр Мокров (Positive Technologies, Нижний Новгород) рассказал, что под капотом у библиотеки gevent и для чего она может быть полезной. Привел архитектурные решения по построению асинхронного RPC на основе gevent, и рассказал о проблемах, с которыми можно столкнуться при её использовании.
Иван Меньших (RaRe Technologies) и Лев Константиновский (WorldSense) рассказали про то, что вообще такое тематическое моделирование (что такое «темы» и как их извлечь из множества текстов), и как его можно применить его к тем данным, которые у нас есть (и не только). Рассказали про фреймворк Gensim и продемонстрировали его возможности.
Технический руководитель группы машинного обучения и анализа данных в ЦНС Алексей Кузьмин рассказал, как устроена работа с памятью в Python и почему ваши приложения потребляют ее так много.
Технический директор Marilyn System и Aori Александр Швец (Москва) провел викторину на знание любимого Python. Самые продвинутые получили призы, большинство открыло для себя что-то новое про интерпретатор языка, и никто точно не остался равнодушным. Попробуйте ответить на вопросы и вы :)
На Lightning Talks выступили в этом году Александр Калюжный, Олег Чуркин, Александр Ковалев, Алексей Охрименко, Иван Миниайленко, Артем Малышев, Lukasz Langa, Антон Патрушев и Александр Сибиряков.
По правилам компании Disney, снимать на видео сотрудников запрещено, поэтому видео доклада Пола Хильдебранта, к сожалению, нет.
Все доклады можно посмотреть на канале IT-People на YouTube.
Презентации выложены на Slideshare.
Фотографии с конференции смотрите в группе ВКонтакте, в Фейсбуке и на Яндекс.Фотках.
Спонсоры не давали скучать между докладами.
Генеральный спонсор — компания Adcombo — дарили футболки, стикеры, угощали газировкой, пивом, а в конце дня разыграли гироскутер
Партнёр хорошего настроения ЦИАН угощали сладостями, газировкой и дарили спинеры, а утром второго дня спасали целительной минералкой
Серебряный спонсор — компания Rambler&Co — привезли живого питона, устроили шикарную лаундж-зону на природе и организовали тематическую игрушку «Питон». Все участники игры получили сувениры, а главный приз предоставила компания JetBrains — годовую лицензию на PyCharm
Еще один серебряный спонсор — компания ДомКлик — организовали стенд компании с сувениркой, а на афтепати угощали бесплатным пивом
Бронзовый спонсор — компания Mediascope — организовали стенд с сувениркой, а на входе на конференцию дарили участникам воду
Дальше идут фоточки, которые показывают, за что мы так любим PyCon.
Одна из крутостей PyConRu в том, что докладчики и участники два дня проводят рядом. Любого спикера можно выловить днем или поболтать с ним на афтепати
Давно вы кодили на природе?
Одна из любимейших частей конференции — афтепати. На PyCon — это традиционно костер с песнями под гитару, бесплатное пиво и разговоры до утра
Фото: Александр Морозов
Евгений Слезко
Pycon Russia, как всегда, на высоте! Спасибо организаторам IT-People.ru за теплый прием, прекрасную атмосферу и наклеечки :)
#pyconru
Александр Морозов:
#pyconrussia Это были очень крутые два дня! Спасибо организаторам и докладчикам за отличное настроение и массу новых идей!
P.s.: Зацепила одна песенка у костра :)
Алексей Охрименко:
#pycon Неимоверно большой и крутой :) @ Cronwell Park Яхонты Таруса
irbisx:
Посетил крутейшую python конференцию #pyconru Огромное спасибо @demis_group за возможность посещать такие события! #demisgroup #pycon
mindhatter:
Все было супер, организаторы знают своё дело #pycon #pyconru #яхонтытаруса
my_another_prototype:
Вернулась с PyCon Russia :) Ощущения, как будто побывала в детском лагере для программистов: свежий воздух, душевная атмосфера, весь день доклады, а вечером дискотека и костёр
#pyconru #matroyshka #vodka
Большой отзыв Сергея Емельянова с описанием впечатлений от докладов:
«От конференции остались только приятные впечатления, для себя я услышал много полезного и если отвечать на вопрос «поеду ли я в следующем году?», ответ у меня есть, «если будет возможность, то обязательно».
Традиционное общее фото участников с PyConRu
Присоединяйтесь к боту @PyconRu_bot, подписывайтесь на наш канал, на страницу в Фейсбуке и вы первыми будете узнавать новости про конференцию.
До встречи на PyConRu-2018!
Доклады на английском языке
Python сore developer с 2010 года, разработчик в Facebook, «хронический перфекционист, пианист, папа» Lukasz Langa (Калифорния, США) выступил с докладом «Gradual Typing of Production Applications».
Один из разработчиков PyPy, главный разработчик jitviewer — инструмента для анализа производительности программ на python под PyPy, Maciej Fijalkowski (ЮАР, Кейптаун) объяснил «Why is Python slow?».
Разработчик в Venmo, ранее — в Reddit and HBO, Nina Zakharenko (Портленд, США) рассказала об общих антипаттернах в программах на python и показала практические решения на python для улучшения вашего кода с помощью таких инструментов, как Decorators, Context Managers, Mixins и Lambdas.
Доклады на русском языке
Производительность интерпретатора PyPy достигается за счет специализации, как и везде. Senior python developer в компании Positive Technologies Александр Кошкин (Санкт-Петербург) рассказал, что именно подразумевается под этим и как RPython позволяет строить быстрые интерпретаторы произвольных языков.
Елизавета Шашкова (Санкт-Петербург) из JetBrains рассказала, как работает новый интерфейс для вычисления фреймов в Python 3.6, как он может помочь при создании быстрого отладчика, и почему такой быстрый отладчик невозможно было создать в предыдущих версиях языка Python. Для тех же, кто ещё не принял окончательное решение о переходе на Python 3.6, этот доклад даст несколько дополнительных причин, почему это стоит сделать.
Scrapy — это хороший пример современного асинхронного приложения. Более того он совмещает в себе всякий функционал: Item pipelines, HTML/CSS селекторы, Middleware, поддержку нескольких сетевых протоколов, останов/продолжение с момента остановки и многих других. Александр Сибиряков (Чехия, Прага) из Scrapinghub рассказал, как обработка данных выглядит изнутри Scrapy, архитектура очереди модуля загрузки контента и других компонент, необходимых для ее отладки: Scrapy shell, telnet консоль, отладчик потребления памяти.
Кирилл Борисов (Москва) из Яндекса рассмотрел место Python'а в мире IoT, как его применить в общении с различными железяками и на чём его запускают ради великой справедливости.
В 2014 году появился MicroPython — реализация Python для микроконтроллеров. Как удалось заставить Python работать на чём-то с всего лишь 16 килобайт памяти? Сильно ли пришлось урезать для этого язык? (спойлер: нет!) Что интересного можно делать с железками и MicroPython? Разные сенсоры, акселерометры, светодиоды, моторчики — вот это всё в докладе программного директора PyConRu, руководителя PyCharm Community в JetBrains Андрея Власовских (Санкт-Петербург).
Руководитель разработки в ЦИАН Михаил Юматов (Москва) рассказал, какие есть инструменты для слежения за производительностью веб-приложений. Как с помощью них собирать детальную информацию по всем операциям, быстро обнаруживать проблемы и реагировать на них. Еще Михаил объяснил, что такое статистический анализ и как его использовать для детального исследования производительности частей приложения.
Яндекс — поисковая компания. Но хорошо находить информацию нужно не только в Интернете. Внутри Яндекса есть огромный интранет – большое количество внутренних сервисов, по которым тоже нужно эффективно искать. Компания активно использует Python, у них довольно интересная инфраструктура — есть компонентны и на Django, и на Tornado. Они активно используют Celery с разными брокерами. Взаимодействуют с внутренними инструментами и API, чтобы переиспользовать наработки большого Поиска. Александр Кошелев (Яндекс, Москва) рассказал, как все эти компоненты взаимодействуют и какие есть интересные особенности.
Хотя разработка на Python сместилась в сторону серверного сегмента, десктопные приложения на Python все ещё остаются актуальными. Более того, с ростом производительности процессоров, python-приложения стали возможностью сократить финансовые, людские и временные затраты на выпуск десктопных версий. И наиболее интересным моментом в этом становится мультиплатформенность таких приложений. Игорь Новиков (Харьков-Львов ) из Scalr рассказал про мультиплатформенный питон, тулкиты и проблемы, связанные с ними.
Руководитель группы Python-проектов в Rambler&Co Олег Чуркин (Москва) рассказал, какие требования к процессу разработки и инфраструктуре проекта необходимо выполнить, чтобы относительно быстро, эффективно и вполне безболезненно попробовать микро(сервисы). Олег объяснил, с какими проблемами придется столкнуться питонисту при использовании микросервисов в продакшене, как правильно выбрать фреймворк или утилитарную библиотеку под определенный тип задач, и как обеспечить отказоустойчивость и правильно реагировать на ошибки от сторонних интеграций.
Ольга Сентемова (Москва) из Тинькофф Банка рассказала о том, как организован live-чат, какие нагрузки он выдерживает, о введении предиктивных ответов для уменьшения нагрузки на операторов, а также о том, каким образом чат интегрирован в инфраструктуру банка.
Unit manager в Ingram Micro (ex Parallels) Александр Хаёров (Москва) познакомил с одним из незаслуженно малоизвестных сервисов Google Cloud Platform — Application Engine для Python. Кроме традиционного обзора сервиса по устройству и функционалу, Александр описал двухлетний опыт использования, плюсы, минусы и тонкие моменты. После этого доклада вы точно будете знать, как размещать свои проекты в облаке по концепции PaaS.
Инженер по нагрузочному тестированию в Яндексе Надежда Миргородская (С-Петербург) рассказала, как они тестируют производительность сервисов с помощью Яндекс.Танка и BFG — генератора нагрузки, который поддерживает сценарии тестирования, написанные на Python. Подробно разобрала, как можно использовать BFG для создания нагрузочных и других нефункциональных тестов, как это позволило легко встроить нагрузочное тестирование в общий цикл разработки и почему BFG в их командах стал популярнее, чем jMeter.
Зачем явно использовать сервера, если можно без них? В современном мире у нас есть возможность не нарезать облако на отдельные машины, а строить целые пайплайны и развертывать приложения, абсолютно не заботясь о том, где и как они будут выполняться. Даже кода можно писать абсолютный минимум, а о поддержке и развертке вообще можно практически не думать. Звучит, как фантастика? Николай Марков (Aligned Research Group, Москва) разобрался в докладе.
Наверное, только очень талантливый программист не нуждается в средствах отладки. Поменять значение переменных, посмотреть шаг за шагом ход исполнения программы, разложить всё по полочкам будет тяжело без Pdb. Независимый разработчик из Нижнего Новгорода Артём Малышев рассказал о том, как эти инструменты устроены, какие внутренние механизмы Python VM задействуют и от каких ограничений платформы страдают.
В этом году Open Web Application Security Project (OWASP) опубликовал очередной TOP-10 наиболее критических уязвимостей веб-приложений. Иван Цыганов (Санкт-Петербург) из Positive Technologies рассказал, что это за TOP-10 и что изменилось за последние 4 года с момента публикации предыдущей версии. Объяснил, какие типы уязвимостей находятся в зоне ответственности разработчика, а на какие они напрямую повлиять не могут. Показал, как популярные фреймворки помогают разрабатывать безопасные приложения, и в каких ситуациях фреймворк ничем не сможет помочь.
Руководитель отдела разработки Рамблер/Топ100 Александр Подсобляев (Москва) рассказал о том, как они перезапускали Рамблер/топ-100, доступных инструментах на рынке и об их опыте переезда с архитектуры батч-обсчета данных на обсчет данных в реальном времени.
Александр Мокров (Positive Technologies, Нижний Новгород) рассказал, что под капотом у библиотеки gevent и для чего она может быть полезной. Привел архитектурные решения по построению асинхронного RPC на основе gevent, и рассказал о проблемах, с которыми можно столкнуться при её использовании.
Иван Меньших (RaRe Technologies) и Лев Константиновский (WorldSense) рассказали про то, что вообще такое тематическое моделирование (что такое «темы» и как их извлечь из множества текстов), и как его можно применить его к тем данным, которые у нас есть (и не только). Рассказали про фреймворк Gensim и продемонстрировали его возможности.
Технический руководитель группы машинного обучения и анализа данных в ЦНС Алексей Кузьмин рассказал, как устроена работа с памятью в Python и почему ваши приложения потребляют ее так много.
Технический директор Marilyn System и Aori Александр Швец (Москва) провел викторину на знание любимого Python. Самые продвинутые получили призы, большинство открыло для себя что-то новое про интерпретатор языка, и никто точно не остался равнодушным. Попробуйте ответить на вопросы и вы :)
На Lightning Talks выступили в этом году Александр Калюжный, Олег Чуркин, Александр Ковалев, Алексей Охрименко, Иван Миниайленко, Артем Малышев, Lukasz Langa, Антон Патрушев и Александр Сибиряков.
По правилам компании Disney, снимать на видео сотрудников запрещено, поэтому видео доклада Пола Хильдебранта, к сожалению, нет.
Материалы
Все доклады можно посмотреть на канале IT-People на YouTube.
Презентации выложены на Slideshare.
Фотографии с конференции смотрите в группе ВКонтакте, в Фейсбуке и на Яндекс.Фотках.
Перерывы и афтепати
Спонсоры не давали скучать между докладами.
Генеральный спонсор — компания Adcombo — дарили футболки, стикеры, угощали газировкой, пивом, а в конце дня разыграли гироскутер
Партнёр хорошего настроения ЦИАН угощали сладостями, газировкой и дарили спинеры, а утром второго дня спасали целительной минералкой
Серебряный спонсор — компания Rambler&Co — привезли живого питона, устроили шикарную лаундж-зону на природе и организовали тематическую игрушку «Питон». Все участники игры получили сувениры, а главный приз предоставила компания JetBrains — годовую лицензию на PyCharm
Еще один серебряный спонсор — компания ДомКлик — организовали стенд компании с сувениркой, а на афтепати угощали бесплатным пивом
Бронзовый спонсор — компания Mediascope — организовали стенд с сувениркой, а на входе на конференцию дарили участникам воду
Дальше идут фоточки, которые показывают, за что мы так любим PyCon.
Одна из крутостей PyConRu в том, что докладчики и участники два дня проводят рядом. Любого спикера можно выловить днем или поболтать с ним на афтепати
Давно вы кодили на природе?
Одна из любимейших частей конференции — афтепати. На PyCon — это традиционно костер с песнями под гитару, бесплатное пиво и разговоры до утра
Фото: Александр Морозов
Несколько отзывов из соц.сетей
Евгений Слезко
Pycon Russia, как всегда, на высоте! Спасибо организаторам IT-People.ru за теплый прием, прекрасную атмосферу и наклеечки :)
#pyconru
Александр Морозов:
#pyconrussia Это были очень крутые два дня! Спасибо организаторам и докладчикам за отличное настроение и массу новых идей!
P.s.: Зацепила одна песенка у костра :)
Алексей Охрименко:
#pycon Неимоверно большой и крутой :) @ Cronwell Park Яхонты Таруса
irbisx:
Посетил крутейшую python конференцию #pyconru Огромное спасибо @demis_group за возможность посещать такие события! #demisgroup #pycon
mindhatter:
Все было супер, организаторы знают своё дело #pycon #pyconru #яхонтытаруса
my_another_prototype:
Вернулась с PyCon Russia :) Ощущения, как будто побывала в детском лагере для программистов: свежий воздух, душевная атмосфера, весь день доклады, а вечером дискотека и костёр
#pyconru #matroyshka #vodka
Большой отзыв Сергея Емельянова с описанием впечатлений от докладов:
«От конференции остались только приятные впечатления, для себя я услышал много полезного и если отвечать на вопрос «поеду ли я в следующем году?», ответ у меня есть, «если будет возможность, то обязательно».
Традиционное общее фото участников с PyConRu
Присоединяйтесь к боту @PyconRu_bot, подписывайтесь на наш канал, на страницу в Фейсбуке и вы первыми будете узнавать новости про конференцию.
До встречи на PyConRu-2018!