Что нового

Бесплатные online курсы, скачать сливы курсов - kursy.live

Слив курсов - это быстрый и доступный способ получить дополнительные зания или ознакомиться с курсом, до его покупки.

Оперативная поддержка

Не активна ссылка? Обновляем неактивные ссылки в течении считанных минут.

Постоянное обновление

Ежедневно добавляем по 10-20 свежайших сливов. Не пропусти.

Гибкие тарифы

Можете скачать один курс или получить не ограниченный доступ ко всем курсам.

Moscow Python Conf ++ 2021 [Ontico]

admin

Administrator
Команда форума
СУПЕР МОДЕРАТОР
Регистрация
26.05.2022
Сообщения
26 732
Реакции
160
Баллы
63
Moscow Python Conf ++ 2021 [Ontico]







Профессиональная конференция для Python-разработчиков

Дата - 27 и 28 сентября 2021

Что вы получите

Карта применения Python для высоконагруженных задач
Система развития навыков питониста от евангелиста MoscowPython Ильи Лебедева
Карьерный roadmap питониста
Интерактивная карта применения Python к различным частям инфраструктуры
Топ-10 уязвимостей в Python от компании Positive Technologies

Секции конференции
- DevOps, контейнеры и развертывание
- Базы данных и ORM
- AI/ML и визуализация данных
- Тестирование и автоматизация
- Язык Python, его эволюция и использование
- Сеть, бэкенд и web-разработка

Все презентации спикеров
Видеозаписи всех докладов
Трансляция всех докладов. Митапы и воркшопы не транслируются!





Предварительная программа
1. AI/ML и визуализация данных (всего - 10)

Towards Knowledge as Code AI/ML и визуализация данных
Анатолий Щербаков
Recall Masters

Пишет на Python около десяти лет, занимается корпоративными системами и любит красоту в коде. Мечтает о Semantic Web.
yeti.sh
github.com/anatoly-scherbakov/

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

Почему вам нужен JupyterHub: для команды, студентов и домохозяйки
Петр Ермаков
DataGym / Lamoda

Jupyter и JupyterHub — популярный инструмент для работы с данными.
Я расскажу, почему я его люблю и почему ненавижу, секреты и опыт.
Вас ждут особенности и лайфхаки настройки JupyterHub для большой Data Science-команды. Как правильно организовать работу на общих серверах. Даже если команда состоит из одного человека, вы вынесете новые хитрости.
Но что, если вы не один? Как ужиться на одной машине 20 студентам, изучающим ML, или R&D-команде из 15? Готовые рецепты, рекомендации и собранные грабли.

Автоматизируем саморефлексию ботами и дашбордами
Игорь Мосягин
Klarna

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

От 0 до 1, Рython для Data Scientist
Виктория Тюфякова
Магнит, SkillFactory

ЯП Python является одним из ключевых навыков в сфере Data Science, но как облегчить себе путь в начале развития в новой сфере/профессии и не учить все и сразу?
Data Science включает несколько специализаций, каждая из которых использует Python в своей работе, а так же внутри одной специальности, например Data scientist, для решения разных задач используются различные библиотеки ЯП Python. C чего же все-таки начать, чтобы как можно быстрее войти в профессию Data Scientist? Об это я и буду говорить в своем докладе.

Работа с МЛ-сервисами под нагрузкой
Олег Бугримов
Авито

У нас в Авито созданы десятки сервисов, в которых используется модели машинного обучения. Модели встречаются большие и маленькие. Суммарная нагрузка на сервисы около 1млн RPM.
В этом докладе я расскажу, как мы используем инфраструктуру для удобной эксплуатации МЛ-моделей и продемонстрирую разработанную нами библиотеку, для запуска МЛ-моделей в продакшне и под нагрузкой.

Jupyter-расширения. Как сделать жизнь проще и ярче AI/ML и визуализация данных
Александр Артеменко
Яндекс Go

Работать с Jupyter приятно само по себе, но расширения могут сделать жизнь ещё проще. Например, они могут добавлять полезные магические команды или Python-функции, рендерить объекты в понятном и читаемом виде, запрашивать и сохранять данные.
Расширения особенно полезны, когда их использует вся команда. В них можно завернуть часто используемую логику.
Из этого доклада ты узнаешь:
* как устроено простейшее расширение,
* как добавлять новые %magic-команды,
* делать отображение объектов в Jupyter более красивым и информативным,
* показывать интерактивные формы и реагировать на действия пользователя,
* делать своё ядро с предустановленным набором расширений.

Реализация С++-интеграции в Python на примере NeoML AI/ML и визуализация данных
Станислав Ангелюк
ABBYY

