インフラエンジニアへのおすすめ技術書(参考書)15選

初めに

ssh コマンドすら知らない状態から、この2年で読み漁った技術書のうち特にわかりやすかったものを分野ごとに紹介していきます。ちなみに、私が本に求める内容は以下のとおりです。

  • わかりやすさ
    • 重要ですね。
  • ググっても情報が出てこない度
    • ググって出てくる情報は、本を買わなくてもいいからです。
  • 分野全体の網羅度
    • 初学の時には、ググるためのキーワードすらわからない状態です。そのため、全体を俯瞰できることが参考書のいいところです。

全く知識の無い人が、これから学ぶ場合は以下の順番で勉強するのがオススメです。

  1. Amazon Web Services 基礎からのネットワーク&サーバー構築(サーバーが動く体験をする)
  2. マスタリングTCP/IP―入門編―(ネットワーク基礎)
  3. CentOS7 で作るネットワークサーバ構築ガイド(サーバー構築の経験値を上げる)
  4. Linux のしくみ(Linux 基礎)
  5. エキスパートのための MySQL(データベース基礎)
  6. その他 の好きな分野(アナリティクス、機械学習、分散処理などの応用分野へ)

Linux

Linux のしくみ

  • わかりやすさ:☆☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆☆
  • 分野全体の網羅度:☆☆☆
  • 総合おすすめ度:☆☆☆☆

誤字を除けば、とにかくわかりやすいです。「メモリ」とか「ストレージ」とか地味にググりにくいキーワードについて解説されていたり、ネット上ではやたら難しい解説がこの本では図を使ってわかりやすく説明されていたりします。

Linux という範囲自体が広すぎるため、すべてを網羅するのは不可能ですが、インフラエンジニアとして生きていく上での必要最小限の情報はそこそこ網羅されています。

トラブルシューティングをこなしてからもう1度読み直すと、理解が深まるのでオススメです。

この書籍を参考に以本書籍を参考にして以下の記事を執筆しました。

CentOS7 で作るネットワークサーバ構築ガイド

  • わかりやすさ:☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆☆☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆☆☆☆☆

OpenLdap についてネットでまともな情報がなかったため購入しました。期待を上回る詳しさでとても満足感が高いです。本書に記載されたコマンドを実行していけば基本的に詰まることは無いです。サーバー構築に必要な知識の網羅度がとにかく高く、メールサーバーや LDAP サーバーなど、ネットに全然情報がない分野も網羅されています。

とても分厚い本なので、業務の必要に応じて各章をつまみ読みするのがオススメです。

ちなみに CentOS8 版も出てるらしいです。

本書籍を参考にして以下の記事を執筆しました。

データベース

エキスパートのための MySQL

  • わかりやすさ:☆☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆☆☆☆☆

「エキスパートのため」と書いてありますが、順を追って説明してくれるため、データベース初学時でも読めました。

本書籍の情報自体はネットに転がっているのですが、データベース初学時にググるのは結構難しかったので、順を追って学べるのは評価が高いです。

この本を読めば MySQL(データベース)がどのように動いているのか、どのようにテーブルが管理されているのか理解できます。

ネットワーク

Amazon Web Services 基礎からのネットワーク&サーバー構築

  • わかりやすさ:☆☆☆☆☆
  • ググっても情報が出てこない度:☆
  • 分野全体の網羅度:☆☆☆☆
  • 総合おすすめ度:☆☆☆☆

ネットワークの用語は学んだけど、どうやってホームページを作るんだ?という知識をアウトプットするのに役立つ本です。

1つ1つの情報はググったら出てくるのですが、初学時はググるキーワードすらわからないため、体系立てて学べる本は貴重です。実践を通して知識を身につけることができます。

ネットワークはなぜつながるのか

  • わかりやすさ:☆☆☆
  • ググっても情報が出てこない度:☆☆☆☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆☆☆

データを送信してから受信するまでのネットワークの流れをとても詳しく記載されています。網羅度もかなり高いため、読むだけでわかった気になれます。

ただ、エンジニアのスキルはあくまで実際に手を動かすことで磨かれるため、コンピュータ上で実際に確認する手法が記載されていないのが少しマイナスです。

自分で dig や tcpdump などのコマンドが打てるようになると、本書籍の内容が本当の意味での知識として身につきます。

プログラミング

リーダブルコード

  • わかりやすさ:☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆☆☆☆

インフラエンジニアと言えど、たまにはコード書きますからね。1ヶ月前の自分のコードを見て、理解できない場合は読むことをオススメします。

有名すぎて、ググると色んなブログで本書のコードの書き方がまとめられてますね。

Node.js 超入門

  • わかりやすさ:☆☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆☆☆☆

動的な Web アプリケーションって具体的にどうやって作るんだ?という回答がここにあります。説明がとてもわかり易い上、なぜ***という機能が必要なのか説明してくれます。ソースコードを真似するだけで Web アプリケーションが作成できる点も◎。後は必要に応じてググればなんでもできるようになる。後半の内容は個人的にはあまり必要無かったですね。。。

本書籍を参考にして以下の記事を執筆しました。

その他

Elasticsearch実践ガイド

  • わかりやすさ:☆☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆☆☆☆☆

