サーバサイドJavaScript Node.js入門を読んだよ
- 作者: 清水俊博,大津繁樹,Jxck,小林秀和,佐々木庸平,篠崎祐輔,高木敦也,西山雄也
- 出版社/メーカー: アスキー・メディアワークス
- 発売日: 2012/10/26
- メディア: 大型本
- 購入: 31人 クリック: 803回
- この商品を含むブログ (7件) を見る
読む時間がかなりあったのでじっくり読めました。とか言いつつ、少し読み飛ばしたところもあるけれど……
Node本発売日に運良く買えた上にじっくり読む時間があるなんて、なんて幸運なんでしょう。
でもこの記事を書くのに2日かかってるのはちょっと、こう、なんというか。まあメモなのでいいか。
第1部 導入編
Nodeの説明やインストール、開発環境について。
第1章 Nodeとは何か
Nodeってなんぞやって人や、Nodeを使っているけど何が良いのかよくわかっていない人——自分とか——に良いかと。
特性や使い道がわかっている場合は、詳しく読む必要はないかもしれません。
第2部 基本編
Nodeそのものの使い方、モジュールの作り方、イベント関連、ストリーム、ソケット、HTTP/HTTPS、ドメイン、ユニットテストにデバッグ!
第4章 Node入門
REPLとかスクリプトファイルの実行とかイベントループ、HTTPサーバについてなど基本的なところについて。
REPLコマンドなんてあるの知らなかったよ……
> .exit
で終了とか知らなかったよ…… C-dしてたよー。
REPLコマンド以外のところは大体知ってたかなー。
第5章 モジュール
モジュールの作り方、使い方とか。
ここではメインモジュールって単語を初めて知った!
$ node index.js
で呼ばれたスクリプトをメインモジュールって言うみたい。
if (require.main === module) { }
でメインモジュールかどうか判断できるみたい。
Expressとか、コマンドにもなるモジュールとかで使ってるのかなあ?
第6章 イベント
イベント駆動についての説明と、イベントの使い方、かな?
まあそれなりに知ってたかなー。
第7章 イベントループとprocess.nextTick
Node内部でどういう処理のループを行なっているかなど。
第8章 ストリーム、バッファ、ファイルシステム
タイトルの通りの章。
特にストリームの説明が詳しいので、ストリームをあまり扱ったことのない私にとって良い章でした。
第9章 ソケット(TCP/UDP)
ソケット関連の章。
netモジュールだったり、エコーサーバを作ってみたり、drainイベントの使い方だったりとか。
あとSSL/TLSの使い方も含んでいたり。この辺の層の知識がかなり怪しいのでわからない部分も多かったw
第10章 HTTP/HTTPS
http, httpsモジュールの説明と使い方等に加えて、url, querystringモジュールについての説明もある章。
この章もいくつか知らないことが書いてあったりしたので、読んでみると新しい発見とかあるかも。
第11章 Domain
ver.0.8から導入されたDomainの使い方の章。
最近使う機会があったし、詳しく知りたいと思っていたので良いタイミングで読んだなあと。
基本的な使い方だけなのでページ数は多くないけど、知らない人には手っ取り早く使えるかも。
最後の「ドメインを利用したエラーページの表示」はおおお、と思った。
第3部 実践編
ExpressやSocket.IOを使ったアプリケーション作成とかの章。
第14章 実践編導入
実践編で使う、技術の説明など。WebSocketとかNoSQLの説明の他に、Express, Connect, Socket.IOの説明。
第15章 Express入門
インストールからスケルトンの作成の他に、いろいろな解説とか。
結構詳しく書いてあるので、Express, Connectをよく使うなら読んでおくと良いかも。
第16章 Expressを用いたフォーラムアプリケーションの作成
ここは大分読み飛ばした気がする。
でも相当なページ数を割いているので、MongoDB + Expressでアプリ作りたいと思っているなら読んでおいた方が良いかも。
第17章 Socket.IOを使ったファイル共有アプリケーションの作成
ここも大分読み飛ばした。こっちは前の章と違ってMongoDBでなくCouchDBを使ってる。
ユーザ管理とかSocket.IOでのファイル送信?をしているので参考になるかも。
第4部 応用編
Nodeの内部的なところに関する章、なのかな。
第19章 Nodeはどう作られているか
JavaScriptに関してのことと、内部で使用しているライブラリの説明の他に、
CGI, FastCGI, ApacheモジュールとNodeの比較など。
第20章 非同期プログラミングの改善
caolan/asyncの章。コールバック地獄でソースコード見づらいのをどう解決するか、というのが書いてある。
第21章 アドオンの作成
C++でのアドオンの作成方法やgypの使い方(?)についての章。
"Hello, World!"から始まるので、アドオンを作ろうとしている人は読んだ方が良いかなーと。
第22章 npmパッケージ
package.jsonについて、とパッケージの公開などの章かな。
知らないこともいくつかあったので読んでおいてよかったかなーと。
第23章 スケーラビリティ
child_process, clusterのほか、node-http-proxy, connect-redisに関して。
スケールアウトとかのお話なので、あとで読み直したい。
第24章 運用
Apache, Nginxとの連携、foreverでのプロセスの起動などなど。あとNodeの使えるPaaSの説明とか。
ここもforeverに関して読み直したいかなー。
付録A 開発ガイド
これに関してはこの辺のサイト見ましょう、的な。
書くのが面倒になってきて、後半がかなりいい加減になっているのがちょっとなあ……