SlideShare uma empresa Scribd logo
1 de 99
Baixar para ler offline
ШРИ


                     Парное
                     программирование


                      Сергей Бережной
                      руководитель отдела
                      разработки поисковых интерфейсов
суббота, 3 ноября 12 г.
суббота, 3 ноября 12 г.
3                         Явные профиты
суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода




4


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки




4


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки
         – архетектурные решения




4


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки
         – архетектурные решения
       • сложные задачи




4


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки
         – архетектурные решения
       • сложные задачи
       • интеграционные задачи




4


суббота, 3 ноября 12 г.
5                         Неявные профиты
суббота, 3 ноября 12 г.
Неявные профиты



       • обучение менее опытных коллег




6


суббота, 3 ноября 12 г.
Неявные профиты



       • обучение менее опытных коллег
       • передача знаний и коллективное владение кодом




6


суббота, 3 ноября 12 г.
Неявные профиты



       • обучение менее опытных коллег
       • передача знаний и коллективное владение кодом
       • скорость погружения в новый проект




6


суббота, 3 ноября 12 г.
Неявные профиты



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




6


суббота, 3 ноября 12 г.
Неявные профиты



       •    обучение менее опытных коллег
       •    передача знаний и коллективное владение кодом
       •    скорость погружения в новый проект
       •    соблюдение стиля кодирования
       •    выстраивание коммуникаций в команде




6


суббота, 3 ноября 12 г.
Неявные профиты



       •    обучение менее опытных коллег
       •    передача знаний и коллективное владение кодом
       •    скорость погружения в новый проект
       •    соблюдение стиля кодирования
       •    выстраивание коммуникаций в команде
       •    дисциплина




6


суббота, 3 ноября 12 г.
Неявные профиты



       •    обучение менее опытных коллег
       •    передача знаний и коллективное владение кодом
       •    скорость погружения в новый проект
       •    соблюдение стиля кодирования
       •    выстраивание коммуникаций в команде
       •    дисциплина
       •    удовольствие



6


суббота, 3 ноября 12 г.
7                         Примеры
суббота, 3 ноября 12 г.
Примеры

       • i-bem.js




8


суббота, 3 ноября 12 г.
Примеры

       • i-bem.js
       • BEMHTML




8


суббота, 3 ноября 12 г.
Примеры

       • i-bem.js
       • BEMHTML
       • XJST




8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW




8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW
       •    bem server/make




8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW
       •    bem server/make
       •    сложные Лего-блоки




8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW
       •    bem server/make
       •    сложные Лего-блоки
       •    Единая Карта




8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW
       •    bem server/make
       •    сложные Лего-блоки
       •    Единая Карта
       •    Серп




8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW
       •    bem server/make
       •    сложные Лего-блоки
       •    Единая Карта
       •    Серп
       •    Картинки



8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW
       •    bem server/make
       •    сложные Лего-блоки
       •    Единая Карта
       •    Серп
       •    Картинки
       •    Видео


8


суббота, 3 ноября 12 г.
Примеры

       •    i-bem.js
       •    BEMHTML
       •    XJST
       •    APW
       •    bem server/make
       •    сложные Лего-блоки
       •    Единая Карта
       •    Серп
       •    Картинки
       •    Видео
       •    Почта
8


суббота, 3 ноября 12 г.
Примеры




       • не только программы




9


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




11


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




12


суббота, 3 ноября 12 г.
Парное программирование — техника
            программирования, при которой весь
            исходный код создаётся парами людей,
            программирующих одну задачу, сидя за
            одним рабочим местом. Один программист
            управляет компьютером и, в основном,
            думает над кодированием в деталях.
            Другой программист сосредоточен на
            картине в целом и непрерывно
            просматривает код, производимый первым
            программистом.


13


суббота, 3 ноября 12 г.
Парное программирование — техника
            программирования, при которой весь
            исходный код создаётся парами людей,
            программирующих одну задачу, сидя за
            одним рабочим местом. Один программист
            управляет компьютером и, в основном,
            думает над кодированием в деталях.
            Другой программист сосредоточен на
            картине в целом и непрерывно
            просматривает код, производимый первым
            программистом. Время от времени они
            меняются ролями, обычно, каждые
            полчаса.
14


