【最新技術に振り回されない】 低レイヤーに強くなるための鉄板コンテンツ集

# はじめに

この記事は[Nuco Advent Calendar 2024](https://qiita.com/advent-calendar/2024/nuco)の21日目の記事です。

:::note info
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています！興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=51c8084c00853d36cd01)まで。
:::

本記事では、エンジニアが低レイヤーを学ぶ上で参考になるコンテンツを紹介します。
低レイヤーに詳しくない人はもちろん、大学で情報工学を学んだ人にもおすすめできるコンテンツが盛り沢山です。

随時更新していくので、おすすめコンテンツがあればコメント欄で教えてください。

# なぜ学ぶか

低レイヤーの知識を学ぶことで、ソフトウェアが動作する仕組みを深く理解し、パフォーマンス改善やバグの根本原因を特定できる力が身につきます。最新技術をブラックボックスのまま扱うと、さらに新しい技術が出た時に1から学習する必要があるかもしれません。

低レイヤーを学ぶことで技術の本質を理解し、最新技術のキャッチアップを手助けしてくれます。あなたがAIを使ってコードを生成し、貼り付けるだけのコピペ戦士なら、一読の価値があります。

知識の深さが技術の幅を広げ、より本質的な問題解決が可能です。

どんな分野があるのかを一緒に見ていきましょう。

