JavaScript. Оптимизация производительности
Интернет-портал MegaWEB

Интернет-портал MegaWEB содержит много ресурсов для веб-мастеров, интернет-разработчиков, веб-дизайнеров и seo-оптимизаторов. Это видеоуроки, книги и справочники в формате ebook: PDF-CHM-DJVU, а также программы и утилиты для того, чтобы сделать сайт или раскрутить сайт в сети Интернет.

Книга «JavaScript. Оптимизация производительности»

 

JavaScript. Оптимизация производительности

Книга «JavaScript. Оптимизация производительности» представляет собой впечатляющую коллекцию советов и рекомендаций от экспертов в этой области. Это бесценный источник знаний для всех, кто желает писать высокопроизводительные сценарии на языке JavaScript. Приемы и подходы, обсуждаемые автором, охватывают самые разные аспекты программирования на языке JavaScript, такие как время выполнения, загрузка, взаимодействие с DOM, жизненный цикл страниц и многие другие. Из рассматриваемых проблем лишь малая часть, связанная с производительностью ядра ECMAScript, может быть устранена за счет усовершенствования интерпретаторов JavaScript, но это еще только должно произойти. В решении остальных рассмотренных проблем увеличение производительности интерпретаторов JavaScript не решает проблему быстродействия. Это взаимодействие с деревом DOM, сетевые задержки, блокировка и параллельная загрузка сценариев JavaScript и многое другое. Эти вопросы не только не будут сняты в будущем, но станут основным предметом исследований по мере повышения производительности интерпретаторов JavaScript.

JavaScript. Оптимизация производительности

Обзор книги «JavaScript. Оптимизация производительности»

Загрузка и выполнение, рассказывает о параллельной загрузке JavaScript-файлов одновременно с другими ресурсами. Это достаточно важный вопрос, поскольку плохо написанный программный код, использование неэффективных алгоритмов и утилит являются существенным фактором снижения производительности JavaScript.
  • Местоположение сценария
  • Группировка сценариев
  • Неблокирующая загрузка сценариев
    • Отложенные сценарии
    • Динамические элементы script
    • Инъекция сценариев с помощью XMLHttpRequest
    • Рекомендуемые способы неблокирующей загрузки
Доступ к данным, описывает возможности сохранения и извлечения данных из JavaScript-сценариев. Важно не только решить, какие данные хранить, но и где их хранить, поэтому автор демонстрирует, как такие понятия, как цепочки областей видимости и цепочки прототипов, могут влиять на производительность сценариев. Здесь рассказывается об ускорении доступа к данным и разрешении идентификаторов, об управлении областями видимости, о динамических областях видимости, об использовании цепочек областей видимости и сохранении данных в замыканиях. Этот материал позволит вам глубже понять особенности работы областей видимости в языке JavaScript.
  • Управление областью видимости
    • Цепочки областей видимости и разрешение идентификаторов
    • Производительность разрешения идентификаторов
    • Увеличение цепочки областей видимости
    • Динамические области видимости
    • Замыкания, области видимости и память
  • Члены объектов
    • Прототипы
    • Цепочки прототипов
    • Вложенные члены
    • Кэширование значений членов объектов
Работа с деревом DOM, объясняет почему из-за особенностей реализации операции с деревом DOM являются самыми медленными в JavaScript. Рассматриваются все аспекты, касающиеся DOM, включая описание того, как перерисовка и реорганизация элементов страниц могут уменьшить скорость выполнения программного кода. Кроме того, предлагаются удобные и эффективные приемы чтения и изменения элементов DOM, способы изменения стилей элементов DOM, позволяющие избежать лишних операций перерисовывания и перекомпоновки.
  • Модель DOM в мире броузеров
    • Врожденная медлительность
  • Доступ к дереву DOM и его модификация
    • Свойство innerHTML в сравнении с методами DOM
    • Копирование узлов
    • HTML-коллекции
    • Обход дерева DOM
  • Перерисовывание и перекомпоновка
    • Когда происходит перекомпоновка
    • Буферизация и применение изменений в дереве отображения
    • Уменьшение количества операций перерисовывания и перекомпоновки
    • Кэширование информации о размещении
    • Исключение элементов из потока отображения для внесения изменений
    • IE и :hover
  • Делегирование обработки событий
Алгоритмы и управление потоком выполнения, описывает распространенные приемы программирования: циклы, рекурсия и др., и как они могут работать против разработчика, снижая производительность во время выполнения. Здесь рассматриваются такие методы оптимизации, как мемоизация, а также некоторые ограничения, накладываемые браузерами.
  • Циклы
    • Типы циклов
    • Производительность цикла
    • Итерации на основе функций
  • Условные инструкции
    • Сравнение if-else и switch
    • Оптимизация инструкций if-else
    • Поисковые таблицы
  • Рекурсия
    • Ограниченность размера стека вызовов
    • Шаблоны реализации рекурсии
    • Итерации
    • Мемоизация
Строки и регулярные выражения, посвящена обсуждению вопросов, связанных со сложными операциями над строками. На протяжении многих лет вебразработчики боролись с неэффективной реализацией строковых операций в браузерах, и здесь объясняется, почему некоторые операции выполняются слишком медленно и как обходить это при разработке.
  • Конкатенация строк
    • Операторы плюс (+) и плюс-равно (+=)
    • Слияние элементов массива
    • String.prototype.concat()
  • Оптимизация регулярных выражений
    • Как работают регулярные выражения
    • Возвраты
    • Исключение возвратов
    • Примечание к измерению производительности
    • Дополнительные пути повышения производительности регулярных выражений
    • Когда не следует использовать регулярные выражения
  • Усечение строк
    • Усечение с применением регулярных выражений
    • Усечение без применения регулярных выражений
    • Смешанное решение
