1. ホーム >
  2. 書籍 >
  3. 実践Node.jsプログラミング Node.jsの基礎知識からアプリケーション開発、テスト、配置/応用までスケーラブルで高速なWeb構築に必要なすべて

実践Node.jsプログラミング Node.jsの基礎知識からアプリケーション開発、テスト、配置/応用までスケーラブルで高速なWeb構築に必要なすべて

監修





形式:
書籍
発売日:
ISBN:
9784798129471
価格:
本体3,600円+税
仕様:
B5変・472ページ
分類:
プログラミング(Web系)

本書籍の他の形式を確認する

  • このエントリーをはてなブックマークに追加

Node.jsのコアからサードパーティモジュールまで、実働サンプルとともに味わい尽くす

Node.jsとは、Ryan Dahlが「スケーラブルなネットワークプログラムを簡単に作成できる環境」として開発したものです。ここで重要なのは“簡単”ではなく“スケーラブル”という点です。JavaやPHPなどの言語による環境では、ハードウェアの制限が顕在化し、サーバーで処理ができる接続数を容易に拡張することができません。

Node.jsでは、接続方法を変えることでこの問題に対処し、ユーザーからの過剰な要求にもサーバー側ですぐに対処できるようにしたのです。だからといって、Node.jsだけで現状のネットワークプログラム実行環境すべてをまかなえるわけではありません。そのために日々Node.jsを拡張するモジュールが作成され、Node.js自体も更新されています。

本書は現在進行形で開発が進むNode.jsと、これを拡張するモジュールを使って(あるいは作って)、スケーラビリティを重視するネットワークプログラムの作成方法をイチからじっくり学びます。


第I部 Node の基礎知識

第1章 Node.js に、ようこそ!

Node はJavaScript 上に構築されている
非同期でイベント駆動の環境:ブラウザ
非同期でイベント駆動の環境:サーバー
DIRTy アプリケーション
デフォルトでDIRT なNode
まとめ

第2章 マルチルーム・チャットアプリケーションの構築

アプリケーションの概要
アプリケーションの要件と初期設定
HTML、CSS、クライアントサイドJavaScript を供給する
チャット関係のメッセージングをSocket.IO で処理する
アプリケーションのUI にはクライアントサイドJavaScript を使う
まとめ

第3章 Node プログラミングの基礎知識

Node の機能を組織化して再利用する
非同期プログラミングの技術
非同期ロジックをシーケンス化する
まとめ

第II部 Node でWeb アプリケーションを開発する

第4章 Web アプリケーションの構築

HTTP サーバーの基礎
RESTful Web サービスを構築する
静的ファイルの供給
ユーザー入力をフォームから受け取る
HTTPS でアプリケーションのセキュリティを確保する
まとめ

第5章 アプリケーションのデータをストアする

サーバーレスデータストレージ
リレーショナルデータベース管理システム
NoSQL データベース
まとめ

第6章 Connect

Connect アプリケーションのセットアップ
Connect ミドルウェアの仕組み
なぜミドルウェアの実行順序が重要なのか
ミドルウェアとサーバーをマウントする
設定変更可能なミドルウェアの作成
エラー処理のミドルウェアを使う
まとめ

第7章 Connect の組み込みミドルウェア

クッキー、リクエスト本体、クエリ文字列の解析
Web アプリケーションのコア機能を実装するミドルウェア
Web アプリケーションのセキュリティを扱うミドルウェア
静的ファイルを供給するミドルウェア
まとめ

第8章 Express

アプリケーションのスケルトンを生成する
Express とアプリケーションのコンフィギュレーション
ビューのレンダリング
フォームとファイルのアップロードを処理する
リソースのダウンロードを処理する
まとめ

第9章 Express の高度な使い方

ユーザー認証
高度なルーティング技術
パブリックなREST API を作る
エラー処理
まとめ

第10章 Node アプリケーションをテストする

単体テスト
受け入れテスト
まとめ

第11章 Web アプリケーションでテンプレートを使う

テンプレートを使ってコードをクリーンな状態にしておく
EJS で行うテンプレーティング
Hogan でテンプレート言語Mustache を使う
Jade で行うテンプレーティング
まとめ

第III部 Node の配置と応用

第12章 Node アプリケーションのデプロイと可用性

Node アプリケーションのホスティング
デプロイの基礎知識
可用性と性能を最大にする
まとめ

第13章 Web サーバーばかりがNode ではない

Socket.IO
TCP/IP ネットワーキングの細部
OS との相互作用を行うためのツール
コマンドラインツールを開発する
まとめ

第14章 Node のエコシステム

Node 開発者のためのオンラインリソース
GitHub
npm リポジトリに貢献する
まとめ

付録A Node とコミュニティ・アドオンのインストール

OS X でのセットアップ
Windows でのセットアップ
Linux でのセットアップ
Node のコンパイル
Node Package Manager の使い方

付録B Node をデバッグする

JSHint でコードを分析する
デバッグ情報を出力する
Node の組み込みデバッガ
Node Inspector

付録C Express の拡張とコンフィギュレーション

Express を拡張する
高度なコンフィギュレーション

本書はダウンロードファイルの提供はございません。

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

書籍・SEshop限定PDF:ご購入刷数  電子書籍 最終更新日:2014年06月24日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 031
2つ目のスニペット
var socketio = require('socket.io');
var io;
var guestNumber = 1;
var nickNames = ;
var namesUsed = [];
var currentRoom = ;
var socketio = require('socket.io');
var io;
var guestNumber = 1;
var nickNames = {};
var namesUsed = [];
var currentRoom = {};
2014.06.24
1刷 032
リスト2-7の6行目
guestNumber = assignGuestName(socket, guestNumber,
    ?nickNames, namesUsed);  ← ユーザーの接続時にゲスト名を割り当てる
guestNumber = assignGuestName(socket, guestNumber,
    nickNames, namesUsed);  ← ユーザーの接続時にゲスト名を割り当てる
2014.06.24

関連書籍

関連記事