SlideShare a Scribd company logo
1 of 133
Download to read offline
Как 200 строк на Go
освободили 15 серверов
Pavel Murzakov
Badoo — это
✦ 320 млн пользователей
✦ 400 тыс регистраций каждый день
✦ ~3000 серверов
✦ 70 тыс клиентских запросов на бэкенды в секунду
Grigoriy
Igor
Diego
✦ 4 больших отдела: Features, Billing, Back Office, Platform
✦ В каждом по ~10-25 человек (разделены на команды)
✦ Вопроса о выборе языка не встаёт (есть куча других
важных проблем!)
PHP в Badoo
PHP в Badoo
Здесь может быть
твоё фото
Go в Badoo
Go в Badoo
первый демон на GO в
продакшене - 2014 г.
Go в Badoo
http://goo.gl/cGU1gU
Go в Badoo
PHP в Badoo
Go в Badoo
Здесь может быть
твоё фото
О чём доклад
О чём доклад
✦ Задача, которую мы решали
О чём доклад
✦ Задача, которую мы решали
✦ Прежняя реализация на PHP
О чём доклад
✦ Задача, которую мы решали
✦ Прежняя реализация на PHP
✦ Релаизация на Go
Задача
Профайл
Блок Friends
Блок Friends
Блок Friends
Блок Friends
✦ Основан на друзьях из Facebook
Блок Friends
✦ Основан на друзьях из Facebook
✦ Общие друзья
Блок Friends
✦ Основан на друзьях из Facebook
✦ Общие друзья
✦ Особенно интересны не зарегистрированные на Badoo
Общие друзья
A
X
Y
Мы
Общие друзья
A B
X
Y
Z
Y
Мы Кого мы смотрим
Общие друзья
A B
X
Y
Z
Y
Мы Кого мы смотрим
Общий друг
Реализация #1
✦ Заранее скачиваем с FB друзей текущего пользователя
A X Y
Реализация #1
✦ Заранее скачиваем с FB друзей текущего пользователя
✦ Заранее скачиваем с FB друзей просматриваемого
пользователя
A X Y BZ Y
Реализация #1
✦ Заранее скачиваем с FB друзей текущего пользователя
✦ Заранее скачиваем с FB друзей просматриваемого
пользователя
✦ Пересекаем списки в момент показа
A X Y BZ Y
Реализация #1
✦ Заранее скачиваем с FB друзей текущего пользователя
✦ Заранее скачиваем с FB друзей просматриваемого
пользователя
✦ Пересекаем списки в момент показа
✦ PROFIT!!!!
A X Y BZ Y
Апдейт FB API v2.0
Апдейт FB API v2.0
Было
Friends endpoint
* Зарегистрированные (дали доступ Badoo на FB)
* Незарегистрированные
Апдейт FB API v2.0
Было Стало
Friends endpoint
* Зарегистрированные
* Незарегистрированные
Friends endpoint
* Только зарегистрированные
Апдейт FB API v2.0
Было Стало
Friends endpoint
* Зарегистрированные
* Незарегистрированные
All Mutual Friends endpoint
* Зарегистрированные
* Незарегистрированные
* Нужно 2 fb_id
Friends endpoint
* Только зарегистрированные
Реализация #1 — крах
✦ Предварительно скачать всех друзей мы не можем
✦ => Надо получать общих друзей в онлайне
Реализация #2
✦ Предварительно скачиваем списки зарегистрированных
друзей
Реализация #2
✦ Предварительно скачиваем списки зарегистрированных
друзей
✦ В клиентском запросе на профайл делаем HTTP-запрос в
Facebook за общими друзьями
Время на запросы к FB
Время на запросы к FB
Грубо ~1 сек
Реализация #2
✦ Предварительно скачиваем списки зарегистрированных
друзей
✦ В клиентском запросе на профайл делаем HTTP-запрос в
Facebook за общими друзьями
Мы не можем ждать 1с на отрисовку профиля!
Реализация #3
✦ Предварительно скачиваем списки зарегистрированных
друзей
✦ В клиентском запросе на профайл отдельном асинхронном
запросе делаем HTTP-запрос в Facebook за общими
друзьями
PHP
PHP-FPM
Master process
Child process 1
Child process 2
Child process 3
Child process 4
Child process N
Client 1
Client 2
✦ 100 воркеров PHP-FPM на сервер
Реализация #3
✦ 100 воркеров PHP-FPM на сервер
✦ 100 серверов
Реализация #3
✦ 100 воркеров PHP-FPM на сервер
✦ 100 серверов
✦ => 100 * 100 = 10 000 воркеров
Реализация #3
✦ 100 воркеров PHP-FPM на сервер
✦ 100 серверов
✦ => 100 * 100 = 10 000 воркеров
✦ нагрузка 1 000 rps
Реализация #3
✦ 100 воркеров PHP-FPM на сервер
✦ 100 серверов
✦ => 100 * 100 = 10 000 воркеров
✦ нагрузка 1 000 rps
✦ FB “подтупляет" и начинает отвечать по 10 сек
Реализация #3
✦ 100 воркеров PHP-FPM на сервер
✦ 100 серверов
✦ => 100 * 100 = 10 000 воркеров
✦ нагрузка 1 000 rps
✦ FB “подтупляет" и начинает отвечать по 10 сек
✦ через 10 сек 