Отзывчивые интерфейсы, концентрирует внимание читателя на ощущениях пользователей. В процессе выполнения JavaScript-сценарий может "подвешивать" браузер, вызывая недовольство у пользователей. Здесь обсуждаются некоторые приемы, гарантирующие сохранение отзывчивости пользовательского интерфейса в любых условиях. Рассказывается, как решаются проблемы, обусловленные тем фактом, что выполнение JavaScript-сценариев и обновление пользовательского интерфейса производится в одном потоке выполнения. Демонстрируются такие приемы, как применение таймеров, разделение задач и использование фоновых потоков для выполнения программного кода за рамками главного потока управления.
  • Поток выполнения пользовательского интерфейса броузера
    • Ограничения броузеров
    • Слишком долго – это сколько
  • Использование таймеров
    • Основы таймеров
    • Точность таймера
    • Обработка массивов с помощью таймеров
    • Деление заданий
    • Хронометраж выполнения программного кода
    • Таймеры и производительность
  • Фоновые потоки выполнения
    • Окружение фонового потока выполнения
    • Взаимодействие с фоновыми потоками выполнения
    • Загрузка внешних файлов
    • Практическое использование
Ajax, демонстрирует способы реализации быстрых взаимодействий между клиентом и сервером. Показывается, как различные форматы представления данных могут влиять на производительность механизмов AJAX и почему применение объекта XMLHttpRequest не всегда является лучшим выбором.
  • Передача данных
    • Запрос данных
    • Отправка данных
  • Форматы данных
    • XML
    • JSON
    • HTML
    • Нестандартное форматирование
    • Заключительные выводы о форматах данных
  • Рекомендации по повышению производительности Ajax
    • Кэширование данных
    • Известные ограничения библиотек поддержки Ajax
Приемы программирования, представляет собой коллекцию наиболее эффективных приемов программирования, уникальных для языка JavaScript. После того как JavaScript-сценарий будет написан и отлажен, наступает момент сделать внесенные изменения доступными всем желающим. Однако не всегда бывает достаточно просто скопировать исходные файлы на действующий сервер.
  • Предотвращение повторной интерпретации
  • Использование литералов объектов/массивов
  • Предотвращение повторного выполнения работы
    • Отложенная загрузка
    • Предварительная условная загрузка
  • Использование сильных сторон
    • Битовые операторы
    • Встроенные методы
Сборка и развертывание высокопроизводительных приложений на JavaScript, демонстрирует способы повышения производительности сценариев при развертывании. Обсуждаются особенности использования систем сборки, автоматически минимизирующих файлы, и применение функции сжатия в протоколе HTTP при отправке этих файлов браузерам. Следующий шаг после развертывания JavaScript-сценариев – это тестирование их производительности.
  • Apache Ant
  • Объединение JavaScript-файлов
  • Предварительная обработка JavaScript-файлов
  • Минификация JavaScript-файлов
  • Сборка в виде отдельного этапа или во время выполнения
  • Сжатие JavaScript-сценариев
  • Кэширование JavaScript-файлов
  • Решение проблем, связанных с кэшированием
  • Использование сети распространения содержимого
  • Развертывание JavaScript-ресурсов
  • Гибкий процесс сборки JavaScript-файлов
Инструменты, посвящена инструментам для исследования производительности, которые способны помочь в поиске проблем, возникающих после развертывания сценариев. Рассказывается об инструментах для профилирования JavaScript-сценариев и анализа сетевого трафика, таких как Firebug, инструменты разработчика в Chrome, dynaTrace, Fiddler, Page Speed, YSlow, веб-инспектор в Safari, инструменты разработчика в IE.
  • Профилирование JavaScript-сценариев
  • YUI Profiler
  • Анонимные функции
  • Firebug
    • Панель профилировщика в консоли
    • Прикладной интерфейс консоли
    • Панель Net
  • Инструменты разработчика в Internet Explorer
  • Веб-инспектор в броузере Safari
    • Панель Profiles
    • Панель Resources
  • Инструменты разработчика в Chrome
  • Блокирование сценариями отображения страницы
  • Page Speed
  • Fiddler
  • YSlow
  • dynaTrace Ajax Edition

Большинство веб-разработчиков широко применяет JavaScript для создания интерактивных веб-приложений с малым временем отклика. При этом они нередко сталкиваются с проблемой – как ускорить программный код на языке JavaScript, который замедляет работу всего приложения. Книга «JavaScript. Оптимизация производительности» откроет вам приемы и стратегии, которые помогут в ходе разработки устранить узкие места, влекущие за собой снижение производительности.

Формат: PDF
Качество: eBook
Страниц: 256

Купить книгу «JavaScript. Оптимизация производительности»

Интернет-магазин OZON.RU: JavaScript. Оптимизация производительности / Интернет-магазин OZON.RU / Описание товара / JavaScript. Оптимизация производительности / Интернет-магазин OZON.RU / Оформить заказ

Скачать бесплатно книгу «JavaScript. Оптимизация производительности»

20.03.20131350.07121

Карта сайта

 
]]>