• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
CodeFest 2013. Давыдов М. — Проект на бою. Работает? Стабильно? Эффективно? Мониторим, анализируем, делаем лучше!
 

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

on

  • 476 views

 

Statistics

Views

Total Views
476
Views on SlideShare
385
Embed Views
91

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 91

http://2013.codefest.ru 89
http://2014.codefest.ru 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

    • Работает?Стабильно?Эффективно?Михаил Давыдов,Яндекс
    • Error on line 1 column57841. Ololo is notdefined…
    • Воспроизводится! В норм. браузере!
    • 4Эта проблема легко решается•Это уже воспроизвелось!•Reformat Code•SourceMap
    • 5Reformat Code
    • 6SourceMap•Сопоставляет код коду•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!
    • 10Visual 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-Sourcehttps://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 Coveragehttps://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.ruazproductionСпасибо