Мы разрабатываем open source-библиотеку для машинного обучения NeoML. Ядро нашей библиотеки написано на С++. Но для расширения области применения и упрощения использования мы сделали для нее Python-интерфейс. О том, как можно сделать интеграцию С++ в Python, при этом получить удобный и функциональный интерфейс, а также не потерять в производительности, я расскажу в своем докладе. Вас ждет обзор доступных средств интеграции С++-кода в Python: ctypes, CFFI, Cython, CPython API. На примере нашего проекта обсудим их плюсы и минусы и выберем подходящее. Обсудим проблемы, возникающие при реализации интеграции: многопоточность и GIL, аллокация памяти, владение объектами, реализация сложной иерархии классов, сериализация, производительность и т. д. Познакомимся поближе с возможностями библиотеки pybind11. Рассмотрим средства, предлагаемые в ней для решения обозначенных проблем. И в итоге оценим получившейся с помощью нее результат!

Разработка своего хранилища моделей машинного обучения и почему нам не подошли стандартные решения AI/ML и визуализация данных
Юрий Букаткин
Программный регион

Во многих компаниях Python не является основным языком программирования. С появлением машинного обучения на проекте возникает проблема, как внедрить модели, написанные на Python, с использованием Tensorflow, Keras и прочих библиотек с backend, написанным, например, на Golang?
В докладе расскажу:
- как мы дружили Python-модели ML c backend, написанном на Golang,
- почему нам не подошли стандартные средства tensorflow и ml-flow,
- как мы пришли к написанию своего решения,
- покажу подробный путь модели от jupyter playbook до procduction,
- какие дополнительные возможности в сервисе мы реализовали,
- что выиграли, а где набили шишки.

Ускорение инференса Tensorflow и PyTorch-моделей на процессорах Intel с помощью NNCF и OpenVINO AI/ML и визуализация данных
Василий Шампоров
Intel Corporation

Intel заинтересован в том, чтобы «железо», купленное его клиентами, полностью раскрывало свой потенциал, разумеется, это касается и DL-приложений. Подавляющее число DL-моделей производится с помощью фреймворков, основанных на Python (PyTorch, TensorFlow) — такие модели могут быть напрямую исполнены с помощью инструмента Intel OpenVINO на процессорах Intel с полным использованием аппаратных оптимизаций и ускорений.
Однако, ещё большего ускорения на железе Intel возможно добиться за счет перехода от вычислений в числах с плавающей точкой к целочисленным, или за счет отбрасывания «незначимых» параметров модели. Подобный переход обычно сопряжен с некоторой потерей качества предсказания модели. Для того чтобы уменьшить потери, используется метод симуляции целочисленных вычислений с дотренировкой, применяемый поверх методов «обрезки» моделей. Мы рассмотрим Python-пакет NNCF (Neural Network Compression Framework), который позволяет проводить подобного рода оптимизации, не выходя из исходного фреймворка, с дальнейшим экспортом оптимизированной модели и инференсом ее c помощью инструмента OpenVINO.

О хороших практиках построения инфраструктуры ML-моделей AI/ML и визуализация данных
Дмитрий Аникин
Лаборатория Касперского

Я расскажу о пути нашей модели от простого артефакта до самостоятельного сервиса. Расскажу, какие практики мы внедрили и как они нам помогли. CI/CD, мониторинг, алертинг на конкретном примере. Опишу весь путь деплоя модели от гипотезы до продакшна.
Основная мысль: слушатели смогут увидеть на конкретном примере практики MLOps и их полезность.

2. Тестирование и автоматизация (всего - 2)

Тесты, которые мы заслужили...
Артем Малышев
Self-Employed

Уже десятилетиями наличие автоматизированного тестирования в проекте считается признаком профессионализма команды. Практики continuous integration спасли несметное количество человеко-часов по всему миру. Однако мы редко задумываемся, какую цену приходится платить разработчику за возможность бесстрашно рефакторить проект. У каждой медали есть две стороны.
В докладе я разберу самые частые проблемы, которые разработчик встречает при написании и поддержке тестов в большом проекте. Рассмотрим практики, принятые в сообществе. Проанализируем фундаментальные причины появления всех этих сложностей. Я поделюсь своими личными результатами борьбы с данными фундаментальными проблемами.
Спойлер: услышанное в заключительной части доклада будет сильно отличаться от большей части того, что принято считать лучшими практиками. Особо впечатлительных зрителей мы просим отойти от экрана. Эти слайды могут показаться жестокими.

3. Язык Python, его эволюция и использование (всего -10)

