NRIネットコム Blog

NRIネットコム社員が様々な視点で、日々の気づきやナレッジを発信するメディアです

4年目のインフラエンジニアが選ぶおすすめ技術書(Linux,shell,docker+α編)

本記事は  執筆デビューWeek  6日目の記事です。
✨  5日目  ▶▶ 本記事 ▶▶  7日目  🔰

自己紹介

初めまして、クラウド事業推進部でインフラエンジニアをやっている藤野です。業務ではwebアプリケーションの基盤部分を担当しています。 クラウド事業推進部と言いながら私の業務ではテスト環境作成程度でしかクラウドを使用しておらず、主に下記のような技術に関連する業務を行っています。

  • Linux,windows
  • shell,powershell,C#,python
  • docker
  • hyper-v

本記事では上記の技術の中からLinux,shell,dockerを習得するに当たって参考になった書籍+αを紹介します。

入社直後の知識

書籍を紹介する前に入社当時の知識レベルを書いておきます。

  • Linuxについては大学で少しさわっていて、種類を聞かれてubuntuぐらいは分かる程度(rhel?なにそれ美味しいの?ぐらいのレベル感)
  • dockerは鯨のアイコンは見たことあるけど何やってるかはまったく知らない
  • shellも基本操作ぐらいは出来るけどしっかりとしたスクリプトは書いたことがない
  • C言語,pythonは研究で使っていたので基本的なことは書ける、読める

Linux,shell編

Linuxの教科書という名前の通り、これ一冊読めばLinuxの基本的なことは網羅できる良書。
Linuxにまったく触れたことのない方向けに「そもそもLinuxとは何なのか」という点から丁寧に記述されています。

新しいLinuxの教科書からもう一歩踏み込んでLinuxの裏側の仕組みまで知りたいと思ったらこちらがおすすめです。 Linuxのプロセス、メモリ管理の概念からファイルシステムの仕組み等を豊富な図解と共に学べます。[試して理解]と明記してある通り、実際にコマンドを叩きながら動作を確認する実験が多数収録されていて、手を動かしながら理解できる点が良いポイント だと思いました。
著者の武内さんは個人のyoutubeチャンネルでも情報発信されていらっしゃるのでこちらも合わせて見るとgood。


少し古めですがshellに関してはこの1冊あれば十分なぐらい丁寧に解説されています。 後半には実用的なshellscriptの例もたくさん載っているので、困ったときに見ると助かったりします。

docker編

dockerに関してはあまり書籍で勉強したわけではないですが、唯一読んだのが上記の本。
コマンド実行時の動作が分かりやすいイラストで書いてあるため、非常に読みやすかった。 dockerだけでなくkubernetesも同時に学べるため、それもおすすめポイントです。

個人的趣味(低レイヤ)編

実際に業務を進めていく上でOSの仕組み等のレイヤ低めの部分に興味を持ち、書籍を読み漁ったので、同じような方向け(いるかどうかはわからないが)におすすめの書籍紹介をします。

「nand2tetris」とも呼ばれている名著。NAND回路の組み合わせから始めて最終的にはtetrisを動かすというとんでもない本で、海外の大学では授業で使われたりしているらしいです。おすすめとして挙げているくせに私は7章のVM実装ぐらいまでしかできていないので、どこかのタイミングでリベンジしたいと思います。

機械語レベルでCPUが動く仕組みをx86エミュレータを自作しながら学べる本。対象読者は「C言語を学び終えて、いよいよコンピュータの内部を知りたい方」となっていて、C言語が読み書きできないと進めるのは少し厳しい。難しそうだと思われがちですが読み進めると意外とそんなことなく、すらすら進んで行けた覚えがあります。ボリュームもそれほど多くないので少しでも気になるなら読んでみると良いと思います。

おわりに

いかがでしたでしょうか。今回はLinux,shell,docker+α で紹介しましたが、インフラエンジニアとしてはネットワークやセキュリティなんかも気になるところかと思うので機会があればまた紹介しようかと思います。