Митапы

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

#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.

#11

25 июня 2016, 15:00 @ Premio (Нижне-волжская набережная, 1в)

Всем привет! Нижегородское Python-сообщество собирается на 11й митап!

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

В этот раз поговорим про распределённые очереди задач, PostgreSQL и Fabric.

Доклады

15:10

Вступительное слово

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

Нижегородское IT-сообщество.

Анонсы всех событий в Телеграме: канал @it52info.

Запросить информацию о событиях: бот @it52_bot.

Подписывайтесь!

15:20

Печём пирожки с Celery

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

Не переживайте, сами пирожки будут с мясом, а вот Celery поможет организовать процесс приготовления. Единственная проблема в том, что они будут виртуальными… Но зато это поможет нам разобраться в том, что такое Celery, как и для чего его можно использовать на вполне конкретных примерах, а так же рассмотреть различные плюсы и минусы.

16:00

Очереди задач без купюр

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

Так или иначе в любом сложном web приложении используются очереди задач. И так уж сложилось, что им положено быть распределёнными. В данный момент рынок решений для python разработчиков представляют 2 главных продукта — Celery и RQ.

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

На все эти вопросы я дам ответ в своём докладе.

16:40

Древовидная структура в PostgreSQL. SQL Common Table Expression

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

История одной практической задачи. Прекрасный PostgreSQL — рекурсивные выборки средствами SQL. Как поле depth в таблице с деревом упрощает жизнь.

17:20

Fabric: Python Library for Devops Tasks

Петр Нужнов (Five9)

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

18:50

Заключительное слово

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

Нижегородское IT-сообщество.

Анонсы всех событий в Телеграме: канал @it52info.

Запросить информацию о событиях: бот @it52_bot.

Подписывайтесь!

Lightning talks

18:00

Dependency Injection in Python

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

Рассказ о методах и подходах к DI в Python.

18:20

Type Hints in Python

Дмитрий Висков (EPIC)

Рассказ о том, как использовать информацию о типах в динамическом Python.

#10

23 апреля 2016, 15:00 @ Positive Technologies (ул. Тимирязева, 15к2)

Когда митапы Python-сообщества только затевались, целью номер 1 было продержаться 10 мероприятий. Это мероприятие — 10, юбилейное. Выжили!

В этот раз попробуем немножко по хардкору: функциональщина и эмбедед.

Как пройти

В общем, это то самое здание на Тимирязева, где Юлмарт. Попасть в бизнес-центр несложно: нужно всего лишь пройти в центральный вход, который справа от входа в Юлмарт. Над входом висят следующие буквы: K, M, C, I, T, Y. Другие буквы над входом не висят. На охране скажите, что вы «на мероприятие в Positive Technologies». Если что, звоните +7 920 018-94-04.

Доклады

15:10

Вводное слово

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

Рассказ о Positive Technologies. Самоминутка любования и гордости; ложь, правда, провокация.

15:20

Pattern Matching в Python

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

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

16:00

ESP8266: Делаем IoT устройства просто, быстро и дёшево

Алексей Кудаков (MERA)

Рассказ о том что такое ESP8266, о её аппаратной и программной частях, несколько use-case'ов для ESP8266 и живая демонстрация.

17:00

Колхозные монады

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

Дуглас Крокфорд говорил, что монады прокляты: любой, кто их понял, теряет способность их объяснить. Автор довольно самонадеяно полагает, что понял достаточно, чтобы объяснить их простым, рабочекрестянским языком.

Lightning talks

17:50

Разрушители мифов. Автоматическое решение Google Recaptcha

Кирилл Шипулин (Positive Technologies)

Статья: Автоматическое решение Google Recaptcha.

Об одном подходе к автоматическому взлому Google Recaptcha 2.

18:20

В защиту Twisted

Павел Шалаев

На прошлом митапе разгорелась дискуссия по поводу того, насколько плох Twisted. Паша попытался оправдать его.

К сожалению, по техническим причинам запись оборвалась на половине.