SlideShare uma empresa Scribd logo
1 de 45
Работает?
Стабильно?
Эффективно?
Михаил Давыдов,
Яндекс
Error on line 1 column
57841. Ololo is not
defined…
Воспроизводится! В норм. браузере!
4
Эта проблема легко решается
•Это уже воспроизвелось!
•Reformat Code
•SourceMap
5
Reformat Code
6
SourceMap
•Сопоставляет код коду
•UglifyJS
•Chromium browser
•CoffeeScript, TypeScript, JS
Статья - http://clck.ru/8bjOI
Визуализатор - http://clck.ru/8bjOQ
7
Воспроизводится! Только в IE < 8 
8
Дебаг IE – это весело!
•Любимые ошибки
–Unexpected call to method or property access
–Error: 'z' is null or not an object
9
И эта проблема легко решается
•Это уже воспроизвелось!
•console.log – не поможет…
•F12 – не поможет…
•Visual Studio Express – FTW!
10
Visual Studio Express for Web
Как дебажить - http://clck.ru/8bjPG
Ошибка нигде не
воспроизводится…
12
И проблема решается
•Связаться с пользователем
•Попросить описать шаги
•Скриншоты
•Информация о браузере
Отслеживание
ошибок
14
Отслеживаем ошибки
•Собираем все данные
•Хорошая форма репорта
•Отлов ошибок в фоне
15
Собираем все данные
•User Agent
•OS
•Список все плагинов
16
Хорошая форма репорта
•Все данные браузера
•Скриншот
•Пошаговое воспроизведение
17
Распространѐнные формы репорта
•User Voice
•Get Satisfaction
•UserEchо
18
Отлов ошибок в фоне
•Ловим
– window.onerror + jQuery.error
•Интерпретируем
– библиотека stacktracejs
•Отправляем
– Google Analytics
– Яндекс.Метрика
http://stacktracejs.com/
19
Отлов ошибок в фоне
•Raven.js
– Клиент для Sentry
– window.onerror = Raven.process;
– Open-Source
https://github.com/getsentry/raven-js
20
Сервисы для отлова ошибок
•Qbaka
•Proxino
•Errorception
Предотвращение
ошибок, как?
22
Как предотвратить
•Хороший IDE
– Ловит 95% проблем
•Статический анализ
– Автоматический!
– JSLint
– JSHint
•Тестирование
http://www.jshint.com/
Хороший IDE – http://clck.ru/8bosY
Код долго
загружается
24
Как оптимизировать
•Вынести максимум в CDN
•Найти холодный код
•Найти мертвый код
•Сделать ленивую загрузку
25
Вынести максимум в CDN
•http://yandex.st/
•http://cdnjs.com/
•Google – http://clck.ru/8bjZK
•Держать запасную
библиотеку!
26
Найти холодный и мертвый код
•Аналитически
– Своим умом
– С помощью IDE
•Счетчики для "фичей"
– Google Analytics
– Яндекс.Метрика
•Code Coverage
27
Счетчики для "фичей"
•Это дешево
– Сервисы аналитики есть везде
•Нужно вешать счетчики
•Отчет слишком общий
28
Статистический Code Coverage
•СС – не только для тестов
•Пользователь – лучший тестер
•Дешево и надежно
•Можно управлять покрытием
•Мониторится все
29
Статистический Code Coverage
https://github.com/azproduction/lmd
30
Косвенная прибыль Code Coverage
•Знаем что не интересно
•Знаем горячие фичи
Загружаем
лениво
32
Как использовать
•Выделяем холодный код
•Делим код на модули
•Загружаем по требованию
33
Библиотеки для ленивой загрузки
•RequireJS + r.js
•LABjs, YepNope, Headjs
•LMD
Деградация
проекта. Как не
допустить?
35
Деградация происходит из-за
•Не соблюдается Code Style
•Децентрализация
•Отсутствие документации
36
Способы предотвращения деградации
•Единый Code Style
•Коммит через Code Review
•Проверка кода c JSHint
•Автотесты
•Плановые рефакторинги
Что нужно
пользователю?
38
Что нужно пользователю
•Стабильная работа
•Быстрая загрузка
•"Прикольные фичи!!11"
39
Как узнать
какие фичи
нужны/не нужны?
40
Что нужно пользователю
•Опросники
•Счетчики
•Code Coverage
•Анализ конкурентов
41
Холодная фича –
не нужная фича?
42
Проблемы Холодной фичи
•Не знают о ней
•Не могут найти
•Не удобная/не привыкли
•Не нужна
Оптимизируем
затраты
44
На что нужно обратить внимание
•Максимум автоматизации
– Отлов ошибок
– Хороший IDE
– Статический анализ кода с JSHint
•Не пишем лишнее
– Формы с обсуждением фичей
– Взвешиваем каждую фичу
– Code Coverage для анализа кода
Михаил Давыдов
Яндекс
i@azproduction.ru
azproduction
Спасибо

