- PVSM.RU - https://www.pvsm.ru -
Эксперимент по подготовке докладов на Moscow Python Conf ++ с нуля на финишной прямой. Слайды готовы, прогоны провели, осталось только дождаться премьеры — уже в эту пятницу 5 апреля. В расписании [1] 24 доклада про использование Python в продакшене крупных компаний. Под катом — взгляд на организацию глазами программного комитета и смешные проблемы вроде «кого ставить в параллель хедлайнеру, чтобы не было пустых залов и обиженных спикеров».
Вы спросите, а зачем вам этот опыт, если у вас еще на «сто тысяч мильонов» пользователей, вы обходитесь без зоопарка в микросервисах, а из ML достаточно простой линейной регрессии. Ответ: в основном, чтобы задуматься. И тут же, не сходя с места, расспросить крутых разработчиков, поговорить с другими участниками о похожих проблемах и путях их решения, познакомиться с интересными идеями и завести полезные знакомства. Именно так я себе это представляю.
Мне удалось найти единомышленников — еще 8 членов Программного комитета вместе со мной формировали важные темы для обсуждения. В сумме, специально найденных докладов и поданных через традиционный Call for Papers было больше 100. Мы все их внимательно изучили, задали дополнительные вопросы и уместили в однодневную программу максимум полезности. Как получилось, точно узнаем в пятницу, а пока расскажу о некоторых докладах, которые курировал лично и в которых уже ориентируюсь, почти как соавтор.
Конечно, было бы нереально круто заполучить в гости Гвидо ван Россума. Я пытался, и надеюсь, что однажды это получится, но в этом году у нас выступит Core разработчик Python и автор популярной библиотеки «six» Benjamin Peterson. Он принимает непосредственное участие в разработке языка и расскажет нам [2] из первых рук о новой модели управления разработкой. Той самой, которую сообщество выбрало после отказа Гвидо Ван Россума выступать в роли «диктатора» и рулить всем единолично.
Поговорим о том, что это значит для нас, как для пользователей языка, как изменятся релизы, поддержка, стандартные библиотеки и какое будущее ждет Python.
Уже много лет Вадим Пономарев рассказывает про те или иные аспекты работы с OpenStack. Но на нашей конференции он впервые расскажет о самом крупном Python проекте с неожиданного ракурса: а как его, собственно, разрабатывают? Ведь за время жизни проекта он оброс множеством внутренних «велосипедов», приемов разработки и решений для «проблем огромного количества кода». Вадим проведет для нас краткий экскурс [3] по истории эволюции проекта и расскажет, как разработчикам удается поддерживать, улучшать, развивать проект, который мало того, что ни при каких обстоятельствах не поместится в голову одного человека, — жизни не хватит, чтобы прочитать.
В ЦИАН любят, умеют и практикуют микросервисы. А бизнес так организовался, что микросервисов надо много и часто: на C#, JS и Python. За годы работы команда выделила все то общее, что есть в создаваемых микросервисах, и научилась создавать универсальные «заготовки» с минимально необходимым набором всего. Олег Ермаков расскажет нам [4], что и как вошло в этот «джентельменский набор»: из чего состоит «болванка» микросервиса, как микросервисы разворачиваются и автоматически конфигурируются, что предлагает разработчикам внутренняя библиотека cian-core. Большая часть доклада посвящена работе с API. В ЦИАН сделали собственный DSL для описания интерфейсов между микросервисами, для которого есть клиенты, генераторы и валидаторы. Все это позволяет очень быстро собирать API и автоматически проверять, что микросервисы говорят на одном языке без ошибок.
В ДомКлик больше 50 Python разработчиков и современный пайплайн с Python 3.6 и asyncio. Асинхронное программирование используется с самого начала проектов, так что команды смогли оценить не только пользу, но и сложности. Неожиданно для разработчиков течет память, не ловятся исключения, а доступные «асинхронные» библиотеки для типовых задач часто очень сырые. Добавим к этому не самую простую отладку и ситуацию с наймом. Обо всем этом нам расскажет [5] Сергей Борисов, технический руководитель команды «Контент» в ДомКлик.
Примерно 12 лет назад в Яндекс пришел Иван Сагалаев и начал делать сервисы на Django. В те времена в компании уже использовался Python, но никаких серьезных проектов на нем не было. Когда первый сервис, «Куда все идут» (часть Яндекс.Афиши) был сделан, то эксперимент признали успешным, Python с Django годными, и стек стали использовать в других проектах. Количество сервисов нарастало, начали появляться стандартные библиотеки и подходы, часть из которых используется до сих пор. Про декаду эволюции Python расскажет [6] Александр Кошелев, руководитель службы Python-разработки отдела сервисов для организаций.
У разработчиков IPONWEB практически сбылась мечта программиста: раз за разом они делают для своих клиентов очень похожие админки для управления рекламными компаниями. Нюанс в том, что «старые» админки никуда не пропадают, поэтому к ним должны применяться все багфиксы и улучшения «новых». Анна Мошкина расскажет, как они в компании сделали себе движок [7] «динамических приложений». Админка клиента описывается в JSON, который затем используется Django бэкендом и Angular фронтендом для создания приложения «на лету». Кроме очевидных плюсов, в таком подходе есть сложности, особенно с тестированием и базой данных: арбитраж рекламы привносит свою специфику, а клиенты компании манипулируют через админки большим количеством сложных сущностей, которые внутри называют «креативами».
Авиакомпания, в данном случае — S7, в которой работает много разработчиков, в том числе и на Python, уже само по себе интересно. Но еще интереснее, что у авиакомпании много разных данных, они сложные и их надо показывать разным людям с разными целями. Для этой задачи в экосистеме Python есть, например, Grafana и Dash, но действительно ли это лучшие решения? Николай Фоминых в своем докладе покажет результаты [8] масштабного исследования возможных решений и расскажет о практике их использования.
Да, вы правильно прочитали. Один из опытнейших Go- разработчиков и организатор Go-митапов в Санкт- Петербурге Виталий Левченко приедет к нам и расскажет про сильные и слабые стороны [9] Python и Go! Это будет хардкорное сравнение от человека, который руководил разработкой бэкенда «МегаФон.ТВ». А чтобы Python часть доклада не подкачала, Виталию активно помогает программный комитет, который целиком и полностью состоит из Python-разработчиков.
Оказывается, все цены на Avito выбираются программно. На Python выстроена целая инфраструктура, которая объединяет бэкенд, команду аналитиков, Machine Learning и огромную матрицу данных с миллиардами цен. Дмитрий Климинский расскажет, как работает эта инфраструктура [10], чем полезен в данном случае Python, с какими сложностями приходится сталкиваться и как автоматически тестировать, что с ценами все в порядке.
Традиционно Machine Learning используется для обучения каких-либо моделей на исторических данных, но когда вы на hh.ru вводите поисковый запрос, системе рекомендаций приходится опираться на эти динамические данные. Чтобы это работало, потребовалось несколько неочевидных трюков, о которых нам расскажет Игорь Киценко. Второй интересный момент этой истории в том, что ML сделан на Python, а вот поиск на Java (Lucene). Узнаем из доклада, [11] как HH удалось подружить эти две системы.
Bobuk программирует на Python намного дольше чем я — с конца 90-х. И да, он застал переход с 1-й на 2-ю версию, как бы безумно это не звучало. У меня не очень хорошо получается перечислять регалии, все можно найти в Яндекс. Скажу только, что именно Григорий 12 лет назад привел в компанию первых Python программистов. Доклад будет про мега популярный миф [12]: «Python медленный, пишите на Go или Java». Не буду спойлерить содержание, потому что сам не знаю, но как глава ПК скажу: доклад — это повод поговорить. Мы идем на конференцию, не чтобы чему-то научиться за 30 минут доклада или узнать что-то новое не в новостной ленте. Мы приходим поговорить с разработчиками, которые годами используют близкие нам технологии за закрытыми дверями крупных компаний. Обсудить за чашкой чая и бокалом пива то, что не напишут на Хабре и не ответят на stackoverflow.
Новые веяния в изготовлении конференций — «плавающий» обед. Он начинается в час дня: первый зал закрывается на час, в это время кто-то может пообедать, кто-то — сходить во второй и третий зал на доклады. А через час мы закрываем 2-й и 3-й залы, продолжаем обед и открываем 1-й зал. И да, именно в этот слот мы поместили доклад Григория. Ему выпадет очень тяжелая задача конкурировать со вторым обедом: но что-то мне подсказывает, что он справится :)
Бонус: На страницах конференции в соцсетях [13]я рассказываю об этих и еще нескольких докладах на камеру, а спикер Владимир Пузаков из Rambler&Co приглашает [14] познакомиться с Mypy поближе.
Приглашаю всех, для кого Python — это один из основных инструментов разработки, на Moscow Python Conf ++ [15] 5 апреля в Инфопространство, будет интересно. Если пропустили все анонсы и уже не успеваете поучаствовать лично, есть платная видеотрансляция или вариант подождать полгодика, пока мы выложим видео в свободный доступ. Или подпишитесь на рассылку [16], чтобы не пропустить объявление в следующий раз.
Автор: Григорий Петров
Источник [17]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/python/313476
Ссылки в тексте:
[1] расписании: https://conf.python.ru/2019/schedule.html
[2] расскажет нам: https://conf.python.ru/2019/abstracts/4653
[3] краткий экскурс: https://conf.python.ru/2019/abstracts/4607
[4] расскажет нам: https://conf.python.ru/2019/abstracts/4831
[5] расскажет: https://conf.python.ru/2019/abstracts/4672
[6] расскажет: https://conf.python.ru/2019/abstracts/4737
[7] сделали себе движок: https://conf.python.ru/2019/abstracts/4637
[8] покажет результаты: https://conf.python.ru/2019/abstracts/4651
[9] про сильные и слабые стороны: https://conf.python.ru/2019/abstracts/4680
[10] как работает эта инфраструктура: https://conf.python.ru/2019/abstracts/4646
[11] Узнаем из доклада,: https://conf.python.ru/2019/abstracts/4632
[12] про мега популярный миф: https://conf.python.ru/2019/abstracts/4850
[13] соцсетях : https://www.facebook.com/MoscowPythonConf/videos/
[14] приглашает: https://www.facebook.com/MoscowPythonConf/videos/279534072964880/
[15] Moscow Python Conf ++: https://conf.python.ru/2019/
[16] рассылку: http://eepurl.com/bjzqjT
[17] Источник: https://habr.com/ru/post/444216/?utm_source=habrahabr&utm_medium=rss&utm_campaign=444216
Нажмите здесь для печати.