Программа++ — митапы, мастер-классы, встречи

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

Как разобраться в legacy-коде, который вы видите первый раз в жизни
Легаси-код бывает разный. Иногда он аккуратный, документированный и понятный. Но увы, чаще всего это не так. Разбираться в тоннах компост-кода часто бывает очень больно. За годы борьбы с Legacy-проектами у меня выработался набор механик по разбору и анализу подобных чудовищ. На этом воркшопе я планирую в реальном времени разобрать проект, код которого увижу впервые, завести его и внести изменения так, чтобы гарантированно ничего не сломать. Это практическая часть двухсерийного выступления. Если интересно, что я вытаскиваю из заказчиков, на что смотрю в проектах, как оцениваю сроки, — приходите на доклад «Как выжить, если вам достался legacy, разработчик которого слился».
Владимир Филонов
Асинхронное взаимодействие с PostgreSQL
Продолжение прошлого доклада. Поговорим про то, как можно взаимодействовать в БД, как ORM вносит путаницу. Посмотрим, для каких задач какой инструмент взаимодействия лучше.
Алексей Фирсов
Очереди задач в Python: как приготовить салат из пучка редиски, палки сельдерея и их друзей
Традиционно разработку на Питоне принято хаять за GIL, плохую многопоточность и неудобную асинхронность. Как можно без боли добавить себе в проект очереди задач, выполнение в несколько потоков и что вообще есть для параллельного/«многопоточного» выполнения, если вас мутит от ‘async def’ и вам лень разбираться, в чем различия между ProcessPoolExecutor и ThreadPoolExecutor. На лекции я рассмотрю реалистичный пример обработки долгих пользовательских запросов на примере библиотек rq, huey и даже немного celery. Разберем необходимую «матчасть» и посмотрим, «а как там это все делать в стандартной библиотеке без этих внешних пакетов». Предполагаемая аудитория Разработчики на Python, которым нужно делать background-задачи или параллельно обрабатывать много данных более-менее похожим кодом, но они не хотят пересаживаться ради этого на spark или даже dask. В общем, разработчики/дата-сайентисты, у которых возникают задачи, которые так и хочется распараллелить, но у вас нет или почти нет инфраструктуры, чтобы это делать.
Lamoda
Игорь Мосягин
Ускоряем Python и не только
Рассмотрим несколько интересных проблем с продакшна Wargaming, которые попробуем воспроизвести, подебажить и попрофилировать различными тулами. Ну, а затем — свободная дискуссия по ускорению Python и всего, что над и под ним :)
Алексей Романов
Типовые уязвимости в Python-приложениях
Безопасен ли код, который ты пишешь? Какие ошибки можешь допустить — наиболее частые, наиболее очевидные, наиболее опасные? И как хакеры могут воспользоваться этим? Давайте поговорим про безопасную разработку на воркшопе. У нас в Positive Technologies работают хакеры, которые каждый день сталкиваются с уязвимостями в коде, разработчики и аналитики систем анализа приложении, эксперты, продукты которых защищают крупные информационные системы от современных киберугроз. Рассмотрим типовые уязвимости, описанные в брошюре, и посмотрим, как их можно искать автоматически.
Андрей Попов
Создаем портрет в жанре Science Art при помощи когнитивных сервисов и креативности
Python — это очень гибкий инструмент, который используется в том числе художниками для создания произведений цифрового искусства. В рамках воркшопа всем желающим предлагается создать свой портрет или композицию в жанре Science Art. Для этого вам потребуется принести с собой 10-20 своих портретных фотографий, из которых мы составим собирательный портрет с помощью аффинных преобразования и когнитивных сервисов Microsoft, используемых для выделения опорных точек лица. В ходе воркшопа вы научитесь пользоваться облачными предобученными моделями для решения интеллектуальных задач, а также немного поэкспериментируете с обработкой изображений. Вам потребуется ноутбук с современным браузером и заранее зарегистрированный Microsoft Account (можно завести бесплатную почту на outlook.com). Никакого программного обеспечения устанавливать не нужно, поскольку мы будем использовать облачные блокноты Azure Notebooks.
Microsoft
Дмитрий Сошников