第一回技書博で頒布した「あの素晴らしいCGIからもう一度」紙本初版の修正と「ネットワークスクランブル TCP編」初版の補足
第一回技書博で頒布した「あの素晴らしいCGIからもう一度」紙本初版の修正と「ネットワークスクランブル TCP編」初版の補足です。
会場やブログでフィードバックをくださった方、ありがとうございました!
「あの素晴らしいCGIからもう一度」紙本初版の修正
1.1.3.1 節の脚注の修正
修正前
後から動的に確保される部分はヒープ領域https://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/MP/final/part06/node8.html
修正後
後から動的に確保される部分はヒープ領域[メモリの 4 領域 | 2004年度マイクロプロセッサ演習 第6回 (工学院大学講義資料)]。そういえば、この辺に関してどうも調べてみた感じ、データセグメントにヒープ領域が含まれるかどうか、が一定でない気が。。本書での説明では、[メモリの 4 領域 | 2004年度マイクロプロセッサ演習 第6回 (工学院大学講義資料)],や[プロセスのメモリ | 筑波大学工学部電子・情報工学系 システム・プログラム 講義資料]に乗っ取って、データセグメントにヒープ領域が含まれる、としています。とりあえず、本書の内容として重要なのは、「プロセスはプロセスごとにアドレス空間を用意するが、スレッドは同じアドレス空間を複数のスレッドで共有する」「アドレス空間が切り替わるごとにページテーブルとページテーブルの内容をキャッシュするTLBのエントリを入れ替える」「メモリ消費量の件もあるが、TLBのエントリ入れ替えが重いのでその分プロセス切り替えはスレッド切り替えより重い」「スレッドはアドレス空間のうち、スタック領域とガードページは共有しないが他の領域はスレッド間で共有する」なのでそこを抑えていただければ!
p.28 select-acceptのThundering Herd
=> select-accept型の「Thundering Herd」問題
3章冒頭に以下の注釈を追加
この章は、小学生~中学生の頃に趣味のオタクとしてHTMLやCGIをさわったりテキストサイトを巡回していた自分の思い出と、[CGIプログラミング 第二版]や[README For PSGI-Doc-JA]の記述に基づいてまとめられています。当時の自分のCGIについての思い出、というと「あの頃のオタクのテキストサイト、みんなBBSやリロードするだけで回るアクセスカウンターのCGIをおそらく理屈をそこまで理解せずあれだけ設置してた人がいたの、もしかして異常だったのでは?」といったものです。また、参考にした文書はCGIをポジティブに宣伝する意図があったり、PSGIの仕様を制定された方の視点でまとめられた経緯であったりします。なので、第一回の技書博の場でもフィートバックをいただいたのですが、業務などでCGIを本格的にさわっていた方とは感覚が違うのではないかと思います。自分としては、偏りがあったとしてもこれからPSGIやRackの仕様を学ぶ人への手助けとなるようにまとめているつもりなのですが、もういわゆるCGI全盛期から20年くらい経ちYahoo!ジオシティーズをはじめとした当時のCGIを利用していたサイトがかなり減っていて調査にも限界があるのは事実です。なので、よろしければ「自分から見た当時のCGIはこうだったよ」とbibro.pcg[at]gmail.com宛てであったり、TwitterやQiita、ブログなどで流していただけると喜んでみにいきますので何卒よろしくお願いします。
2019/08/01 追加の修正
1章序文にて
- ウェブアプリケーションやウェブアプリケーションサーバの話は3章以降で詳しくふれるとして => ウェブアプリケーションやウェブアプリケーションサーバの話は2章以降で詳しくふれるとして、
- 2章ではこの同時にたくさんのクライアントからリクエストが来た場合に備えて => 1章ではこの同時にたくさんのクライアントからリクエストが来た場合に備えて
追記 2019/08/04
2.1節にて。
HTMLを吐き出す => HTMLを含めたHTTPレスポンスを吐き出す
「ネットワークスクランブル TCP編」初版の補足
こちらの感想記事の
(どうでもいいけど CLOSING ステータスについては一切触れてないのはレアケースだから省いたのかな? ていうか CLOSING ステータスって両者が同時にFINを送りあった場合にのみ遷移するステータス、で合ってる? まあどうでもいいけど…)
の部分を受けての補足です。
CLOSINGステータスについてふれてないのは、おっしゃるとおりCLOSINGステータスに遷移する同時クローズをレアケース扱いしたからですね。
— woshidan@技書博 A-7 & 技術書典7 (@woshidano) 2019年7月29日
実際どれくらいレアなのかちょっとわからないですが、ハンドシェイクについては、どちらか一方からFINやSYNを送って開始する方が基本だろうとして、本の中ではその基本とした方を扱っている感じです。
— woshidan@技書博 A-7 & 技術書典7 (@woshidano) 2019年7月29日