# 2024 年に読んでよかった本

私は今年 1 年間でおおよそ 300 冊の本を読んだようです。その中から、特に印象に残った本をいくつか紹介します。

## 響け！ユーフォニアムシリーズ

[![響け！ユーフォニアムシリーズ](https://m.media-amazon.com/images/I/B1f75g7hjLS._SY300_.png)](https://www.amazon.co.jp/dp/B07TFBFZBZ)

「響け!ユーフォニアム」はアニメ化もされた作品であり、名前を聞いたことがある方も多いかもしれません。アニメ版では映像表現を活かした壮大な演奏シーンが印象的ですが、原作小説版では登場人物の心情描写がより繊細に描かれていることが特徴です。特に以下の文章が主人公の心情を比喩表現でうまく表しており、深く感銘を受けました。

> その拍子に、自身の髪が頬へと刺さった。チクリとした痛みが皮膚の表面を走る。指で髪を払うと、癖毛交じりの自身の髪はあまりにたやすく抜け落ちた。床に落ちる一本の髪を、久美子はまじまじと見つめる。ゆるりと弧を描くその髪は、光の加減で黒色にも茶色にも見えた。

このシーンは主人公である久美子の先輩である明日香が部活を辞めるかもしれないという不安を表しています。明日香が部活を辞めることなるかもしれないことの要因として、親に言われるがままであるという背景があります。この親の言いなりになっているという構図は、久美子の姉との対比構造となっているのです。

久美子の姉も明日香と同じように親に言うとおりに進学先を決めてしまっていました。ところが髪を茶色に染めて久しぶりに帰ってきた姉は親に反発して自分の意志で進むことを決め、親と言い争っているという状況が描かれています。

「光の加減で黒色にも茶色にも見えた。」という表現は、このまま親の言いなりのまま我慢する「黒髪」であった頃の久美子の姉と、親への反発の象徴である「茶髪」の間で揺れ動く久美子の心情を表していると考えられます。

## 「働かないおじさん問題」のトリセツ

[![「働かないおじさん問題」のトリセツ](https://m.media-amazon.com/images/I/51cpP+2sr5L._SY445_SX342_PQ37_.jpg)](https://www.amazon.co.jp/dp/4776211483)

周囲の期待する役割に対して、成果や行動が伴っていない中高年の男性社員を指す[働かないおじさん](https://ja.wikipedia.org/wiki/%E5%83%8D%E3%81%8B%E3%81%AA%E3%81%84%E3%81%8A%E3%81%98%E3%81%95%E3%82%93) がなぜ組織内で生まれるのか、どのようにしてその問題を解決するかを解説した本です。「働かないおじさん」が発生する原因を外的要因と内的要因から分析されており、「働かないおじさん」について 6 つのタイプに類型化されています。

この本では「働かないおじさん」自身の問題として考えるのではなく、「働かないおじさん」が生まれないようにするにはどのような組織にすべきかという点をキャリア論・心理学の観点から解決策を提示しています。「働かないおじさん」自身も仕事をサボってやろうと考えているのではなく、生産性の低下と会社からの期待のギャップに悩んでいるのです。

「働かないおじさん」問題を解決するためには、上司・本人・人事が三位一体となって取り組む必要があるというのが著者の主張です。

## Tailwind CSS 実践入門

[![Tailwind CSS 実践入門](https://m.media-amazon.com/images/I/71FCeCVWsnL._SY385_.jpg)](https://www.amazon.co.jp/dp/B0CQWSQZHG)

本書は CSS のフレームワークである [Tailwind CSS](https://tailwindcss.com/) の実践的な入門書です。Tailwind CSS が採用している「ユティリティファースト」という設計思想について解説から始まり、CSS の設計の歴史とそれを踏まえてなぜ今ユティリティファーストが求められているのかを説明しています。

特定のフレームワークに注目した本はすぐに内容が古くなってしまうことが多いですが、この本では CSS の設計思想のようにフレームワークに依存せずに長く使える知識を提供されているため参考になる点が多くありました。また普段から Tailwind CSS を使っていても意外と知らない機能があったりしたので、読んでみると新たな発見があるかもしれません。

## ゲーム理論の〈裏口〉入門

[![ゲーム理論の〈裏口〉入門](https://m.media-amazon.com/images/I/61qcGeMiiVL._SY466_.jpg)](https://www.amazon.co.jp/dp/4065318203)

本書はゲーム理論の入門書となっています。じゃんけん・麻雀・将棋・カタンなどの身近なボードゲームを題材として取り上げられているため、楽しみながらゲーム理論の基礎を学ぶことができます。これからゲーム理論を学びたいと考えている方におすすめの一冊です。

著者自身も趣味として幅広いボードゲームをされているようで、本書の合間にもボードゲームを愛されていることがうかがえるのが良い点でした。

## 世界のエリートはなぜ「美意識」を鍛えるのか? 経営における「アート」と「サイエンス」

[![世界のエリートはなぜ「美意識」を鍛えるのか? 経営における「アート」と「サイエンス」](https://m.media-amazon.com/images/I/81xflGN4fZL._SY522_.jpg)](https://www.amazon.co.jp/dp/4334039960)

この本では経営者がなぜ芸術に触れているのか？について語られています。この本における「美意識」とは、芸術や哲学のなどの広い教養を指しています。美意識を鍛えるべき理由の 1 つとして、論理だけでは勝てない時代になったという点が挙げられています。現代ビジネスの世界では、論理だけではなくときには直感的な判断が求められているといいます。その理由は、ビジネスにおいてすべてを論理的に考えていると、時間がかかりすぎてしまうということです。

そこで哲学のような正解の出ない思考トレーニングを繰り返すことで「直感」につながる感性が養われると述べられています。実際にヨーロッパ諸国では哲学が教育の一環として取り入れられていることが多いようです。

これから生成 AI が進化していくうえで、論理的な判断は AI に任せることができるようになるかもしれません。そのような時代においては、人間の持つ感性や直感が重要になってくるのではないでしょうか？

## ポーカーエリートの「公然の秘密」 頻度ベース戦略

[![ポーカーエリートの「公然の秘密」 頻度ベース戦略](https://m.media-amazon.com/images/I/81q31smVGnL._SY425_.jpg)](https://www.amazon.co.jp/dp/4775949209)

2024 年は新たな趣味としてポーカーをはじめたこともあり、ポーカーの戦略について学ぶ本も多く読みました。その中でも特に本書は「なぜこのような戦略をとるのか」という原理原則の部分からしっかりと解説されていて、自分で考えて応用できる内容が含まれているのが良かったです。ポーカーをゲーム理論の最適戦略としてプレイするいわゆる「GTO 戦略」についての入門書となっています。

ポーカー始めたばかりの初心者へのアドバイスとして「プリフロップで参加するハンドを絞る」とよく言われますが、それがどのような理由で行われるかまでセットで説明されることはあまりありません。本書ではそのような理由まで GTO 戦略の観点から確かに説明されています。端的に述べるとプリフロップの時点で多くのハンドで参加しすぎた場合、その後のアクションで正しいべット/ブラフの頻度を保てなくというのが理由です。プリフロップはその後のすべてのアクションに影響を与えるため、非常に重要なスポットとなっています。

ポーカーの学習方法について述べられていたのも良い点でした。実際のプレイの中で瞬時に GTO 上正しい頻度を選択するのは非常に難しいので、テーブルの外での反復練習が重要であると述べられています。

## 麻雀AI「NAGA」の鉄戦術

[![麻雀AI「NAGA」の鉄戦術](https://m.media-amazon.com/images/I/81TgOoyRrjL._SY466_.jpg)](https://www.amazon.co.jp/dp/B0D22D58VZ)

麻雀 AI である「NAGA」の選択について掘り下げている本です。近頃は麻雀に限らず AI を用いた戦術の学習が盛んに行われています。AI を用いた学習をする際には、AI が選択した結果をそのまま取り入れるのではなく、AI がどのような理由でその選択を行ったのかを理解することが重要です。しかし多くの AI は結果のみを出力しその思考過程は不透明であるため、間違った解釈で学習を行ってしまい思ったよりも効果が出ないことがあります。

この本ではなぜ AI がこのような選択を行ったのかについて詳しく解説がされているため、これから AI を用いて戦術の学習を始めるうえでの参考になる一冊になると思います。また麻雀というゲームに限らず、AI を使った学習を行ううえでの一般的な考え方についても述べられているため、AI との付き合い方という観点からも読んでみると良いかもしれません。

## ようこそ、実力至上主義の教室へ

[![ようこそ、実力至上主義の教室へ](https://m.media-amazon.com/images/I/81uskqF-zGL._SY425_.jpg)](https://www.amazon.co.jp/dp/B00Y7JE5C4)

このライトノベルの舞台は全寮制で外部との連絡が一切許されない高等学校となっており、A・B・C・D の 4 クラスごとの対抗戦という形で物語が進行していきます。学校という閉鎖空間の中で繰り広げる頭脳戦だけでなく、デスゲームものやサバイバルといった要素が盛り込まれている点が中高生の人気を引き付けているのだと思います。

この作品の主人公である綾小路清隆は最も低いクラスである D クラスの生徒でありながら、その実力は A クラスの生徒にも引けを取らないほどです。そんな綾小路が裏からクラスを勝利に導いていくという、厨二心をくすぐるかっこよさが本作の魅力の 1 つです。毎回予想もつかないハラハラとした展開が待ち受けているため、一気に読み進めてしまいました。

## DNSがよくわかる教科書

[![DNSがよくわかる教科書](https://m.media-amazon.com/images/I/61l1kASDSvL._SY425_.jpg)](https://www.amazon.co.jp/dp/479739448X)

DNS の仕組みから DNS の運用ノウハウまで幅広く解説されている本です。IT エンジニアとして働いているうえで DNS について触れる機会が多いものの、知識があやふやになっていた部分が多かったのですが、本書を読んでしっかりと補強できたと感じています。

特に DSN の運用周りの話は実際に普段から運用をしていないと得られないような知識が多く含まれていて、非常に参考になりました。DNS サーバーの移行についての注意点が広く網羅されています。

## 脳に収まるコードの書き方

[![脳に収まるコードの書き方](https://m.media-amazon.com/images/I/61ANTq5ethL._SY385_.jpg)](https://www.amazon.co.jp/dp/4814400799)

ソフトウェアの複雑性は増す一方でありますが、人間の脳は限られた情報しか処理できません。ソフトウェアを思い通りに扱うためには、脳に収まる人間が理解できるコードを書くことが重要です。本書ではコードの複雑性を回避するために実践的なアプローチを紹介しています。

「脳に収まるコード」の明確な基準として「7 つのレイヤーに収める」と定義されていたのがわかりやすかったです。例えばユーザーの情報を取得する際に「データベースへの接続を確立する」「SQL を実行する」「取得した結果を整形する」といったように手続き型で進めてしまうと、あっという間にレイヤーが 7 つを超えてしまいます。「ユーザーの情報を取得する」一連の流れを抽象化し 1 つのレイヤーに収めることで、脳はもっと大きな項目を扱うことができるようになります。

「抽象化とは無関係なことを排除し、本質的なことを増幅するものである」という言葉が印象的でした。

## 小市民シリーズ

[![小市民シリーズ](https://m.media-amazon.com/images/I/91dGgJm-EnL._SY425_.jpg)](https://www.amazon.co.jp/dp/B07ZTVYMD5?binding=kindle_edition&searchxofy=true&qid=1735349860&sr=1-1)

平和な高校生活を求める「小市民」を目指す高校生・小鳩常悟朗と同級生の小佐内ゆきが、日常の中で起こる様々な事件を解決していく青春ミステリです。キャラクターの良さもさることながら、ミステリ部分もしっかりと作り込まれており読み応えのある作品です。今まであまりミステリ小説に触れてこなかったのですが、本作をきっかけに著者である米澤穂信さんの他作品も読み漁ってしまいました。

小動物的な可愛らしさを持ち合わせながら、時折狼のような気の強さを見せる小山内さんが特に好きなキャラクターです。

## 武器になる哲学

[![武器になる哲学](https://m.media-amazon.com/images/I/413M4D50rAL._SY445_SX342_PQ37_.jpg)](https://www.amazon.co.jp/dp/4046023910)

本書は哲学の入門書です。哲学という学問に対して難解なイメージを持っていたのですが、日常生活やビジネスの場面において役立つ哲学概念を実践的に解説されているため、とっつきやすい内容となっています。

哲学という学問はしばしば歴史の流れに沿って説明されるため、何の役に立つのかわからないという・挫折してしまったという方も多いかと思います。実際に古代ギリシャの哲学者によって提唱された概念は、現代の科学によって否定されていることも多いです。しかし哲学の本質は結論を出すことではなく、プロセスの学びだと述べられています。結論の正しさ自体は重要ではなく、哲学者がどのような思考プロセスを経てその結論に至ったのかを学ぶことが重要なのです。

このような哲学のエッセンシャルを学ぶことによって、よりおもしろく実用性のある学問であることを知ることができました。

## つくって学ぶブラウザのしくみ

[![つくって学ぶブラウザのしくみ](https://m.media-amazon.com/images/I/81fO73On7jL._SY425_.jpg)](https://www.amazon.co.jp/dp/4297145464)

プログラミング言語 Rust を用いてブラウザを自作し、その仕組を詳しく理解するための本です。HTML・CSS・JavaScript を仕様に従いながら実装してく面白さがありました。「字句解析」「構文解析」といった内容はブラウザに限らず、プログラミングの技能として応用ができる技術だと思います。

実際に自分で作ったブラウザが動くさまを眺められるときの感動はひとしおです。ブラウザが動くようになるまで多くの時間を費やしましたが、これでも本物のブラウザの本の一部の機能しか実装できていないというのが驚きです。
実際に自分の手を動かしながら進めていくうえで、テストコードを書きながら進められる構成になっていたのが良かったと思います。なにかコードを新しく追加したら、そのコードが正しく動作するか確認するテストコードを書くというプロセスとなっているので、なにか間違いおかしていないか素早いフィードバックを得ることができます。このように小さなモジュール単位でテストコードを書きながら進める開発スタイルは、実際に仕事でプログラムを書くうえでも役立つと感じました。

## となりの吸血鬼さん

[![となりの吸血鬼さん](https://m.media-amazon.com/images/I/41VbpWHF2IL._SY445_SX342_PQ37_.jpg)](https://www.amazon.co.jp/dp/B074CH9R6B)

天野灯はひょんなことからソフィー・トワイライトという吸血鬼の女の子に助けられ、彼女の家で同居生活を送ることになるドタバタコメディです。登場するキャラクターはみんな個性的で、読んでいて楽しい作品です。特に吸血鬼であるソフィーの可愛らしさが際立って描かれていると感じました。

## LangChainとLangGraphによるRAG・AIエージェント［実践］入門

[![LangChainとLangGraphによるRAG・AIエージェント［実践］入門](https://m.media-amazon.com/images/I/51F6VKoZGSL._SX342_SY445_PQ37_.jpg)](https://www.amazon.co.jp/dp/4297145308)

OpenAI を用いて AI サービスを開発するうえで実践的な内容を取り上げている本です。最新の AI 開発の状況を実践的かつ体系的に解説されているおり、実際のプロダクト開発に役立つ内容が多く含まれていました。

特に LangGraph と呼ばれる概念は今まで知らなかったもので興味深いものでした。LangGraph はステートマシンを作成することで、複数のエージェントが協働して動作する「マルチエージェント」の構築を容易にするために開発されたものです。グラフの構成要素である「ノード」と「エッジ」を用いてどのようなワークフローを作成するかを設計できます。グラフの条件分岐やループなどを用いてより複雑なワークフローを設計することもできます。

マルチエージェントを利用する例として、あるエージェントが生成した回答を別のエージェントに批評してもらうといった使い方が紹介されていました。別のエージェントに回答の誤りを指摘させることにより、より高品質な回答を生成する可能性を高めることができるとのことです。

## GitHub CI/CD 実践ガイド

[![GitHub CI/CD 実践ガイド](https://m.media-amazon.com/images/I/51rzki71LxL._SX342_SY445_PQ37_.jpg)](https://www.amazon.co.jp/dp/4297141736)

CI/CD の設計や運用について、GitHub を使ってハンズオン形式で学ぶ書籍です。GitHub Actions の基本構文からスタートしてテスト・静的解析・リリース・コンテナデプロイの自動化を進めていきます。

GitHub Actions は普段から使っているものの、自分が知らない機能やプラクティスが多く含まれていたため、以下に自分が雰囲気で GitHun Actions を書いていたかを思い知らされました。単に機能やプラクティスの紹介に留まらず、設計方針や運用のポイントまで学ぶことができて良かったです。特にモジュールの分解をどのように行うのか・なぜすべきなのかという部分が参考になりました。

CI/CD の設計や運用の話題にとどまらず、ソフトウェア開発一般における設計やテストのプラクティスを参考文献を交えて紹介されていたのが非常に良かったです。具体的なツールの使い方にとどまらず、抽象化された一般的な知識に昇華されて説明されているので、長く使い続けられる本だと感じました。

## Fluent React

[![Fluent React](https://m.media-amazon.com/images/I/71LeIRBPrtL._SY385_.jpg)](https://www.amazon.co.jp/dp/1098138716)

React の内部実装や設計思想について紹介されている本です。React を使って開発するうえですぐに役立つ知識を得られるわけではありません。しかし、React の深い部分を知ることにより、なぜそのように書くべきなのかを理解できるようになるかと思います。React Server Components や Concurrent Rendering、React Compiler といった最新の React の動向についても触れられています。

## Build a Frontend Web Framework

[![Build a Frontend Web Framework](https://m.media-amazon.com/images/I/417OIOs6AgL._SX342_SY445_PQ37_.jpg)](https://www.amazon.co.jp/dp/B0D1YSRFH9)

先ほど紹介した Fluent React と同じく、Web Frontend のフレームワークの内部実装について解説されている本です。実際に自分の手を動かしてオリジナルのフレームワークを作ることで、フレームワークの内部実装について理解を深めることを目的としています。

仮想 DOM や差分検出アルゴリズム、ライフサイクルスケジュールがどのような仕組みで実装されているのか詳しく知りたい人におすすめの一冊です。

## まとめ

以上が 2024 年に読んだ本の感想です。今年の読書傾向として、ポーカーの戦略にまつわる本からゲーム理論や行動経済学にまで知識を繋げられたのが良かったですね。今まで触れていなかった哲学という新しい分野にも手を出すことができました。昨年に引き続き生成 AI を取り巻く環境にも興味があるところです。

また技術書を読むうえでは、「長く使い続けられる知識かどうか？」を評価の基準にしていることに気づきました。技術は日進月歩で進化していき特に AI は進化が早い分野とも言われていますが、その根的にある抽象化された概念は長く使い続けられるものであり、書籍として読んで価値があるものだと感じています。
  