Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save Kanasansoft/5264301 to your computer and use it in GitHub Desktop.
Save Kanasansoft/5264301 to your computer and use it in GitHub Desktop.
達人出版経由で購入したPDFのメタデータのタイトルが「Nodejs_カバー入稿2」
P89
図7-4内のイベントが「foo」になっているが、その直前のサンプルコードでは「bar」になっている。
P90
SyncDBの例では、node.jsの機能を一切使わなくてもエラーが発生するので例として不適切な気がする。
このサンプルコードでは、
1行目 var events = require('events');
2行目 var util = require('util');
6行目 util.inherits(SyncDB, events.EventEmitter);
がなくてもfoo.setbaz未定義でエラーとなる。
P132
『this.t_queue = {}; // 未実行のタイマーオブジェクトを格納する配列』
コードはオブジェクトだが、コメントは配列になっている。
P133
リスト9-4は動く?
t_queueの扱いが怪しい。
writeDataDelayed内、client.counterは、実行時に評価されるので、client.writeDataには最大値が渡される。
client.writeData内のidは同じ値になるので、whileで何回ループしても
delete t_queue[id];
は同じタイマーオブジェクトを削除しにいくだけに見える。
P143
本文では「tls.EncryptedtextStream」となっているが、図9-13内では「tls.EncryptedStream」となっている。
P177
「● リクエストイベントリスナ内で http.ServerRequest オブジェクトのデータイベントを受け取り、終了時
に標準出力する」とあるが、リスト10-1の出力先はresponseオブジェクト。
P192
「リスナでは、サーバからのレスポンスを受けるhttp.ClientResponse クラスのオブジェクトreqが引数として渡ります。」
「リスナでは、サーバからのレスポンスを受けるhttp.ClientResponse クラスのオブジェクトresが引数として渡ります。」
P210
---
URL エンコードされたクエリ文字列をパースする場合(自動的に URL デコードされます)
> querystring.parse(’key1=val%22’);
{ key1: [ ’val1’, ’val"’ ] }
---
とあるが、実際は
{ key1: 'val"' }
になる。
P253
---
ここでは b の変数定義の直後に挿入します。
---
とあるが、実際はcの変数定義直後を含めて3カ所に挿入している。
P269
ステップ実行の説明で、
スクリーンキャプチャでは6つのアイコンを囲っているが、
説明文では5つしか解説されていない。
P328
link_toメソッドにXSSあり。
直後にescapeを使用しているので同時に説明できるはず。
P352
動的ビューへルパに登録しているuser_or_loginにXSSあり。
P353
動的ビューへルパに登録しているmessageにXSSあり。
P366
ログフォーマットについての記述にtypoらしきもの。
https://github.com/nomiddlename/log4js-node/blob/master/lib/connect-logger.js
より引用された記述部分で
スペースと「`」が削除されてしまっている。
P375
package.jsを編集している箇所で、
削除行と追加行のインデントが一致していない。
P396
コード内
res.local('variables'
において
username,channel等に
「'」が入るとvariable.ejsがバグる。
P397
本文中に「$('#fileUploaderDropZone) 」とあるが、閉じる「'」が抜けている。
P415
$ ls uploads | ws -l
でファイル数を確認しているが、
ここの実行結果は「0」ではなく「1」のはず。
P420
P396と同じ問題。
P423
socket.json.emit()の説明をしているはずなのに、
socket.emit()の話に変わっている。
P483
図にはToがあるが本文中にはない。
Javaの世代別GCを知っていれば理解できるが、
初見ではほぼ不可能に近い。
P501
リスト20-7
(ちょっと自信がない...。)
ブロックされないことの例としてリスト20-7が挙げられているが、
第1引数の関数の配列でsetTimeoutを使っているため
ブロックされないことの例としては不適切ではないか。
setTimeoutを使用しないとブロックされる?されない?
前者であれば説明がおかしいし、後者であればsetTimeout内でcallbackしても正常に動作する例になる。
P518
ツリー表示のインデントがずれている。
P520
「この変更内容は npm install -g を実行するまで、利用側のディレクトリ(/path/to/somewher)には反映されません。」の
「somewhere」のtypo。
P530
リスト23-1内
「//0.5秒後ワーカにシグナルSIGKILLを送信」とあるが3秒後。
P531
リスト23-2内
「//5秒ごとにメッセージを標準出力に出力」とあるが0.5秒ごと。
P539
リスト23-13内
「process.send('worker %d to master');」とあるが「%d」は意図した出力になっていないはず。
P540
「マスタはワーカ fork() により起動しましたが、」
「マスタはワーカを fork() により起動しましたが、」?
or
「マスタはワーカを fork() により起動しますが、」?
or
other?
P541
リスト23-14内
「console.log('maste を %d で 起 動 し ま し た 。 ', process.pid);」
「console.log('master を %d で 起 動 し ま し た 。 ', process.pid);」
P543
「まず Node HTTP Proxy を npm でインストールします。」とあるが
「$ npm install http-proxy@0.8.0 express@2.5.4」となっており
本文にはないexpressもインストールされている。
P560
アクション一覧の表内
引数にscriptもしくはindexを指定できる各アクションで、
「<script|index>」のあるものとないものが混在している。
P568
「Pull Requestの送りましょう。」
「Pull Requestを送りましょう。」
読了。
@Kanasansoft
Copy link
Author

@shigeki

たった今コメントに気付きました。
反映内容まで含めて教えて頂いたのは初めてです。

先程追記しましたのでご参照ください。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment