Программа основного дня

на 19 июня, пятницу

Выберите секцию:

PHP № 4
11:00

Релиз PHP7 - что нас ждет в октябре 2015

Дмитрий Стогов — Лидер проекта PHPNG и один из основных разработчиков PHP; ведущий инженер в Zend Technologies.
PHPNG успешно добрался до основной ветки PHP, и релиз PHP7 уже не за горами. Помимо производительности, появилось множество нововведений призванных сделать PHP более пригодным для написания больших проектов и избавиться от "детских болезней". Помимо несомненных плюсов, новшества несут головную боль связанную с переходом на новую версию. Доклад содержит обзор основных нововведений и некоторые рецепты по портированию.
12:00

Как мы переносим миллионы пользователей Badoo между дата-центрами

Александр Крашенинников — PHP developer Badoo Я работаю в отделе “платформенной” разработки Badoo. Занимаюсь инфраструктурой фотографий, миграцией пользовательских данных, средствами deployment'а. Основной язык разработки PHP, но с радостью использую так же Java и Python.
В докладе будет рассказано про перенос пользовательских данных в пределах датацентра, а также – между датацентрами.
Большинство крупных проектов живут более чем в одном датацентре. Очевидно, что это происходит из соображений отказоустойчивости инфраструктуры и обеспечения минимального времени доступа для пользователя. В случае, если пользователь переезжает в страну, для которой выгоден другой датацентр, необходимо произвести перенос данных.
В докладе я расскажу про:
- особенности переноса баз данных с пользовательской информацией, фотографий и обновления сервисов;
- обеспечение целостности переносимых данных;
- программную реализацию процесса переноса;
- аппаратную инфраструктуру, обеспечивающую этот процесс.

Доклад ориентирован на разработчиков, интересующихся вопросами масштабирования web-проектов, в частности – аспектами решардинга данных.
13:00

Выбор и внедрение стандарта кодирования в большой команде

Максим Кочкин — Разработчик в Мамбе (mamba.ru). Пытаюсь сделать жизнь разработчиков лучше (но все говорят, что становится только хуже...)
Как заставить 30 человек писать код в одном и том же стиле. История выбора и внедрения стандарта кодирования в команде PHP-разработчиков Мамбы.
13:30

Непрерывная интеграция в Мамбе

Олег Колтунов — Разработчик wamba.com (mamba.ru), группа технической поддержки
Требования к системе НИ
- организация рабочего процесса в Мамбе: более 80-и участников процесса
- взаимодействие разработчиков, тестеров, менеджеров (заявки на раскладку, код-ревью, система управления задачами)

Обзор реализации
- как мы написали свою систему НИ
- объединение кода в заявки, жизненный цикл заявок
- задействованные сервера и особенности доставки на них кода
- большой объем генерируемого кода и его обработка (разработка с учетом многоязычности, автогенерация PHP кода)
- отказоустойчивость и обратимость (многократная проверка кода на этапах обработки заявки, мониторинг состояния серверов, откат изменений)
15:15

Демонизированный PHP - before it was cool

Arvids Godjuks — PHP разработчик с 10+ лет стажем из Латвии. Highload, сложные системы, системы обработки платежей и выплат, с недавних пор совладелец собственной компании. Извествен под псевдонимом @psihius , организатор WebConf Riga 2012 и 2014.
Моя история с демонами на PHP началась до того, как в нашу жизнь ворвался libevent, phpDaemon, reactPHP и прочие. Это рассказ, основанный на многогодичной практике, о том, как писать демонов без сторонних инструменотв. Так же затронет исторические изменения в PHP, а так-же посмотрим можно ли повторить опыт с HHVM.
16:00

Сказ о том, как инверсия зависимостей к DDD привела.

Матвеев Иван — Молодой, амбициозный. Работал в sotmarket.ru и easydata.me, архитектор и lead-developer нескольких стартапов. Входит в "те самые" 3%, которые прошли в Toptal.
Доклад о том как отделить фреймворк от приложения, перейти от МVC к Action-Domain-Response и как это все правильно готовить с DIC.
17:15

Эффективная работа с Bigdata на примере рекомендательной системы для 20к интернет-магазинов - технологии и алгоритмы

Демидов Александр — Руководитель направления арендных решений компании «1С-Битрикс» Окончил ВМК МГУ им М.В. Ломоносова. Более 8 лет работал в одной из старейших компаний на российском рынке хостинга «Зенон Н.С.П.». В компании «1С-Битрикс», отвечает за создание и развитие продуктов компании, предлагаемых клиентам по модели SaaS, а также за взаимодействие с хостинг-партнерами. Эксперт в области архитектуры и администрирования облачных сервисов, высоких нагрузок. Постоянный спикер отраслевых конференций и семинаров по интернет-тематике («РИФ+КИБ», RIW, HighLoad, РИТ++, CodeFest, FailOver Conference и др.).
В докладе будет разобрано проектирование, реализация и оценка эффективности рекомендательной системы - сделанной на базе Mahout Taste. Отдельно остановимся на выборе алгоритмов, сборе и обработке данных, анализу эффективности и обратной связи.
18:15

Продуманная архитектура и другие преждевременные оптимизации

