Node.js デザインパターン 第 2 版

ノードジェイエスデザインパターンダイニハン

Node.js デザインパターン 第 2 版の表紙
インターネット / WEB デザイン
著者:
Mario Casciaro / Luciano Mammino / 武舎広幸 / 阿部和也(マリオ カッシャーロ / ルチアーノ マンミーノ / ムシャ ヒロユキ / アベ カズヤ)
出版社:
オライリー・ジャパン
出版日:
2019年05月18日頃
ISBN:
9784873118734
在庫:
在庫あり
5(1 件 / 楽天ブックス)
中級者向け
サーバー管理インターネット・WEB デザインJavaScriptデザインパターンソフトウェアアーキテクチャNode.js非同期処理Streamスケーラビリティエンタープライズアプリケーションユニバーサル JavaScriptハンズオン

なぜ注目されているか

言及数
178位
総合569位 ↑ 9 ランクアップ 言及 15 件
01120222023202420252026

書籍紹介

Node.js のコアとなる設計思想を知る!
Node/JavaScript アプリの設計技法を、実際に手を動かしながら学ぶハンズオン形式の解説書。本書では最初に、非同期のシングルスレッドアーキテクチャおよび主なデザインパターンを説明し、Node.js の基礎を押さえます。次に、非同期制御のフロー、Stream、一般的なデザインパターンの Node.js での実装、Node.js 専用のデザインパターンといった事柄を解説します。最後に、ユニバーサル JavaScript、スケーラビリティ、Node.js を使ったエンタープライズアプリの開発といったより高度なトピックを扱います。対象読者は中級以上のウェブ開発者。最新の 11.4 対応です。

技書の森解説

Node.js でサーバー側のコードを書いていると、処理の順序やエラーの受け渡し、同時に走らせる数の制御といった、同期的なプログラムでは意識しなかった問題に何度も向き合うことになります。『Node.js デザインパターン 第 2 版』 (Mario Casciaro、Luciano Mammino 著、武舎 広幸、阿部 和也 訳、オライリー・ジャパン、2019 年 5 月 18 日発行) は、原書 Node.js Design Patterns, 2E の日本語版で、Node と JavaScript のアプリの設計技法を手を動かしながら学ぶハンズオン形式の解説書です。版元は対象読者を中級以上のウェブ開発者とし、バージョン 11 対応と案内しています。

全 11 章と付録、コールバックからメッセージ通信まで

1 章は Node.js の「哲学」として小さなコア、小さなモジュール、露出部分最小化、単純さと実用主義を挙げ、リアクタパターンと libuv を含むアーキテクチャへ進みます。2 章はコールバックパターン、モジュールシステム、EventEmitter クラスを使うオブザーバパターンです。3 章はウェブスパイダーを作りながら、逐次処理、並行処理、同時実行数を制限した並行処理を素の JavaScript と async ライブラリの両方で組み、4 章はプロミスの節でも同じ 3 つの処理を取り上げたうえで、ジェネレーター、async/await を経て非同期プログラミングの手法を比較します。5 章はストリーム、6 章はファクトリ、公開コンストラクタ、プロキシ、デコレーター、アダプター、ストラテジー、ステート、テンプレート、ミドルウェア、コマンドというオブジェクト指向のパターンの Node.js への適用です。7 章でモジュールの接続とプラグイン、8 章で Webpack と React を使うユニバーサル JavaScript、9 章で非同期に初期化されるモジュールや CPU バウンドなタスクといった特殊な問題、10 章で cluster モジュールやリバースプロキシ、マイクロサービスを含むスケーラビリティとアーキテクチャ、11 章で pub/sub やリクエスト/リプライのメッセージ通信を扱います。付録 A は ES2015 以降の JavaScript の主要機能です。

1 本のスレッドで多数の要求をさばく仕組みと設計の関係

Node.js は 1 本のスレッドで イベントループ を回し、ファイルやネットワークの入出力の完了を待つ間も別の処理を進めます。待ち時間の長い入出力を止めずに多数の接続をさばける反面、時間のかかる計算を同じスレッドで続けると、その間はほかのすべての要求が待たされます。処理の続きをいつ誰が呼ぶのかがコードの見た目から離れるため、エラーの伝え方や処理の順序、同時に走らせる数の制御が設計の中心に出てきます。GoF の書籍で広まった デザインパターン も、この実行モデルの上では、非同期の初期化やストリームとの組み合わせを前提とした形に姿を変えます。本書の目次でも、6 章のオブジェクト指向のパターンとは別に、3 章と 4 章の非同期制御、5 章のストリーム、9 章の CPU バウンドなタスクの節が並んでいます。

バージョン 11 対応という時点の読み方

版元が案内する対応バージョンは 11 です。Node.js 公式のリリース一覧では、11.x は 2018 年 10 月 23 日に初版が出た長期サポート (LTS) を持たない系列で、サポート終了日は 2019 年 6 月 1 日と記されています。そのため本書の手順やサンプルコードは 2019 年時点の Node.js を前提として読み、モジュールの読み込み方やライブラリの版は手元の環境に合わせて確かめる必要があります。一方で、非同期制御の組み立て方、ストリームの合成、アプリケーションを複製して負荷を分け、さらに機能ごとに分解していくスケーリングの考え方は、版をまたいで通用しやすい題材です。翻訳者による日本語版のサポートページとサンプルコードも、版元ページから案内されています。

版元が対象を中級以上と明記しているとおり、JavaScript の文法から学ぶ段階の人には負担が大きい本です。Node.js で動くコードは書けるものの、コールバックとプロミスの使い分け、モジュールの分け方、プロセスを増やしたときの設計に自信が持てない人にとって、非同期の基礎から GoF 系のパターン、スケーリング、メッセージ通信までを一続きで学べる本書は、設計の判断に使える引き出しを増やせる一冊です。

言及した記事 (15 件)

この本は技書デッキのカードです (攻撃 14) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: