SlideShare una empresa de Scribd logo
1 de 40
Descargar para leer sin conexión
Как мы делали
    Групон
  Иван Евтухович
План доклада
●   Немного про ruby и rails
●   Архитектура groupon.ru
●   Организация командной работы
●   Управление конфигурацией
●   Вклад в Open Source
Групон
●   Простая бизнес-модель
●   Сайт из трех страниц
Шутки в сторону
●   ~75000 строк кода
●   Более 10 миллионов пользователей
●   Десятки миллионов запросов в день
Ruby
●   Динамический
●   Объектно-ориентированный
●   Поддерживает замыкания
●   Лаконичный синтаксис
●   3 реализации (MRI, JRuby, Rubinius)
Примеры кода
(1..100).to_a.map { |e| e*e }
> [1, 4, 9 …]


a = "conference"
def a.name
  "CodeFest"
end
a.name # > CodeFest
Ruby On Rails
●   MVC фреймворк
●   REST
●   ORM (ActiveRecord)
●   Rubygems (35 тысяч гемов)
●   Bundler
Архитектура Групона
●   debian Squeeze 6.0.3
●   ruby
●   rails 2.3 3.0
●   unicorn
●   delayed_job
●   postgresql 9.0 9.1
●   nginx
●   memcached
●   newrelic
●   chef
История №1
codes(id, code, group_name, coupon_id)

SELECT *
FROM codes
WHERE
    group_name = 'skype' AND
    coupon_id IS NULL
ORDER BY id
LIMIT 1


CREATE INDEX ON
code(group_name, id)
WHERE coupon_id IS NULL
История №2
История №3
class User < ActiveRecord::Base
  validates_uniqueness_of :email,
      :case_sensitive => false
end


SELECT "users".id FROM "users"
WHERE (LOWER("users"."email") =
'evtuhovich@gmail.com' AND "users".id <>
12345) LIMIT 1


CREATE INDEX on users(lower(email))
История №4

Переезд на новый сервер БД
●   48 Gb → 192 Gb
●   9.0 → 9.1
●   репликация
●   pg_upgrade
●   ANALYZE
Frontend
●   Sass
●   Compass
●   JQuery 1.6.4
●   CoffeeScript
●   barista
●   uglifier
●   jammit
Внешние сервисы
●   Защита от DDOS
●   Zendesk
●   Exact target
Организация
командной работы
Распределенная команда
●   Москва
●   Санкт-Петербург
●   Омск
●   Одесса
●   Владивосток
●   Тайланд/Бали/Китай
Коммуникация
●   Basecamp
●   Zendesk
●   Skype
Только Skype
●   Общий контекст
●   Концетрация на изменениях
●   Skype-bot
Банальные истины
●   Уровень доверия влияет
●   Наказания тормозят разработку
●   Не работайте с лентяями
Выкатка и управление
конфигурацией
Выкатка
●   capistrano
●   через Skype-bot
●   идет всегда (почти каждый коммит)
●   A/B - норма
●   мертвый код - зло
●   выкатывайте часто
●   автоматизируйте всё
●   проверяйте rollback
●   большие выкатки надо тренировать
Управление конфигурацией
●   cobbler
●   vagrant
●   OBS
●   Opscode hosted chef
Мониторинг
●   airbrake (hoptoad)
●   newrelic
●   zabbix
Вклад в Open Source
zendesk

Андрей Дерябин




ruby-обертка надо API сервиса zendesk
https://github.com/evilmartians/zendesk
cupid

Алексей Газиев
Равиль Байрамгалин


SOAP интерфейс
к ExactTarget



https://github.com/evilmartians/cupid
gon

Алексей Газиев




https://github.com/gazay/gon
visibility.js

      Андрей Ситник




Visibility.every(1000, function () {
        updateCountdownAnimation();
});


https://github.com/evilmartians/visibility.js
role
Саша Косс



<div role="role_name"></div>
А потом
$('@role_name').something()


https://github.com/kossnocorp/role
Почти у всех есть
коммиты в rails
Вопросы?



evtuhovich@gmail.com
twitter: evtuhovich
http://blog.evtuhovich.ru

Más contenido relacionado

La actualidad más candente

Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...Ontico
 
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологиюКурс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию7bits
 
KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...
KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...
KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...SIPLABS Communications
 
Moбильная база данных Realm. Прошло ли время SQLite?
Moбильная база данных Realm. Прошло ли время SQLite?Moбильная база данных Realm. Прошло ли время SQLite?
Moбильная база данных Realm. Прошло ли время SQLite?Олег Чебулаев
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...Ontico
 
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"GeeksLab Odessa
 
ToroDB (highload++2015)
ToroDB (highload++2015)ToroDB (highload++2015)
ToroDB (highload++2015)Pavel Alexeev
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблераHighLoad2009
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring7bits
 
Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]Eugene Chekan
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, BadooOntico
 
Current State of Server Side JavaScript
Current State of Server Side JavaScriptCurrent State of Server Side JavaScript
Current State of Server Side JavaScriptOleg Podsechin
 
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...SQALab
 
Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)rit2010
 
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013Roman Pavlushko
 
Как сделать сайт быстрее?
Как сделать сайт быстрее?Как сделать сайт быстрее?
Как сделать сайт быстрее?Danil Negrienko
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploykuchinskaya
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Ontico
 

La actualidad más candente (19)

Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
Доменно специфичные базы данных и рассылка Aviasales, Борис Каплуновский (Avi...
 
Курс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологиюКурс Java-2016. Занятие 01. Введение в Java как технологию
Курс Java-2016. Занятие 01. Введение в Java как технологию
 
KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...
KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...
KAZOOMEETUP MOSCOW 2015. Владимир Потапьев. Обзор приложения Circlemaker (RAD...
 
Moбильная база данных Realm. Прошло ли время SQLite?
Moбильная база данных Realm. Прошло ли время SQLite?Moбильная база данных Realm. Прошло ли время SQLite?
Moбильная база данных Realm. Прошло ли время SQLite?
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
 
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
JSLab. Григорий Перетяка "Разработка SPA на мультисайтовом highload-проекте"
 
ToroDB (highload++2015)
ToroDB (highload++2015)ToroDB (highload++2015)
ToroDB (highload++2015)
 
архитектура новой почты рамблера
архитектура новой почты рамблераархитектура новой почты рамблера
архитектура новой почты рамблера
 
Крыша 2.0
Крыша 2.0Крыша 2.0
Крыша 2.0
 
Курс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. SpringКурс Java-2016. Занятие 13. Spring
Курс Java-2016. Занятие 13. Spring
 
Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]Web performance 101 [GDG nsk webdev meetup #3]
Web performance 101 [GDG nsk webdev meetup #3]
 
Юрий Насретдинов, Badoo
Юрий Насретдинов, BadooЮрий Насретдинов, Badoo
Юрий Насретдинов, Badoo
 
Current State of Server Side JavaScript
Current State of Server Side JavaScriptCurrent State of Server Side JavaScript
Current State of Server Side JavaScript
 
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
Badoo в облаках. Решение для запуска cli-скриптов в облаке собственной разраб...
 
Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)Alex Dmitriev презентация для рит (12 14 апреля)
Alex Dmitriev презентация для рит (12 14 апреля)
 
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
 
Как сделать сайт быстрее?
Как сделать сайт быстрее?Как сделать сайт быстрее?
Как сделать сайт быстрее?
 
Kubasov 1 7_deploy
Kubasov 1 7_deployKubasov 1 7_deploy
Kubasov 1 7_deploy
 
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)Эффективная отладка репликации MySQL / Света Смирнова (Percona)
Эффективная отладка репликации MySQL / Света Смирнова (Percona)
 

Destacado

CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...CodeFest
 
CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...
CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...
CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...CodeFest
 
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...CodeFest
 
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...CodeFest
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest
 
CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...
CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...
CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...CodeFest
 
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOSCodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOSCodeFest
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...CodeFest
 
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...CodeFest
 
CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....
CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....
CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....CodeFest
 
CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...
CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...
CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...CodeFest
 
CodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджер
CodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджерCodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджер
CodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджерCodeFest
 
CodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все грабли
CodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все граблиCodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все грабли
CodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все граблиCodeFest
 
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...CodeFest
 
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...CodeFest
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest
 
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игрCodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игрCodeFest
 
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7CodeFest
 
CodeFest 2011. Юферев Р. — Пора задуматься о Manageability
CodeFest 2011. Юферев Р. — Пора задуматься о ManageabilityCodeFest 2011. Юферев Р. — Пора задуматься о Manageability
CodeFest 2011. Юферев Р. — Пора задуматься о ManageabilityCodeFest
 
CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...
CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...
CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...CodeFest
 

Destacado (20)

CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
CodeFest 2011. Токарев О — Конструирование кода: «Думай верно!» (или 5 Правил...
 
CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...
CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...
CodeFest 2011. Галин С. — Qt для разработки кроссплатформенных мобильных прил...
 
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
CodeFest 2012. Сидельников А. — Опыт создания DSL на Ruby. Где применить, как...
 
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
CodeFest 2012. Кузьмин В. — Как выстроить разработку сервиса под несколько мо...
 
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем SphinxCodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
CodeFest 2012. Аксёнов А. — Как мы разрабатываем Sphinx
 
CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...
CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...
CodeFest 2011. Алфёрова А. — Рынок труда ИТ-специалистов: состояние, динамика...
 
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOSCodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
CodeFest 2011. Бусыгин Р. — Создание кастомных интерфейсов для iOS
 
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
Codefest 2011. Вольфтруб А. — О чем стоит подумать, приступая к разработке вы...
 
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...
CodeFest 2012. Каплинский К. — Разработка Open Source продуктов как прибыльны...
 
CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....
CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....
CodeFest 2011. Жердева А., Ложкин А. — Проектирование, пользователи, продукт....
 
CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...
CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...
CodeFest 2011. Иванкин М. — Подводные камни в тестирование многопользовательс...
 
CodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджер
CodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджерCodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджер
CodeFest 2011. Олейников С. — 5 параметров, которые должен знать тестменеджер
 
CodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все грабли
CodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все граблиCodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все грабли
CodeFest 2010. Горбатовский С. — Заказные проекты: как не собрать все грабли
 
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...
 
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
CodeFest 2011. Пчельников Д. — Картографические веб-сервисы? Что это? И как и...
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игрCodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
CodeFest 2012. Анкудинов Д. — О специфике мультиплатформенного тестирования игр
 
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
CodeFest 2011. Сошников Д. — Разработка игр для Windows Phone 7
 
CodeFest 2011. Юферев Р. — Пора задуматься о Manageability
CodeFest 2011. Юферев Р. — Пора задуматься о ManageabilityCodeFest 2011. Юферев Р. — Пора задуматься о Manageability
CodeFest 2011. Юферев Р. — Пора задуматься о Manageability
 
CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...
CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...
CodeFest 2011. Алиев Д. — Natural language processing (Обработка естественног...
 

Similar a CodeFest 2012. Евтухович И. — Как мы делали Групон

AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012Roman Pavlushko
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Ontico
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времениAndriy Samilyak
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TKConf
 
SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013Alex Chistyakov
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptFDConf
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...e-Legion
 
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо... PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...it-people
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаITCrowd Almaty
 
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностейДенис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностейDev_Party
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeYehor Herasymchuk
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_drupalconf
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP                PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP Анна Магас
 
Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration managementAlexander Kirillov
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseAlexander Granin
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Yandex
 
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе dockerIvan Grishaev
 

Similar a CodeFest 2012. Евтухович И. — Как мы делали Групон (20)

AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012AVITO. Решардинг Redis без даунтайма. DevConf 2012
AVITO. Решардинг Redis без даунтайма. DevConf 2012
 
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013SaltStack vs Chef, HappyDev 2013
SaltStack vs Chef, HappyDev 2013
 
Построение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascriptПостроение мультисервисного стартапа в реалиях full-stack javascript
Построение мультисервисного стартапа в реалиях full-stack javascript
 
Build your own multistack JS startup
Build your own multistack JS startupBuild your own multistack JS startup
Build your own multistack JS startup
 
Sivko
SivkoSivko
Sivko
 
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
#MBLTdev: Практический пример переиспользования кода. Как повысить качество и...
 
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо... PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
PostgreSQL: вчера, сегодня, завтра, Олег Бартунов, Postgres Professional, Мо...
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностейДенис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
Денис Противенский, Percona — Percona Server for MongoDB: обзор возможностей
 
Zero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And ForgeZero Downtime PHP Deployment with Envoyer And Forge
Zero Downtime PHP Deployment with Envoyer And Forge
 
Hosting for forbes.ru_
Hosting for forbes.ru_Hosting for forbes.ru_
Hosting for forbes.ru_
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP                PUG #9 at OWOX: Поиск узких мест в приложении на PHP
PUG #9 at OWOX: Поиск узких мест в приложении на PHP
 
Application deployment & configuration management
Application deployment & configuration managementApplication deployment & configuration management
Application deployment & configuration management
 
Профессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом EnterpriseПрофессиональная разработка в суровом Enterprise
Профессиональная разработка в суровом Enterprise
 
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
Подходы и технологии, используемые в разработке iOS-клиента Viber, Кирилл Лаш...
 
Ci на базе docker
Ci на базе dockerCi на базе docker
Ci на базе docker
 

Más de CodeFest

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита ПрокоповCodeFest
 
Денис Баталов
Денис БаталовДенис Баталов
Денис БаталовCodeFest
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена ГальцинаCodeFest
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр КалашниковCodeFest
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина ИвановаCodeFest
 
Marko Berković
Marko BerkovićMarko Berković
Marko BerkovićCodeFest
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис КортуновCodeFest
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр ЗиминCodeFest
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей КрапивенскийCodeFest
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей ИгнатовCodeFest
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай КрапивныйCodeFest
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander GraebeCodeFest
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим СмирновCodeFest
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин ОсиповCodeFest
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele RialdiCodeFest
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим ПугачевCodeFest
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван БондаренкоCodeFest
 
Mete Atamel
Mete AtamelMete Atamel
Mete AtamelCodeFest
 

Más de CodeFest (20)

Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Никита Прокопов
Никита ПрокоповНикита Прокопов
Никита Прокопов
 
Денис Баталов
Денис БаталовДенис Баталов
Денис Баталов
 
Елена Гальцина
Елена ГальцинаЕлена Гальцина
Елена Гальцина
 
Александр Калашников
Александр КалашниковАлександр Калашников
Александр Калашников
 
Ирина Иванова
Ирина ИвановаИрина Иванова
Ирина Иванова
 
Marko Berković
Marko BerkovićMarko Berković
Marko Berković
 
Денис Кортунов
Денис КортуновДенис Кортунов
Денис Кортунов
 
Александр Зимин
Александр ЗиминАлександр Зимин
Александр Зимин
 
Сергей Крапивенский
Сергей КрапивенскийСергей Крапивенский
Сергей Крапивенский
 
Сергей Игнатов
Сергей ИгнатовСергей Игнатов
Сергей Игнатов
 
Николай Крапивный
Николай КрапивныйНиколай Крапивный
Николай Крапивный
 
Alexander Graebe
Alexander GraebeAlexander Graebe
Alexander Graebe
 
Вадим Смирнов
Вадим СмирновВадим Смирнов
Вадим Смирнов
 
Константин Осипов
Константин ОсиповКонстантин Осипов
Константин Осипов
 
Raffaele Rialdi
Raffaele RialdiRaffaele Rialdi
Raffaele Rialdi
 
Максим Пугачев
Максим ПугачевМаксим Пугачев
Максим Пугачев
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Иван Бондаренко
Иван БондаренкоИван Бондаренко
Иван Бондаренко
 
Mete Atamel
Mete AtamelMete Atamel
Mete Atamel
 

CodeFest 2012. Евтухович И. — Как мы делали Групон