実践Node.jsプログラミング(生越 昌巳 吉川 邦夫 吉川 邦夫 Mike Cantelon Marc Harter T.J. Holowaychuk Naithan Rajlich)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 実践Node.jsプログラミング

実践Node.jsプログラミング

監修
翻訳
原著




形式:
書籍
発売日:
ISBN:
9784798129471
定価:
3,960(本体3,600円+税10%)
仕様:
B5変・472ページ
カテゴリ:
Webプログラミング
キーワード:
#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 を拡張する
高度なコンフィギュレーション

本書は付属データの提供はございません。

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

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

対象の書籍は正誤表がありません。

最終更新日:2020年01月06日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
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
1刷 167
リスト15-4:購読者データをポストするフォーム(contact.ejs)内
<input type="text" name="zipCode" placeholder="Zip Code" pattern="[0-9]5">
<input type="text" name="zipCode" placeholder="Zip Code" pattern="[0-9]{5}">
2020.01.06
1刷 218
本文1行目
リスト19-1のコードをviews/usersフォルダのnew.jsに
リスト19-1のコードをviews/usersフォルダのnew.ejsに
2020.01.06

感想・レビュー

natumn さん

2017-03-23

node.jsを実際に開発しながら学べる本。これ一冊でnode.jsで開発できるようになると思う。開発経験がある前提で話が進むのでプログラミング初心者向けではない。なので、プログラミング始めたての10月ごろ読んだ時はしんどかった。。

ちゃーりー さん

2015-09-22

いま日本語で出てる中では一番新しいと思うので参考になりました。