Федор Лаврентьев — Руководитель отдела разработки в УУРРАА. Читает курс лекций по промышленному программированию в Физтехе (МФТИ).
Мы сделали мощную технологическую платформу с многозвенной архитектурой, рассчитанную на многотысячные нагрузки и терабайты данных.
Оказалось, что внедрять новые фичи в такой платформе не только приятно и интересно, но и долго и дорого.

На докладе я расскажу, какие проблемы нам принесла чрезмерно продвинутая архитектура и как мы их решали.
Ruby № 7
11:00

Микросервисы, иммутабельность и a/b тесты - как их можно использовать для борьбы с багами

Дмитрий Галинский — CTO Vexor.io
Всем известная и широко применяемая методология разработки БDD (Бардак-driven development), пользуется заслуженной популярностью и применяется многими командами. К сожалению у данного подхода есть заметный минус - этот самый production периодически не работает, пользователи наблюдают 500 страницу, компания теряет деньги.

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

Эксплуатация RoR проектов

Егор Баранов — Работаю ведущим разработчиком в компании fun-box. Программирую на ruby/erlang/node.js/C. Занимаюсь по большей части инфраструктурными проектами внутри компании. Люблю сложные интересные задачи, высокие нагрузки.
Каждый проект состоит не только из разработки, но так же поддержки и эксплуатации. Думаю, каждый разработчик рано или позно сталкивается с ситуацией, когда система сломалась, что делать - непонятно, надо все быстро починить. Я постараюсь рассказать, на какие моменты в процессе разработки и эксплуатации необходимо обращать внимание, чтобы чп были как можно реже, а в идеале - отсутствовали совсем, а также как вести себя, если чп все же произошло, как искать причины проблем и как их устранять максимально быстро и безболезненно.
12:45

Правильная работа с часовыми поясами в Rails-приложении.

Андрей Новиков — Разработчик, AT Consulting.
Короткий рассказ о том как надо работать с датой и временем в приложении от базы данных до фронтенда когда пользователи раскиданы по разным часовым поясам и описание самых частых и болезненных «граблей», связанных с этим.
13:15

EventMachine или "Что делать, если вы соскучились по callback-ам?"

Николай Норкин — Разработчик Ruby on Rails в компании 7pikes
Рассмотрение библиотеки EventMachine, ее плюсов и минусов, краткий обзор возможностей и инструментов, построенных на основе этой библиотеки.
14:00

Создание Быстрых, отказоустойчивых сервисов на EventMachine.

Алексей Мартынюк — Руби разработчик в Rambler & Co. Активный участник проектов motor.ru, moslenta.ru, lenta.ru.
Когда нужно решать задачи проксирования запросов или агрегирования данных из нескольких источников в реальном времени, удачным решением могут стать сервера на неблокирующих сокетах и событийно­ориентированное программирование. Разберём приемущества подхода. Расскажу где и как можно применять сервисы на EM. На примерах покажу возможности фреймворка. Рассмотрим варианты оптимизации прокси и трюки для выполнения блокирующего кода при агрегации. Покажу реализацию отказоустойчивого сервера.
15:30

Принципы построения распределенных баз данных.

Алексей Никитин — Старший заднеконцевик в Bookmate
Создавать распределенные приложения сложно. Создавать распределенные базы данных особенно. Попробую описать основные проблемы в этой области и как их пытаются решать. Консенсус, кворум, CRDT, paxos и др. баззворды.
16:15

Сбор и обработка статистики о прочтениях книг

Евгений Ли — Разработчик в Bookmate
Bookmate — это сервис для чтения электронных книг по подписке. Каждую минуту пользователи сервиса прочитывают более 1000 страниц с экранов своих мобильных устройств и браузеров. Узнаем, как мы собираем и обрабатываем статистику о прочтениях для аналитики и расчета выплат правообладателям. Рассмотрим те проблемы масштабирования, с которыми нам пришлось столкнуться, как мы пытались их решить с использованием таких инструментов как MongoDB, Elasticsearch и какие мы сделали для себя выводы.
17:15

Tarantool, Sharding и Nginx: скорость, простота, масштабируемость.

Андрей Дроздов и Василий Сошников — Андрей - разработчик в отделе Tarantool, MailRu. Василий - разработчик в проекте top.mail.ru, MailRu.
Недавно в Tarantool появились библиотека для шардинга и upstream модуль для Nginx. Мы расскажем о том, как обрабатывать большие объемы данных при помощи этих технологий.

* Обзор внутреннего устройства шардинга в Tarantool 1.6
* Обзор upstream модуля для Nginx.
* Live-demo: распределенное отображение графа категорий Wikipedia в СУБД Tarantool с единой точкой входа и возможностью реалтайм поиска по категориям.
18:15

Глубокая аналитика реальной скорости сайта

Николай Мациевский — Николай профессионально занимается скоростью, надежностью и доступностью веб-сайтов уже много лет. Выступал с серией докладов на эту тему на десятках отраслевых мероприятий. Является автором книг «Разгони свой сайт» и «Реактивные веб-сайты». Основал первую в России компанию, профессионально занимающуюся повышением качества и быстродействия сайтов различной сложности — WEBO Software, базовый продукт которой — WEBO Site SpeedUp — успешно работает на тысячах сайтов по всему миру, а сервисы мониторинга скорости и доступности используются в крупнейших компаниях России. Также Николай работает в составе рабочих групп РАЭК, W3C и объединения разработчиков «Веб-стандарты». Облачный сервис Айри, являясь передовым продуктом компании WEBO Software, позволяет ускорить и защитить любой сайт от наиболее распространенных угроз за считанные минуты.
В докладе я расскажу, какую информацию можно собрать о клиентской производительности сайта у реальных пользователей и как на ее основании понять реальные проблемы пользователей, связанные со скоростью сайта.
19:00

Работа с требованиями в стартапе

Байкин Александр — Работает в ИТ более 15 лет, за это время был разработчиком, аналитиком, ведущим аналитиком, менеджером проектов, руководителем отдела разработки. В настоящий момент ИТ директор в бизнес компании. Основатель и идеолог крупнейшего ресурса для Аналитиков uml2.ru Тренер и консультант в области ИТ анализа и методологий разработки ПО. Докладчик многих ИТ конференциях в России, Белоруссии и на Украине. "Знания и навыки, полученные за время работы аналитиком, мне помогают на руководящих позициях и в жизни" (с) http://baikin.moikrug.ru/
Я участвовал в нескольких интернет старпах в роли аналитика и менеджера проекта, видел много проблем, с которыми сталкиваются на начальных этапах в старапе и уже после того, как вроде бы все вышло на рельсы. В этом докладе я расскажу весь свой накопленный опыт по работе с требованиями (и не только с требованиями) в старапе.
Тезисы:
1. Основные ошибки при работе с требованиями.
2. Первый продукт вы все равно выкинете! Почему и что делать в этой ситуации?
3. Видение или концепция - залог успеха в начале! Зачем оно нужно и что должно туда войти?
4. Зачем писать требования? Какие требования необходимы в старатпе и как их писать? Инструменты для документирования и моделирования требований.
5. Что делать, если у вас нет выделенного аналитика в старапе? Как вовлекать бизнес в требования?
6. Методы выявления (получения) требований в старапе.
Python № 3
11:00

asyncio: обзор ситуации на сегодняшний день.

Андрей Светлов — Python Core Developer. Разработчик asyncio. Создатель aiohttp, aiopg и ряда других библиотек для asyncio
asyncio -- это стандарт и одновременно эталонная реализация асинхронного сетевого программирования в Python 3.
Что мы имеем сейчас и куда идём.
PEP 492 и новые конструкции языка.
Особенности разработки, отладки и тестирования асинхронного кода.
12:00

Yet another object level permissions

Сергей Лихобабин — Руководитель отдела внутренней разработки Mail.Ru Group.
Я расскажу о механизме управления правами и доступом на уровне объектов на примере моего Django-protector.
Поговорим о том, как:
Эффективно хранить данные о связях владельцев прав и объектов
Подружить права уровня объектов с группами
Эффективно проверять права доступа на списках объектов
Работать с видимостью иерархических объектов
13:00

Centrifuge - мгновенные сообщения для веб-приложений, эволюция проекта от Python к Go

Александр Емелин — Python-developer в Mail.Ru Group
Centrifuge - open-source сервер рассылки real-time сообщений для веб-приложений, работает как с протоколом Websockets, так и с SockJS. Сервер не завязан на язык бекенда вашего веб-приложения, предоставляя клиентский и серверный API для взаимодействия. В докладе будет рассказываться о возможностях, которые "из коробки" предоставляет проект, о проблемах, с которыми пришлось столкнуться, разрабатывая асинхронное приложение на Tornado, о плюсах, которые совершенно бесплатно предоставил язык Go для подобного рода сервера.
13:45

view как чистая функция от состояния базы данных

Беда Илья — Разработчик web приложений с 7 летним стажем. Тимлидер bro.agency Занимаюсь разработкой приложений на python, Erlang, clojure. Адепт функционального программирования.
There are only two hard things in Computer Science: cache invalidation and naming things.
(c) Phil Karlton

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

На помощью придут чистые функции и библиотека django-cacheops
15:30

Мастер-класс по асинхронному сетевому программированию на Python

Андрей Светлов — Python Core Developer Принимал участие в создании библиотеки asyncio Соавтор aiohttp и ряда других библиотек для asyncio Провёл ряд тренингов по обучению асинхронному сетевому программированию.
Во время мастер класса я покажу как писать код для asyncio и, главное, как эта библиотека работает под капотом.
Для примеров будем использовать aiohttp и asyncio-совместимые библиотеки для баз данных и проч.
Мастер-класс будет полезен как тем кто хочет знать о внутренней кухне asyncio так и тем кто применяет tornado/twisted -- сетевое программирование не сильно меняется при переключении на другой инструмент, принцип и основы одни и те же.
17:15

Мастер-класс по асинхронному сетевому программированию на Python

Андрей Светлов — Python Core Developer Принимал участие в создании библиотеки asyncio Соавтор aiohttp и ряда других библиотек для asyncio Провёл ряд тренингов по обучению асинхронному сетевому программированию.
Во время мастер класса я покажу как писать код для asyncio и, главное, как эта библиотека работает под капотом.
Для примеров будем использовать aiohttp и asyncio-совместимые библиотеки для баз данных и проч.
Мастер-класс будет полезен как тем кто хочет знать о внутренней кухне asyncio так и тем кто применяет tornado/twisted -- сетевое программирование не сильно меняется при переключении на другой инструмент, принцип и основы одни и те же.
18:45

