Описание
{Вы не знаете JS} Асинхронная обработка и оптимизация, Симпсон К. купить книга Україна
Обкладинка – м”яка
Рік видання – 2019
Кількість сторінок – 352
ISBN – 978-5-4461-1313-2
Бумага – біла, офсет
Про книгу {Вы не знаете JS} Асинхронная обработка и оптимизация, Симпсон К.
Каким бы опытом программирования на JavaScript вы ни обладали, скорее всего, вы не понимаете язык в полной мере. Это лаконичное, но при этом глубоко продуманное руководство посвящено новым асинхронным возможностям и средствам повышения производительности, которые позволяют создавать сложные одностраничные веб-приложения и избежать при этом «кошмара обратных вызовов».Как и в других книгах серии «Вы не знаете JS», вы познакомитесь с нетривиальными особенностями языка, которых так боятся программисты. Только вооружившись знаниями можно достичь истинного мастерства.В КНИГЕ РАССМАТРИВАЮТСЯ СЛЕДУЮЩИЕ ТЕМЫ:∙ Старые и новые методы асинхронного программирования ∙ Использование обещаний JavaScript для решения проблемы «инверсии управления»∙ Применение генераторов для асинхронного выполнения в последовательной форме∙ Повышение быстродействия с использованием веб-работников, SIMD и asm.js∙ Методы хронометража и оптимизации выражений и команд
{Вы не знаете JS} Асинхронная обработка и оптимизация, Кайл Симпсон оглавление
Предисловие
Введение
Задача
Про книгу
Типографские соглашения
Использование программного кода примеров
Від видавця
Глава 1 . Асинхронность: сейчас и потом
Блочное строение программы
Асинхронный вывод в консоль
Цикл событий
Параллельные потоки
Выполнение до завершения
Параллельное выполнение
Отсутствие взаимодействий
Взаимодействия
Кооперация
Задания
Упорядочение команд
Итоги
Глава 2 . Обратные вызовы
Продолжения
Последовательное мышление
6Работа и планирование
Вложенные/сцепленные обратные вызовы
Проблемы доверия
История о пяти обратных вызовах
Не только в чужом коде
Попытки спасти обратные вызовы
Итоги
Глава 3 . Обещания
Что такое обещание?
Будущее значение
Событие завершения
События обещаний
Утиная типизация с методом then()(thenable)
Доверие Promise
Слишком ранний обратный вызов
Слишком поздний обратный вызов
Обратный вызов вообще не вызывается
Слишком малое или слишком большое количество
вызовов
Отсутствие параметров/переменных среды
Поглощение ошибок/исключений
Обещания, заслуживающие доверия?
Формирование доверия
Сцепление
Терминология: разрешение, выполнение и отказ
Обработка ошибок
Бездна отчаяния
Обработка неперехваченных ошибок
Бездна успеха
Паттерны обещаний
Promise.all([
])
Promise.race([
])
Вариации на тему all([
]) и race([
])
7 Параллельно выполняемые итерации
Снова о Promise API
Конструктор new Promise(
)
Promise.resolve(
) и Promise.reject(
)
then(
) и catch(
)
Promise.all([
]) и Promise.race([
])
Ограничения обещаний
Последовательность обработки ошибок
Единственное значение
Инерция
Неотменяемость обещаний
Эффективность обещаний
Итоги
Глава 4 . Генераторы
Нарушение принципа выполнения до завершения
Ввод и вывод
Передача сообщений при итерациях
Множественные итераторы
Генерирование значений
Производители и итераторы
Итерируемые объекты
Итераторы генераторов
Асинхронный перебор итераторов
Синхронная обработка ошибок
Генераторы + обещания
Выполнение генератора с поддержкой обещаний
Параллелизм обещаний в генераторах
Делегирование
Почему делегирование?
Делегирование сообщений
Делегирование асинхронности
Делегирование рекурсии
Параллельное выполнение генераторов
8Преобразователи
s/promise/thunk/
Генераторы до ES6
Ручное преобразование
Автоматическая транспиляция
Итоги
Глава 5 . Быстродействие программ
Веб-работники
Рабочая среда
Передача данных
Общие работники
Полифилы для веб-работников
SIMD
asm.js
Как оптимизировать с asm.js
Модули asm.js
Итоги
Глава 6 . Хронометраж и настройка
Хронометраж
Повторение
Benchmark.js
Все зависит от контекста
Оптимизации движка
jsPerf.com
Проверка на здравый смысл
Написание хороших тестов
Микробыстродействие
Различия между движками
Общая картина
Оптимизация хвостовых вызовов (TCO)
Итоги
9 Приложение А. Библиотека asynquence
Последовательности и архитектура, основанная
на абстракциях
asynquence API
Шаги
Ошибки
Параллельные шаги
Ветвление последовательностей
Объединение последовательностей
Значение и последовательности ошибки
Обещания и обратные вызовы
Итерируемые последовательности
Выполнение генераторов
Обертки для генераторов
Итоги
Приложение Б. Расширенные асинхронные
паттерны
Итерируемые последовательности
Расширение итерируемых последовательностей
Реакция на события
Наблюдаемые объекты в ES7
Реактивные последовательности
Генераторные сопрограммы (Generator Coroutine)
Конечные автоматы
Взаимодействующие последовательные процессы
Передача сообщений
Эмуляция CSP в asynquence
Итоги
Об авторе
Отзывы
Отзывов пока нет.