суббота, 3 ноября 12 г.
15                        Экстремальное программирование
суббота, 3 ноября 12 г.
16                        Следовать своей роли
суббота, 3 ноября 12 г.
17                        Состыковать график работы
суббота, 3 ноября 12 г.
18                        Меняться ролями
суббота, 3 ноября 12 г.
19                        Меняться ролями
суббота, 3 ноября 12 г.
20                        Меняться парами
суббота, 3 ноября 12 г.
21                        Разница в уровне
суббота, 3 ноября 12 г.
22                        Совместимость
суббота, 3 ноября 12 г.
23                        Побыть одному
суббота, 3 ноября 12 г.
суббота, 3 ноября 12 г.
25                        Дисциплина
суббота, 3 ноября 12 г.
26                        Катализатор собственных мыслей
суббота, 3 ноября 12 г.
27                        1+1>2
суббота, 3 ноября 12 г.
28                        Персональная ответственность за коллективное
суббота, 3 ноября 12 г.
29                        Диалог
суббота, 3 ноября 12 г.
30                        Обучение
суббота, 3 ноября 12 г.
31                        «Притирка»
суббота, 3 ноября 12 г.
32                        Инструменты
суббота, 3 ноября 12 г.
33                        Одинаковые настройки
суббота, 3 ноября 12 г.
34                        Доска / бумага
суббота, 3 ноября 12 г.
35                        Удалённая работа
суббота, 3 ноября 12 г.
Удалённая работа




       • IDE (например Cloud9)




36


суббота, 3 ноября 12 г.
Удалённая работа




       • IDE (например Cloud9)
       • tmux / screen




36


суббота, 3 ноября 12 г.
Удалённая работа




       • IDE (например Cloud9)
       • tmux / screen
       • VNC / Remote Desktop




36


суббота, 3 ноября 12 г.
Удалённая работа




       •    IDE (например Cloud9)
       •    tmux / screen
       •    VNC / Remote Desktop
       •    EtherPad




36


суббота, 3 ноября 12 г.
Удалённая работа




37


суббота, 3 ноября 12 г.
Удалённая работа




           remotepairprogramming.com




37


суббота, 3 ноября 12 г.
38                        GitHub
суббота, 3 ноября 12 г.
github.com/therubymug/hitch




39                                   GitHub
суббота, 3 ноября 12 г.
40                        Страхи
суббота, 3 ноября 12 г.
Страхи




       • Не будет работать как ожидается, не удастся войти в
         правильное состояние




41


суббота, 3 ноября 12 г.
Страхи




       • Не будет работать как ожидается, не удастся войти в
         правильное состояние
       • Накладные расходы больше, чем получаемый профит




41


суббота, 3 ноября 12 г.
Страхи




       • Не будет работать как ожидается, не удастся войти в
         правильное состояние
       • Накладные расходы больше, чем получаемый профит
       • Психология




41


суббота, 3 ноября 12 г.
Страхи



       • Не будет работать как ожидается, не удастся войти в
         правильное состояние




42


суббота, 3 ноября 12 г.
Страхи



       • Не будет работать как ожидается, не удастся войти в
         правильное состояние
         – кто за клавиатурой, находится под давлением




42


суббота, 3 ноября 12 г.
Страхи



       • Не будет работать как ожидается, не удастся войти в
         правильное состояние
         – кто за клавиатурой, находится под давлением
         – один программирует, второй отвлекается




42


суббота, 3 ноября 12 г.
Страхи



       • Не будет работать как ожидается, не удастся войти в
         правильное состояние
         – кто за клавиатурой, находится под давлением
         – один программирует, второй отвлекается
         – кто не за клавиатурой, не понимает, что происходит




42


суббота, 3 ноября 12 г.
Страхи



       • Не будет работать как ожидается, не удастся войти в
         правильное состояние
         – кто за клавиатурой, находится под давлением
         – один программирует, второй отвлекается
         – кто не за клавиатурой, не понимает, что происходит
         – невозможность сидеть за одним рабочим местом




42


суббота, 3 ноября 12 г.
Страхи



       • Не будет работать как ожидается, не удастся войти в
         правильное состояние
         – кто за клавиатурой, находится под давлением
         – один программирует, второй отвлекается
         – кто не за клавиатурой, не понимает, что происходит
         – невозможность сидеть за одним рабочим местом
         – разница в квалификации


42


суббота, 3 ноября 12 г.
Страхи




       • Накладные расходы больше, чем получаемый профит




43