Django DB Mailer — простая и удобная батарейка, для отправки почтовых сообщений в ваших проектах на Python и не только

Руслан Аскаров — Занимаюсь разработкой на Python и Архитектурой приложений в LPgenerator.
В докладе будет рассказано о том, как решаются проблемы с отправкой разного рода сообщений, для проектов выше среднего и немного об OpenSource:)
Javascript № 1
11:00

Интеграция Webpack в приложение на Ruby on Rails

Михаил Чернобров — Разработчик клиентских приложений в Rambler&Co
Привет, в мире web разработки я уже 10 лет, начал верстать когда это еще не было мейнстримом.

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

Приходите на мой доклад в котором:
– Вместе мы рассмотрим самые популярные инструменты для сборки;
– Я расскажу Вам о реальном опыте внедрения WebPack в приложение на Ruby on Rails, и поведаю историю о зоопарке технологий с которыми каждому из нас приходится жить;
– Подскажу как не быть съеденным собственной историей и техническим долгом, а так же как легко перейти на Ты со сборкой статики;
– Попробую показать Вам, как не мыслить моделью задач, а перейти непосредственно к написанию своего приложения легко и быстро собирая минифицированные, модульные компоненты;
12:00

TypeScript для PHP разработчика

Александр Майоров — Руководитель отдела Frontend разработки в Tutu.ru. Помимо основной работы занимается преподаванием курса веб-разработки в МГУ на факультете ВМК, пишет статьи о программировании и бизнес процессах в печатные издания "CHIP", "Системный Администратор".
Доклад посвящен проблемам современного JavaScript с учётом особенностей стандарта ES6/7 и путям их решения с помощью языка TypeScript. Основная цель доклада – показать, как с помощью TypeScript можно улучшить разработку, а также как легко писать энтепрайз решения разработчикам на PHP. Доклад основан на реальном применении TypeScript в наших проектах, в компании Tutu.ru.
13:00

HTML5 Web Components: следующий шаг к модульности вашего проекта

Андрей Рахманов — Ведущий frontend-разработчик в проекте Underpage. Занимается разработкой онлайн-редактора интерактивных книг, интересуется новыми frontend-решениями и подходами к улучшению качества разработки клиентской части.
На сегодняшний день frontend-технологии - одна из наиболее динамично развивающихся отраслей информационных технологий. Появилось множество реализаций известных шаблонов проектирования, написаны тысячи строк Javascript-кода и потрачены сотни часов на stackoverflow для понимания работы этого самого кода. Несмотря на различные подходы, все эти инструменты служат нескольким важным принципам: снижению сложности, улучшению модульности и архитектуры в целом.

HTML5 Web Components стандартизируют эти идеи, прошедшие через огонь, воду и тяжелые Javascript-фреймворки. Мы поделимся опытом внедрения Web Components в проект с объемной single-page логикой, расскажем, как удобнее работать с веб-компонентами, принимая во внимание текущее состояние реализации, а также дадим советы, где постелить соломы при вашем собственном старте работы с веб-компонентами.
13:30

Обзор инновационных систем push-уведомлений

Александр Михайленко — Основатель и CEO Jeapie, бесплатной платформы push-уведомлений.
15 апреля 2015 года с выходом Google Chrome 42 произошла революция веб-разработки, которую никто не заметил. Теперь сайты могут отсылать короткие сообщения прямо в ОС пользователя даже при закрытой вкладке с сайтом и выключенном браузере, без необходимости устанавливать какие-либо плагины. На докладе будет сделан обзор новой фичи, призванной поменять способ коммуникации между веб-приложением и пользователем.
Также, естественно, разберем как писать свой Service-Worker и прикрутить это к своему сайту.
14:00

Интерактивная 3D графика при помощи WebGL

Василика Климова — Разработчик интерфейсов в компании Artec Group.
Доклад на тему применения 3D технологии WebGL в браузерах.
Поговорим о том, где актуально использование WebGL.
Рассмотрим библиотеку Three.js на примере создания просмотровщика трехмерных моделей.
Углубимся в язык шейдеров GLSL ES.
14:30

React Native

Евгений Соковиков — Инженер-программист в компании Рестрим. Писал на React до того, как это стало мэйнстримом. Github: github.com/skv-headless
Писать мобильные приложения на Javascript можно было и раньше, так почему же так много шума вокруг ReactNative? Я расскажу о том, почему появился такой фреймворк и какие цели он преследует. Когда стоит использовать, и с какими трудностями придется столкнуться. Расскажу об устройстве ReactNative и какое отношение он имеет к React. И немного про другие фэйсбуковские проекты связанные с ReactNative (flow, Nuclide).
15:45

Применение Scala.js в реальном проекте

Алексей Фомкин — Меня зовут Алексей Фомкин и я уже восемь лет разрабатываю пользовательские интерфейсы. Писал много и на разном. Сейчас возглавляю команду разработки мобильного приложения полностью основанного на веб-технологиях. Мой аккаунт на гитхабе: http://github.com/yelbota
В своем докладе я расскажу, как полезен может быть язык Scala для фронтэнд-разработчиков, и почему пришло время писать в стиле функционального реактивного программирования (FRP).
16:15

Создание карты игрового мира на API Яндекс.Карт

