Митапы

Хахатоны и бухкэмпы

#16

20 мая 2017, 12:00 @ Ibis Hotel, зал RED

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

Будет несколько lightning talks, так что все закончится несколько позже официальной программы.

Как пробраться в зал

Все довольно просто: заходите в здание отеля, там, где стойка регистратуры (вход с торца здания), там сразу идете к лифтам и поднимаетесь на 2 этаж. Проходите в коридор — первый же зал по правую руку и будет RED. Чуть дальше по коридору будет гардероб. Его довольно легко узнать по бумажке с надписью «Гардероб».

Доклады

12:15

Свой Mustache за 40 минут

Сергей Архипов (MERA)

Давайте просто возьмем и напишем свой игрушечный шаблонизатор Curly, который функционально примерно равен Mustache за 40 минут. За эти 40 минут я попытаюсь рассказать все-все детали так, чтобы люди, которые умеют строить регулярные выражения, поняли бы, как реализуются такие шаблонизаторы в принципе.

13:30

Ни RESТа себе! GraphQL is Coming

Артем Малышев

Уже очень давно стандартом де-факто для дизайна web API стал REST. Но вот GitHub и Facebook анонсировали поддержку GraphQL API. Зачем они это сделали? Стоит ли нам сделать тоже самое? Какие инструменты для этого предоставляет экосистема Python? Хорошо ли они спроектированы? REST уже всё? Ответы на эти вопросы и не только вы узнаете из моего доклада.

15:00

Переход на TLS глазами специалиста по ИБ

Егор Подмоков

Поговорим о том, что такое TLS, какие там бывают алгоритмы, особенности и типовые уязвимости. Что нужно знать, прежде чем вводить поддержку зашифрованного транспорта в свое приложение.

16:10

Protobuf it!

Александр Мокров (Positive Technologies)

Поговорим о том, что за зверь этот Protocol Buffers и зачем он вообще нужен. Рассмотрим где он может быть полезен, что может дать и с какими проблемами может познакомить. Посравниваем с конкурентами.

Lightning talks

17:20

gRPC

Никита Ладошкин (Positive Technologies)

Небольшой обзор gRPC как дополнение к докладу про Protocol Buffers.

17:40

Правильная демонизация

Сергей Архипов (MERA)

Небольшой рассказ о том, как правильно демонизировались процессы до прихода systemd.

#15

18 марта 2017, 13:00 @ Positive Technologies (ул. Тимирязева, 15к2)

Первый митап этого года. Наверное, без каких-то излишних подробностей: просто собираемся.

Обратите, пожалуйста, внимание: будут lightning talks. Поэтому если вы собираетесь рассказать нам всю правду минут за 5, то не стесняйтесь.

Доклады

13:00

Правильные пчёлы

Артем Малышев

Доклад о многообещающем проекте BeeWare, который находится в стадии интенсивной разработки. Если у вашей программы есть пользователи, то они скорее всего хотят графический интерфейс. Причём хотят они его в родном для платформы исполнении, будь то десктоп, браузер, телефон или умные часы. Целью проекта BeeWare и является эта самая возможность написания изоморфных приложений на Python, используя предоставленные системой возможности. О том как и почему устроен проект и пойдёт речь.

14:00

18 Оттенков I18N

Алексей Кутепов (Revel Systems)

Проекты становятся глобальными, когда этого никто не ждёт. Проблема перевода возникает не только у переводчиков, но и у инженеров. Разговор об основных трудностях перевода с точки зрения Web разработчика. Усвоенные уроки, инструменты и life hacks.

15:00

Нанять чувака

Денис Тимофеев (ScrapingHub)

Ты была хорошей девочкой и хорошо писала код последние пару лет. И тут пришла твой менеджер и сказала: «Все! Ты теперь тим лид нашего перспективного направления! Набирай команду!» Что делать? Как быть? С ответами на эту трудную жизненную задачу и поможет доклад докладчика.

16:00

Асинхронный RPC с помощью Gevent и RabbitMQ

Александр Мокров (Positive Technologies)

Я расскажу об одном из возможных путей постепенного ухода от Celery и о том, зачем это может понадобиться. Поведаю о первом шаге, в котором для более гибкого управления задачами предполагается отказ от встроенного workflow и отвязывание от БД, используемой для обмена данными между задачами. Более подробно остановлюсь на библиотеке gevent и RabbitMQ, как на их основе построить асинхронный RPC и долгоживущие управляющие задачи.

17:00

Обзор Tarantool и его использования в приложениях

Антон Шрамко

Мы все давно привыкли использовать Redis в качестве основной in-memory базы для наших приложений. В этом докладе будет рассказано о удобной и практичной альтернативе Redis и том, как это можно использовать в Python, а так же зачем это может быть нужно.

Lightning talks

18:00

I18n Ruby Way

Николай Кугаевский (dudes.io)

Доклад о том, как принято делать интернационализацию в Руби на примере гема i18n.

#14

10 декабря 2016, 11:00 @ Intel (ул. Тургенева, 30)

Митапу в ноябре исполнилось 2 года, и мы решили знатно собраться последний раз в 2016 году.

В этот раз будет 6 докладов, наклейки-стикеры, пицца и знатное (как обычно) афтепати. В этот раз у нас выступит Андрей Светлов, который является core developer'ом Python'она; человек, ответственный за Asyncio, aiohttp и прочую асинхронщину, которую мы все так любим обсуждать и взрывать продакшны. Сможете прийти, и из первых рук получить ответы на вопросы «доколе», «какого черта» и «почему». В записи вы их тоже получите, впрочем, только без интерактива.

Кроме того, хочу напомнить, что у нас все еще есть чат. Туда тоже приходите, там тоже весело.

В этот раз тоже будет регистрация, только теперь она нужна не на абстрактные цели, а для того, чтобы никто не ушел голодным или без свэга.

Мероприятие проводится при поддержке компаний MERA и Intel.

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

Доклады

11:30

GUI тесты на чистом питоне: Win32, MS UI Automation и щепотка чёрной магии

Василий Рябов (Аквантия)

Сначала увидим, какие open source инструменты есть в этой области, какие из них поддеживают Python и какие на нём полностью написаны. Более детально разберём тестирование Windows приложений с помощью разных accessibility технологий и библиотеку pywinauto, написанную на чистом питоне.

