Node.jsプログラミングガイド

概 要

Webアプリ開発者が注目する、大量の同時接続をリアルタイムに捌くサーバサイドJavaScript「Node.js」のプログラミングガイドです。いま、Webの中心はパソコンからスマートフォンへと移行しており、スマホのネットワーク接続前提のアプリが増加したことで、サーバ側の負担も急増しています。そこで登場したのが、Perl、Python、PHP、Rubyなどより数倍~数十倍も速いNode.jsです。本書は、JavaScriptを習得しており、かつサーバサイドプログラミングやセキュリティについても習熟している人を対象に、Node.jsの使い方やノウハウを解説します。Node.jsの基礎から、個々のモジュールのリファレンスやサンプル、npmで入手できるパッケージまで貴重な情報が満載です。

著者 高橋登史朗
価格 本体3200円(税別)
ISBN 978-4-7980-3706-6
発売日 2013/2/28
判型 B5変
色数 1色
ページ数 472
CD/DVD
対象読者 初級
シリーズ
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

1章 ガイド・基礎知識

基礎知識

Webサーバーを作ってみる

リアルタイムなWebSocketサーバーを作ってみる

サーバーの1プロセスで数万の同時接続を楽にこなす

WebSocketはつなぎっぱなしのリアルタイム双方向通信

シングルプロセス・シングルスレッド

同期処理

コールバックとリスナーと非同期処理

JavaScriptエンジン V8

スコープ

毎日増え続けるパッケージ

Nodeのメリットとデメリット

セキュリティ

script要素の除去とタグの無効化

JSONによるメソッドの除去とevalを使わない処理

起動・デーモン化・シェバン (shebang) ・デバッガ

起動

デーモン化

シェバン (shebang)

起動オプション

デバッガ

標準の組込みモジュール等

Addons C/C++のアドオン

Assert アサート

Buffer バッファ

Child Process 子プロセス

Cluster クラスター

Crypto 暗号

UDP/Datagram Sockets

DNS

Domain ドメイン

Events イベント

File System ファイル

Globals グローバル

HTTP

HTTPS

Modules モジュール

宣言とスコープ

コアモジュール

ファイルモジュールとパス

node_modulesホルダー

package.json

Net ネット

OS

Path パス

Process プロセス

Punycode プニコード

Query String クエリー文字列

Readline

REPL

REPL コマンド

REPLの特別な変数

STDIO/Console

Stream ストリーム

StringDecoder

Timers タイマー

TTY

TLS (SSL)

URL

Util ユーティリティ

Zlib 圧縮・解凍

ミニサンプル

開発中に役に立つ npm モジュール

Apacheログをリアルタイムにブラウザ表示

ファイルをFTP取得して自動メール送信

簡単なtwitter検索

TwitterのストリーミングAPIでリアルタイム検索

子プロセスで負荷分散するWebサーバー

npm登録数をWeb取得してチャートデータ配信

WebSocketでブロードキャスト/チャットサーバー

Server-Sent Eventsで連続プッシュしてみる

2章 リファレンス+基本サンプル

Assert

methods

Buffer

properties

classes・Buffer

constructors

class methods

properties

methods

Child Process

methods

classes・ChildProcess

properties

methods

events

Cluster

properties

methods

events

classes・Worker

properties

methods

events

Crypto

properties

methods

classes・Hash

methods

classes・Hmac

methods

classes・Cipher

methods

classes・Decipher

methods

classes・Sign

methods

classes・Verify

methods

classes・DiffieHellman

methods

Debugger

UDP/ Datagram Sockets

methods

classes・Socket

methods

events

DNS

methods

Domain

methods

classes・Domain

properties

methods

events

Events

classes・EventEmitter

methods

events

FileSystem

methods

classes・Stats

methods

classes・WriteStream

properties

events

classes・ReadStream

events

classes・FSWatcher

methods

events

Global

object

properties

classes・Buffer

methods

methods・require

methods

object

array

HTTP

properties

properties・ClientResponse

properties

methods

events

methods

classes・Server

properties

methods

events

classes・ServerRequest

properties

methods

events

classes・ServerResponse

properties

methods

events

classes・Agent

properties

classes・ClientRequest

methods

events

HTTPS

properties

methods

classes・Server

methods

classes・Agent

Modules

vars・module

properties

methods

Net

methods

classes・Server

properties

methods

events

classes・Socket

constructors

properties

methods

events

OS

properties

methods

Path

properties

methods

Process

properties

methods

events

Punycode

properties

methods

classes・ucs2

methods

Query String

methods

Readline

methods

events

classes・Interface

methods

REPL(Read-Eval-Print Loop)

methods・start

events

STDIO/Console

methods

Stream

classes・Readable

properties

methods

events

classes・Writable

properties

methods

events

classes・Duplex

methods

classes・Transform

methods

classes・PassThrough

methods

StringDecoder

classes・StringDecoder

constructors

methods

Timers

methods

TTY

methods

classes・ReadStream

properties

methods

classes・class_writestream

properties

events

TLS/SSL

properties

methods

classes・SecurePair

events

classes・Server

properties

methods

events

classes・CleartextStream

properties

methods

events

URL

methods

util

methods

methods・inspect

modules

methods

vm/JavaScript

methods

classes・Script

methods

Zlib

methods

classes・Zlib

methods

3章 npmパッケージコレクション

パッケージコレクション

パッケージについての情報サイト

次ページ以降の注意事項

CSVファイルを処理する

MySQLを使う

SQLite3を使う

mongoDBを使う

Redisを使う

Redisでフェイルオーバー

RedisでPub/Sub通信する

高速WebSocketサーバー

定番Webフレームワーク

シンプルなHTTPリクエスト

FTPクライアントを利用する

メールを送る

PDFを作成する

文字コードを変換する

JavaScriptやCSSをミニファイ

minifyやテストなどを自動化

パケットをキャプチャする

Wake-on-LANで起動する

様々な用途に使えるプロクシ

関数を順番に実行する

手軽なメソッドライブラリ

補足資料

インストール

1) 公式サイトのダウンロードページ

2) 公式サイトのバージョンごとの配布ディレクトリ

3) バージョン管理ツール

NVMの場合

nvm インストール

Node インストール

パッケージマネージャーNPMはNodeに同梱

NPMでパッケージをインストールした時のディレクトリ構成

NODE_PATH 環境変数

4) githubから取得する

その他の情報

Nodeの変更履歴

Node のドキュメント

データ資料

HTTPステータスコード一覧

DNSクエリのエラーコード一覧

POSIXシグナル一覧

パーミッションの2進数表記と8進数表記(UNIX系 * Windowsを除きます)

PR

秀和システム