Всеволод Шмыров — Разработчик в команде API Яндекс.Карт. В 2013 году уже выступал на конференции DevConf.
Мастер-класс посвящен созданию собственной карты на основе API Яндекс.Карт. Участники мастер-класса пройдут все этапы разработки проекта на основе API Яндекс.Карт на примере создания карты игрового мира.
17:15

Создание карты игрового мира на API Яндекс.Карт

Всеволод Шмыров — Разработчик в команде API Яндекс.Карт. В 2013 году уже выступал на конференции DevConf.
Мастер-класс посвящен созданию собственной карты на основе API Яндекс.Карт. Участники мастер-класса пройдут все этапы разработки проекта на основе API Яндекс.Карт на примере создания карты игрового мира.
18:00

Год работы стоя

Антон Каляев — Software Engineer (Erlang) https://twitter.com/AntonKalyaev
Я расскажу вам историю двух самых обычных зайцев - Майка и Адама. Оба они проработали большую часть своей жизни программистами. Они оба писали код, тестировали его, выкатывали его на продакшн, чинили продакшн, упавший в 3 часа ночи. Веселые были времена... Теперь же, Адам еле передвигает ноги - из-за сидячего образа жизни ноги к старости стали совсем никудышные. А Майк в свои 60 лет до сих пор бегает на лыжах! Как ему это удалось, спрашиваете вы?
Одним только столом для работы стоя тут явно не обошлось. Я предлагаю вам поговорить о болячках программистов и о том, как их избежать. Что-то я почерпнул из книг, что-то из личного опыта.
18:30

Интеллектуальная собственность в IT

Олег Абраменко — Руководитель направления ИТ, патентная практика ЦИС "Сколково". Опыт в сфере интеллектуальной собственности более 3-х лет. Проходил стажировки по интеллектуальной собственности в Лондоне и Нью-Йорке. Имеет большой опыт патентования и охраны ИТ решений. Аспирант МГУПИ, кафедра моделирования систем. Ранее работал программистом в Лаборатории Касперского. Участник IT lawyers discussion club.
В рамках доклада расскажу:
-что охраняется в ИТ: исходный код, алгоритмы, железо, дизайн
-что сильнее: авторское право или патент?
-что нужно помнить при выходе на зарубежные рынки?
-какие подводные камни меня ожидают при использовании OpenSource?
-интеллектуальная собственность третьих лиц. Как не нарушить?
-актуальная практика.
DevOps № 6
11:00

OpenStack сегодня

Илья Алексеев — Openstack зацепил в 2010 году, с тех пор не отпускает. Работает в компании ITKey
OpenStack - популярная открытая платформа для создания облаков.

В докладе я расскажу:
- что это и зачем это нужно
- об имеющихся интегрированных проектах
- высокоуровневой архитектуре
- куда смотреть если стало интересно
12:00

Тестируем инфраструктуру как код

Игорь Курочкин — Работаю инженером в компании Express 42. До этого прошел путь в Qik/Skype/Microsoft. Интересуюсь автоматизацией системного администрирования и архитектурами больших систем.
Если инфраструктура становится кодом, то хороший код должен быть покрыт тестами. Тестирование инфраструктуры особенно актуально, если у вас частые изменения, сложная логика или используется сторонний код.

Я расскажу про основные инструменты и подходы в тестировании инфраструктуры, как все это автоматизировать и про наш опыт в Express 42. Начиная с анализа кода, интеграционных тестов и заканчивая использованием CI систем. Также расскажу про публикацию инфраструктурного кода в open source.

Доклад будет интересен пользователям любой из систем управления конфигурацией - Chef, Puppet, Ansible или SaltStack.
13:00

Как мы делаем мониторинг

Александр Чистяков — Главный инженер компании Git in Sky, неоднократный докладчик DevConf в предыдущие годы, котик. Любит хорошие старые вещи и блестящие новые вещи. Не боится людей.
По какой-то причине я не переношу Zabbix (видимо, у меня аллергия), а поэтому мне приходится использовать альтернативные варианты мониторинга и алертинга. К сожалению, в 2015 году хорошего универсального варианта все еще не существует (кто там опять сказал "Zabbix"?). Поэтому, приходится комбинировать разные системы. В процессе комбинирования мне пришлось познакомиться не только с уже известным всем стеком Graphite/StatsD/Grafana, но и с Riemann, OpenTSDB, Cyanite, Bosun, Prometheus. О плюсах и минусах использования этих решений в продакшн я и хочу рассказать.
13:45

Docker и сеть: варианты использования

Александр Чистяков — Главный инженер компании Git in Sky, неоднократный докладчик DevConf в предыдущие годы, котик. Любит хорошие старые вещи и блестящие новые вещи. Не боится людей.
Я надеюсь, что вводный доклад про Docker сделает кто-нибудь другой, а я хочу поговорить об организации сложных сетевых топологий с использованием Docker. Слово "сложный" означает, что мы хотим объединять контейнеры, находящиеся на хостах в разных датацентрах, в общую сеть, и простого проброса портов, предоставляемого Docker по умолчанию, нам недостаточно. Мы рассмотрим удобство настройки и производительность таких продуктов, как OpenVSwitch, Weave и Flannel.
15:30

Мониторинг в Mail.Ru Group