суббота, 3 ноября 12 г.
Страхи




       • Накладные расходы больше, чем получаемый профит
         – расходуется время на синхронизацию




43


суббота, 3 ноября 12 г.
Страхи




       • Накладные расходы больше, чем получаемый профит
         – расходуется время на синхронизацию
         – два человека делают столько, сколько мог бы сделать
           один




43


суббота, 3 ноября 12 г.
Страхи




       • Накладные расходы больше, чем получаемый профит
         – расходуется время на синхронизацию
         – два человека делают столько, сколько мог бы сделать
           один
         – можно было бы заменить на ревью




43


суббота, 3 ноября 12 г.
Страхи




       • Психология




44


суббота, 3 ноября 12 г.
Страхи




       • Психология
         – два дела одновременно (программировать, общаться)




44


суббота, 3 ноября 12 г.
Страхи




       • Психология
         – два дела одновременно (программировать, общаться)
         – нет гордости за самостоятельно достигнутый результат




44


суббота, 3 ноября 12 г.
Страхи




       • Психология
         – два дела одновременно (программировать, общаться)
         – нет гордости за самостоятельно достигнутый результат
         – иногда нужно побыть одному




44


суббота, 3 ноября 12 г.
45                        Итого
суббота, 3 ноября 12 г.
Явные профиты




46


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода




46


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки




46


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки
         – архетектурные решения




46


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки
         – архетектурные решения
       • сложные задачи




46


суббота, 3 ноября 12 г.
Явные профиты




       • выше качество кода
         – банальные опечатки
         – архетектурные решения
       • сложные задачи
       • интеграционные задачи




46


суббота, 3 ноября 12 г.
Неявные профиты




47


суббота, 3 ноября 12 г.
Неявные профиты



       • обучение менее опытных коллег




47


суббота, 3 ноября 12 г.
Неявные профиты



       • обучение менее опытных коллег
       • передача знаний и коллективное владение кодом




47


суббота, 3 ноября 12 г.
Неявные профиты



       • обучение менее опытных коллег
       • передача знаний и коллективное владение кодом
       • скорость погружения в новый проект




47


суббота, 3 ноября 12 г.
Неявные профиты



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




47


суббота, 3 ноября 12 г.
Неявные профиты



       •    обучение менее опытных коллег
       •    передача знаний и коллективное владение кодом
       •    скорость погружения в новый проект
       •    соблюдение стиля кодирования
       •    выстраивание коммуникаций в команде




47


суббота, 3 ноября 12 г.
Неявные профиты



       •    обучение менее опытных коллег
       •    передача знаний и коллективное владение кодом
       •    скорость погружения в новый проект
       •    соблюдение стиля кодирования
       •    выстраивание коммуникаций в команде
       •    дисциплина




47


суббота, 3 ноября 12 г.
Неявные профиты



       •    обучение менее опытных коллег
       •    передача знаний и коллективное владение кодом
       •    скорость погружения в новый проект
       •    соблюдение стиля кодирования
       •    выстраивание коммуникаций в команде
       •    дисциплина
       •    удовольствие



47


суббота, 3 ноября 12 г.
Ссылки



       •    en.wikipedia.org/wiki/Pair_programming
       •    ru.wikipedia.org/wiki/Парное_программирование
       •    www.maxkir.com/sd/pairprog_RUS.htm
       •    tersesystems.com/2010/12/29/where-pair-programming-fails-for-me
       •    dev.by/blog/64632
       •    habrahabr.ru/post/151563/
       •    habrahabr.ru/post/147921/
       •    freehabr.ru/blog/programming/617.html




48


суббота, 3 ноября 12 г.
суббота, 3 ноября 12 г.
Сергей Бережной

                          руководитель отдела
                          разработки
                          поисковых интерфейсов


                          veged@yandex-team.ru
                          github.com/veged
                          @veged




           Спасибо
суббота, 3 ноября 12 г.

Mais conteúdo relacionado

Destaque

Парное программирование
Парное программированиеПарное программирование
Парное программированиеLana Milanovich
 
Программирование как этап решения задач на компьютере
Программирование как этап решения задач на компьютереПрограммирование как этап решения задач на компьютере
Программирование как этап решения задач на компьютереAndrey Dolinin
 
Шизофрения - полный курс лекций
Шизофрения - полный курс лекций Шизофрения - полный курс лекций
Шизофрения - полный курс лекций Igor Kleiner
 
