はじめに
この記事では2021年に読んだ本を紹介します。
読破していない本を含めて全部で17冊。42Tokyoの課題用に読んだ本が多かったです。
記事中リンクの注意書き
記事の中にAmazonアソシエイトを含むリンクがあります。
Amazonアソシエイトは、Amazonの商品リンクをクリックした方が商品を購入することで、収益を得られるプログラムです。 購入者に追加費用は発生しません。
発生した収益は書籍購入に使わせていただくつもりです。
リンクを踏みたくない場合、お手数ですが書籍名を検索して書籍の情報を収集していただければ……と思います。
読んだ本
読んだ本は、以下の3つのカテゴリに分けて紹介します。
- 42Tokyoの課題関係
- 数学関係
- その他
42Tokyoの課題関係
詳解UNIXプログラミング 第3版
- 幅広いトピックが載っていて42Tokyoの学習に役立ちました。
- 特にBashの再実装の課題の際に、参考になりました。
アルゴリズムイントロダクション 第3版 第1巻
- ソートアルゴリズム、赤黒木の実装が参考になりました。
Pthreadsプログラミング
- 食事する哲学者の問題の課題でpthreadを使う必要があり、読みました。
- pthreadの実装方法、ロックの掛け方の改善方法が載っていて役立ちました。セマフォについては載ってないです。
プログラミング言語C++
- STLコンテナ再実装の課題にあたり、enable_ifの実装が参考になりました。
新訂版MORE EFFECTIVE C++
- 仮想関数テーブルの話、例外処理のコストの話が参考になりました。
ストラウストラップのプログラミング入門
- 『プログラミング言語C++』より取っ付きやすい内容です。100ページくらいから電卓を実装していて、プログラミング初心者向けではないです。
- STLコンテナ再実装の課題にあたり、STLの説明が分かりやすかった記憶があります。
コンピュータ・システム
- 力こそパワー。42Tokyoで読書会が行われブームになった本です。
- HTTPサーバを作る課題を取り組むために、「第11章 ネットワーク・プログラミング」を読みました。HTTPサーバの実装イメージをつかむのに役立ちました。
Linuxプログラミングインタフェース
- HTTPサーバを作る課題を取り組むために読みました。
- 「63章 高度なI/Oモデル」が特に参考になりました。
HTTP詳説―作ってわかるHTTPプロトコルのすべて
- HTTPサーバを作る課題を取り組むために読んでます。
- HTTPサーバの詳細な実装が載っていて参考になります。
数学関係
人工知能プログラミングのための数学がわかる本
- 6月くらいから輪読会で読んでました。
- 機械学習の部分は難しかったですが、それまでの章で数学をざっくり学べて良かったです。
数学ガールの秘密ノート/微分を追いかけて
数学ガールの秘密ノート/積分を見つめて
その他
モダンC言語プログラミング
考える技術・書く技術―問題解決力を伸ばすピラミッド原則
- 思考を整理する方法を学ぶために手に取ったのですが、途中までしか読んでないです……。
Team Geek
- チームのコミュニケーションについて学びたくなり買いました。
- 一回読みましたが、問題が発生した時に読み返した方が良さそうです。
エンジニアリング組織論への招待
- HRTの精神を守ってたつもりが守れてなかった、何でだろう……と思った時に読んだ本です。
- Chapter1と2を中心に読んでました。
アプレンティスシップ・パターン
- XP祭り2021 で紹介され、興味を持ち読んでみました。
- 壁にぶつかった時に読み返すと良さそうな気がします。
終わりに
今年読んだ本を紹介しました。
42Tokyoの課題では、ネットの資料を参照するよりも、本を読んだ方が効率よく情報収集できるように思います。
来年も本を読んでいけたらと思います。