プログラミング本

『大規模サービス技術入門』という本がめちゃくちゃよかった!

投稿日:

こんにちは。

じゅん(@BoNingennnN)です。

ニートを脱出しエンジニアになって約4ヶ月が経ちました。

結構順調にエンジニア生活を送っていたはずだったのですが、ちょっと前に顔面蒼白になる経験をしました。

自分一人で担当していたプロジェクトがありそれをリリースしたのですが、想定していた量をはるかに超えるアクセスがあり、それに伴って色々なエラーを出してしまいました。

 

ニート中に幾つかWebサービスを作っていたり、入社後もいくつかのサービスを開発しましたが、これまでのものは比較的アクセスが少なく、特に大きな問題は起こっていませんでした。そのため、比較的規模の大きいサービス特有の問題について全く意識したことがありませんでした。

その結果が今回のエラーにつながりました。

 

エラー自体はどうにかなったのですが、正直対応している間は本当に生きた心地がしませんでした。

もうあんな思いは絶対にしたくない、ということで「大規模サービス技術入門」という本を購入しました。

「大規模サービス技術入門」は、2010年に出版された比較的古い本です。

例えばRuby on Railsの本であれば、10年近く前に発売された本は買わないと思います。

バージョンが違うとあまり役に立たないからです。

 

しかし、この手の本は発売から10年近くたっても本質は変わらないため問題ないだろうと思い買いました。

その結果大正解でした!!

 

私はプログラミングに出会ってからまだ一年ちょっとしか経っていません。

普段はRubyやRuby on Railsを使ってエンジニアとして働いています。

が、RubyやRailsの知識はまだしも、それ以外の知識は皆無と言っても過言ではありません。

ニート期間中に色々本を読んだりしていましたが、それでも先輩エンジニアと比べると知識の幅も深さも天と地ほどの差があります。

 

すごく恥ずかしいのですが、「大規模サービス技術入門」を読むまでは、ディスクのI/Oに比べてメモリが圧倒的に速いということすら知りませんでした。

また、アプリケーション側の問題なのか、それともDB側の問題なのかを意識すらしたことがありませんでした。

 

この本は、はてなブックマークやはてなブログで有名なはてなのインターンの内容をまとめたものです。

説明が非常に分かりやすく、また大事なところは何度も本文中で繰り返されます。

(関係ないですが、大学生の時にこんな素晴らしいインターンを受けれる人は本当に羨ましいです。)

 

理論的な説明だけでなく、はてなで実際にはどのように運用されているのかなども詳しく載っていて、かなり実践的な内容でした。

一度読んだだけではもちろんまだ完全には理解しきれていませんが、もしまた比較的大きな規模のものを開発することがあればこの本で学んだことはとても役に立ちそうです。

また、小さな規模のものであっても、スケールすることを意識して実装することは非常に重要です。

そうしないと顔面蒼白な経験をすることになってしまいます。

 

より低いレイヤーのことを理解しておかないと、アプリケーション側での実装もうまくいきません。

データの数が数百、数千程度であればどうにかなるとしても、その数が大きくなっていくにつれて太刀打ちできなくなってしまいます。

 

今回は休みの日に一気に読みましたが、今度はもっとじっくり何度もこの本を読んでいきたいと思います。

私と同じように、今まで大規模なWebサービスを開発したことないけどもしかしたら今後そのようなものを開発する可能性があるかもしれない、という人には「大規模サービス技術入門」はおすすめです。

 

ついでに、この本で何度も取り上げられていた「24時間365日 サーバ/インフラを支える技術」という本も買ったのでその本も早く読みたいです。

また、DBやSQLに関してももっと深い知識がないといけないと自覚したので、それ系の本も何冊か読んでいきたいと思います。

-プログラミング本

Copyright© 京都の独学プログラマー , 2018 AllRights Reserved.