Elasticsearch の右も左もわからない状態の場合、この書籍から入ることをオススメします。とんでもなくわかりやすいです。また、かなり網羅度が高く、この本を読み終わる頃には、公式ドキュメントと合わせれば自分でなんでもできるようになっているでしょう。

本書籍を参考にして以下の記事を執筆しました。

Kafka

  • わかりやすさ:☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆☆☆☆☆

ストリーム処理という概念自体がググっても、まともな日本語記事が無かったために本書を購入しました。本書籍は Apache Kafka を作成した LinkedIn のエンジニアによって執筆されています。そのため、実体験を元にストリーム処理が必要となった経緯を説明してくれるため、納得感が段違いです。

この本を読んだ上で、最新の公式ドキュメントを見ながら開発するのがオススメです。

本書籍を参考にして以下の記事を執筆しました。

ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装

  • わかりやすさ:☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆☆☆
  • 分野全体の網羅度:☆☆☆☆
  • 総合おすすめ度:☆☆☆☆☆

業務でディープラーニングを利用する友達から教えて貰った書籍です。ディープラーニングの入門書としてかなり有名なようです。

現在読み進めているところです。内容は難しいですが、説明はとてもわかりやすいです。

以下の YouTube と合わせると、今のところ躓くことはありません。

Able Programming
Able Programmingはプログラミングに関する知識を紹介し、プログラミング初学者を支援するチャンネルです。

ビッグデータ分析基盤の構築事例集 Hadoopクラスター構築実践ガイド

  • わかりやすさ:☆☆☆☆
  • ググっても情報が出てこない度:☆☆☆
  • 分野全体の網羅度:☆☆☆
  • 総合おすすめ度:☆☆

個人的にハズレに入れようかかなり迷った書籍です。序盤の解説はとてもわかりやすいです。

一方でオンプレ目線で書かれているので、クラウド中心にサーバーを運用する場合は要らない情報も多数含まれています。まあ Hadoop をわざわざ自分で構築するなんて、オンプレでしかやら無さそうだし、本書籍の方向性は正しいと思います。

たまたま私の業務内容に合ってなかっただけで、内容としてはわかりやすいのでオススメ書籍に入れました。

本書籍を参考にして以下の記事を執筆しました。

読んだこと無いけど、有名な本

読んだ事無いため詳しくは語れませんが、ネットや職場でよく見る有名な本を紹介します。

プログラムはなぜ動くのか

  • そもそも論でコンピュータはどうやって動いているのか、ということを解説した本です。
  • これを読んで即戦力!とはなりませんが、どんな分野のコンピュータエンジニアでも身につけておきたい知識です。

マスタリングTCP/IP―入門編

  • ネットワークを入門する際の定番本です。
  • 色々な人からわかりやすかった。という評判を聞きます。
  • ネットワーク初学時にこの本に出会えていたら良かったのにな。。。と思います。

達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ

業務でテーブルを実際に設計することが無いので、読んでないです。実際に設計する機会が巡ってくればすぐに読むと思います。

SQLアンチパターン

今はクエリチューニングを実行計画を元に適当に実施しているのですが、いつか読みたいですね。

個人的にハズレだった書籍

Linux 実践入門

  • わかりやすさ:☆☆☆☆
  • ググっても情報が出てこない度:☆
  • 分野全体の網羅度:☆☆☆☆☆
  • 総合おすすめ度:☆

内容自体はわかりやすいが、リファレンス書となっている。個人的に、リファレンス書は google 検索で良いと思っているのでとても評価が低い。

Linux を学ぶなら以下の本をとてもおすすめします。

Real World HTTP ―歴史とコードに学ぶインターネットとウェブ技術

  • わかりやすさ:☆
  • ググっても情報が出てこない度:☆
  • 分野全体の網羅度:☆☆☆☆
  • 総合おすすめ度:☆

Amazon のレビューに「著者の勉強ノートを読まされている気分になりました。」とのレビューを発見したが、まさにこれでした。

また、Go 言語をわかっている前提なので、純粋な HTTP だけを求める人には辛い印象です。HTTP という分野上仕方の無いことですが、リファレンス書となっているため、基本的にググればいいですよね。という内容でした。

ネットワーク仮想化

  • わかりやすさ:☆☆
  • ググっても情報が出てこない度:☆☆☆☆
  • 分野全体の網羅度:☆☆☆☆
  • 総合おすすめ度:☆☆☆

内容がとてもむずかしいです。ある程度知識のある人向けです。読み始めた当時は何も知識が無かったので、かなりキツかった記憶があります。

ただ、内容の網羅度は高かった記憶があるので、もう少し勉強した上で読み直すと評価が上がるかもしれません。

最後に

他にも色々読んだ気がしますが忘れました。覚えてないってことは大した書籍じゃなかったということなので問題ないでしょう。

本記事はあくまで私の主観なので、色んな人の意見を見るのも大切です。例えば、以下の記事とかオススメです。

ITエンジニアになるならこの本を読もう32選 - Qiita
はじめに ITエンジニアに求められるスキルは多種多様であり、プログラミングできればいいというわけではないです。 個人的には30冊くらい読んで人に説明できるレベルになればそこそこなレベルであると思っていますので30冊あげておきます...

0

コメント