1 000 * 10 = 10 000 => все воркеры будут заняты
Реализация #3
100 воркеров на сервер
300 воркеров на сервер
7300 воркеров на сервер
✦ CPU-bound нагрузка (обычно)
✦ Память
✦ Context Switch’es
✦ Непредсказуемость времени ответа от Facebook (нужно
“перезакладываться” в десятки раз)
Воркеры — ограничения
Время на запросы к FB
Непредсказуемо
✦ Предварительно скачиваем списки зарегистрированных
друзей
✦ В клиентском запросе на профайл отдельном запросе
делаем HTTP-запрос в Facebook за общими друзьями
Мы не можем себе позволить долгие запросы!
(вообще)
Реализация #3
PHProxyd
Долгий скрипт
Короткие запросы
Реализация #4
Реализация #4
✦ В коротком клиентском запросе запускаем скрипт в PHProxyd
Реализация #4
✦ В коротком клиентском запросе запускаем скрипт в PHProxyd
✦ Клиент перепроверяет (поллит) результаты
Реализация #4
✦ В коротком клиентском запросе запускаем скрипт в PHProxyd
✦ Клиент перепроверяет (поллит) результаты
✦ В скрипте в PHProxyd делаем HTTP-запрос к FB + небольшая
бизнес логика
Реализация #4
✦ В коротком клиентском запросе запускаем скрипт в PHProxyd
✦ Клиент перепроверяет (поллит) результаты
✦ В скрипте в PHProxyd делаем HTTP-запрос к FB + небольшая
бизнес логика
Теперь точно PROFIT!!!!!!!
Теперь точно PROFIT!!!!!!!
Реализация #4
60M per day => 1000 rps в пике
Реализация #4
Реализация #4
Реализация #4
Реализация #4
Реализация #4
Реализация #4
Реализация #4
Реализация #4
Реализация #4
Реализация #4
Прага Майами
Реализация #4
Прага Майами
Реализация #4
XHProf
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
Не работает
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
✦ Преподготовить заранее кучу воркеров (php-fpm)
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
✦ Преподготовить заранее кучу воркеров (php-fpm)
Не работает
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
✦ Преподготовить заранее кучу воркеров (php-fpm)
✦ Что-то асинхронное (nodejs, React PHP)
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
✦ Преподготовить заранее кучу воркеров (php-fpm)
✦ Что-то асинхронное (nodejs, React PHP)
Мы любим PHP…
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
✦ Преподготовить заранее кучу воркеров (php-fpm)
✦ Что-то асинхронное (nodejs, React PHP)
… но НЕТ!
Мы любим PHP…
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
✦ Преподготовить заранее кучу воркеров (php-fpm)
✦ Что-то асинхронное (nodejs, React PHP)
✦ Go = пишешь “синхронный” код, работает асинхронно
PHProxyd — замена
✦ Создание воркера на новый запрос (phproxyd)
✦ Преподготовить заранее кучу воркеров (php-fpm)
✦ Что-то асинхронное (nodejs, React PHP)
✦ Go = пишешь “синхронный” код, работает асинхронно
+ “сложились звёзды”
Реализация на Go
✦ Предварительно скачиваем списки зарегистрированных друзей
✦ В коротком клиентском запросе запускаем скрипт в PHProxyd
✦ Клиент перепроверяет (поллит) результаты
✦ В скрипте в PHProxyd делаем HTTP-запрос к FB + небольшая
бизнес логика
Реализация #4 (предыдущая)
✦ Предварительно скачиваем списки зарегистрированных друзей
✦ В коротком клиентском запросе запускаем скрипт в PHProxyd
✦ Клиент перепроверяет (поллит) результаты
✦ В скрипте в PHProxyd делаем HTTP-запрос к FB + небольшая
бизнес логика (походы в MySQL, memcache итд)
Реализация #4 (предыдущая)
Реализация #5 — отличия
✦ Принимает на вход “образ” http/https запроса
Реализация #5 — отличия
✦ Принимает на вход “образ” http/https запроса
✦ Отвечает “in progress”, начинает исполнять запрос асинхронно
Реализация #5 — отличия
✦ Принимает на вход “образ” http/https запроса
✦ Отвечает “in progress”, начинает исполнять запрос асинхронно
✦ На повторные реквесты отвечает “in progress” либо данными
Реализация #5 — отличия
✦ Принимает на вход “образ” http/https запроса
✦ Отвечает “in progress”, начинает исполнять запрос асинхронно
✦ На повторные реквесты отвечает “in progress” либо данными
✦ Всю остальную бизнес-логику (базы, мемкеши) оставляем снаружи
Реализация #5
✦ Глобальный map с заданиями и результатами
Реализация #5
✦ Глобальный map с заданиями и результатами
✦ HTTP-сервер, принимает “json” образ запроса, шлёт его в канал
Реализация #5
✦ Глобальный map с заданиями и результатами
✦ HTTP-сервер, принимает “json” образ запроса, шлёт его в канал
✦ N горутин читают из канала, шлют запрос в FB
Реализация #5
✦ Глобальный map с заданиями и результатами
✦ HTTP-сервер, принимает “json” образ запроса, шлёт его в канал
✦ N горутин читают из канала, шлют запрос в FB
✦ После получения результата пишут его в глобальный map
Реализация #5
✦ Глобальный map с заданиями и результатами
✦ HTTP-сервер, принимает “json” образ запроса, шлёт его в канал
✦ N горутин читают из канала, шлют запрос в FB
✦ После получения результата пишут его в глобальный map
✦ Повторный запрос отдаёт результат из этого map
Реализация #5
✦ Глобальный map с заданиями и результатами
✦ HTTP-сервер, принимает “json” образ запроса, шлёт его в канал
✦ N горутин читают из канала, шлют запрос в FB
✦ После получения результата пишут его в глобальный map
✦ Повторный запрос отдаёт результат из этого map
Дублируем продакшен-трафик!!!
Pprof
Keep-Alive
Прага Майами
+ демон на GO + демон на GO
Вписываем в инфраструктуру
Вписываем в инфраструктуру
✦ JSON over HTTP -> “homemade” proto (GPB/JSON over TCP)
Вписываем в инфраструктуру
✦ JSON over HTTP -> “homemade” proto (GPB/JSON over TCP)
✦ Tests
Вписываем в инфраструктуру
✦ JSON over HTTP -> “homemade” proto (GPB/JSON over TCP)
✦ Tests
✦ Build / Deploy
Вписываем в инфраструктуру
✦ JSON over HTTP -> “homemade” proto (GPB/JSON over TCP)
✦ Tests
✦ Build / Deploy
✦ Statistics / monitoring
Было Стало
Заключение
✦ Badoo, Фича Friends
Заключение
✦ Badoo, Фича Friends
✦ PHP, PHP-FPM, долгие запросы, запросы к внешним сервисам
Заключение
✦ Badoo, Фича Friends
✦ PHP, PHP-FPM, долгие запросы, запросы к внешним сервисам
✦ Go: прототип, pprof, keep-alive
Заключение
✦ Изолируйте проблему
Выводы
Выводы
✦ Изолируйте проблему
✦ Делайте прототипы
Выводы
✦ Изолируйте проблему
✦ Делайте прототипы
✦ Не бойтесь экспериментировать
Спасибо!

More Related Content

What's hot

Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooBadoo Development
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годBadoo Development
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Ontico
 
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Badoo Development
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примереSergey Xek
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Tanya Denisyuk
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Ontico
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустяYuriy Nasretdinov
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Ontico
 
OpenResty: превращаем NGINX в полноценный сервер приложений / Владимир Прота...
OpenResty: превращаем NGINX в полноценный сервер приложений  / Владимир Прота...OpenResty: превращаем NGINX в полноценный сервер приложений  / Владимир Прота...
OpenResty: превращаем NGINX в полноценный сервер приложений / Владимир Прота...Ontico
 
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Tanya Denisyuk
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Ontico
 
Как собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикКак собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикAndrew Minkin
 
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...Ontico
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Tanya Denisyuk
 
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...Yehor Herasymchuk
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015Alex Chistyakov
 
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...Ontico
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014Maxim Dementyev
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017Alex Chistyakov
 

What's hot (20)

Архитектура хранения фотографий в Badoo
Архитектура хранения фотографий в BadooАрхитектура хранения фотографий в Badoo
Архитектура хранения фотографий в Badoo
 
Docker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через годDocker в работе: взгляд на использование в Badoo через год
Docker в работе: взгляд на использование в Badoo через год
 
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
Twisted Framework - фреймворк для написания сетевых приложений на Python (Анд...
 
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
Эволюция php code coverage в Badoo. Доклад Ильи Агеева на LoveQA РИТ.
 
Путь к Go на конкретном примере
Путь к Go на конкретном примереПуть к Go на конкретном примере
Путь к Go на конкретном примере
 
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
Юрий Насретдинов-«Сбор логов в «облаке» в Badoo»
 
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
Микросервисы: опыт использования в нагруженном проекте / Вадим Мадисон (М-Тех)
 
Облако в Badoo год спустя
Облако в Badoo год спустяОблако в Badoo год спустя
Облако в Badoo год спустя
 
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
Тестирование через мониторинг или холакратия на практике / Максим Чистяков (U...
 
OpenResty: превращаем NGINX в полноценный сервер приложений / Владимир Прота...
OpenResty: превращаем NGINX в полноценный сервер приложений  / Владимир Прота...OpenResty: превращаем NGINX в полноценный сервер приложений  / Владимир Прота...
OpenResty: превращаем NGINX в полноценный сервер приложений / Владимир Прота...
 
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
Роман Иманкулов-«Быстрые и масштабируемые приложения с Sync API»
 
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
Язык Lua — секреты производительности / Ник Заварицкий (Mail.ru)
 
Как собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффикКак собирать gps треки раз в секунду, экономя траффик
Как собирать gps треки раз в секунду, экономя траффик
 
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...
Сравнение решений по балансировке высоконагруженных систем / Евгений Пивень (...
 
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
Дмитрий Лазаренко-«Живая миграция и отказоустойчивость контейнеров в гибридно...
 
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...
2021.09.04 PHP FWDays. Our experience of transferring Laravel microservices t...
 
My talk at Highload++ 2015
My talk at Highload++ 2015My talk at Highload++ 2015
My talk at Highload++ 2015
 
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014
 
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
My talk on DevOps engineer's adventures in the Windows world at UWDC 2017
 

Viewers also liked

Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасностиВадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасностиAvitoTech
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondAvitoTech
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Ontico
 
Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...
Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...
Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...Mail.ru Group
 
Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...
Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...
Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...Mail.ru Group
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Ontico
 
Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...
Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...
Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...Mail.ru Group
 
Семь тысяч Rps, один go
Семь тысяч Rps, один goСемь тысяч Rps, один go
Семь тысяч Rps, один goBadoo Development
 
Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...
Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...
Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...Mail.ru Group
 
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур ГильмуллинНейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур ГильмуллинPositive Hack Days
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programsBadoo Development
 
Reform: путь к лучшему ORM
Reform: путь к лучшему ORMReform: путь к лучшему ORM
Reform: путь к лучшему ORMBadoo Development
 
Интеграция TeamCity и сервера символов | Алексей Соловьев
Интеграция TeamCity и сервера символов | Алексей СоловьевИнтеграция TeamCity и сервера символов | Алексей Соловьев
Интеграция TeamCity и сервера символов | Алексей СоловьевPositive Hack Days
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma Badoo Development
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruBadoo Development
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooBadoo Development
 
Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)AvitoTech
 
Зачем в Avito Аналитика?
Зачем в Avito Аналитика?Зачем в Avito Аналитика?
Зачем в Avito Аналитика?AvitoTech
 

Viewers also liked (20)

Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасностиВадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
Вадим Дробинин. Защищаем себя и пользователей: руководство по безопасности
 
Андрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyondАндрей Юткин. Media Picker — to infinity and beyond
Андрей Юткин. Media Picker — to infinity and beyond
 
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
Лучшие практики Continuous Delivery с Docker / Дмитрий Столяров (Флант)
 
Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...
Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...
Особенности дизайна VR-игр, Дмитрий Трубицин, старший дизайнер игр, департаме...
 
Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...
Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...
Мотивированный игрок: вовлечение через средние и дальние цели, Александр Пань...
 
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
 
Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...
Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...
Ивенты в играх — кейс Pixonic, Максим Кожнов, Руководитель отдела аналитики, ...
 
Семь тысяч Rps, один go
Семь тысяч Rps, один goСемь тысяч Rps, один go
Семь тысяч Rps, один go
 
Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...
Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...
Современные базовые принципы UX-проектирования в играх, Ольга Шуберт, ведущий...
 
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур ГильмуллинНейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
Нейронечёткая классификация слабо формализуемых данных | Тимур Гильмуллин
 
Profiling and optimizing go programs
Profiling and optimizing go programsProfiling and optimizing go programs
Profiling and optimizing go programs
 
Reform: путь к лучшему ORM
Reform: путь к лучшему ORMReform: путь к лучшему ORM
Reform: путь к лучшему ORM
 
Интеграция TeamCity и сервера символов | Алексей Соловьев
Интеграция TeamCity и сервера символов | Алексей СоловьевИнтеграция TeamCity и сервера символов | Алексей Соловьев
Интеграция TeamCity и сервера символов | Алексей Соловьев
 
TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma TechLeads meetup: Евгений Потапов, ITSumma
TechLeads meetup: Евгений Потапов, ITSumma
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
 
TechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, BadooTechLeads meetup: Алексей Рыбак, Badoo
TechLeads meetup: Алексей Рыбак, Badoo
 
Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)Рекомендации в Avito - Василий Лексин (Avito)
Рекомендации в Avito - Василий Лексин (Avito)
 
Зачем в Avito Аналитика?
Зачем в Avito Аналитика?Зачем в Avito Аналитика?
Зачем в Avito Аналитика?
 
Devconf15
Devconf15Devconf15
Devconf15
 
pgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresqlpgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresql
 

Similar to «Как 200 строк на Go помогли нам освободить 15 серверов» – Паша Мурзаков (Badoo)

Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)AvitoTech
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Yandex
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Sergey Xek
 
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"Fwdays
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоFuenteovejuna
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Ontico
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
 
