SlideShare a Scribd company logo
1 of 67
Download to read offline
Cкорость	
  рендеринга	
  страниц:
исследования,	
  замеры,	
  
автоматизация
Корепанов	
  Михаил
Разработчик	
  интерфейсов

Я.Субботник,	
  Киев,	
  28	
  мая	
  2011	
  года
Почему?


          1
Google Reader
      GMail
                                       NetVibes


Mockingbird
               Яндекс.Почта

                         Google Docs
       280 Slides
                                    Twitter
                                                  2
Веб уже не тот…
                  3
Веб-приложения
                 4
Веб-приложения

• Все взаимодействие на клиенте
• Много JS
• Частое обращение к DOM
• Частый reflow/repaint

                                  5
Это так важно?


                 6
Да!
      7
Reflow — процесс вычисления размеров
  и положения элементов на странице




                                      8
Repaint — процесс отрисовки визуального
        отображения элементов




                                          9
Как измерить?


                10
Браузерные инструменты
     Web Inspector
Браузерные инструменты
     Speed Tracer
Браузерные инструменты
   DynaTrace Ajax Edition
Браузерные инструменты
     Firebug + Paint Events




                              14
Браузерные инструменты



           —?
                     15
Кроссбраузерно




                 16
Букмарклет




             17
18
Область перерисовки

•   --show-paint-rects




                         19
Область перерисовки

•   --show-paint-rects

•   --show-composited-layer-borders




                                      20
Область перерисовки

•   --show-paint-rects

•   --show-composited-layer-borders
•   CA_COLOR_OPAQUE=1




                                      21
Область перерисовки

•   --show-paint-rects

•   --show-composited-layer-borders
•   CA_COLOR_OPAQUE=1
•   CA_COLOR_FLUSH=1




                                      22
Область перерисовки

•   --show-paint-rects

•   --show-composited-layer-borders
•   CA_COLOR_OPAQUE=1
•   CA_COLOR_FLUSH=1
•   MozAfterPaint Event


                                      23
24
Время перерисовки

•   Смотреть в инструментах




                              25
Время перерисовки

•   Смотреть в инструментах

•   Мерять FPS при анимации




                              26
Время перерисовки

•   Смотреть в инструментах

•   Мерять FPS при анимации

•   Мерять время скролла




                              27
Что влияет?
•   Много DOM элементов




                          28
Что влияет?
•   Много DOM элементов

•   Большая вложенность




                          29
Что влияет?
•   Много DOM элементов

•   Большая вложенность

•   Много селекторов в таблице стилей




                                        30
Что влияет?
•   Много DOM элементов

•   Большая вложенность

•   Много селекторов в таблице стилей

•   Медленные селекторы




                                        31
Что влияет?
•   Много DOM элементов

•   Большая вложенность

•   Много селекторов в таблице стилей

•   Медленные селекторы

•   Новомодные CSS3 свойства



                                        32
Что влияет?
•   Много DOM элементов

•   Большая вложенность

•   Много селекторов в таблице стилей

•   Медленные селекторы

•   Новомодные CSS3 свойства

•   float для лейаута
    и таблицы без table-layout: fixed
                                        33
Селекторы
Все на абсолютно-независимых
блоках
.b-some-block ul li

.b-some-block__item




                               34
Селекторы
Как можно меньше каскада

.b-some-block .b-another-block .b-link

.b-some-block_with-link .b-link




                                         35
Селекторы
Псевдоселекторы быстрее с
указанием имени элемента
:link, :visited, :nth-child(2)

a:link, a:visited, div:nth-child(2)




                                      36
Селекторы
:hover → a:hover (тормоза в IE7-)

.b-link:hover

a.b-link:hover




                                    37
Селекторы

•   CSS3 селекторы тормозят (3-10 раз по
    сравнению с селектором класса)

•   Псевдоэлементы такие же, как и обычные




                                             38
Свойства
•   position: fixed (IE8-)




                            39
Свойства
•   position: fixed (IE8-)

•   position: relative + отрицательный margin
    (IE7-)




                                                40
Свойства
•   position: fixed (IE8-)

•   position: relative + отрицательный margin
    (IE7-)

•   position: absolute без координат
    позиционирования (IE7)




                                                41
Свойства
•   position: fixed (IE8-)

