●読了/完走
■SAML入門 (2017/09/10 ~ 9/11)
・タイトル通りSMAL入門にとても良い書籍だと思います。SMALの構成要素であるIdPやSPの説明やIdp-initiated、SP-initiatedなど各認証のシーケンスが図を用いてわかりやすく説明されています。また、Docker上でKeycloakとサンプルSPアプリを用いて実際にSMALの設定と認証を試すことができます。認証シーケンスの中身(SAML-RequestやSAML-Response)を覗くことで書籍で説明されていた内容をさらに理解することができると思います。これまであまり認証基盤やそれにかかわる設定をやってきたことがなかったので初めは理解するのに手間取りましたが、少しわかってくれば新しい知識を勉強する楽しみもありました。本書を読んだ後にGoogle WorkspacesやADFSなどをIdPとして実際のインターネット上のSPとSAML連携をやってみるとその便利さがわかり少し感動しました。認証周りの知識を持っていると何かと重宝されるかと思いますので、身につけておきたい分野ですね。
■(Udemy)Google Cloud(GCP)の基礎 – 図解と実践でインフラの基礎を固める(2022/07月下旬)
・仕事でGCPを使う機会があったのでひとまずさわりを理解するために受講しました。GCPの各種マネージドサービスや基本概念を学べるコースだと思います。入門的なハンズオンもあるのでご自身の利用されるサービスの入り口を学びたい方などに有用だと思います。また、GCPの資格取得を目指している方の補助的な教材としてもよいのではないかと思います。
■(Udemy)これであなたもCisco機器の管理者に!Cisco CLIの基礎知識(2022/07月初旬)
・Cisco機器の基本的な操作や現場で使える技などを学べるコースでした。これまで自宅環境でCisco機器を使ったりしていましたが、仕事で扱う機会がやってきたので「なんとなくの知識」ではなく現場の知識をちゃんと勉強しておこうと思い受講しました。「CCNAなどの資格は取ったけど実際のコマンド操作は不安」「周りにNW機器操作を教えてくれる人がいない」といった人にとても有用なコースだと思います。個人的には、「show runの結果ではno shutが記載されてないのでリカバリ時には注意する必要がある」という点が発見でした。現場で働いていれば当然知っているような内容かと思いますが、自分は知らない意外な内容だったのでためになりました。
■マスタリングTCP/IP[情報セキュリティ編] (2017/07/01〜07/14)
・情報セキュリティの概要から、それに使われている暗号化技術の基礎を知れる良い本だと思います。ホスト・ネットワーク・Webの分野のセキュリティに関しても紹介されています。個人的には、DHやMAC、VPNなどを知れた本です。
■DevOpsを支えるHashiCorpツール大全 (2017/08/05〜08/08)
・Vagrant,Packer,Terraform,Serf,Consulなどインフラ構成管理ツール群の概要を知れる入門書です。最近、「どうやれば早く帰れるか?」「作業ミスをなくせるか?」「楽できるか?」など考えていたところ、本書に出会いました。これをきっかけに、普段の業務に適用できないかを考えてみたいと思います。本書と合わせて、著者の方のSlideShareも参考になると思います。
■AmazonWebService実践入門 (2017/08/11〜08/13)
・AWSの主要サービスについて丁寧に解説している書籍です。Webコンソール上の操作と、AWS CLIでの操作が両方紹介されているのも利点だと思います。ネットなどにも多く情報が転がっているAWSですが、一度知識を整理したい方、初心者で何から手をつけていいかわからない方はいかかでしょうか。私は特に、VPC,AutoScaling,IAMについては一読した方が良いと感じました。
■DevOps導入指南 (2017/09/20〜 10/10)
・DevOpsを実践していくにあたって大変参考になる書籍だと思います。Vagrant,Ansible,Serverspecなどを使った、インフラを繰り返し構築・テストしてく方法など豊富な実践例が紹介されています。私が本書を手に取った理由は、従来行ってきた業務手順に限界を感じていたためです。「手作業ぽちぽちのインスタンス生成」「サーバ内で直書きする設定ファイル」「設定反映漏れのあるインスタンス」「このインスタンスいつなんのために作ったんだ?」と、混沌としていく環境。もしかすると皆さんも少なからず経験があるのではないでしょうか。そういった現状を改善するための手助けをしてくれる書籍だと思います。
■Amazon Web Service 基礎からのネットワーク&サーバ構築 (2017/11/12〜 11/18)
・AWS上でパブリックネットワーク、プライベートネットワークの構築方法をWordPressの構築を通して知れる書籍です。これまでオンプレの経験しかない人がAWS上にネットワークを構築するために大変参考になると思います。また、TCP/IP,TELNET,HTTP,DNSなどネットワークの基本的なプロトコルを実際にツールを使って挙動を確認しながら構築を行なっている点も大変参考になりました。AWSを初めて触る新入社員等の教育にもうってつけではないでしょうか。
■Infrastructure as Code (2017/10/11〜12/29)
・仮想化・クラウド時代のインフラをどのように構築・運用していくのかについて書かれている書籍です。様々なインフラ構成パターンが紹介されておりなぜそれが必要なのかを丁寧に説明されています。書籍内で様々なコラムが紹介されており、実際に現場にいる人間には痛いほどわかる教訓や事例が紹介されていてそれを読むのも楽しく感じました。全体的に理論的な内容になっているため、実際に本書を読んで実践し改めて見返すことでさらに理解が深まるものだと感じています。私も実際にInfrastructure as Codeを実践してみて本書のいわんとしている事を実感したと思います。
■エンジニアのためのGitの教科書 (2017/12/30〜2018/01/08)
・Gitの基本的なコマンドからGit flowやGitHub flowなどの運用方法まで知れるGitの入門書です。実際にサンプルコマンドがあり、動作を確認しながら理解できるため初心者に適している良書だと思います。これからGitをチームに取り入れようとしている方、また、すでにチームでGitを用いた運用が行われている方で一度知識を整理したい方は大変参考になると思います。私はGitをチームメンバーに広めるにあたってある程度説明できるようにするために本書を手にしました。Gitを用いた運用をチームに取り入れ、今までの業務を少しずつ改善できればと考えています。
■Jenkins実践入門(2018/01/08〜01/17)
・Jenkinsの利用方法をJavaのビルド自動化を題材として分かりやすく説明されています。ソースコードの静的チェック、JUnitの実行とレポート出力、ステップ数のカウントなど従来手作業で行ってきたものを全てJenkinsで自動化する手順が示されています。また、Jenkinsの構築・運用方法も丁寧に説明されているため、実際に導入して運用の際にも重宝する一冊だと思います。私は、インフラのCI/CDを行うにあたり本書を手にしたため、それらの記述が少なかった本書は少し物足りなく感じました。ですが、Javaなどのソフトウェアのビルド・デプロイの自動化を考えている方には大変参考になる書籍だと思います。
■24時間365日サーバ/インフラを支える技術(2018/02/22〜03/19)
・タイトルにある通り、サービスを提供し続けるための冗長化の構成やそれを支えるプロトコル・仕組みを丁寧に解説している書籍です。また、サービスを停止しないためだけではなくサービスのレスポンスをいかにして遅延させないようにする方法も紹介されており非常に参考になりました。私が特に知ることができてよかったと思うものは、ネットワークインターフェースを冗長化するBondingやHTTPのレスポンスを効率よくするKeep-Alive、VIPを実現させているGratuitous ARPなどサービスを支えている仕組みたちです。最近ではAWSやAzureなどパブリッククラウドが台頭しており、オンプレ環境で求められるこの辺りの知識を知らなくてもサービスを提供することができます。しかし、インフラを支える技術・知識を知っている人とそうでない人とでは設計の質に違いが出てくるのではないかと感じました。
■ビッグデータを支える技術 (2018/03/21〜4/17)
・ビッグデータの構成要素とその役割について解説している入門書です。ビッグデータはシステムの構成要素が多く、それぞれのミドルウェアの役割を理解するのが難しいのではないかと思っています。本書を通して、ビッグデータにはストリーミング処理、バッチ処理と大きく分けると2つの役割があることを理解し、その中で各ミドルウェアの果たす役割を学ぶことができます。ビッグデータの学習を始める最初の1冊として最適な書籍だと思います。
■C 頭とからだで覚えるCの基本(2018/06/11〜12/10)
・初学者の方にオススメできるC言語の入門書です。メモリやポインタといった基本的なところから始まり、プロセス間通信やソケット通信、スレッドプログラミングなど少し凝った内容も扱われています。私は「OSの仕組みを理解したい」「プログラムの動作原理を理解したい」と言う思いからC言語の学習を開始しました。インフラエンジニアとしてサーバを扱っていくうちに、場当たり的な対応やネットに転がっている情報をなんとなく理解して操作を行うのではなく、しっかりと自分で内容を理解したいと思うようになりました。そのために、OSや各種ソフトウェアの実装を覗けるようにC言語の学習を開始したところです。低いレイヤの世界は自分にとって未知のものが多いですが少しずつ理解していきたいと思っています。
■Webを支える技術(2019/01/04〜01/10)
・Webサービスを開発する際に必要となる基礎的な知識を学べる書籍だと思います。HTTPにおけるトランザクションの概念が大変参考になりました。また今までざっくりとしか理解してなかったHTTPのメソッドについても理解が深まりました。URLのリソース設計の指針も示されているので設計の段階にも参考になる書籍だと思います。私はWeb系をメインで仕事をやっているわけではありませんが、開発現場において意思疎通に必要になってくるものなのでインフラメインの人間でも知っておくべき内容だと思いました。
■リーダブルコード(2019/01/10〜01/17)
・言わずと知れた書籍ですね。IT業界にいる人なら一度は「読まなきゃな」と思ったことがある書籍ではないでしょうか。私も購入から長らく放置していましたがやっと読了しました。仕事でがっつりプログラミングをするわけではありませんがちょっとしたスクリプトでもこの書籍にあるような作法にしたがって書いていきたいと思いました(今までは書きなぐったものばかりだったので。)私が一番心に残ったフレーズがあります。これからは多少なりとも他人が読み易いコードを書いていきたいと思います。
エンジニアリングとは、大きな問題を小さな問題に分割して、それぞれの解決策を組み立てていくことに他ならない
■入門UNIXシェルプログラミング(2019/01/17〜01/26)
・シェルスクリプトの「こんなときはどう書いたら良いだろう?」といったちょっとした疑問を解決してくれる書籍だと思います。サンプルも多く載っているためその場その場で読み返すのにも使えると思います。普段そこまで凝った書き方をしないのであればあまり必要ないと思いますが既存のスクリプトを読んだりすると「なんじゃこりゃ!?」といった書き方に出くわすこともしばしば。。。といった人にお勧めできるかもしれません。私はtrapコマンドやexecコマンドを用いたリダイレクションなど今まであまり使ったことがないコマンドをしれた書籍でした。
■試して理解 Linuxの仕組み(2019/01/28〜02/15)
・とても面白い書籍でした。「この言葉何回も調べてるし、なんとなくは理解してるつもりなんだけど。。。」と、どこか腹落ちしていない方にとてもお勧めできる書籍です。タイトルにもある通り、「試して理解」することができる内容になっています。Linuxの勉強などをしていて抽象的な内容になるとどうしてもいまいち腹落ちしないことがありましたが、手元のPCでそれらの挙動を「サンプルコードを書いて」、「実行して」、「意図した結果かどうかを確認」することでより深い理解に繋がりました。普段は結果を見ているだけだったこともサンプルコードを書くことで、裏側でどんなことが起きているのかを体感することができました。新入社員の方には少しハードルが高いかもしれませんが、入社2~3年目の少しLinuxを触ったことのある人なら楽しく学ぶことができると思います。ぜひ皆さんもお手に取ってみることをお勧めします。
■プロのためのLinuxシステム構築・運用技術(2019/02/11〜03/07)
・Linuxの構築・運用に関するある種の「一般常識」を教えてくれる書籍だと思います。何を持って一般常識というかは難しいところではありますが、「プロのため」とあるように、仕事でお金をもらってシステムを構築する人ならば身につけておくべき知識が詰まっています。私自身知らなかったことも多く、もっと勉強していかないとなと思いました。これまで、体系立ててLinuxの構築・運用を学んだことが無い人、また、いきなり現場に配属されてみんなが何を基準に物事を判断しているのかがわからず困っている人の助けになってくれる書籍だと思います。
■プロのためのLinuxシステム・10年効く技術(2019/03/08〜04/18)
・Linuxの内部構造や動作がわかりやすく解説している書籍だと思います。私にとっては難しく感じる箇所もありましたが、他のLinux関連の書籍より一歩踏み込んだ内容が知れると思います。また、本書を通してよかったと思ったことは、「素振り環境」の構築方法やLinuxカーネルのビルド/解析手法が紹介されていたことです。素振り環境ではKVMを用いた検証環境の構築を通して、自分が「試したい」と思ったことをすぐに確認できるようになったことです。最近ではクラウドを用いれば良いのかもしれませんが、「手元で誰の迷惑にもならず、好き放題いじれる環境」というのは大いに勉強が捗るのではないかなと思います。Linuxカーネルについてもyumで更新される程度にしか扱ったことがありませんでしたが、実際にソースコードからビルドして、そのカーネルからシステムをブートさせるというのには少し感動しました。「10年効く」とあるように、基礎体力を上げて今後の知識・技術習得の支えになってくれるとても参考になる書籍だと思います。
■Web API The Good Parts(2019/05/03〜05/10)
・WebAPIを実装する人やHTTP仕様の基礎知識を知りたい方にはとても参考になる書籍だと思います。TwitterやAWS、Facebookなど実際に存在する企業のAPI設計を比較したりととてもわかりやすくWebAPの設計のポイントが紹介されています。私は業務でWebAPIの設計を行うことはないのですが、少し試してみたいものがあったのでそれを実践するにあったって事前知識として本書を手に取りました。本書を読んでいて感じたことは「WebAPIの設計などは技術者のレベルを測る対象になる」ということです。WebAPIを公に公開するにするにしろ、自社内で開発したクライアントアプリからのみ利用するにしろ、他人の目にその人の技術力が晒されるわけです。「なんだこのクソ仕様は」とか「いけてねーなこのAPI」と批判を浴びることになるかもしれません。世のデファクトスタンダード、積み上げられたベストプラクティスを知識として知り、自分で失敗しながらも学んでいくのが大切じゃないかなーと思ったところでした。
本書でも紹介されている世の中のWebAPIをまとめているサイトも設計の際に役立つと思います。
■チーム開発実践入門(2019/04/18〜06/01)
・タイトル通りITの現場でのチーム開発のプラクティスをまとめている書籍です。はじめの方で、チーム開発が行われていないデスマーチプロジェクトでの事例が紹介されており「あぁ、、同じようなような目にあったなぁ。。。」と悲しくなりながら読み進めていました。例えば、「検証環境がない」「データベースの再作成が困難」「起動するまで壊れていることに気付かない」「リリースが複雑で手順書が必要となる」など、皆さんも経験したことがあるのではないでしょうか。少なくとも私はこれまで関わってきたプロジェクトは全てこのタイプです(まぁ4年程度の経歴ですが)。そして、「これが当たり前なのだ」と思っていました。本書では「理想的なプロジェクト」として「バージョン管理」「チケット管理」「CI環境」「CD環境」「リグレッションテスト」などのプラクティスが紹介されています。正直、読んだ感想として「本当にこんなことを実践できてるチームが存在するのだろうか?無理だろ。」と信じられない気持ちでいます。「理想」と「現実」の乖離が自分の中で大きすぎて、その溝を埋められる気が全くしないというのが正直な感想です。ちょっと悲観しすぎでしょうか。本書の中で特にぐさっときた言葉があります。
テストコードを書かず、CIを行わず、さらにリファクタリングも行われずにメンテナンスされ続けたコードは、大きな負債となってビジネスの成長を阻害することさえあります。そのようなコードを「レガーシーコード改善ガイド」では「レガーシーコード」と定義しています。
p.35
自分自身もこの定義に加担する側の人間だなぁと思い、そうゆうところから少しずつ、少しずつ改善していけば良いのかなとちょっとだけ前向きな考えを持ちました。合わせて思ったことは、そういったプロジェクトやコードを責めることは間違えているなということです。これまで価値を提供し続け、利益をあげているものに対して敬意を払うことは忘れてはいけないと思いました。しかし、「レガーシーコード」の定義に当てはまっている現状がもしあるならばそこから目を背けるのもまた間違えではないかとも思います。そういった課題を共有し一緒に解消していけるチームで働いてみたいなぁと思いました。他力本願ばかりではいつまでたってもそうゆう未来は来ないと思うので自分ができる事から始めることを探すのにも良い書籍だと思います。私も自分のできることから実践していきたいと思います。
■GitHub実践入門(2019/06/01〜06/06)
・とある企業では新入社員の入社前に「本書+リーダブルコード」を渡しておくなんて情報をどっかで見たことがあります。それにも納得できるとても参考になる書籍でした。かくゆう私は、IT業界4年目にして本書を読了したわけですが、これまでわからないことはwebで調べつつなんとなくgitやgithubを使ってきました。本書を読んでいて「あー、もっと早く読んでおけばあの時のミスを無くせてたのになー」と長らく積読していたことを後悔する場面が何度かありました。例えば、git-flowでは「自分のトピックブランチに定期的にdevelopブランチをマージして最新のコードを取り込む」など。当然、トピックブランチ上で長らく開発していれば最新のコードと差分は出て行きますがふとPullReqを出した時に大量にコンフリクトが発生してえらい目にあうなど。また、[WIP]を使って早めにコードレビューができる状態にしてPullReq上で議論をしていくなど。言われてみれば当たり前のことですが、意外と失敗するまで見落としがちではないでしょうか?その辺の常識を教えてくれる書籍でもあります。また、デプロイベースのgithub-flowやリリースベースのgit-flowの考え方などブランチ運用に関することもとても参考になりました。やはり書籍を通した体系的な学習も大切ですね。
あと興味深かった内容として、Issueを活用したプロジェクト管理の項目がありました。プロジェクト管理ツールのRedmineやBacklogなどがありますが、それらを使わずにIssueをチケットの代わりとして開発に利用していく手法です。そうすれば、変更の履歴や経緯などを全て1箇所に集約できスムーズに履歴を追うことができるなと思いました。ブランチの頭にチケット番号をつけたりなどこの辺のツールとの連携手法はいくつか見てきましたがそんなことをせずに「Issue+Milestone」でシンプルに完結できるのには魅力を感じました。機会があればやってみようかと思います。
■インフラエンジニアの教科書(2019/06/07〜06/15)
・LINEのエンジニアの方が執筆されたことでも有名な書籍ですね。Twitter等でも時折見かけて興味があったため手に取ってみました。インフラエンジニアの業務内容からサーバ・OS・ネットワーク・ストレージ・データセンターのことなど幅広く紹介されています。「新入社員に読んでほしい」という筆者の思いにもあるようにこれからインフラエンジニアとしてこれから業務をされていく方はたぜひ目を通して自分が行っていくであろう業務を俯瞰してみると良いのではないかと感じました。また、すでにインフラエンジニアとして業務をされている方でも、普段自分が担当されている以外の分野については知らないことが多かったりするのではないでしょうか。私もOSの上からの業務がほとんどなため、サーバ機器、ネットワーク、ストレージなど読んでいて新しい発見がありました。一括りにインフラエンジニアといってもとても幅広いもので全てをカバーするのは難しいと思いますが全体を俯瞰できる本書は自分の立ち位置を把握する上でも参考になるのではないかと思いました。
■インフラエンジニアの教科書(2019/06/16〜06/22)
・前回の続編であるインフラエンジニアの教科書2を読了しました。前回の1が物理(ハード)より、2がソフトウェア(OS/ミドル)よりという印象を受けました。ご自身が苦手としている分野に合わせて1か2かを読むと良いのではないかと思います。特に2の方ではOSの動作原理などについて多くページが割かれているのでサーバサイドのエンジニアの方にはおすすめです。プロセスやスレッド、fork/execやCoW(copy on write)、仮想メモリ/物理メモリとCPUのMMU(memory managemant unit)など一度は聞いたことがある、また、業務を行う上で出てくるであろう言葉が丁寧に説明されています。これまで他のLinux関連の書籍やOSに関する書籍を読まれた方にはちょうど良い復習にもなると感じました。また、最終章の「インフラエンジニアとして目指す方向性」では、インフラエンジニアのキャリアパスとしてどのようなものがあるかや心構えなども紹介されています。私は最近「インフラエンジニアの技術力ってなんだろうか?」と考えることがあります。ガリガリ、プログラムをかけるわけでもないし?ミドルウェア自体を作っているわけでもないし?一体なんなんだ?と自問自答して、「自分自身何も技術力と呼べるものを持ってないな」と感じることがあります。本書の最終章を読んでいてすっと腹落ちした言葉ありました。「原理原則をよく理解すること」「直ちに手を動かすことができること」この2つがプログラマや他のエンジニアとの違いなのかなと感じたところです。目に見えて動くものを作っているわけではないけど、裏っかわでサービスを支えているエンジニアに必要な力なのかなと思いました。
■DNSがよくわかる教科書(2020/02/21〜02/28)
・ネットワークの基礎の1つであるDNSについて改めて見直してみました。初学者向けに書かれている書籍でとても読みやすかったです。多くの方はPCをセットアップする際にキャッシュサーバを指定する設定をするぐらいで普段そこまでDNSについて意識することはないかもしれないですね。インフラ周りを業務で行われている方でも権威サーバを構築してゾーンを運用される方はそこまで多くないのかなと個人的に感じてます。私も業務でDNSサーバをいじる機会は今までありませんでした。なので、本書を読みながらAWSのRoute53で取得したドメイン内でゾーン委任の設定を行い権威サーバを構築しながら勉強をしてみました。仕組みとして知っていてもやはり手を動かしながら動作確認することは大切だなと感じました。
■徹底解説v6プラス(2020/03/01〜03/04)
書籍のタイトルの通りv6プラスに関する解説書です。本書を手に取ったきっかけは自宅のNW環境の改善のためでした。これまで夜になると10Mbps以下まで通信速度が低下し、isoや容量の大きなインストーラ、書籍のダウンロードなどとても時間がかかって不満に感じることが多々ありました。「v6?速くなるの?」といった感じで軽い気持ちでISPや回線の契約を調べたりしながらv6プラス(MAP-E)の設定をやってみました。結果として夜間でも300Mbps程度速度が出て今までの不満は解消された感じです。その中で少しv6プラスの仕組みについて気になったので本書を手に取りました。IPv6についての知識もあまりないですが、読んでて普段意識することのないインターネット側のNW構成などを図解で知ることができてとても面白く感じる部分もありました。有線の設定はひとまず終わったので、次は無線の設定に取り組みたいと思います。v6プラスの設定は (YAMAHA)v6プラスでインターネット接続 : コマンド設定 が参考になりました。対応している機器 も用意する必要がありますが自宅のネットワーク速度に不満がある方は試してみるのも良いかもしれないですね。
■自作エミュレータで学ぶx86アーキテクチャ-コンピュータが動く仕組みを徹底理解!(2020/10月ぐらい〜12/27)
・タイトルにある通りx86のエミュレータをC言語を使って作成する書籍です。x86のCPU命令セットをC言語で実装しつつ、それに食わせる機械語をアセンブリまたはC言語で実装しながら実際に動作後のレジスタの値などを確認して学習を進めていきます。C言語・アセンブリの基本、メモリとポインタ、スタック構造、BIOSなどこの辺の基礎的な内容についてわかりやすく説明されているのでこれらを学ぶ入り口としてもとても参考になる書籍だと思いました。
私が本書を手に取ったきっかけは、以前「30日でできる! OS自作入門」に挑戦していたのですが、12~13日らへんで一度挫折しており再挑戦にあたりCPUの動作原理、C言語・アセンブリをちょっと復習してから臨もうと思ったからです。実際にOS自作本は本書の内容をより発展させた内容になっているので本書をやってからOS自作本に行くのもありかなと思ったところでした。どちらの書籍も32bit/BIOS/MBRと現在の64bit/UEFI/GPTに比べると少し古い内容になっていますが基本原理を理解するにはとても参考になると思います。
私は本書の説明されている内容を詳細に理解することはできませんでしたが(こんな感じなんだーぐらいの理解)それでも基本的な原理について知ることができたので本書を手に取ってよかったなーと思っているところです。
本書で扱うような知識は実際の業務ではほとんど意識する必要がない方が大半だと思います(私もそうです。実業務に即生かせるようなものではないと思います)。ですがご自身が興味があり、低レイヤを覗いてみたい方は手に取ってみるのも面白いんじゃないかと思いました。
※メモ
・本書の「Chapter4 BIOSの仕組みと実機起動」において少し考慮が必要な点があったのでメモしておきます
1, bootsコマンドを実行すると「msvcr110d.dll」が無いといわれる
– visual studio 2012をインストールすると解消されます。
– 調べた感じデバッグを有効化されてビルドされてる模様でした。
– bootsに関しては著者がソースコードを公開してくれているようなのでご自身の環境でビルドしなおしてもよいかもしれません
2, 「boots –asm pbr.bin」を実行してもPBRの内容が逆アセンブルされた結果が出力されない(代わりにパーティション情報が出力される)
– LinuxのISOなどを書き込んでUSBブートメディアを作成してから実行しなおすとうまく表示されます。
– ↑をやってない購入直後のUSBはブート可能なメディアとして認識されていないのでいったんbootsコマンドが認識できる形式にしてやるとうまくアセンブリを出力してくれました。