Работа с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапеРабота с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапеAlexander Baikin
 
Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)
Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)
Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)Ontico
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнSergey Xek
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Ontico
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Oleg Poludnenko
 
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Ontico
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Igor Miniailo
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016Alex Chistyakov
 

Similar to «Как 200 строк на Go помогли нам освободить 15 серверов» – Паша Мурзаков (Badoo) (20)

Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)Работаем с API по-взрослому - Максим Кислов (Badoo)
Работаем с API по-взрослому - Максим Кислов (Badoo)
 
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
Михаил Корепанов "Инкрементальные обновления на клиенте. Ловкость рук и никак...
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
Полмиллиона юзеров в онлайне без падений: оптимизация высоконагруженного se...
 
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
Anton Tsitou "Designing hybrid Go/PHP applications using RoadRunner"
 
Компиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей РоманенкоКомпиляция скриптов PHP. Алексей Романенко
Компиляция скриптов PHP. Алексей Романенко
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)Компиляция скриптов PHP (Алексей Романенко)
Компиляция скриптов PHP (Алексей Романенко)
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
 
Работа с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапеРабота с требованиями в Интернет стартапе
Работа с требованиями в Интернет стартапе
 
Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)
Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)
Работа с требованиями в Интернет-стартапе / Александр Байкин (UML2.ru)
 
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайнBadoo Desktop: оптимизация приложения на миллион юзеров онлайн
Badoo Desktop: оптимизация приложения на миллион юзеров онлайн
 
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
Веб-разработка без наркотиков с помощью PostgreSQL, Nginx и c2h5oh / Миша Кир...
 
Ryazan
RyazanRyazan
Ryazan
 
Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥Макс Волошин: Php + shell = ♥
Макс Волошин: Php + shell = ♥
 
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
Как потратить 4 года и мешок денег на рефакторинг и ничего не запустить / М.Ч...
 
JPHP
JPHPJPHP
JPHP
 
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
Мониторинг веб приложений на PHP в режиме реального времени с помощью Pinba. ...
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016
 
ChromeDriver Jailbreak
ChromeDriver JailbreakChromeDriver Jailbreak
ChromeDriver Jailbreak
 

More from AvitoTech

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)AvitoTech
 
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...AvitoTech
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)AvitoTech
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoTech
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоAvitoTech
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий БогомоловAvitoTech
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим СоколовAvitoTech
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)AvitoTech
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоAvitoTech
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей КудрявцевAvitoTech
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, AvitoAvitoTech
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the AirAvitoTech
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...AvitoTech
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11AvitoTech
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)AvitoTech
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...AvitoTech
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)AvitoTech
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)AvitoTech
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...AvitoTech
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовAvitoTech
 

More from AvitoTech (20)

Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
Сегментация изображений на острие науки (Евгений Нижибицкий, Rambler&Co)
 
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
Применение компьютерного зрения для анализа спортивных соревнований (Николай ...
 
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
Распознавание лиц с помощью глубоких нейронных сетей (Сергей Миляев, VisionLabs)
 
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
AvitoNet: сервис компьютерного зрения в Avito (Артур Кузин, Avito)
 
Yandex Tank - Арсений Фомченко
Yandex Tank - Арсений ФомченкоYandex Tank - Арсений Фомченко
Yandex Tank - Арсений Фомченко
 
Migro - Юрий Богомолов
Migro - Юрий БогомоловMigro - Юрий Богомолов
Migro - Юрий Богомолов
 
TableKit - Максим Соколов
TableKit - Максим СоколовTableKit - Максим Соколов
TableKit - Максим Соколов
 
Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)Jsonwire Grid - Михаил Подцерковский (Avito)
Jsonwire Grid - Михаил Подцерковский (Avito)
 
SimplePEG - Алексей Охрименко
SimplePEG - Алексей ОхрименкоSimplePEG - Алексей Охрименко
SimplePEG - Алексей Охрименко
 
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 Как перестать бояться и начать контрибьютить - Алексей Кудрявцев Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
Как перестать бояться и начать контрибьютить - Алексей Кудрявцев
 
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito"Анонимизация фото с помощью Vision",  Хомутников Тимофей, Avito
"Анонимизация фото с помощью Vision", Хомутников Тимофей, Avito
 
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
“iOS 11 в App in the Air”, Пронин Сергей, App in the Air
 
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb..."ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
"ARKit в приложении Афиша Рестораны”, Меджлумян Самвел, Антышев Дмитрий, Ramb...
 
ASO for iOS 11
ASO for iOS 11ASO for iOS 11
ASO for iOS 11
 
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
Добиваемся эффективности каждого из 9000+ UI-тестов - Максим Сахаров (Tutu.ru)
 
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
Проблемы управления тестами, или Что мешает создавать дешевые и полезные тест...
 
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
Запускаем тесты в Continuous Integration - Сергей Пак (JetBrains)
 
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
Векторы развития систем автоматизации тестирования - Дмитрий Химион (Avito)
 
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
Прокачиваем WebDriverAgent, или Как тестировать iOS-приложения после ядерного...
 
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий РубцовКонкурс Авито-2017 - Решение 2ое место - Василий Рубцов
Конкурс Авито-2017 - Решение 2ое место - Василий Рубцов
 

«Как 200 строк на Go помогли нам освободить 15 серверов» – Паша Мурзаков (Badoo)