-
Notifications
You must be signed in to change notification settings - Fork 2
errata
下記の誤りがありました。お詫びして訂正いたします。
本ページに掲載されていない誤植など間違いを見つけた方は、japan@oreilly.co.jpまでお知らせいただくか、Issue TemplateにしたがってこちらのレポジトリにIssueを報告してください。
誤
また別の例としてπの数値計算を考えてみましょう。
正
また別の例として円周率πの数値計算を考えてみましょう。
補足
πに「円周率」を補いました(同ページ下から2行目も同様に「円周率πの計算」とします)。
誤
高精度の円周率πの計算は並行処理が最もうまく使われているものの1つですが
正
高精度の円周率πの計算は並行処理が効率的ですが
誤
● この関数を使ってどうやってπ計算ができるのか。
正
● この関数を使うと並行処理になるのか。
誤
高精度の円周率πの計算は並行処理が最もうまく使われているものの1つですが、
正
高精度の円周率πの計算は並行処理が効率的ですが、
訳注: 並行処理なので出力結果は順不同です。紙面の例は一例です。
誤
読み込みの数が 213になってようやく生まれます。
正
読み込みの数が 2^13になってようやく生まれます。
補足
累乗の表記に誤りがありました、紙面は13が肩つきの表記になります。また、この行の末尾に以下の注を追加します。
訳注: 原書では「2^13」と記載されていますが、出力結果を見ると2^18で逆転しています。
誤
❾ スライスと先頭をスライスの2番めの要素を指すように変えることで
正
❾ スライスの先頭をスライスの2番めの要素を指すように変えることで
補足
「スライスの先頭」が「スライスと先頭」になっておりました。
訳注: このコードはこのままでは
c.Wait()
がbutton.Clicked.Broadcast()
で待つかどうかの保証がないため、期待した動作をしない可能性があります。またbutton.Clicked.Broadcast()
を何度も呼べるようにする場合にはsubscribe
が必要分事前に呼ばれている必要があることに注意してください。
誤
アロケート済みのオブジェクトを暖気する状況です。
正
アロケート済みのオブジェクトを暖機する状況です。
補足
エンジンなどを低負荷状態でしばらく動かすのは「暖機運転」で、「暖気」は「暖機」とつづるべきでした。
訳注: 並行処理なので出力結果は順不同です。紙面の例は一例です。
誤
広い視点で見れば、エラーハンドリングの懸念と生産者のゴルーチンを無事に切り分けられたということです。
正
広い視点で見れば、エラーハンドリングの懸念を生産者のゴルーチンから無事に切り分けられたということです。
誤
関心事はリストをや処理を繰り返してデータのストリームを生成することです
正
関心事はリストや処理を繰り返してデータのストリームを生成することです
補足
「リストや」が「リストをや」となっていました。
誤
複雑なパッケージのインポート関係を必要としなれば、
正
複雑なパッケージのインポート関係を必要としなければ、
補足
「必要としなければ」の「け」が脱落していました。
誤
なぜShutterがそのような強い言葉を使ったのかを知るためには、
正
なぜSutterがそのような強い言葉を使ったのかを知るためには、
補足
人名のSutterがShutterになっていました。(2018.10.29 ePub版、mobi版で修正済み)
誤
実際に、本書のサンプルコードをでも
正
実際に、本書のサンプルコードでも
補足
余計な「を」が入っていました。(2018.10.29 ePub版、mobi版で修正済み)
誤
if value == 0 {
fmt.Printf("the value is %v.\n", value)
} else {
fmt.Printf("the value is %v.\n", value)
}
正
if value == 0 {
fmt.Printf("the value is 0.\n")
} else {
fmt.Printf("the value is %v.\n", value)
}
補足
サンプルコード自体は原文のとおりであり、また出力結果自体は変わりがないですが
- 直前のサンプルコードとの比較において不自然であること
-
if
節とelse
節で同じ内容にするならば、そもそも意味がないこと
から、これは誤りであると判断されます。ただし、本家errataにないため、脚注として処理します。
またソースコード内の変数 value
ですが、直後の説明で「 data
変数」と説明しているので変数名は data
のほうが良いでしょう。
(2018.10.29, 2018.11.14 ePub版、mobi版で修正済み)
誤
また別の問題に取り組まければいけません。
正
また別の問題に取り組まなければいけません。
補足
「な」が抜けていました。(2018.10.29 ePub版、mobi版で修正済み)
誤
ここでは「コードをうまく部品としてカプセル化しやすいような言語のモジュール機能や型システムなどを評価する言葉として使用しています。
正
ここでは、コードをうまく部品としてカプセル化しやすいような言語のモジュール機能や型システムなどを評価する言葉として使用しています。
補足
鉤括弧が不必要でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
Add
の呼び出しは監視対象のゴルーチンの外で行われていてることに注目してください。
正
Add
の呼び出しは監視対象のゴルーチンの外で行われていることに注目してください。
補足
余計な「て」が入っていました。(2018.10.29 ePub版、mobi版で修正済み)
誤
すべてがメモリの読み込みと書き込みの 両方を 必要にするわけではないでしょう。
正
すべてがメモリの読み込みと書き込みの 両方を 必要とするわけではないでしょう。
補足
「必要とする」が「必要にする」となっていました。(2018.10.29 ePub版、mobi版で修正済み)
誤
- 生産者を1秒スリープさせて
正
- 生産者を1ナノ秒スリープさせて
補足
原文からの間違い。サンプルプログラム内では time.Sleep(1)
となっているので1ナノ秒が正しく、出力結果を見ても1ナノ秒に設定しての結果と思われます。(2018.10.28時点で本家errata未登録、2018.10.29 ePub版、mobi版で修正済み)
誤
下記それぞれに RWMutext
と余計な t
が入っている
fmt.Fprintf(tw, "Readers\tRWMutext\tMutex\n")
Readers RWMutext Mutex
正
fmt.Fprintf(tw, "Readers\tRWMutex\tMutex\n")
Readers RWMutex Mutex
補足
原著より存在する間違いでした。(2018.10.26 ePub版、mobi版では修正済み)
誤
- これはプログラムが
stdout
への書き込む前に終了してしまわないように
正
- これはプログラムが
stdout
へ書き込む前に終了してしまわないように
補足
余計な「の」がありました。(2018.10.29 ePub版、mobi版で修正済み)
内容
解説のための番号と解説の内容が合致していない。以下のように番号と説明文の対応を変える必要がある。
- ③→④の説明文
- ④→⑤の説明文
- ⑤→⑥の説明文
- ⑥→⑦の説明文
- ⑦→③の説明文
補足
原著よりの誤りです。(2018.10.29現在errata未報告、2018.10.29 ePub版、mobi版で修正済み)
誤
後ほど、なぜその重要性を説明します。
正
後ほど、その重要性を説明します。
補足
余計な「なぜ」が入っていました。(2018.10.29 ePub版、mobi版で修正済み)
誤
①チャネルを閉じます。これによって…(後略)
正
②チャネルを閉じます。これによって…(後略)
補足
2つ目のものは②に対応する解説です。この誤りは紙の書籍およびPDF版にのみ存在します。
誤
Sending: 0
Sending: 1
Sending: 2
Sending: 3
Producer Done.
Received 0.
Received 1.
Received 2.
Received 3.
正
Sending: 0
Sending: 1
Sending: 2
Sending: 3
Sending: 4
Producer Done.
Received 0.
Received 1.
Received 2.
Received 3.
Received 4.
補足
原著ママ。(2018.10.28現在 原著errata未登録)
GOOS=Linux GOARCH=amd64
にて、CPUコア数が1と8の状況で正の場合と同様の結果となりました。またソースコードを見ても結果が決定的なコードなので、誤りであると判断しました。(2018.10.29 ePub版、mobi版で修正済み)
c.f.
- https://github.com/ymotongpoo/concurrency-in-go-src/blob/autotest/result-n1-standard-8-go1.11.1/fig-using-buffered-chans.go.txt
- https://github.com/ymotongpoo/concurrency-in-go-src/blob/autotest/result-n1-standard-1/fig-using-buffered-chans.go.txt
誤
受信専用
正
読み込み専用
補足
訳語揺れでした。
誤
どれが用意できたを確認します
正
どれが用意できたかを確認します
補足
「か」が抜けていました。(2018.10.29 ePub版、mobi版で修正済み)
内容
ご覧のとおり、1000回の繰り返しの中で、
補足
上のサンプルコードでは for i := 1000; i >= 0; i--
とあるので、正確には繰り返しは1001回。(出力結果も足すと1001になる)厳密にするかどうか、原文の文章表現の問題でもあるため、脚注として補足すべき内容。
(2018.11.14 ePub版、mobi版で対応済み)
誤
つまり、case分全体では
正
つまり、case文全体では
補足
「ぶん」の誤字でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
これはコンパイラを駆使して拘束を矯正するというものです。
正
これはコンパイラを駆使して拘束を強制するというものです。
補足
「きょうせい」の誤字でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
モナドのセブセットと考えることもできます。
正
モナドのサブセットと考えることもできます。
補足
「サブセット」の誤字でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
具象化
正
具体化
補足
reification
の訳語が不統一でした。本書では「具体化」で統一します。(2018.10.29 ePub版、mobi版で修正済み)
誤
プログラムが処理を追える前に
done
チャネルに対して
正
プログラムが処理を終える前に
done
チャネルに対して
補足
「おう」の誤字でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
値も期待した方と違うかもしれません。
正
値も期待した型と違うかもしれません。
補足
「かた」の誤字でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
データの取得する
正
データを取得する
補足
助詞の誤りでした。
誤
パラーメーター
正
パラメーター
補足
余分な音引きが入っていました。
誤
ユーザーがもっと多くの情報を得たい場合に参照するできるようにすることを忘れないでください。
正
ユーザーがもっと多くの情報を得たい場合に参照できるようにすることを忘れないでください。
補足
余計な「する」が入っていました。(2018.10.29 ePub版、mobi版で修正済み)
誤
これによりゴルーチンからハートビートやってくるのを確認できます。
正
これによりゴルーチンからハートビートがやってくるのを確認できます。
補足
「が」の脱字でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
結果ごと1つ
正
結果ごとに1つ
補足
助詞「に」が脱落していました。
誤
この例のような
正
この例のように
係り受けの関係が判別しづらいので、助詞を変更しました。
誤
この設計によって、複数のマシン水平にスケールアウトできました
正
この設計によって、複数のマシンを水平にスケールアウトできました
補足
「を」の脱字でした。(2018.10.29 ePub版、mobi版で修正済み)
誤
fib次の呼び出し
正
fibの次の呼び出し
補足
「の」の脱字でした。
誤
この時点でh
正
この時点で
補足
余分な「h」が挿入されていました。
誤
「スレッドプールにスレッドを作っておくことで、スレッド起動の重いコストを払わずに、ゴルーチンがブロックされた時、即座に他のゴルーチンを起動できるようになるというものがあります。
正
「スレッドプールにスレッドを作っておくことで、スレッド起動の重いコストを払わずに、ゴルーチンがブロックされた時、即座に他のゴルーチンを起動できるようになる」というものがあります。
補足
鉤括弧の閉じ忘れでした。(2018.10.29 ePub版、mobi版で修正済み)
誤
自動に決められた一意の識別子が割り振られます。
正
自動的に決められた一意な識別子が割り振られます。
補足
「的」の脱字と「一意な」への訂正です。(2018.10.29 ePub版、mobi版で修正済み)
誤
net/http/pprof
という標準パッケージも提供されいます。
正
net/http/pprof
という標準パッケージも提供されています。
補足
「て」が脱字していました。(2018.10.29 ePub版、mobi版で修正済み)
誤
ruuntime/traceパッケージ
正
runtime/traceパッケージ
補足
runtimeパッケージの綴りに誤りがありました。