初めに
ssh コマンドすら知らない状態から業務ができるようになるまでの、この2年間で読み漁った技術書を分野ごとに紹介していきます。
評価基準
私が技術書に求めるものは以下のとおりです。
- わかりやすさ
- 情報の希少性 (google 検索で HIT するか)
- ググって出てくる情報はググりましょう
- 分野全体の網羅度
- 初学では、ググるキーワードすらわからない状態です。
- そのため、順を追って全体を俯瞰できる参考書がオススメです
これから勉強を始める人へ
全く知識の無い人が、これからインフラを学ぶ場合は以下の順番で勉強するのがオススメです。
- 3分間ネットワーク基礎講座(ネットワーク基礎)
- Amazon Web Services 基礎からのネットワーク&サーバー構築(サーバーを動かす体験をする)
- Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識(Linux カーネルの基礎。CPU、 メモリ、 ストレージ、プロセス)
- おうちで学べるデータベースのきほん(データベース基礎)
- あなたの好きな分野へ
Linux
オススメ学習順は以下です。
- Linux のしくみ (必須・基礎知識)
- CentOS8 で作るネットワークサーバ構築ガイド (オプション・実践)
Linux のしくみ
- わかりやすさ:★★★★★
- 情報の希少性(google 検索で代替不可能性):★★★☆☆
- 分野全体の網羅度:★★★★☆
- 総合おすすめ度:★★★★☆
誤字を除けば、とにかくわかりやすいです。
「メモリ」とか「ストレージ」とか地味にググりにくいキーワードについて解説されていたり、ネット上ではやたら難しい解説のものが、この本では図を使ってわかりやすく説明されていたりします。
Linux という範囲自体が広すぎるため、すべてを網羅するのは不可能ですが、インフラエンジニアとして生きていく上での必要最小限の情報はそこそこ網羅されています。
CentOS8 で作るネットワークサーバ構築ガイド
- わかりやすさ:★★★★★
- 情報の希少性(google 検索で代替不可能性):★★★★
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★★
サーバーを立ち上げたい場合に必須の書籍です。
手を動かしながら学ぶことができ、ネットに全然情報の無いサーバー(LDAP サーバーとか メールサーバーとか)に関する説明もあります。
とても分厚い本なので、業務の必要に応じて各章をつまみ読みするのがオススメです。
ネットワーク
オススメ学習順は以下です。
3分間ネットワーク基礎講座
- わかりやすさ:★★★★★
- 情報の希少性(google 検索で代替可能性):★☆☆☆☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★★
この本は以下のサイトが書籍化されたものです。
この本の特徴はとにかく順を追って説明してため、わかりやすい点です。
ネットワークの知識は積み上げ式となっています。
そのため、用語1の解説に知らない用語2があり、用語2の解説に知らない用語3があり。。。ということが発生します。
この本では、ネットワークの各機能について順を追って説明してくれるため、知らない用語に振り回されることはありません。
Amazon Web Services 基礎からのネットワーク&サーバー構築
- わかりやすさ:★★★★★
- 情報の希少性(google 検索で代替可能性):★★★★★
- 分野全体の網羅度:★★★★☆
- 総合おすすめ度:★★★★★
ネットワークの用語は学んだけど、どうやってホームページを作るんだ?という知識をアウトプットするのに役立つ本です。
1つ1つの情報はググったら出てくるのですが、初学時はググるキーワードすらわからないため、体系立てて学べる本は貴重です。実践を通して知識を身につけることができます。
ネットワークはなぜつながるのか
- わかりやすさ:★★★☆☆
- google 検索で探しにくい情報:★★★★☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★☆☆
データを送信してから受信するまでのネットワークの流れをとても詳しく記載されています。また、網羅度もかなり高いため詳しくおすすめです。
ただ、少し重たい本なので初学だと読むのが辛いかもしれません。そのため、上記の3分間ネットワーク基礎講座を先に読むことをオススメします。
マスタリングTCP/IP―入門編
ネットワーク入門の定番書として有名な本です。
私はこの本を読んだことがないため、評価は無しとします。
データベース
オススメ学習順は以下です。
- おうちで学べるデータベースのきほん(必須・基礎知識)
- 絵で見てわかるOS/ストレージ/ネットワーク(必須・基礎知識)
- エキスパートのための MySQL(オプション・基礎知識)
- 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ(オプション・応用)
- SQLアンチパターン(オプション・応用)
おうちで学べるデータベースのきほん
- わかりやすさ:★★★★★
- 情報の希少性 (google 検索で HIT するか):★☆☆☆☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★★
データベースの学習を始める最初の1冊として最もオススメの本です。サクサク読めて、1〜2日で読み終えることができます。
データベースの必要な情報を網羅的に記載しており、この本を読むだけで後は自分で google 検索で必要な情報を拾えるレベルになります。
私は業務である程度データベースを触った後に読みましたが、業務で取得した断片的な知識が繋がり、あやふやな理解が整理されました。
絵で見てわかるOS/ストレージ/ネットワーク
- わかりやすさ:★★★★☆
- 情報の希少性 (google 検索で HIT するか):★★★★☆
- 分野全体の網羅度:★★★★☆
- 総合おすすめ度:★★★★☆
OS/ストレージ/ネットワーク側の観点からデータベースのパフォーマンスについて学習できる本です。
「おうちで学べるデータベースのきほん」より少し敷居が高いため、まずはそちらを先に読むことをオススメします。
一方で、データベースのパフォーマンスについて実践的な部分にまで踏み込んでいるため、データベースエンジニアとして次のステップに進むために、ぜひ読んでほしい本となっています。
エキスパートのための MySQL
- わかりやすさ:★★★★★
- 情報の希少性 (google 検索で HIT するか):★★★☆☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★★
「エキスパートのため」と書いてありますが、順を追って説明してくれるため、データベース初学時でも読めました。
本書籍の情報自体はネットに転がっているのですが、データベース初学時にググるのは結構難しかったので、順を追って学べるのは評価が高いです。
この本を読めば MySQL(データベース)がどのように動いているのか、どのようにテーブルが管理されているのか理解できます。
達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ
テーブル設計をする際の有名な本らしいです。
私はこの本を読んだことがないため、評価は無しとします。
SQLアンチパターン
SQL クエリをチューニングする際の定番本で、実務経験後に読むといいらしいです。
私はこの本を読んだことがないため、評価は無しとします。
セキュリティ
暗号技術入門 秘密の国のアリス
暗号技術の定番本として有名です。試し読みで中を見たのですが、定番の暗号・認証を順番に解説しており、噂通り良い本でした。
私はこの本を読んだことがないため、評価は無しとします。
ゼロトラストネットワーク ―境界防御の限界を超えるためのセキュアなシステム設計
今どきのネットワークセキュリティについて学べる本です。
私はこの本を読んだことがないため、評価は無しとします。
プログラミング
インフラエンジニアと言えど、ちょっとしたコードぐらいは書きますからね。
リーダブルコード
- わかりやすさ:★★★★☆
- google 検索で探しにくい情報:★☆☆☆☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★
1ヶ月前の自分のコードを見て、理解できない場合は読むことをオススメします。
有名すぎて、ググると色んなブログで本書のコードの書き方がまとめられてますね。
Node.js 超入門
- わかりやすさ:★★★★★
- google 検索で探しにくい情報:★★★☆☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★☆
動的な Web アプリケーションって具体的にどうやって作るんだ?という回答がここにあります。
説明がとてもわかり易い上、なぜ***という機能が必要なのか説明してくれます。ソースコードを真似するだけで Web アプリケーションが作成できる点も◎。
後は必要に応じてググればなんでもできるようになる。後半の内容は個人的にはあまり必要無かったですね。。。
本書籍を参考にして以下の記事を執筆しました。
ビッグデータ
オススメの学習順序は以下のとおりです。
※1 私は「ビッグデータ分析基盤の構築事例集 Hadoopクラスター構築実践ガイド」を読みましたが、世間一般では「Hadoop 第3版」の方が評価が高いのでこちらをオススメさせていただきました。
ビッグデータを支える技術 ——ラップトップ1台で学ぶデータ基盤のしくみ WEB+DB PRESS plus
- わかりやすさ:★★★★☆
- google 検索で探しにくい情報:★★★★★
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★★
ビッグデータを分析するための基盤側の技術に焦点を当てて解説した本となります。
初めてビッグデータのアーキテクチャを構築する際に、全体を俯瞰できる良書です。
また、ビッグデータ分析をする上で「なぜこの基盤が必要なんだ?」ということがよくあるのですが、その疑問にも答えてくれています。
Hadoop 第3版
実際に読んだこと無いので評価できませんが、Hadoop 入門書の定番のようです。
情報が少し古いようですが、Hadoop を網羅的に学ぶには非常に役に立つようです。
Elasticsearch実践ガイド
- わかりやすさ:★★★★★
- google 検索で探しにくい情報:★★★☆☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★★
Elasticsearch の右も左もわからない状態の場合、この書籍から入ることをオススメします。とんでもなくわかりやすいです。また、かなり網羅度が高く、この本を読み終わる頃には、公式ドキュメントと合わせれば自分でなんでもできるようになっているでしょう。
本書籍を参考にして以下の記事を執筆しました。
Kafka
- わかりやすさ:★★★★☆
- google 検索で探しにくい情報:★★★★☆
- 分野全体の網羅度:★★★★★
- 総合おすすめ度:★★★★★
ストリーム処理という概念自体がググっても、まともな日本語記事が無かったために本書を購入しました。本書籍は Apache Kafka を作成した LinkedIn のエンジニアによって執筆されています。そのため、実体験を元にストリーム処理が必要となった経緯を説明してくれるため、納得感が段違いです。
この本を読んだ上で、最新の公式ドキュメントを見ながら開発するのがオススメです。
本書籍を参考にして以下の記事を執筆しました。
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
- わかりやすさ:★★★★☆
- google 検索で探しにくい情報:★★★★★
- 分野全体の網羅度:★★★★☆
- 総合おすすめ度:★★★★★
業務でディープラーニングを利用する友達から教えて貰った書籍です。ディープラーニングの入門書としてかなり有名なようです。
現在読み進めているところです。内容は難しいですが、説明はとてもわかりやすいです。
以下の YouTube と合わせると、今のところ躓くことはありません。
ビッグデータ分析基盤の構築事例集 Hadoopクラスター構築実践ガイド
- わかりやすさ:★★★★☆
- google 検索で探しにくい情報:★★★☆☆
- 分野全体の網羅度:★★★☆☆
- 総合おすすめ度:★★☆☆☆
掲載するか、かなり迷った書籍です。序盤の解説はとてもわかりやすいです。
オンプレで Hadoop を構築する人には刺さると思います。
クラウドでポチっと構築する人には向かないと思います。
本書籍を参考にして以下の記事を執筆しました。
最後に
他にも色々読んだ気がしますが忘れました。覚えてないってことは大した書籍じゃなかったということなので問題ないでしょう。
本記事はあくまで私の主観なので、色んな人の意見を見るのも大切です。