Объединяем экипаж танка вокруг линтера
Левон Авакян
Wargaming

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

Почему вам не нужен асинхронный ORM Язык Python, его эволюция и использование
Денис Катаев
Tinkoff.ru
Каждый день мы пишем много асинхронного кода и выбираем для каждой задачи подходящую aio-библиотеку в зависимости от того, с чем нам приходится работать: с HTTP или с файлами. А ещё нам приходится работать с базами данных, но, увы, aio-database нет.
Раньше отсутствие асинхронной ORM вызывало много вопросов у разработчиков, зато теперь у нас есть сразу несколько асинхронных библиотек. Впрочем, их использование даёт прирост к производительности не всех типов задач, а только некоторых.
В своем докладе я расскажу, в каких типах задач всё будет ок, а когда не стоит ждать чудес от асинхронности. Также разберёмся, почему так сложно написать асинхронное ORM и как в новой SQLAlchemy добавили асинхронность без переписывания кода при помощи greenlet.

Тени прошлого: разбираемся, как бороться с legacy Язык Python, его эволюция и использование
Владимир Филонов
Takeoff

Legacy — прискорбная, но неизбежная составляющая любого достаточно крупного (или долгого) проекта. Что-то досталось нам от неведомых предшественников, а что-то породили мы сами. Как быть, когда вы сталкиваетесь с этим чудовищным спрутом, всех щупалец которого даже сразу не разглядишь?
В этом докладе я поделюсь личным опытом, полученным за последние двадцать лет спасения и похорон различных проектов, объясню почему подход нормально делай — нормально будет не работает и поделюсь инструментами и подходами для борьбы с тенями прошлого.

Лицензирование питон приложений: тренды и проблематика
Алексей Смирнов
profiscope.io

Рассмотрим общую картину применения Open Source лицензий в PyPI: общие практики, нисходящие и восходящие тренды выбора новой лицензии, а также случаи её смены. Ответим на частные вопросы о том, какие лицензии наиболее часто применяются для проектов в разных областях и почему: от веб-приложений и фреймворков до библиотек и утилит в областях машинного обучения (ML) и обработки естественного языка (NLP). C применением CodeScoring изучим, какие сюрпризы несовместимости лицензий можно поймать если относится к задаче лицензирования собственного кода халатно. И в конце концов, поймем как всего этого избежать и корректно настроить CI/CD в части отслеживания лицензионной чистоты.

Простой Python: ложь, большая ложь и метаклассы
Григорий Петров
Evrone

Мы привыкли к тому, что Python — это простой язык, исполняемый псевдокод. Так написано в книгах, так говорят преподаватели на курсах, так написано в интернетах. А потом начинающие разработчики приходят на работу, где их встречают протоколы, декораторы, менеджеры контекстов, метаклассы и другие веселые зверушки взрослого пайтона.
Мой рассказ будет о причинах появления сложности: с какой целью в языке появились сложные штуки, что авторы Python ожидали от разработчиков и каким образом все раз за разом скатывается в неподдерживаемый ужас, где уже через год не может разобраться ни сам автор, ни его коллеги.

Зачем нам subinterpreters? Язык Python, его эволюция и использование
Павел Филонов

В рамках PEP 554 уже несколько лет идет работа над добавлением в Python возможности запускать несколько экземпляров интерпретаторов в рамках одного процесса. В докладе рассмотрим, кому и зачем это может быть нужно (привет от GIL и shared memory). Как этот инструмент будет соотноситься с многопоточными и мультипроцессными подходами, и чем это может помочь в задачах, которые работают с большими объемами данных в памяти.
Основная часть доклада будет посвящена именно вопросам практического применения subinterpreters. Без сильного погружения в особенности внутренней реализации. Погружаться будем только там, где это потребуется для понимания практических результатов.

Как вызвать C++ из Python и не стать медленнее Язык Python, его эволюция и использование
Александр Боргардт
ВКонтакте

У питонистов есть простое правило: хочешь сделать быстро — пиши нативный код. Это действительно так, когда нативный код пишут опытные разработчики. А вот те, кто только начал погружаться в волшебный мир C/C++ кода могут столкнуться с тем, что их код стал не быстрее, а медленнее. Почему? Потому что неявные накладные расходы при вызове нативного кода из Python. Подробнее — в моем докладе.

RPA как основа IT-автоматизации Язык Python, его эволюция и использование
Иван Маслов
pyOpenRPA

