えいのうにっき

a-knowの日記です

「インフラエンジニアの教科書2」を読んだ

なんか前回のエントリと前後しちゃった感もあるんだけど、今月に入ってから「インフラエンジニアの教科書2」という本を読んでいて、今日それを読み終えた。

インフラエンジニアの教科書2 スキルアップに効く技術と知識

インフラエンジニアの教科書2 スキルアップに効く技術と知識

読んだ感想としては以下のツイートにある程度集約されていると思っていて、

例えば小学校のときに使った「教科書」って、「読んだだけでハイ終わり」って感じでは無いじゃないですか。それと一緒で、「意図的に読者の手を動かせようとしている・自らの頭で考えさせようとしている」箇所が、この本の随所に散りばめられている印象だった。僕も、ただ本を読むだけじゃなくて自分の手も動かしながらでないとなかなか頭に入ってこないようなところがあるので、その点では非常に僕の好きなかんじの本だなっと思った。

↑著者の方。「じゃっかん不親切だなー」と思ったその構成は実は意図通りのもので、僕はそれにまんまと掛かってしまったw

取り扱われている範囲も広範囲で、「(良くも悪くも)目の前の仕事を真面目にやってきた」状態だとなかなか触れられなさそうなところについても取り上げられているので、非常によいなというかんじ。RFCについての解説はとても興味深かった。

ただ例えば、僕がこの本の前に「なるほど Unix プロセス」という本を読んでいたこともあって、プロセスとかシグナルに関しての記述については「みんな、この記述だけでわかるのかな...?」という気持ちになった、ということもあったので、それと同じようなことが他の項目についても言えるのかなとは思った。

「インフラエンジニアの教科書2」、これ一冊で、その範囲全てを一定以上の深さを伴った理解に結び付けられるかどうかは自分次第な気がする。つまり、この本で興味を持ったところ、よくわからなかったところについては、別途それ専門の本などでさらに深く学んでいく必要が...、、って、まぁごく当たり前のことか。ただ読んでいるだけだと「わかったようなきもち」になれてしまうので、自問自答しながら読んでいかないとなというかんじ。実際ぼくも、本の記述だけでは腑に落ちないところについてはちょこちょこググってみたりはしてた。

そういった意味では、(インフラ)エンジニアとして最低限知っておくべきことが載っており、それに対して自分の興味や弱点がどこにあるのかといったことをこの一冊で知れるという、とても良い本であると思った。

今回も読書メモを取りつつ読み進めた。「へー」とか「そういえばそうだった」と思ったこと、それに付随して自分でも調べてみたことなどをどんどんメモしていくかんじ。 読書メモは、結果的に本に書いてあることの転記のような形になっていることがおおいのでこのメモをここに載せることはしない(個人用 esa に突っ込んである)けど、項目だけ挙げると以下のような感じだった。

- プロトコル
    - コネクションとセッションのちがい
    - FTP の2つのモード
    - UDPで双方向通信を行うプロトコル
    - UDP で異なったポートに送受信を行うプロトコル
    - ファイアウォールの動的ポートフィルタリング機能
- OSによるプロセス処理の仕組み
    - コンテキストスイッチ
    - スケジューラとディスパッチャ
- OS によるメモリ管理
    - 物理メモリ空間と仮想メモリ空間
    - スワップとページング
    - NUMA
    - インフラの安定運用を考えるときのメモリ管理
- OS によるファイル管理
    - ファイルのメタデータ
    - LinuxやUNIXにおけるシンボリックリンク
    - Windowsにおけるシンボリックリンク
    - インフラの安定運用を考えるときのファイル管理
- ネットワーク
    - L2スイッチ
    - L3スイッチ
    - L4/L7スイッチ、ロードバランサ
    - VLAN
    - ポートVLAN
    - SSLオフロード
    - ネットワーク機器の構造
- データベース
    - MySQL のストレージエンジン
    - トランザクション分離レベル
        - ダーティリード
        - ファジーリード(非再現リード・ノンリピータブルリード)
        - ファントムリード
    - WAL(Write Ahead Logging / ログ先行書き込み)
    - チェックポイント
    - ストレージに用いられるRAIDコントローラーの設定で気をつけるべきこと
        - ライトバック
        - ライトスルー
        - バッテリー学習サイクル
    - 「リストア」と「リカバリ」の違い
- Webのサーバサイド開発言語・実行環境
    - CGI方式
    - FastCGI方式
    - サーバゲートウェイ方式
    - Java
        - Java SE と Java EE
        - ヒープ領域とメモリ管理
- 暗号方式・共通鍵方式と公開鍵方式
    - SSL通信とSSLサーバ証明書
    - 中間CA証明書
- 障害対策と障害対応
- よく知られたセキュリティ攻撃
- RFCの読み方と作られ方
    - RFCとは
    - RFCのカテゴリ
- 世界規模のインターネットサービス運営
    - 物理的に離れた場所への通信を行うときの工夫

ほとんど全部じゃん、という説もある。単なる言い訳だが、日頃意識しないで済んでいるようなところはやっぱりどうしても頭の中から追い出されがちである。

これを見て「あ、ちょうどこのあたりのところのこと、復習したかったんだよなー」という人にはうってつけかもしれない。

インフラエンジニアの教科書2 スキルアップに効く技術と知識

インフラエンジニアの教科書2 スキルアップに効く技術と知識

follow us in feedly