Pywinauto объединяет в себе подход на основе Win32 API (как AutoIt) и технологию MS UI Automation (как TestStack.White или Winium.Desktop на C#). Высокоуровневый и внешне простой интерфейс pywinauto использует многослойную концепцию, позволяющую буквально парой строк выразить нетривиальные вещи. А новая расширяемая архитектура позволяет также писать accessibility плагины (бэкенды) для разных оконных систем и платформ.

12:10

Scaling out Python for HPC and Big Data

Денис Нагорный (Intel)

Расскажу почему мы делаем еще один Python, каковы основные проблемы Python’а для HPC. Покажу примеры эффективного применения Intel® Distribution for Python для вычислительных задач.

13:00

Django Channels — ответ современному вебу

Артем Малышев

В докладе я расскажу о назначении и устройстве Django Channels.

Давно прошли времена, когда все сайты работали в режиме «запрос-ответ». Пользователи хотят интерактивности и отзывчивости, программисты хотят websocket'ы, HTTP/2 стремительно набирает популярность. Классические WSGI фреймворки перестают соответствовать реалиям жизни. Вы узнаете каким образом в Django реализована поддержка асинхронных протоколов, решение каких задач можно отдать этой технологии, а где лучше использовать tornado или aiohttp.

14:10

Асинхронный веб сервер: зачем он нужен

Андрей Светлов

Удобная работа с веб-сокетами — очевидное, но далеко не единственное преимущество асинхронных веб серверов. Куда важнее память, производительность и поведение под нагрузкой при обслуживании обычных HTTP запросов. Вот про это и поговорим, сравнивая синхронный и асинхронный подходы.

Примеры будут на aiohttp, но в целом то же самое справедливо для twisted, tornado и наверное вообще любого асинхронного веб-сервера, даже не обязательно написанного на Python.

15:40

Вещи, которые работают

Сергей Архипов (MERA)

Когда-то давно я ходил в школу, и учился там хорошо. А потом я ходил в университет, и тоже учился там хорошо. А потом я пошел на работу, и до сих пор учусь там хорошо. Но в целом, жалею, что не знал некоторых вещей раньше. И жалею, что никто не пытался объяснить, насколько жизнь отличалась от того, к чему меня готовили.

Этот доклад — результат моего опыта в промышленной разработке ПО, а также попытка объяснить, как же в конце концов делать проекты, а не следовать процессам. Попробую рассказать про вещи, которые на самом деле работают, а не про вещи, которые должны были бы.

16:40

Офис не нужен? (доклад-проповедь)

Денис Тимофеев (ScrapingHub)

Докладчик расскажет о собственном опыте работы в компании без офиса и о том как руководить такими командами.

Lightning talks

17:20

Dependency Injection

Артем Малышев

Немного о библиотеке https://github.com/proofit404/dependencies и о том, что нового там появилось.

17:30

Know Your OOP

Артем Малышев

Немного о подходе к ООП в Python и о том, как можно работать с MRO.

#13

17 сентября 2016, 15:00 @ НИИТ (ул. Родионова, д. 192/1, 5й этаж, аудитория 509)

13 митап, почти юбилейный, и первый осенний. В этот раз немного (много!) сбавим темп, который взяли летом, и проведем в старом формате: 2 доклада.

Впрочем, если все получится, то будет один сюрприз.

Доклады

15:10

Чёрная магия для белых фей

Артем Малышев (Positive Technologies)

Python, будучи языком с очень низким порогом вхождения, превращается в смертоносное оружие в руках мастера. Популярные фреймворки и библиотеки, написанные матёрыми программистами, очень сильно меняют семантику привычного нам языка. Порой мы даже не замечаем колоссальность этих изменений просто потому, что смотрятся они так естественно. В докладе я расскажу какими механизмами пользовались достопочтенные доны, чтобы используя их технологии, вы говорили: «It's magic!»

16:00

ComputerVision — алхимия матмоделей

Кирилл Розин (MERA)

Computer Vision что это? Очередное пособие по алхимии или набор готовых и проверенных мат моделей?

Ответа в моем докладе нет. И мой опыт подсказывает что это смесь. Я расскажу о опыте знакомства с технологиями Computer Vision и самые простые модели применяемые на практике.

Самые обычные вещи глазами CV — как выглядит Foreground/Background, Intrusion area, Tracking, Blob merge и тд… также раскажу немного об библиотеках и пакетах применяемых в области CV для всеми нам любимого Python.

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

17:10

Стоит ли вводить библиотеку в проект

Сергей Архипов (MERA)

Открытая дискуссия о том, стоит ли добавлять библиотеку в свой проект. Когда стоит, когда нет; какие есть за и какие против.

За: Сергей Архипов (MERA) Против: Артем Малышев (Positive Technologies)

#12

13 августа 2016, 14:30 @ Конгресс-холл отеля Ока, зал «Ока-стандарт 1»

Пора собраться на новый митап. В этот раз будет 2 направления: тестирование и разработка систем, агрегирующих данные из разных источников. Кроме того, некоторые докладчики будут из других городов: попробуем, как это получится в этот раз. В прошлый было очень хорошо.

Как пройти

Место это известное, но на всякий случай — как туда добраться и пройти

Есть 2 способа:

  1. Если вы знаете, где находится офис NetCracker, то все элементарно: просто обойдите здание Оки, заверните за угол. Там будет стоянка, а в здании — дверь в конгресс-холл с табличкой. Если не знаете, где этот офис, то проходите между Окой и Ситилинком, там будет белый забор, который ведет к бизнес-центру. Идите туда, обходите здание бизнес-центра. Как только попадете в этот вход, то поднимайтесь на второй этаж. Вы пришли в конгресс-холл.

  2. Нагло прите через главный вход в гостиницу. Там доходите до регистратуры, поворачивайте направо и подходите к окну. Как только подойдете, то сразу поймете, что налево ведет белый коридор. Идите по нему, пока не попадете в конгресс-холл.

Как только вы окажетесь в конгресс-холе, ищите зал «Ока-стандарт 1». Мы будем там.

Доклады

14:40

Вещественные доказательства

Сергей Архипов (MERA)

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

Шагнем немножко дальше хранения вывода тестового тула в Jenkins'е.

15:25

Не доверяй никому. Особенности построения систем, зависящих от данных из множества внешних источников

Евгений Слезко (Marilyn System Russia)

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

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

Основано на горьком опыте.

16:10

Практические битвы за автоматизацию

Кирилл Розин (MERA)

Все слышали и многие активно используют автоматическое тестирование. Тем не менее проблемы остаются и чаше связаны с тем как на больших проектах сделать унифицированную систему тестирования, начиная от выбора тестового фреймворка и привязки выполнения тестов к CI (Continues Integration) до автоматической публикации результатов и их автоматического анализа.

Кирилл расскажет о боевом опыте применения разных python тестовых фреймворков и интеграции с различными системами как-то Jenkins, TestRail, Launchpad, а также различных подходов для автоматического разбора упавших тестов и их анализа.

Как выглядят и что умеют современные системы, какие у них возможности к интеграции и что все еще остается за бортом? Как подобная практика может помочь проектному менеджеру и снизит расходы на bug scrub процесс?

16:55

Большой кравлинг на фронтирах

Денис Тимофеев (ScrapingHub)

Если стоит задача написать интернет-поисковик, очередной Гугл, или получить все данные с ЛинкедИна или ВК, то проблемой становится построение инфраструктуры. Поговорим о ней и о подходах к решениям. А так же разберем что такое фронтиры на примере Фронтеры, придуманной в Скрапингхапе.

17:50

Документация и автотестирование схемы API c помощью OpenAPI

Николай Кугаевский (dudes.io)
  • OpenAPI — консорциум стандартизации API.
  • Документирование API с помощью Swagger.
  • Инструменты для работы с документацией API.
  • Пишем автотесты для тестирования схемы ответа API.