Конкурентность в JavaScript (Node.js): асинхронность, потоки, параллелизм — Алексей Соколов — обложка книги
300 страниц
JavaScript (Node.js)
PDF
4.5

Конкурентность в JavaScript (Node.js): асинхронность, потоки, параллелизм

Глубокое погружение в асинхронное программирование, event loop и многопоточность в Node.js

Автор:

Год:

Краткое содержимое:

Книга «Конкурентность в JavaScript (Node.js)» — это практическое руководство по созданию высокопроизводительных, отзывчивых и масштабируемых приложений на платформе Node.js. В современном мире веб-разработки скорость и эффективность работы серверного кода напрямую влияют на пользовательский опыт и стоимость инфраструктуры. Эта книга поможет вам освоить все ключевые концепции конкурентного программирования, от основ асинхронности до продвинутых техник многопоточности.

Для кого эта книга:

  • JavaScript-разработчиков, переходящих на серверную сторону с Node.js;
  • Backend-инженеров, желающих углубить знания в области асинхронного программирования;
  • Разработчиков, столкнувшихся с проблемами производительности и блокировками в Node.js;
  • Всех, кто хочет понять, как работает Event Loop и как эффективно использовать ресурсы системы.

Что вы узнаете из книги:

  • Как устроен Event Loop в Node.js и его фазы (таймеры, I/O коллбэки, idle, poll, check, close);
  • Разницу между синхронным, асинхронным и конкурентным выполнением кода;
  • Глубокое понимание промисов (Promise), цепочек then/catch, статических методов (Promise.all, Promise.race, Promise.allSettled);
  • Правильное использование async/await для написания читаемого асинхронного кода;
  • Обработку ошибок в асинхронных функциях и промисах;
  • Работу с потоками (Streams) для обработки больших объёмов данных;
  • Многопоточность с помощью Worker Threads: создание воркеров, передача данных, разделяемая память (SharedArrayBuffer);
  • Кластеризацию Node.js приложений для максимальной загрузки всех ядер процессора;
  • Паттерны проектирования для конкурентных приложений: Producer-Consumer, Pub/Sub, Pipeline;
  • Профилирование и отладку асинхронного кода, поиск утечек памяти и блокировок;
  • Безопасность в многопоточных приложениях: избегание гонок данных (race conditions) и deadlock.

Книга построена по принципу «от простого к сложному»: каждая глава содержит теоретическую базу, наглядные примеры кода и практические задания для закрепления материала. Вы научитесь не только писать асинхронный код, но и понимать, как Node.js управляет задачами под капотом.

Особое внимание уделяется сравнению конкурентности в Node.js с другими подходами (многопоточность в C++/Java, асинхронность в Python asyncio). Это поможет вам видеть общую картину и выбирать правильные инструменты для каждой задачи.

После прочтения книги вы сможете создавать высоконагруженные веб-серверы, чат-приложения, обработчики файлов и любые другие системы, требующие эффективного использования CPU и I/O ресурсов. Вы перестанете бояться «ада колбэков» и научитесь проектировать архитектуру, устойчивую к блокировкам.

Книга подходит как для начинающих разработчиков с базовыми знаниями JavaScript, так и для опытных инженеров, желающих систематизировать свои знания о конкурентности в Node.js.

Рекомендаций