Кружок по робототехнике. Занятие #2. Программируем моторы
Кружок по робототехнике. Занятие #2. Программируем моторыКружок по робототехнике. Занятие #2. Программируем моторы
Кружок по робототехнике. Занятие #2. Программируем моторыAlexander Kolotov
 
Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...Dmitri Soshnikov
 
Кирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программированиеКирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программированиеDaria Oreshkina
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»DevDay
 
Что такое бренд и как его позиционировать
Что такое бренд и как его позиционироватьЧто такое бренд и как его позиционировать
Что такое бренд и как его позиционироватьЕкатерина Мартынычева
 
23. Історичні скарби україни
23. Історичні скарби україни23. Історичні скарби україни
23. Історичні скарби україниIgor Shuvarsky
 
Ответы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учет
Ответы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учетОтветы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учет
Ответы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учетДепартамент образования города Москвы
 
FUTURE PERFECT PLATFORMS russian
FUTURE PERFECT PLATFORMS russianFUTURE PERFECT PLATFORMS russian
FUTURE PERFECT PLATFORMS russianJohn Fitzpatrick
 
Visual Design Basics: The Building Blocks of a Great Slide
Visual Design Basics: The Building Blocks of a Great SlideVisual Design Basics: The Building Blocks of a Great Slide
Visual Design Basics: The Building Blocks of a Great SlideChiara Ojeda
 
How to Use Color Wisely
How to Use Color WiselyHow to Use Color Wisely
How to Use Color WiselyEthos3
 
Making your slides lighter
Making your slides lighterMaking your slides lighter
Making your slides lighterAlexei Kapterev
 
Keynote I Love You (But You're Bringing Me Down)
Keynote I Love You (But You're Bringing Me Down)Keynote I Love You (But You're Bringing Me Down)
Keynote I Love You (But You're Bringing Me Down)Emiland
 
Internet Trends 2014 - Redesigned
Internet Trends 2014 - RedesignedInternet Trends 2014 - Redesigned
Internet Trends 2014 - RedesignedEmiland
 

Destaque (20)

Каждый пятый россиянин увидел улучшения в сфере ЖКХ: опрос ВЦИОМ
Каждый пятый россиянин увидел улучшения в сфере ЖКХ: опрос ВЦИОМКаждый пятый россиянин увидел улучшения в сфере ЖКХ: опрос ВЦИОМ
Каждый пятый россиянин увидел улучшения в сфере ЖКХ: опрос ВЦИОМ
 
Парное программирование
Парное программированиеПарное программирование
Парное программирование
 
Программирование как этап решения задач на компьютере
Программирование как этап решения задач на компьютереПрограммирование как этап решения задач на компьютере
Программирование как этап решения задач на компьютере
 
Шизофрения - полный курс лекций
Шизофрения - полный курс лекций Шизофрения - полный курс лекций
Шизофрения - полный курс лекций
 
Кружок по робототехнике. Занятие #2. Программируем моторы
Кружок по робототехнике. Занятие #2. Программируем моторыКружок по робототехнике. Занятие #2. Программируем моторы
Кружок по робототехнике. Занятие #2. Программируем моторы
 
Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...Функциональное программирование для разработки распределённых, облачных и веб...
Функциональное программирование для разработки распределённых, облачных и веб...
 
Кирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программированиеКирилл Мокевнин — Ментальное программирование
Кирилл Мокевнин — Ментальное программирование
 
Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»Алексей Романчук «Реактивное программирование»
Алексей Романчук «Реактивное программирование»
 
Что такое бренд и как его позиционировать
Что такое бренд и как его позиционироватьЧто такое бренд и как его позиционировать
Что такое бренд и как его позиционировать
 
23. Історичні скарби україни
23. Історичні скарби україни23. Історичні скарби україни
23. Історичні скарби україни
 
Ответы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учет
Ответы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учетОтветы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учет
Ответы на типовые вопросы возникающие в ходе эксплуатации УАИС Бюджетный учет
 
Мобильное программирование: Проведи лето с пользой
Мобильное программирование: Проведи лето с пользойМобильное программирование: Проведи лето с пользой
Мобильное программирование: Проведи лето с пользой
 
MCJ Edward Tufte Notes
MCJ Edward Tufte NotesMCJ Edward Tufte Notes
MCJ Edward Tufte Notes
 
FUTURE PERFECT PLATFORMS russian
FUTURE PERFECT PLATFORMS russianFUTURE PERFECT PLATFORMS russian
FUTURE PERFECT PLATFORMS russian
 
Visual Design Basics: The Building Blocks of a Great Slide
Visual Design Basics: The Building Blocks of a Great SlideVisual Design Basics: The Building Blocks of a Great Slide
Visual Design Basics: The Building Blocks of a Great Slide
 
How to Use Color Wisely
How to Use Color WiselyHow to Use Color Wisely
How to Use Color Wisely
 
Sharpen your point
Sharpen your point Sharpen your point
Sharpen your point
 
Making your slides lighter
Making your slides lighterMaking your slides lighter
Making your slides lighter
 
Keynote I Love You (But You're Bringing Me Down)
Keynote I Love You (But You're Bringing Me Down)Keynote I Love You (But You're Bringing Me Down)
Keynote I Love You (But You're Bringing Me Down)
 
Internet Trends 2014 - Redesigned
Internet Trends 2014 - RedesignedInternet Trends 2014 - Redesigned
Internet Trends 2014 - Redesigned
 

Mais de Yandex

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksYandex
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаYandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаYandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровYandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Yandex
 

Mais de Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

Сергей Бережной — Парное программирование

  • 1. ШРИ Парное программирование Сергей Бережной руководитель отдела разработки поисковых интерфейсов суббота, 3 ноября 12 г.
  • 3. 3 Явные профиты суббота, 3 ноября 12 г.
  • 4. Явные профиты • выше качество кода 4 суббота, 3 ноября 12 г.
  • 5. Явные профиты • выше качество кода – банальные опечатки 4 суббота, 3 ноября 12 г.
  • 6. Явные профиты • выше качество кода – банальные опечатки – архетектурные решения 4 суббота, 3 ноября 12 г.
  • 7. Явные профиты • выше качество кода – банальные опечатки – архетектурные решения • сложные задачи 4 суббота, 3 ноября 12 г.
  • 8. Явные профиты • выше качество кода – банальные опечатки – архетектурные решения • сложные задачи • интеграционные задачи 4 суббота, 3 ноября 12 г.
  • 9. 5 Неявные профиты суббота, 3 ноября 12 г.
  • 10. Неявные профиты • обучение менее опытных коллег 6 суббота, 3 ноября 12 г.
  • 11. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом 6 суббота, 3 ноября 12 г.
  • 12. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект 6 суббота, 3 ноября 12 г.
  • 13. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования 6 суббота, 3 ноября 12 г.
  • 14. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования • выстраивание коммуникаций в команде 6 суббота, 3 ноября 12 г.
  • 15. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования • выстраивание коммуникаций в команде • дисциплина 6 суббота, 3 ноября 12 г.
  • 16. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования • выстраивание коммуникаций в команде • дисциплина • удовольствие 6 суббота, 3 ноября 12 г.
  • 17. 7 Примеры суббота, 3 ноября 12 г.
  • 18. Примеры • i-bem.js 8 суббота, 3 ноября 12 г.
  • 19. Примеры • i-bem.js • BEMHTML 8 суббота, 3 ноября 12 г.
  • 20. Примеры • i-bem.js • BEMHTML • XJST 8 суббота, 3 ноября 12 г.
  • 21. Примеры • i-bem.js • BEMHTML • XJST • APW 8 суббота, 3 ноября 12 г.
  • 22. Примеры • i-bem.js • BEMHTML • XJST • APW • bem server/make 8 суббота, 3 ноября 12 г.
  • 23. Примеры • i-bem.js • BEMHTML • XJST • APW • bem server/make • сложные Лего-блоки 8 суббота, 3 ноября 12 г.
  • 24. Примеры • i-bem.js • BEMHTML • XJST • APW • bem server/make • сложные Лего-блоки • Единая Карта 8 суббота, 3 ноября 12 г.
  • 25. Примеры • i-bem.js • BEMHTML • XJST • APW • bem server/make • сложные Лего-блоки • Единая Карта • Серп 8 суббота, 3 ноября 12 г.
  • 26. Примеры • i-bem.js • BEMHTML • XJST • APW • bem server/make • сложные Лего-блоки • Единая Карта • Серп • Картинки 8 суббота, 3 ноября 12 г.
  • 27. Примеры • i-bem.js • BEMHTML • XJST • APW • bem server/make • сложные Лего-блоки • Единая Карта • Серп • Картинки • Видео 8 суббота, 3 ноября 12 г.
  • 28. Примеры • i-bem.js • BEMHTML • XJST • APW • bem server/make • сложные Лего-блоки • Единая Карта • Серп • Картинки • Видео • Почта 8 суббота, 3 ноября 12 г.
  • 29. Примеры • не только программы 9 суббота, 3 ноября 12 г.
  • 31. Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. 11 суббота, 3 ноября 12 г.
  • 32. Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. Один программист управляет компьютером и, в основном, думает над кодированием в деталях. 12 суббота, 3 ноября 12 г.
  • 33. Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. Один программист управляет компьютером и, в основном, думает над кодированием в деталях. Другой программист сосредоточен на картине в целом и непрерывно просматривает код, производимый первым программистом. 13 суббота, 3 ноября 12 г.
  • 34. Парное программирование — техника программирования, при которой весь исходный код создаётся парами людей, программирующих одну задачу, сидя за одним рабочим местом. Один программист управляет компьютером и, в основном, думает над кодированием в деталях. Другой программист сосредоточен на картине в целом и непрерывно просматривает код, производимый первым программистом. Время от времени они меняются ролями, обычно, каждые полчаса. 14 суббота, 3 ноября 12 г.
  • 35. 15 Экстремальное программирование суббота, 3 ноября 12 г.
  • 36. 16 Следовать своей роли суббота, 3 ноября 12 г.
  • 37. 17 Состыковать график работы суббота, 3 ноября 12 г.
  • 38. 18 Меняться ролями суббота, 3 ноября 12 г.
  • 39. 19 Меняться ролями суббота, 3 ноября 12 г.
  • 40. 20 Меняться парами суббота, 3 ноября 12 г.
  • 41. 21 Разница в уровне суббота, 3 ноября 12 г.
  • 42. 22 Совместимость суббота, 3 ноября 12 г.
  • 43. 23 Побыть одному суббота, 3 ноября 12 г.
  • 45. 25 Дисциплина суббота, 3 ноября 12 г.
  • 46. 26 Катализатор собственных мыслей суббота, 3 ноября 12 г.
  • 47. 27 1+1>2 суббота, 3 ноября 12 г.
  • 48. 28 Персональная ответственность за коллективное суббота, 3 ноября 12 г.
  • 49. 29 Диалог суббота, 3 ноября 12 г.
  • 50. 30 Обучение суббота, 3 ноября 12 г.
  • 51. 31 «Притирка» суббота, 3 ноября 12 г.
  • 52. 32 Инструменты суббота, 3 ноября 12 г.
  • 53. 33 Одинаковые настройки суббота, 3 ноября 12 г.
  • 54. 34 Доска / бумага суббота, 3 ноября 12 г.
  • 55. 35 Удалённая работа суббота, 3 ноября 12 г.
  • 56. Удалённая работа • IDE (например Cloud9) 36 суббота, 3 ноября 12 г.
  • 57. Удалённая работа • IDE (например Cloud9) • tmux / screen 36 суббота, 3 ноября 12 г.
  • 58. Удалённая работа • IDE (например Cloud9) • tmux / screen • VNC / Remote Desktop 36 суббота, 3 ноября 12 г.
  • 59. Удалённая работа • IDE (например Cloud9) • tmux / screen • VNC / Remote Desktop • EtherPad 36 суббота, 3 ноября 12 г.
  • 61. Удалённая работа remotepairprogramming.com 37 суббота, 3 ноября 12 г.
  • 62. 38 GitHub суббота, 3 ноября 12 г.
  • 63. github.com/therubymug/hitch 39 GitHub суббота, 3 ноября 12 г.
  • 64. 40 Страхи суббота, 3 ноября 12 г.
  • 65. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние 41 суббота, 3 ноября 12 г.
  • 66. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние • Накладные расходы больше, чем получаемый профит 41 суббота, 3 ноября 12 г.
  • 67. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние • Накладные расходы больше, чем получаемый профит • Психология 41 суббота, 3 ноября 12 г.
  • 68. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние 42 суббота, 3 ноября 12 г.
  • 69. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние – кто за клавиатурой, находится под давлением 42 суббота, 3 ноября 12 г.
  • 70. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние – кто за клавиатурой, находится под давлением – один программирует, второй отвлекается 42 суббота, 3 ноября 12 г.
  • 71. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние – кто за клавиатурой, находится под давлением – один программирует, второй отвлекается – кто не за клавиатурой, не понимает, что происходит 42 суббота, 3 ноября 12 г.
  • 72. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние – кто за клавиатурой, находится под давлением – один программирует, второй отвлекается – кто не за клавиатурой, не понимает, что происходит – невозможность сидеть за одним рабочим местом 42 суббота, 3 ноября 12 г.
  • 73. Страхи • Не будет работать как ожидается, не удастся войти в правильное состояние – кто за клавиатурой, находится под давлением – один программирует, второй отвлекается – кто не за клавиатурой, не понимает, что происходит – невозможность сидеть за одним рабочим местом – разница в квалификации 42 суббота, 3 ноября 12 г.
  • 74. Страхи • Накладные расходы больше, чем получаемый профит 43 суббота, 3 ноября 12 г.
  • 75. Страхи • Накладные расходы больше, чем получаемый профит – расходуется время на синхронизацию 43 суббота, 3 ноября 12 г.
  • 76. Страхи • Накладные расходы больше, чем получаемый профит – расходуется время на синхронизацию – два человека делают столько, сколько мог бы сделать один 43 суббота, 3 ноября 12 г.
  • 77. Страхи • Накладные расходы больше, чем получаемый профит – расходуется время на синхронизацию – два человека делают столько, сколько мог бы сделать один – можно было бы заменить на ревью 43 суббота, 3 ноября 12 г.
  • 78. Страхи • Психология 44 суббота, 3 ноября 12 г.
  • 79. Страхи • Психология – два дела одновременно (программировать, общаться) 44 суббота, 3 ноября 12 г.
  • 80. Страхи • Психология – два дела одновременно (программировать, общаться) – нет гордости за самостоятельно достигнутый результат 44 суббота, 3 ноября 12 г.
  • 81. Страхи • Психология – два дела одновременно (программировать, общаться) – нет гордости за самостоятельно достигнутый результат – иногда нужно побыть одному 44 суббота, 3 ноября 12 г.
  • 82. 45 Итого суббота, 3 ноября 12 г.
  • 84. Явные профиты • выше качество кода 46 суббота, 3 ноября 12 г.
  • 85. Явные профиты • выше качество кода – банальные опечатки 46 суббота, 3 ноября 12 г.
  • 86. Явные профиты • выше качество кода – банальные опечатки – архетектурные решения 46 суббота, 3 ноября 12 г.
  • 87. Явные профиты • выше качество кода – банальные опечатки – архетектурные решения • сложные задачи 46 суббота, 3 ноября 12 г.
  • 88. Явные профиты • выше качество кода – банальные опечатки – архетектурные решения • сложные задачи • интеграционные задачи 46 суббота, 3 ноября 12 г.
  • 90. Неявные профиты • обучение менее опытных коллег 47 суббота, 3 ноября 12 г.
  • 91. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом 47 суббота, 3 ноября 12 г.
  • 92. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект 47 суббота, 3 ноября 12 г.
  • 93. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования 47 суббота, 3 ноября 12 г.
  • 94. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования • выстраивание коммуникаций в команде 47 суббота, 3 ноября 12 г.
  • 95. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования • выстраивание коммуникаций в команде • дисциплина 47 суббота, 3 ноября 12 г.
  • 96. Неявные профиты • обучение менее опытных коллег • передача знаний и коллективное владение кодом • скорость погружения в новый проект • соблюдение стиля кодирования • выстраивание коммуникаций в команде • дисциплина • удовольствие 47 суббота, 3 ноября 12 г.
  • 97. Ссылки • en.wikipedia.org/wiki/Pair_programming • ru.wikipedia.org/wiki/Парное_программирование • www.maxkir.com/sd/pairprog_RUS.htm • tersesystems.com/2010/12/29/where-pair-programming-fails-for-me • dev.by/blog/64632 • habrahabr.ru/post/151563/ • habrahabr.ru/post/147921/ • freehabr.ru/blog/programming/617.html 48 суббота, 3 ноября 12 г.
  • 99. Сергей Бережной руководитель отдела разработки поисковых интерфейсов veged@yandex-team.ru github.com/veged @veged Спасибо суббота, 3 ноября 12 г.