Сергей Лихобабин — Руководитель отдела внутренней разработки в Mail.Ru Group. Более трех лет занимаюсь разработкой внутренних и инфраструктурных проектов компании, в том числе мониторингом
Расскажу о том как устроен мониторинг в Mail.Ru Group. О том почему мы делаем собственный мониторинг и объединяем между собой весь зоопарк инструментов мониторинга различных проектов.
16:15

Сколько ботов в соцсетях? Создаем сервис определения ботности

Юрий Агапов — Руководитель отдела разработки компании СмартКрауд
Выявление ботов в социальных сетях - актуальная проблема, которая интересна буквально всем, кто в “теме”, от стейкхолдеров до рядовых пользователей, от СММ-агенств до тех, кто их услугами пользуется.
Возможно ли определить бота по его странице в соц. сети не запрашивая скан паспорта?
Мы расскажем о собственном опыте: успехах и «набитых шишках», о том, как мы пытались разобраться в миллионах социальных аккаунтах, понять, кто "живой", а кто "бот", о том, как мы построили систему для анализа, выдерживающую большие нагрузки и остановились в шаге от ответа на поставленный вопрос.
В нашем выступлении можно будет услышать такие слова, как PHP, MySQL, MongoDB, Redis, социальные сети и API.
17:15

Domain-Driven Design на практике

Денис Иванов — Работает в 2ГИС над системой продаж и взаимодействия с клиентами. Занимается проектированием сложных систем. Программирует в основном на .NET-стеке. Организует CodeFest и пишет статьи на актуальные темы в своем блоге.
Вы задумывались как мы проектируем?
Кажется, варианта два:
- быстро, чтобы решить текущие задачи,
- с погружением в детали, чтобы решать задачи не только настоящего, но и будущего.

Первый вариант применим, когда требуется проверить бизнес-идею. Однако, если стартап "взлетел", требуется обращать больше внимания на качество проектирования для получения необходимого уровня гибкости системы. Для этого отлично подходит Domain-Driven Design.

В докладе я расскажу как использовать DDD, чтобы действительно получить хороший результат, и приведу примеры использования DDD в создании внутренних систем компании 2ГИС.
18:30

Альтернативная мотивация разработчиков

Антон Ларченков — CTO в Enaza. В компании работает около 100 сотрудников, половина – технические специалисты.
Одной из основных проблем любого руководителя команды разработчиков это их мотивация и повышение эффективности работы команды. Разработчики – самый прихотливый, свободолюбивый и творческий тип сотрудников. Во времена карго-культа программистов я хотел бы рассказать о своем видении понятия «профессионализм» и предложить вам уволить часть людей, которых вам постоянно предлагают мотивировать. В докладе я постараюсь аргументировано рассказать вам о категориях людей, которые у вас все еще работают; почему вы их не уволили; почему их надо уволить; как не стать самодуром; как увольнять и кому же тогда работать.
Storage № 8
11:00

Как пережить скачок нагрузки на MySQL?

Владимир Федорков — Последние тринадцать лет работает в области высоких нагрузок. Беспощадно консультирует клиентов по вопросам производительности LAMP стека вообще, MySQL и Sphinx в частности. Характер скверный. Не женат.
Повышение нагрузки может быть хорошей новостью, особенно если речь идет о скачке популярности сайта, но в то время пока все ликуют админы баз данных вынуждены принимать срочные меры. Что происходит при росте популярности на стороне MySQL, как подготовится и какие принимать меры когда все готово взорваться?
12:00

Транзакции и одновременный доступ: сравнение реализаций в PostgreSQL и Oracle

Егор Рогов — Postgres Professional
В докладе рассматриваются подходы к организации одновременного доступа в СУБД PostgreSQL и Oracle. Обе системы используют сходные механизмы, но существенно различаются в их реализации. Мы обсудим и посмотрим на примерах, как устроена многоверсионность на низком уровне, когда и как используются блокировки при одновременном доступе к данным и чем отличаются две системы в поддержке изоляции транзакций.
Понимание этих особенностей и различий будет полезно всем разработчикам, использующим СУБД в своей работе.
13:00

Postgresql в Avito

Михаил Тюрин — Главный системный архитектор Avito
Компоненты системы тесно связанные с Postgres: хранение и "распространение" объявлений. Особенности внедрения в нагруженном вебе. Восстановление после аварий.
15:30

Мониторинг и отладка MySQL: максимум информации при минимальных потерях

Света Смирнова — Света (svetasmirnova) Смирнова, Percona, инженер технической поддержки MySQL с более чем 8-ми летним стажем, автор книги "MySQL Troubleshooting"
В сложной ситуации хорошо иметь под рукой детали: сообщения об ошибках, статистику времени выполнения запросов, данные о производительности операционной системы и железа. Много деталей! Современные версии MySQL позволяют собрать информацию практически обо всём. Однако любой включённый мониторинг имеет свою цену: производительность. Именно поэтому универсального решения "всё включено", подходящего для любого MySQL приложения, не существует. Даже при использовании инструментов с графическим интерфейсом у вас всегда есть выбор: что отслеживать и что нет.

В докладе я хочу обсудить какие опции должны быть включены всегда, какие опциональны и при каких обстоятельствах их включать. Мы рассмотрим как встроенные возможности MySQL, так и внешние решения.
16:15

Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему PostgreSQL завоюет мир