Разочарованы в IT? RPA как основа IT-архитектуры, которая победит микросервисы.
- IT-задача реализуется долго/дорого?
- По итогу реализации нет ожидаемого бизнес-эффекта?
- Содержание штата IT-персонала обходится дорого?
Если что-то из вышеперечисленного оказалось знакомым, то вам будет интересно послушать доклад Ивана Маслова — автора резонансных статей (на Habr и VC), которые продемонстрировали дикий разрыв между IT и бизнес-сообществом.

Ревью кода участников конференции. Кто побил рекорд по цикломатической сложности?
Михаил Корнеев
BestDoctor

Совместно с компанией Profiscope (profiscope.io/) и их решением композиционного анализа программного обеспечения CodeScoring мы организуем активность по ревью исходного кода тех участников, которые покажут самые сложные авторские решения.
Многим разработчикам известно такое классическое понятие из программной инженерии, как цикломатическая сложность, которое представляет собой количество линейно независимых маршрутов через программный код. Отслеживая данный показатель, можно заблаговременно предупредить попадание на рефакторинг, где разработка останавливается. Кроме того, цикломатическая сложность может быть также выражена как некая вероятность внесения ошибки на каждом последующем коммите и конечно же влияет на безопасность проекта, что подтверждается специальной категорией в CWE-классификации. Таким образом, метрика является одной из ключевых при оценке объемов технического долга разработки.
Передать свой репозиторий на автоматический анализ на предмет цикломатической сложности вы можете по ссылке mpc-complexity.codescoring.com/ до 20-го сентября. Ревью кода рекордсменов сложности будет проведено 27 сентября в лайв-режиме. Участник ПК конференции и сооснователь MoscowPython Михаил Корнеев разберет самые веселые кейсы, и покажет, как делать не нужно совсем, или как делать не нужно, если на то нет острой необходимости .

Рефакторинг в удовольствие: миф или реальность?
Владимир Протасов
Yandex.Cloud

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


4. Сеть, бэкенд и web-разработка (всего - 6)

Двусторонний websocket-роутинг
Денис Аникин
Райффайзенбанк
Владислав Лаухин
Райффайзенбанк

С веб-сокетами на бэкенде работать не очень просто. Относительно понятно, как обрабатывать сообщения, поступающие в одном направлении, т.е. от клиента к серверу или от сервера к клиенту. Но когда возникает потребность полнодуплексного общения, еще и с асинхронным бэкендом и микросервисной архитектурой, то появляются сложности не только с роутингом во внутренние системы, но и, что важно, обратно от них к клиенту. К тому же стоит учесть, что сообщения к клиенту могут поступать не в режиме «запрос-ответ», а произвольно, т.е. в разном объеме и в разное время.
Обдумывая варианты решения проблемы, мы присматривались к centrifugo и, как оказалось, оно предоставляет надежный канал в одном направлении, но не в двух. Наш же сценарий представляет собой чат-приложение, где клиент и оператор могут отправлять друг другу сообщения в произвольное время в произвольном порядке. Это решение, конечно, основано на базе микросервисной архитектуры с использованием kafka для общения этих микросервисов.
Таким образом, мы разработали свой сервис, который устраняет проблему полнодуплексного общения клиента с сервером через веб-сокет. Полагались на то, что наше решение должно быть горизонтально масштабируемое, cloud-native и написано на современном асинхронном python. О сложностях роутинга и о том, как «прицелиться» и «попасть» в нужного пользователя сообщением, и есть наш доклад.


Не ‘high-load’: почему наш стартап переехал с Flask на FastAPI?
Александр Морозов
Datafold

Привет, это Datafold!
Наш продукт – это платформа для мониторинга аналитических данных. Мы подключаемся к хранилищам данных и ETL и BI системам и помогаем дата саентистам и инженерам отслеживать потоки данных, их качество и аномалии.
Мы расскажем о том, почему приняли решение переехать с Flask на FastAPI не будучи high-load проектом, ведь наиболее известное преимущество FastAPI – высокая производительность.
Наш изначальный стэк: Python3/Flask-RESTful, PostgreSQL, Redis, Neo4j на бэкенде, Typescript/React на фронте.
Наши впечатления от переезда:
FastAPI полностью оправдывает ожидания,
Mypy здорово помогает при рефакторинге,
Класс багов, связанных с расхождением типов на бэкэнде и фронтэнде исчез.

Как и зачем начинать проекты на Django в 2021 году
Фёдор Борщёв
Федя и Самат

В 2021 году Джанге исполняется 15 лет. Не пора ли ей на пенсию? Может пора, но не всей?
Мы поговорим, как правильно готовить Джангу, чтобы запускать на ней новые проекты быстрее, чем на более молодых конкурентах.

Как мы
 
Прием платежей для сайтов
Верх