•   position: relative + отрицательный margin
    (IE7-)

•   position: absolute без координат
    позиционирования (IE7)

•   Картинки через background (IE8-)


                                                42
Свойства
•   position: fixed (IE8-)

•   position: relative + отрицательный margin
    (IE7-)

•   position: absolute без координат
    позиционирования (IE7)

•   Картинки через background (IE8-)

•   word-spacing/letter-spacing: 0 на :hover (IE8)

                                                     43
CSS3
• box-shadow + inset и большой (>=15px)
  радиус (WebKit)




                                          44
CSS3
• box-shadow + inset и большой (>=15px)
    радиус (WebKit)

•   border-radius (IE9 если много детей)




                                           45
CSS3
• box-shadow + inset и большой (>=15px)
    радиус (WebKit)

•   border-radius (IE9 если много детей)

•   Радиальные градиенты (WebKit)




                                           46
CSS3
• box-shadow + inset и большой (>=15px)
    радиус (WebKit)

•   border-radius (IE9 если много детей)

•   Радиальные градиенты (WebKit)

•   background-size (WebKit)




                                           47
Картинки
•   Лучше не растягивать (скорость репейнта падает
    в ~2 раза)




                                                     48
Картинки
•   Лучше не растягивать (скорость репейнта падает
    в ~2 раза)

•   Не важно, где указан размер, если он верный




                                                     49
Картинки
•   Лучше не растягивать (скорость репейнта падает
    в ~2 раза)

•   Не важно, где указан размер, если он верный

•   Картинки в спрайте в ~1,5-2 раза медленне (IE6)




                                                      50
Картинки
•   Лучше не растягивать (скорость репейнта падает
    в ~2 раза)

•   Не важно, где указан размер, если он верный

•   Картинки в спрайте в ~1,5-2 раза медленне (IE6)

•   data:uri и mhtml в ~3-4 раза медленне, чем
    обычные (IE8-)



                                                      51
IE8/8 в 2-3 раза медленнее IE8/7
                                   52
Аппаратное ускорение?
•   Есть не везде
    (Chrome, Safari 5, FF4, Opera 11.50, IE9)




                                                53
Аппаратное ускорение?
•   Есть не везде
    (Chrome, Safari 5, FF4, Opera 11.50, IE9)

•   Применяется не ко всему
    (анимация, SVG, Canvas)




                                                54
Аппаратное ускорение?
•   Есть не везде
    (Chrome, Safari 5, FF4, Opera 11.50, IE9)

•   Применяется не ко всему
    (анимация, SVG, Canvas)

•   Можно включить в Safari:
    -webkit-transform: translateZ(0)



                                                55
Меньше reflow
• Кэшировать результат
• Меньше обращений к DOM в onscroll




                                      56
Меньше reflow
  Вставка в DOM




                  57
Меньше reflow
  DocumentFragment




                     58
Меньше reflow
   innerHTML




               59
Меньше reflow
Сначала получать значения, потом — менять




                                            60
Меньше reflow
Использовать setTimeout и postMessage
Меньше reflow
Скрывать элементы перед изменениями




                                      62
Автоматизация
    Python


   Selenium




  ReflowTimer
                63
Автоматизация

• Букмарклет для ReflowTimer
  (http://yandex.st/jslibs/_rt.js)
• Selenium 2 + Python + ReflowTimer
  (http://github.com/panya/reflow-tests)




                                          64
Вопросы?




65
Корепанов	
  Михаил
разработчик	
  интерфейсов

panyakor@yandex-­‐team.ru

More Related Content

What's hot

13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...IT-Portfolio
 
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...GeeksLab Odessa
 
Basis.js – «под капотом»
Basis.js – «под капотом»Basis.js – «под капотом»
Basis.js – «под капотом»Roman Dvornov
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEАртём Кудзев
 
Как построить DOM
Как построить DOMКак построить DOM
Как построить DOMRoman Dvornov
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetOleg Tsarev
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...IT-Portfolio
 
CSSO – история ускорения
CSSO – история ускоренияCSSO – история ускорения
CSSO – история ускоренияRoman Dvornov
 
Unit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьерUnit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьерRoman Dvornov
 
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Roman Dvornov
 
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)Ontico
 

What's hot (13)

13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Грабли при ма...
 
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
JSLab. Дмитрий Смолин, Дмитрий Филипенко. "React и Webpack с помощью кирки, л...
 
Basis.js – «под капотом»
Basis.js – «под капотом»Basis.js – «под капотом»
Basis.js – «под капотом»
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
 
Как построить DOM
Как построить DOMКак построить DOM
Как построить DOM
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTarget
 
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
13 октября, DEV {web} - конференция о Highload веб-разработке. "Архитектура п...
 
Chef @DevWeb
Chef @DevWebChef @DevWeb
Chef @DevWeb
 
CSSO – история ускорения
CSSO – история ускоренияCSSO – история ускорения
CSSO – история ускорения
 
Парсим CSS
Парсим CSSПарсим CSS
Парсим CSS
 
Unit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьерUnit-тестирование скриншотами: преодолеваем звуковой барьер
Unit-тестирование скриншотами: преодолеваем звуковой барьер
 
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
Basis.js - почему я не бросил разрабатывать свой фреймворк (extended)
 
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)RTB DSP на языке Go укрощение buzzwords /  Даниил Подольский (Qmobi.Com)
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
 