Олег Царёв — Занимается разработкой СУБД с 2007 года. Участвовал в разработке OLAP-базы QD, затем MySQL и SciDB. В настоящий момент - ведущий разработчик myTarget.
MySQL - популярная СУБД, используемая во многих проектах. Разработчик Percona Server и инженер myTarget расскажет про неудачные решения в репликации MySQL, объяснит её устройство, рассмотрит архитектурные проблемы, многопоточную репликацию в версии 5.7. После этого доклада слушатели поймут, почему это провал, как репликацию нужно было сделать правильно, и почему проект PostgreSQL избежал этих проблем.

Мы обсудим:
- что такое асинхронная репликация;
- как устроена асинхронная репликация в MySQL;
- какие ошибки проектирования были допущены;
- как эти ошибки проявляются при использовании;
- чем эти ошибки мешают эксплуатации;
- почему параллельная репликация MySQL 5.7 не решает проблем, а лишь добавляет новые;
- как проект PostgreSQL избежал этих ловушек.
17:15

Масштабируем бэкапы: сравнение утилит резервного копирования для MySQL

Алексей Копытов — Разработчик компании Percona с 2010 года, участвует в развитии Percona Server, Percona XtraDB Cluster и Percona XtraBackup. Разрабатывает MySQL с 2004 г., работал в MySQL AB, а также в Sun Microsystems и Oracle.
Хотя MySQL и является рекордсменом по числу доступных утилит резервного копирования, выбор той или иной утилиты является нетривиальной задачей. В данном докладе мы поговорим о создании резервных копий высоконагруженных MySQL-серверов - в частности, о следующих вопросах:

- что выбрать: mysqldump, mydumper, mylvmbackup, XtraBackup или коммерческие решения?
- оптимизация резервного копирования больших объёмов данных;
- проблемы блокировок сервера во время создания резервных копий;
- проблемы, связанные с большим количеством таблиц;
- эффективное создание инкрементальных резервных копий;
- эффективное создание частичных резервных копий и частичное восстановление;
- проверка целостности резервных копий на больших объёмах данных;
- хранение резервных копий в "облаках".
18:00

Графовая база Neo4j во внутреннем приложении 2ГИС

Антон Максимов — Программист в 2ГИС. Писал на Java биллинги и MMO-игры, теперь пересел на .NET и делаю очень крутую систему картографии для внутренних потребностей компании.
На докладе расскажу о внутренних продуктах 2ГИС. О том, как мы создаём дорожные графы городов, как нам в этом пригождается Neo4j, и о нашей истории отношений с этой графовой базой.
18:30

Распределенная версионированная транзакционная web-ориентированная файловая система Djarvur

Даниил Подольский — Руководитель проектов Git in Sky, IT-консультант, фрилансер. В сфере IT c 1990 года. С 2000 года консультирует разнообразные интернет-стартапы по вопросам построения эффективных и безопасных серверных систем.
Распределенная версионированная транзакционная файловая система была разработана участниками группы Djarvur для решения задач одного из клиентов.

На данный момент эта FS успешно обслуживает 800 тысяч сайтов, 150 миллионов файлов, 20 терабайт контента.

"Распределенная" означает, что базируется она на кластерной NoSQL СУБД (на данный момент поддерживаются aerospike и cassandra).
"Версионированная" означает, что разные версии контента хранятся на файловой системе указанное время, и доступны для просмотра и восстановления.
"Транзакционная" означает, что замена старого контента на новый производится единовременно, в том числе и для контента, состоящего из множества файлов.
"web-ориентированная" означает, что внутренняя структура FS оптимизирована для обслуживания именно http-трафика.
19:15

Lightning Memory-mapped DB = чемпион-альтернатива для LevelDB и Berkeley DB

Леонид Юрьев — Ведущий софтверный архитектор в Петер-Сервис R&D, Сколково. https://ru.linkedin.com/pub/leonid-yuriev/66/a55/676
Lightning Memory-Mapped Database (LMDB) - представляет собой интересный, во многом уникальный, движок базы данных класса Berkeley DB / Level DB. Будучи относительно малоизвестным, LMDB показывает чемпионскую производительность по чтению и предлагает ряд компромиссов для достижения невероятной производительности по записи.

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

Доклад точно будет интересен разработчикам, интересующимся "внутренностями" баз данных, а также специалистам, эксплуатирующим OpenLDAP в промышленном высоконагруженном масштабе: десятки миллионов записей, десятки тысяч запросов в секунду, геораспределенный кластер, многогигабайтные базы, 24x7.
Common № 2
11:00

API

Сергей Константинов — Руководитель разработки API Яндекс.Карт. В 2013-2015 гг. входил в W3C Technical Architecture Group — специальную группу, занимающуюся решением кросс-архитектурных проблем Веба.
Поговорим о том, что такое API; зачем он нужен, как его правильно проектировать, продвигать и сопровождать; как выпускать новые версии и поддерживать обратную совместимость между ними. Доклад для широкой аудитории, будет интересен как менеджерам, так и разработчикам API.
12:00

Рефакторинг приложения с использованием Go

Виталий Левченко — Системный архитектор PropellerAds. Проповедую Go.
Я расскажу, как рефакторинг высоконагруженного рекламного сервера на PHP с обилием legacy дал выигрыш по производительности более чем в 5 раз.