# この記事で紹介する分野一覧
- [コンピュータ全体の理解](#コンピュータ全体の理解)
- [コンピュータアーキテクチャ](#コンピュータアーキテクチャ)
- [CPU](#cpu)
- [オペレーティングシステム](#オペレーティングシステム)
- [システムプログラミング](#システムプログラミング)
- [コンピュータネットワーク](#コンピュータネットワーク)
- [コンパイラ、インタプリタ](#コンパイラインタプリタ)
- [その他低レイヤーを学ぶときにおすすめコンテンツ](#その他低レイヤーを学ぶときにおすすめコンテンツ)

# 各分野を学ぶ上で参考になるコンテンツ

大まかな分類になっているので、低レイヤーにどんな分野があるかを抑えたら興味のある分野の項目を参考にしてください。

## コンピュータ全体の理解
まずはコンピュータがどうやって動いているのか、動かすためにどんな部品が必要なのかを見ていきましょう。

### YouTube

- [ハーバードのコンピュータ・サイエンスの教授だけど質問ある？ | Tech Support | WIRED Japan
](https://youtu.be/0TrnfeOtass?feature=shared)

<iframe width="560" height="315" src="https://www.youtube.com/embed/0TrnfeOtass?si=rsIoO08h-J4QXCIj" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

見るだけでコンピュータの内部まで学びたくなる動画です。
[CS50](https://cs50.jp/)というオンライン講義もこの教授がやっています。低レイヤーの話ではないですが、こちらもおすすめです。

### 技術書

- [図解 コンピュータアーキテクチャ入門(第3版)](https://www.amazon.co.jp/dp/4627829035)

https://www.morikita.co.jp/books/mid/082903

ハードウェアからソフトウェアまでの技術の全体像をわかりやすいイラストで解説しています。
低レイヤ入門に最適な一冊です。
<br>


- [プログラムはなぜ動くのか 第2版](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%A0%E3%81%AF%E3%81%AA%E3%81%9C%E5%8B%95%E3%81%8F%E3%81%AE%E3%81%8B-%E7%AC%AC3%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E7%9F%A2%E6%B2%A2-%E4%B9%85%E9%9B%84/dp/4296000195/)

https://bookplus.nikkei.com/atcl/catalog/07/P83150/

- [コンピュータはなぜ動くのか 第２版](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AF%E3%81%AA%E3%81%9C%E5%8B%95%E3%81%8F%E3%81%AE%E3%81%8B-%E7%AC%AC%EF%BC%92%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84%E3%83%8F%E3%83%BC%E3%83%89%E3%82%A6%E3%82%A8%E3%82%A2%EF%BC%86%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A8%E3%82%A2%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E7%9F%A2%E6%B2%A2-%E4%B9%85%E9%9B%84/dp/429600123X)

https://bookplus.nikkei.com/atcl/catalog/22/09/15/00390/

コンピュータの基本原理を丁寧に解説した入門書です。
どちらも読んで基礎知識を頭に入れておくと、この後の分野を学ぶのが楽になります。
<br>

- [コンピュータアーキテクチャ技術入門 ~高速化の追求×消費電力の壁](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%E6%8A%80%E8%A1%93%E5%85%A5%E9%96%80-%E9%AB%98%E9%80%9F%E5%8C%96%E3%81%AE%E8%BF%BD%E6%B1%82%C3%97%E6%B6%88%E8%B2%BB%E9%9B%BB%E5%8A%9B%E3%81%AE%E5%A3%81-WEB-PRESS-plus/dp/4774164267)

https://gihyo.jp/book/2014/978-4-7741-6426-7

コンピュータの高速化について様々な技術をまとめた入門書です。
<br>

- [痛快! コンピュータ学](https://www.amazon.co.jp/dp/4087474283)

https://www.shueisha.co.jp/books/items/contents.html?isbn=4-08-747428-3

通勤時間に読める文庫本サイズの入門書です。
隙間時間を有効活用しましょう。
<br>

- [みんなのコンピュータサイエンス](https://www.amazon.co.jp/dp/B07KXP79Y9/)

https://www.shoeisha.co.jp/book/detail/9784798154817

- [教養としてのコンピューターサイエンス講義　今こそ知っておくべき「デジタル世界」の基礎知識](https://www.amazon.co.jp/dp/B085971KFL/)

https://bookplus.nikkei.com/atcl/catalog/22/04/24/00110/

低レイヤーに関わる分野はコンピュータサイエンスと強く紐づいているので、上記2冊でどんな関連分野があるの理解しましょう。
<br>


- [入門 コンピュータ科学　ITを支える技術と理論の基礎知識](https://www.amazon.co.jp/dp/B06XVXB2KH/)

https://www.kadokawa.co.jp/product/301702000130/

もっと幅広い範囲を知りたいならこれです。
海外大学でも使われています。
<br>


- [コンピュータシステムの理論と実装 第2版](https://www.oreilly.co.jp/books/9784814400874/)

https://www.oreilly.co.jp/books/9784814400874/

Nandゲートから始まりテトリスを動かせるようになるまで自作する本です。
CPU, OS, コンパイラなど他の分野もまとめて学べるお得本なので、時間がない時はこれだけで十分です。
最近第二版が出ました。

## コンピュータアーキテクチャ

コンピュータを動かす部品を大体理解できたら、。次はどのようにして動いているのかを理論的な側面から知りましょう。
手を動かして学べる本もたくさんあるので、ぜひ手に取ってみてください。
演習がついている本を選ぶと記憶の定着を助けてくれるのでなおいいですね。

### 技術書

- [新・標準プログラマーズライブラリ　RISC-Vで学ぶコンピュータアーキテクチャ　完全入門](https://www.amazon.co.jp/%E6%96%B0%E3%83%BB%E6%A8%99%E6%BA%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%82%BA%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA-RISC-V%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80-%E5%90%89%E7%80%AC-%E8%AC%99%E4%BA%8C/dp/429714008X/)

https://gihyo.jp/book/2024/978-4-297-14008-3

300ページくらいでコンピュータアーキテクチャを紹介している良書です。
サクッと理解したい時にはこれくらいのページ数の本がおすすめです。
<br>


- [コンピュータの構成と設計 上](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%A8%E8%A8%AD%E8%A8%88-MIPS-%E7%AC%AC6%E7%89%88-David-Patterson/dp/4296070096)

https://bookplus.nikkei.com/atcl/catalog/21/S70090/

- [コンピュータの構成と設計 下](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%AE%E6%A7%8B%E6%88%90%E3%81%A8%E8%A8%AD%E8%A8%88-MIPS-Editoin-%E7%AC%AC6%E7%89%88-%E4%B8%8B/dp/429607010X/ref=pd_lpo_d_sccl_1/357-5009159-0320266?pd_rd_w=wT2Q5&content-id=amzn1.sym.855d8f70-df76-4181-80b0-56e48ae3bb9b&pf_rd_p=855d8f70-df76-4181-80b0-56e48ae3bb9b&pf_rd_r=V33JHPN1C730NDZSWXYM&pd_rd_wg=Oxmwp&pd_rd_r=0c70deba-401f-4368-8277-4fca3f4ab3ce&pd_rd_i=429607010X&psc=1)

https://bookplus.nikkei.com/atcl/catalog/21/S70100/

大学の講義でも使われている教科書です。
コンピュータの歴史も紹介されているので、昔と今の違いを知ると結構感動します。
図が豊富にあり、覚えやすいが、量があってしんどいです。
パタヘネの愛称で知られています。
<br>


- [ヘネシー&パターソン コンピュータアーキテクチャ 定量的アプローチ](https://www.amazon.co.jp/%E3%83%98%E3%83%8D%E3%82%B7%E3%83%BC-%E3%83%91%E3%82%BF%E3%83%BC%E3%82%BD%E3%83%B3-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E5%AE%9A%E9%87%8F%E7%9A%84%E3%82%A2%E3%83%97%E3%83%AD%E3%83%BC%E3%83%81%E7%AC%AC5%E7%89%88-%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BBL%E3%83%BB%E3%83%98%E3%83%8D%E3%82%B7%E3%83%BC/dp/4798126233)

https://www.shoeisha.co.jp/book/detail/9784798114408

コンピュータサイエンスの教科書として世界的に定評がある一冊です。
ヘネパタと紹介されていることがよくあります。
<br>


- [はじめて読む486](https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E8%AA%AD%E3%82%80486%E2%80%9532%E3%83%93%E3%83%83%E3%83%88%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%92%E3%82%84%E3%81%95%E3%81%97%E3%81%8F%E8%AA%9E%E3%82%8B-%E8%92%B2%E5%9C%B0-%E8%BC%9D%E5%B0%9A/dp/4756102131)

https://www.kadokawa.co.jp/product/200600002422/

x86アーキテクチャの古典的名著。基本を理解するのに最適です。
少し古いですが、今でも十分に通用します。
<br>


- [コンピュータアーキテクチャのエッセンス 第2版](https://www.amazon.co.jp/dp/B08DXYZQF6/)

https://www.shoeisha.co.jp/book/detail/9784798167930

プログラマが知るべきハードウェアの側面に絞って紹介しているので、大学で情報工学を学んだことがない人にもおすすめです。
演習付なのもポイントが高いですね。
<br>


- [ディジタル回路設計とコンピュータアーキテクチャ](https://www.amazon.co.jp/%E3%83%87%E3%82%A3%E3%82%B8%E3%82%BF%E3%83%AB%E5%9B%9E%E8%B7%AF%E8%A8%AD%E8%A8%88%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E7%AC%AC2%E7%89%88-Sarah-L-Harris/dp/4798147524)

https://www.shoeisha.co.jp/book/detail/9784798147529

ハードウェア記述言語で実際にCPUを作りながら学べる良書です。
<br>


- [低レベルプログラミング](https://www.amazon.co.jp/dp/B078J4TNT1/)

https://www.shoeisha.co.jp/book/detail/9784798155036

アセンブリとC言語を使用し、コンピュータが内部でどのように動くかを克明に解説した1冊です。
<br>


- [コンピュータ・システム　プログラマの視点から](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%BB%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0-%E4%BA%94%E5%B3%B6-%E6%AD%A3%E8%A3%95/dp/4621302019)

https://www.kinokuniya.co.jp/f/dsg-01-9784621302019

900ページある鈍器です。ちなみにお値段18000円。
コンピュータシステムの理論と実装をやって物足りなければこれをやるのもありです。
各章ごとに演習問題がついているので、しっかり実力がつく一冊です。
参考資料とか課題についてはカーネギーメロン大学の[webサイト](https://csapp.cs.cmu.edu/3e/home.html)にあります。


## CPU
コンピュータアーキテクチャの本とかぶっている部分も多いですが、CPUメインの本を紹介します。

### 技術書

- [プロセッサを支える技術 ― 果てしなくスピードを追求する世界](https://www.amazon.co.jp/dp/B07JJJ22ML/)

https://gihyo.jp/book/2011/978-4-7741-4521-1

CPUの内部構造をわかりやすく解説した良書です。
2011年出版なので、最新の知識は以下の本を参考にしてください。
<br>


- [プログラマーのためのCPU入門 ― CPUは如何にしてソフトウェアを高速に実行するか](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9E%E3%83%BC%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AECPU%E5%85%A5%E9%96%80-CPU%E3%81%AF%E5%A6%82%E4%BD%95%E3%81%AB%E3%81%97%E3%81%A6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%82%92%E9%AB%98%E9%80%9F%E3%81%AB%E5%AE%9F%E8%A1%8C%E3%81%99%E3%82%8B%E3%81%8B-Takenobu-Tani/dp/4908686165)

https://www.lambdanote.com/products/cpu

最新のCPUについても解説しているわかりやすい一冊です。
仕事で各コードを高速化する際の手助けをしてくれるでしょう。
<br>



- [CPUの創り方](https://www.amazon.co.jp/CPU%E3%81%AE%E5%89%B5%E3%82%8A%E3%81%8B%E3%81%9F-%E6%B8%A1%E6%B3%A2-%E9%83%81/dp/4839909865)

https://book.mynavi.jp/ec/products/detail/id=22065

可愛いメイドさんが表紙の一冊です。
回路を購入してCPUを作成しますが、作成しなくても十分勉強になります。
<br>


- [動かしてわかる CPUの作り方10講](https://www.amazon.co.jp/%E5%8B%95%E3%81%8B%E3%81%97%E3%81%A6%E3%82%8F%E3%81%8B%E3%82%8B-CPU%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B910%E8%AC%9B-%E4%BA%95%E6%BE%A4-%E8%A3%95%E5%8F%B8/dp/4297108216)

https://gihyo.jp/book/2019/978-4-297-10821-2

プログラムを動かしながら学べるため、初心者でも理解しやすい実践的な内容です。
<br>



- [自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解!](https://www.amazon.co.jp/%E8%87%AA%E4%BD%9C%E3%82%A8%E3%83%9F%E3%83%A5%E3%83%AC%E3%83%BC%E3%82%BF%E3%81%A7%E5%AD%A6%E3%81%B6x86%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%81%8C%E5%8B%95%E3%81%8F%E4%BB%95%E7%B5%84%E3%81%BF%E3%82%92%E5%BE%B9%E5%BA%95%E7%90%86%E8%A7%A3-%E5%86%85%E7%94%B0%E5%85%AC%E5%A4%AA/dp/4839954747)

https://book.mynavi.jp/ec/products/detail/id=41347

低級言語を実行するエミュレータの制作を通してx86 CPUの仕組みを学ぶ本です。
200ページほどで解説しており取り組みやすいです。
<br>


### ゲーム
- [Shenzhen I/O](https://store.steampowered.com/app/504210/SHENZHEN_IO/?l=japanese)

https://store.steampowered.com/app/504210/SHENZHEN_IO/?l=japanese

電子回路設計を題材にしたパズルゲームです。
どれだけスマートに実装できたかでを数値化してスコアを競うゲームです。
パズル好きにはたまらないと思います。
<br>

- [Turing Complete](https://store.steampowered.com/app/1444480/Turing_Complete/?l=japanese)

https://store.steampowered.com/app/1444480/Turing_Complete/?l=japanese

コンピュータの基本構造を学ぶことができます。
論理回路やCPUに挫折したことある人でもゲームを通して学んでみてください。
<br>

## オペレーティングシステム

お楽しみの自作OSのお時間です。
教科書も豊富にあるので、理論と実装を行き来しながら学びましょう。
Linuxも少し紹介しています。

[自作OSコミュニティ](https://osdev.jp/)もあるので、ぜひあきらめずに挑戦してみてください。

### YouTube

- [45分でゼロから作る！OS自作ライブコーディング 2023-7-29 C-3](https://www.youtube.com/watch?v=dPEsTeL2F98)
OS自作の雰囲気を味わえるライブコーディング動画です。
解説をしながらプログラミングをしているのが参考になります。
<br>

### 技術書

- [OSの仕組みの絵本: ソフトウェアの動きがわかる9つの扉](https://www.amazon.co.jp/OS%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF%E3%81%AE%E7%B5%B5%E6%9C%AC-%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E5%8B%95%E3%81%8D%E3%81%8C%E3%82%8F%E3%81%8B%E3%82%8B9%E3%81%A4%E3%81%AE%E6%89%89-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%A2%E3%83%B3%E3%82%AF/dp/4798124621)

https://www.shoeisha.co.jp/book/detail/9784798127637

サクッと全体像だけ理解するときにおすすめです。
OSは作る方が番面白いので、さっさと実装の本に進むと挫折せずに楽しめます。
<br4>


- [オペレーティングシステムの仕組み](https://www.amazon.co.jp/%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF-%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E3%81%93%E3%82%93%E3%81%9B%E3%81%B7%E3%81%A4-%E6%B2%B3%E9%87%8E-%E5%81%A5%E4%BA%8C/dp/4254127057)

https://www.asakura.co.jp/detail.php?book_code=12705&srsltid=AfmBOorgSj1J1npHkOgMiie_L_1EFL7z2NOdEHebYeziOQUNgPxLIWyv

OSの入門教科書です。
情報工学を専攻していない人でも読めるのでおすすめです。
<br>


- [オペレーティングシステム(第2版) (情報工学レクチャーシリーズ)](https://www.amazon.co.jp/dp/4627810121/)

https://www.morikita.co.jp/books/mid/081012

上と同じく、理論的な内容をわかりやすく解説している教科書です。
<br>


- [Androidを支える技術〈I〉](https://www.amazon.co.jp/exec/obidos/ASIN/4774187593)

https://gihyo.jp/book/2017/978-4-7741-8759-4

- [Androidを支える技術〈II〉](https://www.amazon.co.jp/exec/obidos/ASIN/4774188611)

https://gihyo.jp/book/2017/978-4-7741-8861-4

Android OSの裏側を学べる本です。
今までの知識があれば自分が使っているスマートフォンの裏側が想像できて面白いです。
<br>


- [ゼロからのOS自作入門](https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AEOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%86%85%E7%94%B0-%E5%85%AC%E5%A4%AA/dp/4839975868/)

https://book.mynavi.jp/ec/products/detail/id=121220

C++でOSを自作する本です。
ネットを漁ればC++以外で実装している記事がたくさん出てきます。
みかん本と呼ばれています。
<br>


- [30日でできる! OS自作入門](https://www.amazon.co.jp/30%E6%97%A5%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B-OS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%B7%9D%E5%90%88-%E7%A7%80%E5%AE%9F/dp/4839919844)

https://book.mynavi.jp/ec/products/detail/id=22078

CでOSを自作する本です。
フロッピーディスクの使用を想定しており、時代の流れを感じる一冊です。
こちらもみかん本と同様かなり有名なので、作ってみた系の記事がたくさんあります。
<br>


- [Writing an OS in Rust](https://os.phil-opp.com/ja/)

https://os.phil-opp.com/ja/

RustでOSを作成する本です。
C, C++だけでなく、せっかくならRustでやりたい人向けの本です。
無料で読めます。
<br>


- [Operating Systems: Three Easy Pieces](https://pages.cs.wisc.edu/~remzi/OSTEP/)

https://pages.cs.wisc.edu/~remzi/OSTEP/

無料で読める自作OSの本です。
日本語訳された[Github](https://github.com/syarochan/Operating-Systems-Three-Easy-Pieces-in-japanese)もあります。
最後までできればかなり力がつきます。
<br>


- [12 ステップで作る 組込みOS自作入門](https://www.amazon.co.jp/12%E3%82%B9%E3%83%86%E3%83%83%E3%83%97%E3%81%A7%E4%BD%9C%E3%82%8B%E7%B5%84%E8%BE%BC%E3%81%BFOS%E8%87%AA%E4%BD%9C%E5%85%A5%E9%96%80-%E5%9D%82%E4%BA%95-%E5%BC%98%E4%BA%AE/dp/4877832394)

https://www.cutt.co.jp/book/978-4-87783-239-1.html

組み込み系の自作OSです。
書籍紹介ページの対象読者を見てやってみようかなと思える一冊です。(大体痛い目に遭うやつ)
「OSというものを作ってみたい中学生や高校生，パソコン部の生徒」
<br>



- [はじめてのOSコードリーディング ~UNIX V6で学ぶカーネルのしくみ](https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AEOS%E3%82%B3%E3%83%BC%E3%83%89%E3%83%AA%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0-UNIX-V6%E3%81%A7%E5%AD%A6%E3%81%B6%E3%82%AB%E3%83%BC%E3%83%8D%E3%83%AB%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-Software-Design/dp/4774154644)

https://gihyo.jp/book/2013/978-4-7741-5464-0

UNIXカーネルのソースコードを読みながら勉強できる一冊です。
10000行のソースコードを読むのでOSの力がつきます。
<br>


- [オペレーティングシステム 第3版](https://www.amazon.co.jp/dp/4894717697/)

https://www.kinokuniya.co.jp/f/dsg-01-9784894717695

タネンバウム先生の分厚い本です。
MINIXというOSを作成します。
<br>


- [オペレーティングシステムの概念](https://www.amazon.co.jp/%E3%82%AA%E3%83%9A%E3%83%AC%E3%83%BC%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E6%A6%82%E5%BF%B5-Abraham-Silberschatz/dp/4320122534)

https://www.kyoritsu-pub.co.jp/book/b10007940.html

16000円もするので、会社にあると嬉しい一冊です。
大学の授業でもよく教科書として使われています。
<br>


#### Linux関連

- [［試して理解］Linuxのしくみ　―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版】](https://www.amazon.co.jp/%EF%BC%BB%E8%A9%A6%E3%81%97%E3%81%A6%E7%90%86%E8%A7%A3%EF%BC%BDLinux%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-%E2%80%95%E5%AE%9F%E9%A8%93%E3%81%A8%E5%9B%B3%E8%A7%A3%E3%81%A7%E5%AD%A6%E3%81%B6OS%E3%80%81%E4%BB%AE%E6%83%B3%E3%83%9E%E3%82%B7%E3%83%B3%E3%80%81%E3%82%B3%E3%83%B3%E3%83%86%E3%83%8A%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98%E3%80%90%E5%A2%97%E8%A3%9C%E6%94%B9%E8%A8%82%E7%89%88%E3%80%91-%E6%AD%A6%E5%86%85-%E8%A6%9A/dp/429713148X)

https://gihyo.jp/book/2022/978-4-297-13148-7

ハンズオン形式でOSレベルの低レイヤの知識を学べます。
最初にこの本から始めて、イメージを掴みましょう。
<br>


- [詳解 システム・パフォーマンス 第2版](https://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3-%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BB%E3%83%91%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%B3%E3%82%B9-%E7%AC%AC2%E7%89%88-Brendan-Gregg/dp/4814400071)

https://www.oreilly.co.jp/books/9784814400072/

システムパフォーマンスを上げる技法をLinuxを用いて解説している本です
読めば間違いなく成長できる必読の一冊です。
<br>



## システムプログラミング

ハードウェアとの繋がりをさらに勉強するために、実際にプログラムを書いてみましょう。
低レイヤーの勉強を通して、新しい言語に挑むのも自分の幅を広げるのに役立つと思います。

### 技術書

- [Goならわかるシステムプログラミング 第2版](https://www.amazon.co.jp/Go%E3%81%AA%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC2%E7%89%88-%E6%B8%8B%E5%B7%9D%E3%82%88%E3%81%97%E3%81%8D/dp/4908686122)

https://www.lambdanote.com/products/go-2

Goで書かれたアプリケーションから低レイヤまで降りていく本です。
Go使いにぜひ読んでいただきたい一冊です。
<br>


- [ゼロから学ぶRust　システムプログラミングの基礎から線形型システムまで](https://www.amazon.co.jp/%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%EF%BC%B2%EF%BD%95%EF%BD%93%EF%BD%94-%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E7%B7%9A%E5%BD%A2%E5%9E%8B%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%BE%E3%81%A7-%EF%BC%AB%EF%BC%B3%E6%83%85%E5%A0%B1%E7%A7%91%E5%AD%A6%E5%B0%82%E9%96%80%E6%9B%B8-%E9%AB%98%E9%87%8E%E7%A5%90%E8%BC%9D-ebook/dp/B0BXL5KS57)

https://www.kspub.co.jp/book/detail/5301951.html

Rustに入門しながらシステムプログラミングを学べます。
<br>



- [詳解Rustプログラミング](https://www.amazon.co.jp/exec/obidos/ASIN/4798160229)

https://www.shoeisha.co.jp/book/detail/9784798160221

Rustでシステムプログラミングを学べる本です。
Rust in Actionで検索すると英語の記事が出てきます。
<br>


- [システムプログラミング入門 実行しながら理解するLinux OSのしくみ](https://www.amazon.co.jp/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%85%A5%E9%96%80-%E5%AE%9F%E8%A1%8C%E3%81%97%E3%81%AA%E3%81%8C%E3%82%89%E7%90%86%E8%A7%A3%E3%81%99%E3%82%8BLinux-OS%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-%E7%AF%A0%E5%B1%B1-%E5%AD%A6/dp/4627855516)

https://www.morikita.co.jp/books/mid/085551

200ページでLinuxのシステムプログラミングについて解説しています。
雰囲気を掴むのにぴったりです。
<br>


- [ふつうのLinuxプログラミング 第2版　Linuxの仕組みから学べるgccプログラミングの王道](https://www.amazon.co.jp/dp/B075ST51Y5/)

https://www.sbcr.jp/product/4797386479/

Linuxの仕組みを学びながらシステムプログラミングも学べる本です。
ページ数の割にサクッと読めると好評です。
<br>


- [Linuxシステムプログラミング](https://www.amazon.co.jp/Linux%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-Robert-Love/dp/4873113628)

https://www.oreilly.co.jp/books/9784873113623/

Linuxカーネルの内部に焦点を当てたシステムプログラミングの指南書です。
<br>


- [例解UNIX/Linuxプログラミング教室 システムコールを使いこなすための12講](https://www.amazon.co.jp/%E4%BE%8B%E8%A7%A3UNIX-Linux%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E6%95%99%E5%AE%A4-%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%B3%E3%83%BC%E3%83%AB%E3%82%92%E4%BD%BF%E3%81%84%E3%81%93%E3%81%AA%E3%81%99%E3%81%9F%E3%82%81%E3%81%AE12%E8%AC%9B-%E5%86%A8%E6%B0%B8%E5%92%8C%E4%BA%BA-ebook/dp/B07D38LMT4)

https://www.ohmsha.co.jp/book/9784274222108/

システムコールの基礎から応用までを詳しく解説しています。
システムプログラミングの重要なトピックを丁寧に紹介している一冊です。
<br>


- [詳解UNIXプログラミング 第3版](https://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3UNIX%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC3%E7%89%88-W-Richard-Stevens/dp/4798134880)

https://www.kinokuniya.co.jp/f/dsg-08-EK-0348819

Amazonの本の紹介が物騒ですが、それにも納得できるボリュームのある良書です。
「UNIXでプログラミングを行う者すべてが読むべき1冊。読んでないヤツはモグリだ」
<br>


- [Linuxプログラミングインタフェース](https://www.amazon.co.jp/Linux%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9-Michael-Kerrisk/dp/487311585X)

https://www.oreilly.co.jp/books/9784873115856/

とても分厚い。
Linuxプログラミングをマスターしたいなら避けては通れない一冊です。



## コンピュータネットワーク

### 技術書

- [図解まるわかり ネットワークのしくみ](https://www.amazon.co.jp/%E5%9B%B3%E8%A7%A3%E3%81%BE%E3%82%8B%E3%82%8F%E3%81%8B%E3%82%8A-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AE%E3%81%97%E3%81%8F%E3%81%BF-Gene/dp/479815749X)

https://www.shoeisha.co.jp/book/detail/9784798157498

図を使ってサクッと理解したい時にいいです。
理解が進まない分野は図を使ってさくっと理解したいですね。
<br>


- [ネットワークはなぜつながるのか](https://www.amazon.co.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A4%E3%81%AA%E3%81%8C%E3%82%8B%E3%81%AE%E3%81%8B-%E7%AC%AC2%E7%89%88-%E7%9F%A5%E3%81%A3%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%9F%E3%81%84TCP-IP%E3%80%81LAN%E3%80%81%E5%85%89%E3%83%95%E3%82%A1%E3%82%A4%E3%83%90%E3%81%AE%E5%9F%BA%E7%A4%8E%E7%9F%A5%E8%AD%98-%E6%88%B8%E6%A0%B9/dp/4822283119)

https://bookplus.nikkei.com/atcl/catalog/07/P83110/

ネットワークの基礎をわかりやすく解説した入門書。
<br>



- [マスタリングTCP/IP](https://www.amazon.co.jp/%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0TCP-IP%E2%80%95%E5%85%A5%E9%96%80%E7%B7%A8%E2%80%95-%E7%AC%AC6%E7%89%88-%E4%BA%95%E4%B8%8A-%E7%9B%B4%E4%B9%9F/dp/4274224473)

https://www.ohmsha.co.jp/book/9784274224478/

ど定番の本です。
選ぶのに迷ったらこれだけでも読んでみてください。
<br>


- [徹底攻略 ネットワークスペシャリスト](https://www.amazon.co.jp/%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%B9%E3%83%9A%E3%82%B7%E3%83%A3%E3%83%AA%E3%82%B9%E3%83%88%E6%95%99%E7%A7%91%E6%9B%B8-%E4%BB%A4%E5%92%8C4%E5%B9%B4%E5%BA%A6-%E5%BE%B9%E5%BA%95%E6%94%BB%E7%95%A5%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%A0%AA%E5%BC%8F%E4%BC%9A%E7%A4%BE%E3%82%8F%E3%81%8F%E3%82%8F%E3%81%8F%E3%82%B9%E3%82%BF%E3%83%87%E3%82%A3%E3%83%AF%E3%83%BC%E3%83%AB%E3%83%89-ebook/dp/B09DK5MZXJ)

https://book.impress.co.jp/books/1123101042

資格試験の本なので、ネットワークの体系的な知識が得られます。
<br>


- [Linuxで動かしながら学ぶTCP/IPネットワーク入門](https://www.amazon.co.jp/dp/B085BG8CH5)

https://www.amazon.co.jp/dp/B085BG8CH5

理論だけでなく、実際にLinux上で動かしながらTCP/IPの本質を体験的に理解できます。
著者の[書籍紹介ページ](https://blog.amedama.jp/entry/linux-tcpip-book)。
<br>


- [コンピュータネットワーク第6版](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E7%AC%AC6%E7%89%88-%E3%82%A2%E3%83%B3%E3%83%89%E3%83%AA%E3%83%A5%E3%83%BC%E3%83%BBS%E3%83%BB%E3%82%BF%E3%83%8D%E3%83%B3%E3%83%90%E3%82%A6%E3%83%A0/dp/4296070428)

https://bookplus.nikkei.com/atcl/catalog/23/03/16/00728/

タネンバウム先生の本。
マスタリングTCP/IPを読み終えたら次に読みたいですね。
<br>


- [プロフェッショナルSSL/TLS](https://www.amazon.co.jp/%E3%83%97%E3%83%AD%E3%83%95%E3%82%A7%E3%83%83%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%ABSSL-TLS-Ivan-Risti%C4%87/dp/4908686009)

https://www.lambdanote.com/products/tls

現代に必要不可欠なセキュアな通信の仕組みを詳しく解説しています。
<br>


- [基礎からわかるTCP/IPネットワーク実験プログラミング](https://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%82%8F%E3%81%8B%E3%82%8BTCP-IP-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E5%AE%9F%E9%A8%93%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E7%AC%AC2%E7%89%88-%E6%9D%91%E5%B1%B1%E5%85%AC%E4%BF%9D-ebook/dp/B08BR75XYY)

https://www.ohmsha.co.jp/book/9784274065842/

プログラミングでネットワークの動作を理解できる一冊です。
<br>


- [Computer Networking: A Top-Down Approach](https://gaia.cs.umass.edu/kurose_ross/videos/1/)

https://gaia.cs.umass.edu/kurose_ross/videos/1/

講義動画と演習がついたネットワークに関する本です。
こちらは無料で全て読むことができます。
<br>



## コンパイラ、インタプリタ

自分で言語を実装して、普段書いているプログラムがどのように解析されているかを知りましょう。
自分が習得したい言語や好きな言語を使って自作系の本を読むと挫折しにくいです。

### 技術書

- [明快入門 コンパイラ・インタプリタ開発](https://www.amazon.co.jp/%E6%98%8E%E5%BF%AB%E5%85%A5%E9%96%80-%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%83%BB%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E9%96%8B%E7%99%BA-%E6%9E%97%E6%99%B4%E6%AF%94%E5%8F%A4%E5%AE%9F%E7%94%A8%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E6%9E%97-%E6%99%B4%E6%AF%94%E5%8F%A4/dp/4797357037)

https://www.sbcr.jp/product/4797357035/

コンパイラとインタプリタどちらも学べる入門の一冊です。
<br>



- [ふつうのコンパイラをつくろう　言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み](https://www.amazon.co.jp/%E3%81%B5%E3%81%A4%E3%81%86%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%92%E3%81%A4%E3%81%8F%E3%82%8D%E3%81%86-%E8%A8%80%E8%AA%9E%E5%87%A6%E7%90%86%E7%B3%BB%E3%82%92%E3%81%A4%E3%81%8F%E3%82%8A%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%A8%E5%AE%9F%E8%A1%8C%E7%92%B0%E5%A2%83%E3%81%AE%E4%BB%95%E7%B5%84%E3%81%BF-%E9%9D%92%E6%9C%A8-%E5%B3%B0%E9%83%8E-ebook/dp/B06XZSH7Q9)

https://www.sbcr.jp/product/4797337958/

コンパイラの仕事を1から説明している良書です。
<br>


- [コンパイラ](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9-%E5%A4%A7%E5%A0%80%E6%B7%B3-ebook/dp/B09KMT4P6B)

https://www.kyoritsu-pub.co.jp/book/b10003349.html

180ページほどでコンパイラを解説した一冊です。
著者がYouTubeで[講義動画](https://youtube.com/playlist?list=PLp1bKoc7XHdQwbHaUzMryG6WpnN4JdR6P&feature=shared)を公開しているので、独学者向けです。
<br>


- [コンパイラ: 作りながら学ぶ](https://www.amazon.co.jp/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9-%E2%80%95%E4%BD%9C%E3%82%8A%E3%81%AA%E3%81%8C%E3%82%89%E5%AD%A6%E3%81%B6%E2%80%95-%E4%B8%AD%E7%94%B0%E8%82%B2%E7%94%B7-ebook/dp/B098JJB98K)

https://www.ohmsha.co.jp/book/9784274221163/

JavaScriptでコンパイラを作成する本です。
<br>



- [最新コンパイラ構成技法](https://www.amazon.co.jp/%E6%9C%80%E6%96%B0%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E6%A7%8B%E6%88%90%E6%8A%80%E6%B3%95-Andrew-W-Appel/dp/4798114685)

https://www.shoeisha.co.jp/book/detail/9784798114682

タイガーブックと呼ばれています。
大学の教科書としてよく紹介されるので、大学で情報工学を学んだことがない人におすすめです。



<br>


- [コンパイラ 第2版: 原理・技法・ツール](https://www.amazon.co.jp/dp/478191229X/)

https://www.saiensu.co.jp/search/?isbn=978-4-7819-1229-5&y=2009

ドラゴンブックと呼ばれています
1000ページ近くあるので護身用に一冊あると便利ですね。
こちらもタイガーブック同様に大学の教科書として使用されています。
<br>


- [低レイヤを知りたい人のためのCコンパイラ作成入門](https://www.sigbus.info/compilerbook)

https://www.sigbus.info/compilerbook

Cコンパイラの作成を通じてプログラムの仕組みや低レイヤの知識を実践的に学べるガイドブックです。
文法解析やコード生成といった基礎から丁寧に解説しています。
C言語を書いたことがないエンジニアも多いと思うので、ぜひ挑戦してほしいですね。
<br>


- [((Pythonで) 書く (Lisp) インタプリタ)](http://www.aoky.net/articles/peter_norvig/lispy.htm)

http://www.aoky.net/articles/peter_norvig/lispy.htm

Pythonでインタプリタを作成します
比較的短いのでこれで自作インタプリタに入門しましょう。
<br>


- [Go言語でつくるインタプリタ](https://www.amazon.co.jp/Go%E8%A8%80%E8%AA%9E%E3%81%A7%E3%81%A4%E3%81%8F%E3%82%8B%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF-Thorsten-Ball/dp/4873118220)

https://www.oreilly.co.jp/books/9784873118222/

Goでインタプリタを作る本です。
普段使い慣れている言語で低レイヤを学べるのはありがたいですね。
<br>


- [Build a Lua Interpreter in Rust](https://wubingzheng.github.io/build-lua-in-rust/en/)

https://wubingzheng.github.io/build-lua-in-rust/en/

Rustでインタプリタを作成します。
全て無料で読める英語のオンラインブックです。

<br>


- [Build Your Own Lisp](https://www.buildyourownlisp.com/contents)

https://www.buildyourownlisp.com/contents

こちらも無料で読める英語のオンラインブックです。
CでLispインタプリタを作成します。

<br>


- [インタプリタの作り方 －言語設計／開発の基本と2つの方式による実装－](https://www.amazon.co.jp/%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%97%E3%83%AA%E3%82%BF%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%EF%BC%8D%E8%A8%80%E8%AA%9E%E8%A8%AD%E8%A8%88%EF%BC%8F%E9%96%8B%E7%99%BA%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%81%A82%E3%81%A4%E3%81%AE%E6%96%B9%E5%BC%8F%E3%81%AB%E3%82%88%E3%82%8B%E5%AE%9F%E8%A3%85%EF%BC%8D-Robert-Nystrom/dp/4295017876)

https://book.impress.co.jp/books/1122101087

プログラミング言語のインタプリタ開発を学びながら、言語設計や実装の基礎を習得できる一冊です。
<br>


# その他低レイヤーを学ぶときにおすすめコンテンツ

## 低レイヤー関連

### ポッドキャスト

- [Turing Complete FM](https://turingcomplete.fm/)

https://turingcomplete.fm/

「低レイヤーを知りたい人のためのCコンパイラ入門」著者のRui Ueyamaさんのポッドキャストです。
<br4>


### 技術書

- [Binary Hacks Rebooted](https://www.amazon.co.jp/Binary-Hacks-Rebooted-%E2%80%94%E4%BD%8E%E3%83%AC%E3%82%A4%E3%83%A4%E3%81%AE%E4%B8%96%E7%95%8C%E3%82%92%E6%8E%A2%E6%A4%9C%E3%81%99%E3%82%8B%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF89%E9%81%B8-%E6%B2%B3%E7%94%B0/dp/4814400853)

https://www.oreilly.co.jp/books/9784814400850/

低レイヤーを色々学んだ後に読むと知識がつながって楽しめます。
主にアセンブリとCで解説しているので、SNSで人気だからと手をつけると痛い目に遭います。
<br4>



- [ハッカーのたのしみ: 本物のプログラマはいかにして問題を解くか](https://www.amazon.co.jp/dp/4434046683)

https://www.kinokuniya.co.jp/f/dsg-01-9784434201592

ビット操作をメインに少しでも効率的なコードを書く手法を紹介しています。
タイトルだけで書いたくなってしまいますね。
<br4>


- [達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践](https://www.amazon.co.jp/dp/4297128462)

https://gihyo.jp/book/2022/978-4-297-12846-3

Webサイトのパフォーマンスあげてスコアを競うISUCONという大会の本です。
大会関係なく、どうやってパフォーマンスを上げるかという点から詳しく説明されているのでぜひ読んでみてください。
今までの知識が活きること間違いなしです。
<br4>


## アルゴリズムとデータ構造

### 技術書

- [みんなのデータ構造](https://www.amazon.co.jp/%E3%81%BF%E3%82%93%E3%81%AA%E3%81%AE%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0-Pat-Morin/dp/4908686068)

https://www.lambdanote.com/products/opendatastructures

よく見る分厚いアルゴリズムとデータ構造の本ではないので、さくっと入門できます。
効率よくデータを操作する方法について学び、低レイヤーだけでなく、アプリケーションにも応用しましょう。
<br4>


- [アルゴリズム設計マニュアル　上](https://www.amazon.co.jp/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E8%A8%AD%E8%A8%88%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB-%E5%8E%9F%E6%9B%B83%E7%89%88-Steven-S-Skiana/dp/462130903X)

https://www.kinokuniya.co.jp/f/dsg-01-9784621309032

- [アルゴリズム設計マニュアル　下](https://www.amazon.co.jp/dp/4621309048/)

https://www.kinokuniya.co.jp/f/dsg-01-9784621309049

最近第三版が出ました。
スティーブン・エス・スキーナ教授の授業動画がYoutbueにあがっているので、英語の勉強をしながら学ぶとかなり力がつきます。
[公式サイト](https://www.algorist.com/)



## データベース
どのような仕組みでデータベースが動作しているのかを理解しましょう。

### 技術書

- Amazon: [リレーショナルデータベース入門　第3版](https://www.amazon.co.jp/%E3%83%AA%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%8A%E3%83%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E5%85%A5%E9%96%80%E2%80%95%E3%83%87%E3%83%BC%E3%82%BF%E3%83%A2%E3%83%87%E3%83%AB%E3%83%BBSQL%E3%83%BB%E7%AE%A1%E7%90%86%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%83%BBNoSQL-Information-Computing-%E5%A2%97%E6%B0%B8-%E8%89%AF%E6%96%87/dp/4781913903)

https://www.saiensu.co.jp/search/?isbn=978-4-7819-1390-2&y=2017

リレーショナルデータベースの基礎から応用までを包括的に解説した書籍です。
<br4>


- Amazon: [データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理](https://www.amazon.co.jp/%E3%83%87%E3%83%BC%E3%82%BF%E6%8C%87%E5%90%91%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3-%E2%80%95%E4%BF%A1%E9%A0%BC%E6%80%A7%E3%80%81%E6%8B%A1%E5%BC%B5%E6%80%A7%E3%80%81%E4%BF%9D%E5%AE%88%E6%80%A7%E3%81%AE%E9%AB%98%E3%81%84%E5%88%86%E6%95%A3%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E8%A8%AD%E8%A8%88%E3%81%AE%E5%8E%9F%E7%90%86-Martin-Kleppmann/dp/4873118700)

https://www.oreilly.co.jp/books/9784873118703/

大量のデータを処理するために、現実のソフトウェアはどのようにして課題を解決しているかを書いた良書です。


# まとめ

ここまで読めば各分野にどんな本があるのか色々知ることができたと思います。
銀の弾丸のように、これさえ読めば大丈夫といった本はないので、ぜひ自分に合う本を探してみてください。
コメント欄でおすすめの本があれば教えてください。

:::note info
弊社Nucoでは、他にも様々なお役立ち記事を公開しています。よかったら、Organizationのページも覗いてみてください。
また、Nucoでは一緒に働く仲間も募集しています！興味をお持ちいただける方は、[こちら](https://www.recruit.nuco.co.jp/?qiita_item_id=51c8084c00853d36cd01)まで。
:::