Viewers also liked

How to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton MeetingHow to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton MeetingStarChapter
 
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексi-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексyaevents
 
June 2010 Jeff Davis Presentation at the ACG Utah Breakfast Meeting
June 2010 Jeff Davis Presentation at the ACG Utah Breakfast MeetingJune 2010 Jeff Davis Presentation at the ACG Utah Breakfast Meeting
June 2010 Jeff Davis Presentation at the ACG Utah Breakfast MeetingDavid Politis
 
Exploring Content with Wikipedia
Exploring Content with WikipediaExploring Content with Wikipedia
Exploring Content with WikipediaYegin Genc
 
Presentation logistikfokus webcoast.pptx
Presentation logistikfokus webcoast.pptxPresentation logistikfokus webcoast.pptx
Presentation logistikfokus webcoast.pptxPer Olof Arnäs
 
Check out section
Check out sectionCheck out section
Check out sectionAmy Byrne
 
Интернет - возможность для развития бизнеса
Интернет - возможность для развития бизнесаИнтернет - возможность для развития бизнеса
Интернет - возможность для развития бизнесаyaevents
 
Transport efficiency through increased information sharing in supply chains -...
Transport efficiency through increased information sharing in supply chains -...Transport efficiency through increased information sharing in supply chains -...
Transport efficiency through increased information sharing in supply chains -...Per Olof Arnäs
 
Article College Saving
Article College SavingArticle College Saving
Article College Savingmartamills
 
Webcoast wesserbisser.pptx
Webcoast wesserbisser.pptxWebcoast wesserbisser.pptx
Webcoast wesserbisser.pptxPer Olof Arnäs
 
Поиск багов в поиске
Поиск багов в поискеПоиск багов в поиске
Поиск багов в поискеyaevents
 
Tips for Communicating With a Worldwide Association
Tips for Communicating With a Worldwide AssociationTips for Communicating With a Worldwide Association
Tips for Communicating With a Worldwide AssociationStarChapter
 
Elena Gluhova
Elena GluhovaElena Gluhova
Elena Gluhovayaevents
 
Jumpstart Your Association Blog - 20 Post Ideas
Jumpstart Your Association Blog - 20 Post IdeasJumpstart Your Association Blog - 20 Post Ideas
Jumpstart Your Association Blog - 20 Post IdeasStarChapter
 
Атака на клоны!
Атака на клоны!Атака на клоны!
Атака на клоны!yaevents
 
Predicting performance in Recommender Systems - Slides
Predicting performance in Recommender Systems - SlidesPredicting performance in Recommender Systems - Slides
Predicting performance in Recommender Systems - SlidesAlejandro Bellogin
 
Technology Traps for Associations to Avoid
Technology Traps for Associations to AvoidTechnology Traps for Associations to Avoid
Technology Traps for Associations to AvoidStarChapter
 
Evaluation of fuels - a systems perspective
Evaluation of fuels - a systems perspectiveEvaluation of fuels - a systems perspective
Evaluation of fuels - a systems perspectivePer Olof Arnäs
 

Viewers also liked (20)

How to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton MeetingHow to Find Great Speakers for Your Next Assoicaiton Meeting
How to Find Great Speakers for Your Next Assoicaiton Meeting
 
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндексi-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
i-bem.js: JavaScript в БЭМ-терминах. Елена Глухова, Варвара Степанова, Яндекс
 
June 2010 Jeff Davis Presentation at the ACG Utah Breakfast Meeting
June 2010 Jeff Davis Presentation at the ACG Utah Breakfast MeetingJune 2010 Jeff Davis Presentation at the ACG Utah Breakfast Meeting
June 2010 Jeff Davis Presentation at the ACG Utah Breakfast Meeting
 
Exploring Content with Wikipedia
Exploring Content with WikipediaExploring Content with Wikipedia
Exploring Content with Wikipedia
 
Agile
AgileAgile
Agile
 
Presentation logistikfokus webcoast.pptx
Presentation logistikfokus webcoast.pptxPresentation logistikfokus webcoast.pptx
Presentation logistikfokus webcoast.pptx
 
Check out section
Check out sectionCheck out section
Check out section
 
Интернет - возможность для развития бизнеса
Интернет - возможность для развития бизнесаИнтернет - возможность для развития бизнеса
Интернет - возможность для развития бизнеса
 
Transport efficiency through increased information sharing in supply chains -...
Transport efficiency through increased information sharing in supply chains -...Transport efficiency through increased information sharing in supply chains -...
Transport efficiency through increased information sharing in supply chains -...
 
Big data @ #Webcoast
Big data @ #WebcoastBig data @ #Webcoast
Big data @ #Webcoast
 
Article College Saving
Article College SavingArticle College Saving
Article College Saving
 
Webcoast wesserbisser.pptx
Webcoast wesserbisser.pptxWebcoast wesserbisser.pptx
Webcoast wesserbisser.pptx
 
Поиск багов в поиске
Поиск багов в поискеПоиск багов в поиске
Поиск багов в поиске
 
Tips for Communicating With a Worldwide Association
Tips for Communicating With a Worldwide AssociationTips for Communicating With a Worldwide Association
Tips for Communicating With a Worldwide Association
 
Elena Gluhova
Elena GluhovaElena Gluhova
Elena Gluhova
 
Jumpstart Your Association Blog - 20 Post Ideas
Jumpstart Your Association Blog - 20 Post IdeasJumpstart Your Association Blog - 20 Post Ideas
Jumpstart Your Association Blog - 20 Post Ideas
 
Атака на клоны!
Атака на клоны!Атака на клоны!
Атака на клоны!
 
Predicting performance in Recommender Systems - Slides
Predicting performance in Recommender Systems - SlidesPredicting performance in Recommender Systems - Slides
Predicting performance in Recommender Systems - Slides
 
Technology Traps for Associations to Avoid
Technology Traps for Associations to AvoidTechnology Traps for Associations to Avoid
Technology Traps for Associations to Avoid
 
Evaluation of fuels - a systems perspective
Evaluation of fuels - a systems perspectiveEvaluation of fuels - a systems perspective
Evaluation of fuels - a systems perspective
 

Similar to Mihail Korepanov

Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Павел Худяков: Работа с макетом
Павел Худяков: Работа с макетомПавел Худяков: Работа с макетом
Павел Худяков: Работа с макетомYandex
 
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Ontico
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияYandex
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruYandex
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!Roman Dvornov
 
Тестирование безDOMных объектов
Тестирование безDOMных объектовТестирование безDOMных объектов
Тестирование безDOMных объектовSQALab
 
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Ontico
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Ontico
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Yandex
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TKConf
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Ontico
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинSergey Xek
 
Автоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игреАвтоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игреAlexey Simonenko
 
Разгоняем 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
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Yandex
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщикаmcslayer
 

Similar to Mihail Korepanov (20)

Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
Павел Худяков: Работа с макетом
Павел Худяков: Работа с макетомПавел Худяков: Работа с макетом
Павел Худяков: Работа с макетом
 
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
Прогрессивный рендеринг и Catberry.js / Михаил Реенко (2GIS / Flamp)
 
Иван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизацияИван Карев — Клиентская оптимизация
Иван Карев — Клиентская оптимизация
 
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ruБаба-Яга против! — Роман Дворнов, Ostrovok.ru
Баба-Яга против! — Роман Дворнов, Ostrovok.ru
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
 
Тестирование безDOMных объектов
Тестирование безDOMных объектовТестирование безDOMных объектов
Тестирование безDOMных объектов
 
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
Переход с Objective-C на Swift — все ли так просто? / Олег Алексеенко (SuperJob)
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
Мастер-класс: Разрабатываем сайт с нуля на полном стеке БЭМ-технологий — Жека...
 
TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.TК°Conf. Организация разработки Frontend. Виталий Слободин.
TК°Conf. Организация разработки Frontend. Виталий Слободин.
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
JavaFX 2.0 overview
JavaFX 2.0 overviewJavaFX 2.0 overview
JavaFX 2.0 overview
 
Автоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игреАвтоматизация разработки курсов: путь от рутины к игре
Автоматизация разработки курсов: путь от рутины к игре
 
Разгоняем 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.)
 
Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"Вадим Макишвили "Вёрстка в IntelliJIDEA"
Вадим Макишвили "Вёрстка в IntelliJIDEA"
 
Cовременный станок верстальщика
Cовременный станок верстальщикаCовременный станок верстальщика
Cовременный станок верстальщика
 

More from yaevents

Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...yaevents
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндексyaevents
 
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...yaevents
 
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...yaevents
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...yaevents
 
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...yaevents
 
Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндексyaevents
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндексyaevents
 
Разработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, ShturmannРазработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, Shturmannyaevents
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...yaevents
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...yaevents
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндексyaevents
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebookyaevents
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...yaevents
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Googleyaevents
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...yaevents
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...yaevents
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигмаyaevents
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...yaevents
 
Поисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, ЯндексПоисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, Яндексyaevents
 

More from yaevents (20)

Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
Как научить роботов тестировать веб-интерфейсы. Артем Ерошенко, Илья Кацев, Я...
 
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, ЯндексТема для WordPress в БЭМ. Владимир Гриненко, Яндекс
Тема для WordPress в БЭМ. Владимир Гриненко, Яндекс
 
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
Построение сложносоставных блоков в шаблонизаторе bemhtml. Сергей Бережной, Я...
 
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
Дом из готовых кирпичей. Библиотека блоков, тюнинг, инструменты. Елена Глухов...
 
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
Модели в профессиональной инженерии и тестировании программ. Александр Петрен...
 
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
Администрирование небольших сервисов или один за всех и 100 на одного. Роман ...
 
Мониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, ЯндексМониторинг со всех сторон. Алексей Симаков, Яндекс
Мониторинг со всех сторон. Алексей Симаков, Яндекс
 
Истории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, ЯндексИстории про разработку сайтов. Сергей Бережной, Яндекс
Истории про разработку сайтов. Сергей Бережной, Яндекс
 
Разработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, ShturmannРазработка приложений для Android на С++. Юрий Береза, Shturmann
Разработка приложений для Android на С++. Юрий Береза, Shturmann
 
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
Кросс-платформенная разработка под мобильные устройства. Дмитрий Жестилевский...
 
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
Сложнейшие техники, применяемые буткитами и полиморфными вирусами. Вячеслав З...
 
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, ЯндексСканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
Сканирование уязвимостей со вкусом Яндекса. Тарас Иващенко, Яндекс
 
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, FacebookМасштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
Масштабируемость Hadoop в Facebook. Дмитрий Мольков, Facebook
 
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...Контроль зверей: инструменты для управления и мониторинга распределенных сист...
Контроль зверей: инструменты для управления и мониторинга распределенных сист...
 
Юнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, GoogleЮнит-тестирование и Google Mock. Влад Лосев, Google
Юнит-тестирование и Google Mock. Влад Лосев, Google
 
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
C++11 (formerly known as C++0x) is the new C++ language standard. Dave Abraha...
 
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
Зачем обычному программисту знать языки, на которых почти никто не пишет. Але...
 
В поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, НигмаВ поисках математики. Михаил Денисенко, Нигма
В поисках математики. Михаил Денисенко, Нигма
 
Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...Using classifiers to compute similarities between face images. Prof. Lior Wol...
Using classifiers to compute similarities between face images. Prof. Lior Wol...
 
Поисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, ЯндексПоисковая технология "Спектр". Андрей Плахов, Яндекс
Поисковая технология "Спектр". Андрей Плахов, Яндекс
 

Mihail Korepanov