(※実機でUSBブート後にメッセージ表示させた画像)
■インターネットのカタチ―もろさが織り成す粘り強い世界―(2021/5月ぐらい〜7/25)
・タイトル通りインターネットに関する書籍です。インターネットを構成する要素(海底ケーブル、ISP、BGP、IXなど)を色々な角度から面白く説明している書籍です。私は一応インフラエンジニアに分類される職に就いていますがサーバ側がメインでネットワーク、特にインターネットの裏側に関する知識はほぼありませんでした。最近ふと「インターネットってどう動いてるのかな?」と疑問に思ったので本書を手に取ってみました。感想としてはとても面白く「インターネット」について概要を知ることができました。「AS同士がBGPを使ってフルルートをやり取りしてるんだよね?」ぐらいの漠然とした知識しかありませんでしたが、海底ケーブルの敷設事情やインターネットのTier構造、IETFやRFC、CDNなどいろいろなことをそれぞれの裏事情などを交えながら楽しく知ることができました。普段自分が使っているインターネットがどうなってるのか知りたい人にはオススメの書籍です。
本書と合わせてインターネットに関することを知りたければ以下のYouTubeチャンネルがおすすめです。ネットワークエンジニアの方が丁寧に説明されていてとても分かりやすいです。
show int インターネットの裏側解説
JPIX Official
普段意識することがないけどみんなどこかでお世話になってるアカマイについての本を読みました。ちょうどオリンピックが開幕したタイミングで全世界でアカマイの障害がありサイバーテロだと勘違いされていましたね。逆にそういったタイミングでしか表の世界に名前が出てくることがない会社なのかなとも感じました。本書ではアカマイのビジネスモデルがインターネットの仕組みが密接に関連しながら成り立っていることを知ることができました。また、CDNとしてのアカマイしかこれまで知りませんでしたが、SureRouteといったトラフィックの最適化のサービスなども提供しているこを知り、「へぇーそんなこともやってるんだー」と新たな発見もありました。前回読んだ「インターネットのカタチ」と合わせて読むとインターネットの裏側についてより詳しく知ることができるんじゃないかと思いました。技術書というよりはビジネス書?に近い書籍(縦書きでした)なので前提知識がなくても読みやすいのではないかなと思います。普段当たり前のように身近にあるインターネットの世界が、物理的な要因や回線速度、AS間の力関係などに左右されながら成り立っていることを知れる面白い書籍だと思います。
Windowsの認証周りで使われているKerberosについて気になったので本書を購入しました。20年以上前の本でこのほかにあまりKeroberos関連の書籍がなく、よく使われている割に得体のしれない認証プロトコルだなと個人的に感じました(ADでうまく隠蔽されてるからみんなあまり気にしないだけなのかもしれない)。普段はLinuxをメインにしているため公開鍵認証を知っていれば問題なく認証、ログインできていました。しかし、仕事の都合上Windows環境を触る機会が多くなってきて、「Windows周りの認証はどうなっているんだろう?」とふと気になり本書を通して勉強することにしました。ネットにもいろいろと記事がありますが、いまいちピンとこず書籍ならもう少しわかりやすいかなと思い書籍を購入しました。本書自体140ページ程度の小型本ですいすい読みやすい本でした。内容も、自分が知りたかった「Kerberosのチケット発行から認証までのシーケンスと、ユーザの正当性をどこで担保しているのか」というて点が理解できたので満足しています。特に「サービスプリンシパルをKDCに登録する流れ」を実際にコマンドベースでどうやって行うかが載っているのが良かったです。AD環境の場合は、意識することなく裏側で自動で行われているであろう操作を実際に例示されていたので理解が進みました。また、Linuxを使って実際にKerberosサーバを構築して本書で例示されている内容を実際に試すことで理解が深まりました。気が向いたらそのうち構築の記事も書いてみようかと思います。(これもあまり日本語記事がなかったので)
AD環境の裏側で行われていることを理解するのには良い書籍だと思います。
■インターネットの基礎(2022/4月ごろ)
インターネットがどうやって発展していったのかなどを知れる本です。日本のインターネットの黎明期の裏話的なことも書かれていて読んでいて面白かったです。技術書というよりは読み物として楽しめました。書籍内でIETF(Internet Engineering Task Force)の信条として紹介されていた言葉が印象に残っています。
「王も、大統領も、投票も、お断り。大まかな合意と動くコード(プログラム)を信じます。」
いかにも技術屋さんといった言葉ですかね。
■ネットを支えるオープンソース(2022/4月ごろ)
OSSの成り立ちやライセンスについて知れる書籍です。また、プログラミングに関するいろいろな視点で章が構成されていてプログラミング教育の歴史についてなども書かれていて面白かったです。ライセンス周りについてはまた見返してみたいと思います。
●読み途中…
・セキュリティ最強の指南書 (2017/07/15〜)
・Zabbix統合監視実践入門 (2017/12/01〜)
・Serverspec (2018/01/18〜)
・Docker実践ガイド(2018/04/17〜)
・ふつうのLinuxプログラミング(2018/12/20〜)
・動くメカニズムを図解&実験 Linux超入門(2019/06/23〜)
・テスト駆動開発(2019/06/27〜)
・コンピュータアーキテクチャ技術入門(2019/07/24〜)
・プロフェッショナルIPv6(2019/07/29〜)
●未読
・ルータ自作でわかるパケットの流れ
・はじめてのOSコードリーディング
・Linuxのブートプロセスをみる
・詳解UNIXプログラミング
・OSSライセンスの教科書
・Ansible実践ガイド
・Amazon Web Service クラウドデザインパターン 実践ガイド
・Amazon Web Service クラウドデザインパターン設計ガイド
・Amazon Web Service クラウドデザインパターン 定番業務システム12パターン設計ガイド
・LinuxサーバHACKS
・LinuxサーバHACKS2
・ネットワークセキュリティHACKS
・ポケットスタディ情報処理安全確保支援士
・プログラマのためのDocker教科書
・インフラエンジニア教本(セキュリティ実践技術編)
・マイクロサービスアーキテクチャ