С ростом нагрузки горизонтальное масштабирование сервиса на динамическом языке программирования начинает неоправданно требовать десятки-сотни серверов. С ростом кодовой базы внесение изменений в такое же монолитное приложение становится неоправданно дорогим. Решение известное и простое: в ключевых местах выделять микросервисы. Для этой цели хорошо подходит Go, как высокопроизводительный язык, который учится за 1-2 дня, и из коробки удобен для микросервисов.

Я расскажу, как подходить к задаче такого рефакторинга и продать его заказчику, про подводные камни разработки и поддержки высоконагруженного сервиса на Go, и про внезапные проблемы с опенсорсными решениями. Кратко расскажу, как быстро и легко внедрять микросервисы при помощи современных сервисов типа Consul'а.
13:00

Архитектура хранения фотографий в Badoo

Юрий Насретдинов — Ведущий разработчик в Badoo, работаю в отделе «платформы». Один из основных разработчиков «облака» (системы для распределенного запуска cli-скриптов по расписанию). Также занимался deployment и системой переводов. В веб-разработке около 10 лет, из которых 3 года в Badoo.
В этом докладе я в подробностях расскажу о том, как устроено хранение фотографий в нашей компании (всего около ~1 Пб).
13:45

Делаем API мобильного приложения

Глеб Косолапов — Руководитель отдела разработки мобильных приложений в УУРРАА. Разрабатываю ПО для мобильных устройств ещё со времён PDA ☺
Мы задумались над тем, как наилучшим образом интегрировать мобильные приложения в экосистему продуктов компании. Все привыкли к тому, что мобильное приложение использует серверное API, я же в своём докладе хочу поднять тему создания API самого мобильного приложения на основе определения собственной URI схемы.
Использование URI схем позволяет уменьшить изолированность мобильного приложения, внести гибкость в его работу, повысить привлечение и удержание пользователей.
14:15

Шаблонизация: как дедушка завещал

Алексей Ярошевич — Агентство "Далее". Руководитель группы разработки проекта Megafon.ru
- Предпосылки для шаблонизаторов
- Декларатив vs императив: плюсы и минусы
- Внутренние проблемы шаблонизации — компиляция, рантайм, внутренние
представления
- В поисках идеала: предметно-ориентированные варианты, их плюсы и минусы
15:45

Загрузка больших объемов данных для бизнес-аналитики.

Валерий Старынин — BI-разработчик в Badoo.
В Badoo мы разрабатываем собственную систему Business intelligence (сокращённо BI). И прежде, чем приступать к анализу данных, их необходимо извлечь (Extract) из источников, преобразовать (Transform) и загрузить (Load) в аналитическую базу.
Я расскажу об этом процессе - ETL (Extract, Transform, Load). Какие бывают источники данных, какие методы сбора мы используем. И самое главное - об инструменте под названием ETLMaster, созданным в нашей компании для автоматизации управления процессом трансформации и загрузки данных.
16:30

Уменьшение связности и рефакторинг старого проекта

Евгений Баранов — Руководитель разработки крупного портала для веб мастеров pr-cy.ru. Опыт в ИТ более 10 лет.
Имеем большой и старый (более 8 лет) web проект. За годы непрерывной разботки появилось множество сервисов которые жестко связаны между собой. Проблемы в одном из сервисов или компонентов приводят к выходу из строя всего портала. Необходимо провести глубокий рефакторинг не нарушая работоспособность всего проекта и продолжая разработку новых сервисов.

Для решения этих проблем было выработано несколько подходов:
* Полное разделение кодовой базы проектов – никаких подключаемых библиотек из шаред папки
* Что бы не дублировать повторяющийся код – собственные пакеты composer, bower
* Всё взаимодействие между сервисами происходит через API, авторизация OAuth 2.0 и REST
* Новый код – покрыт Unit тестами, для старого реализованы интерфейсы обратной совместимости

Мы получили возможность создавать интегрированные с общей системой независимые проекты. Рядом успешно работает код написанные более 5 лет назад и тот что внедрили вчера.
17:15

Управление проектом во время кризиса

Григорий Кочанов — Технический руководитель и бизнес-консультант. За последние полтора года реанимировал умирающий информационный проект, выстроил эффективные бизнес-процессы, из локального вырастил во всероссийский и помогаю стабильно развиваться. В прошлом - тимлид крупного ecommerce, 8 лет аутсорсинга, финансовый аналитик в крупном банке, торговля ценными бумагами и аудит.
Предлагаю обсудить что именно надо делать, и чего делать нельзя в интернет-проектах.

Главное отличие работы в кризис - высокая цена ошибок. Неверные решения, которые в периоды роста незаметны, в кризис становятся для бизнеса смертельными.
Я расскажу об основных ошибках руководителей IT-проектов, и как с этим жить.
18:30

Реактивные потоки в бекенде

Алексей Романчук — Программирую на Scala и Java. Выступаю на DevDay. Организую CodeFest.
Реактивные потоки это стандарт асинхронной обработки потоковых данных от Netflix, Twitter, Pivotal и других. Я расскажу зачем и как их использовать для построения бекендов:
— в чем проблемы построения современных асинхронных бекендов
— что такое реактивные потоки и как они помогают строить бекендов
— принципы работы реактивных потоков
— основы работы с реактивными потоками на примере Akka Stream