最近読んだ技術書のまとめ

最近読んだ本を軽くまとめます。

ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識

ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識

ブラウザからURLを入力して、何がどう動くのか知っているでしょうか?プログラムを書いてどう動くかは理解できても、生成した結果のデータがどうネットワークを流れていくのかは知りませんでした。

本書は、ブラウザからURLを入力してWebサーバーに届くまでのパケットの"旅"を細かく解説しています。

CMSフレームワーク等でデータがやり取りされているので、知る必要がないという方はいるかもしれませんが、仕組みを知っておくことが必要な場合もあります。

ネット上の記事でこういうプラグインを入れたら速くなるといった内容だとしても、なぜ速くなるのかを理解するにはプロトコルレベルでの理解は必要でしょう。

「本の帯に書かれている10年後も通用する”基本”を身につけよう」という意味は、プログラムの言語は新しくなりますが、ネットワークの基礎がインターネットが生まれてから変わってないところにあるんじゃないかなと思います。

サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用

[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用 (WEB+DB PRESS plusシリーズ)

インフラ側に興味を持ったので手にとった一冊。

前半部分は、インフラを支える基本的な技術のお話。後半部分は、月に100万PVある大規模サイトを支える具体的な手法まで幅広く解説されています。

Linuxの基礎からWebサーバーの構築方法やMySQLのチューニング等、Webサイトの運営に関わる裏側を具体的に紹介されています。素人が読むには結構しんどい内容でしたが、わからない単語はひたすらググってなんとかなりました。

大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)

サーバ/インフラを支える技術が若干難しかったので、もう少しわかりやすく解説してくれてる本を探したところ見つけました。

本書は、株式会社はてなインターンの授業を書籍化したものです。ネット上の記事ではてなインターンは「精神と時の部屋」だと言われる程、短期間で成長できるようです。この記事とか

サーバ/インフラを支える技術と若干被っているところがあるのですが、復習の意味もあってよかったです。

Webエンジニアのための データベース技術[実践]入門

Webエンジニアのための データベース技術[実践]入門 (Software Design plus)

データベースの設計思想といったことがさっぱりわからなかったので、手にとった一冊。

MySQLの第一人者である松信嘉範さんが手がけたということで期待して読ませて頂きました。実践入門と書かれていることから、全くデータベースがわからないド素人状態だと全く理解できなかったと思いますが、ほんの少しだけでも知識があれば十分読めます。

インデックスの設計やレプリケーションの方法、バックアップの手法などなど運用に関わる全てのことが解説されています。

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール

サイトの高速化はインフラ側のチューニングによって決まると思ってましたが、本書によると待ち時間の80%はフロントエンド処理だそうです。

本書を読んで実践したところ、サイトは目に見えて速くなりました。とにかくサイトを速くしたいという方はこれを読んでみてはいかがでしょうか。

独り言

インフラはどれだけの障害対応をしてきたかという経験がモノをいう世界だと思いますが、取り組むにはある程度の知識が必要なので、これらの本はたくさんの知識を得られて非常によかったです。