「APIデザインケーススタディ ――Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方」サポートページ

  • 書名: APIデザインケーススタディ ――Rubyの実例から学ぶ。問題に即したデザインと普遍の考え方
  • 著者: 田中 哲
  • ISBN: 978-4-7741-7802-8
  • 奥付発行日:2016年1月25日
  • 店頭発売日:2015年12月16日
  • シリーズ: WEB+DB PRESS plusシリーズ
  • 出版社: 技術評論社
  • 技術評論社の書籍案内: http://gihyo.jp/book/2016/978-4-7741-7802-8
  • サポートページ: https://github.com/akr/api-design-case-study-book

正誤表

間違い:

p.55 1行目: コラム: ノンブロッキングI/OとRubyの歴史
「read と wirte がブロックする代わりに 0 が返ってくるという挙動です。」->
「read と write がブロックする代わりに 0 が返ってくるという挙動です。」

p.55 9行目: コラム: ノンブロッキングI/OとRubyの歴史
「read と wirte がブロックする代わりに EWOULDBLOCK エラーが発生するという挙動です。」->
「read と write がブロックする代わりに EWOULDBLOCK エラーが発生するという挙動です。」

p.86 17行目: Socket クラスの勧め
http://ruby-lan.org」->
http://ruby-lang.org

p.89 3行目: Socket クラスの勧め
「また、recv_io, recv_io メソッドは後述する recvmsg, sendmsg メソッドで対応します。」->
「また、recv_io, send_io メソッドは後述する recvmsg, sendmsg メソッドで対応します。」

p.106 7行目: recv_ioとsend_ioメソッド
「まず 1 つの端末でサーバを実行し、」->
「まず 1 つの端末でサーバを実行し、」

p.151 12行目: open3における標準エラー出力の扱いとデッドロック
「標準入力につなっているパイプにすべてのデータを書き込み」->
「標準入力につながっているパイプにすべてのデータを書き込み」

p.236 12行目: 秒未満の表現
2**-64秒 (約54.2**-21秒)」 ->
2**-64秒 (約54.2*10**-21秒)」

p.271 1行目: Integer#bit_lengthメソッド 「0の場合を別に検査しなければならず」 -> 「0の場合を別に検査しなければならず」

間違いに見えるが間違いではない:

p.92 21行目: Socket.ip_address_list
「実際、名前解決では 127.0.1.1 だけが返ってくるなど、期待されない結果になることもよくあります。」
127.0.1.1 は間違いと感じられるかもしれませんが、 Debian GNU/Linux はいつのころからか /etc/hosts で、 localhost は 127.0.0.1, ユーザが決めたホスト名は 127.0.1.1 を返すように設定されるようになりました。 このことについては Debian のマニュアルの https://www.debian.org/doc/manuals/debian-reference/ch05.en.html#_the_hostname_resolution に書いてあります。