Mais conteúdo relacionado

Mais procurados

Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par...
 Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par... Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par...
Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par...
it-people
 
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
Ontico
 
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ontico
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
404fest
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
ITCrowd Almaty
 
DevOps или искусство выживания в растущей компании
DevOps или искусство выживания в растущей компанииDevOps или искусство выживания в растущей компании
DevOps или искусство выживания в растущей компании
Alexey Vakhov
 

Mais procurados (19)

Планирование развития автотестов, Кирилл Раткин, СКБ Контур
 Планирование развития автотестов, Кирилл Раткин, СКБ Контур  Планирование развития автотестов, Кирилл Раткин, СКБ Контур
Планирование развития автотестов, Кирилл Раткин, СКБ Контур
 
Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par...
 Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par... Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par...
Создаем команду автотестирования в нетипичных условиях, Василий Никишин, Par...
 
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
От репозитория до CI/CD-инфраструктуры в продакшне за неделю / Дмитрий Чумак ...
 
DevOps в реальном времени
DevOps в реальном времениDevOps в реальном времени
DevOps в реальном времени
 
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
Ошибки проектирования высоконагруженных проектов / Максим Ехлаков (OneTwoRent)
 
Артем Титаренко
Артем ТитаренкоАртем Титаренко
Артем Титаренко
 
Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops Visual Studio Team Services /TFS helps doing devops
Visual Studio Team Services /TFS helps doing devops
 
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для MacКонстантин Назаров – Распараллеливание сборки Parallels Desktop для Mac
Константин Назаров – Распараллеливание сборки Parallels Desktop для Mac
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проектаКолёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
Колёса: Раньше и сейчас. Как поменять архитектуру высоконагруженного проекта
 
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивностиJS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
JS Lab2017_Алексей Зеленюк_Сбалансированное окружение для вашей продуктивности
 
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
Мониторинг быстродействия web-проекта / Владимир Буянов (Ultimate Guitar)
 
DevOps или искусство выживания в растущей компании
DevOps или искусство выживания в растущей компанииDevOps или искусство выживания в растущей компании
DevOps или искусство выживания в растущей компании
 
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...
 
Разработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервисаРазработка API для большого, нагруженного сервиса
Разработка API для большого, нагруженного сервиса
 
Tk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosqlTk conf daniel-podolsky-sqlvsnosql
Tk conf daniel-podolsky-sqlvsnosql
 
Вредные советы для разработчиков
Вредные советы для разработчиковВредные советы для разработчиков
Вредные советы для разработчиков
 
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
Быстрый старт iOS приложения на примере iOS Почты Mail.Ru / Николай Морев (Ma...
 
Всему своё время Highload Junior 2016
Всему своё время   Highload Junior  2016Всему своё время   Highload Junior  2016
Всему своё время Highload Junior 2016
 

Destaque

CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...
CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...
CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...
CodeFest
 
CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...
CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...
CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...
CodeFest
 
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQLCodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest
 
CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...
CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...
CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...
CodeFest
 
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлениюCodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest
 
CodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать все
CodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать всеCodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать все
CodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать все
CodeFest
 
CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...
CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...
CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...
CodeFest
 
CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...
CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...
CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...
CodeFest
 
CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?
CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?
CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?
CodeFest
 

Destaque (9)

CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...
CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...
CodeFest 2014. Снитко Д. — Арт-дирекшен. Как сделать так, чтобы дизайн расска...
 
CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...
CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...
CodeFest 2012. Лихтер К, Таратухин И. — Коктейль «Skydive» или как мы делали ...
 
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQLCodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
CodeFest 2013. Аверин С. — MySQL+HandlerSocket=NoSQL
 
CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...
CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...
CodeFest 2012. Кашкута И. — Серебряная пуля кроссплатформенной разработки моб...
 
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлениюCodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
CodeFest 2013. Родионов А. — От Selenium к Watir — путь к просветлению
 
CodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать все
CodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать всеCodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать все
CodeFest, июль 2012. Кобзев Е. — Маркетинг должны делать все
 
CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...
CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...
CodeFest 2013. Селиванов В. — Юридическое оформление отношений с разработчика...
 
CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...
CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...
CodeFest 2012. Тиняков И. — Как попасть в ТОП-10 магазина Windows Phone 7, по...
 
CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?
CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?
CodeFest 2013. Белый И. — Marmalade SDK. Что под капотом?
 

Semelhante a CodeFest 2013. Давыдов М. — Проект на бою. Работает? Стабильно? Эффективно? Мониторим, анализируем, делаем лучше!

CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
HappyDev
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
Alex Chistyakov
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
Sergey Xek
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Ontico
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON
 

Semelhante a CodeFest 2013. Давыдов М. — Проект на бою. Работает? Стабильно? Эффективно? Мониторим, анализируем, делаем лучше! (20)

Little Service in 2h
Little Service in 2hLittle Service in 2h
Little Service in 2h
 
Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
CodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается YiiCodeFest 2011. Макаров А. — Как разрабатывается Yii
CodeFest 2011. Макаров А. — Как разрабатывается Yii
 
Как разраба
Как разрабаКак разраба
Как разраба
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
Инструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важныИнструменты разные нужны, инструменты разные важны
Инструменты разные нужны, инструменты разные важны
 
Масштабируемая архитектура фронтенда
Масштабируемая архитектура фронтендаМасштабируемая архитектура фронтенда
Масштабируемая архитектура фронтенда
 
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
Игры с виртуализацией в JavaScript, или как я переписал эмулятор, Евгений Пот...
 
C++ Core Guidelines
C++ Core Guidelines C++ Core Guidelines
C++ Core Guidelines
 
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк YiiDevconf 2011 - PHP - Как разрабатывается фреймворк Yii
Devconf 2011 - PHP - Как разрабатывается фреймворк Yii
 
Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»Валерий Петров «Модель памяти .NET»
Валерий Петров «Модель памяти .NET»
 
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
Олег Мохов "Куда идём мы с Пятачком, или О том, куда движется вёрстка и верст...
 
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
"Webpack: 7 бед — один ответ" — Денис Измайлов, MoscowJS 17
 
Daemons In Web on #devrus
Daemons In Web on #devrusDaemons In Web on #devrus
Daemons In Web on #devrus
 
Баба Яга против!
Баба Яга против!Баба Яга против!
Баба Яга против!
 
Software Analytics in frontend
Software Analytics in frontendSoftware Analytics in frontend
Software Analytics in frontend
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только одинSECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
SECON'2016. Сергей Аверин. Javascript-фреймворки:
 должен остаться только один
 

Mais de CodeFest

Mais 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 2013. Давыдов М. — Проект на бою. Работает? Стабильно? Эффективно? Мониторим, анализируем, делаем лучше!