最近読んだ本(大規模サービス技術入門, Java: The Good Parts)

大規模サービス技術入門


大規模サービスと聞くと、インフラの冗長化やスケールアウトのための構成をいかに構築するか、という話になりがちだと思うけど、この本では大量のデータに対しキーワードリンクや全文検索を実現するためのアルゴリズムについて分量を割いているのがおもしろい。
インターンシップの課題でサービス開発だけではなく、アルゴリズムの課題を出すのはすばらしいと思う。最近は全文検索にしろ必要なパーツはオープンソースから調達して組み合わせて手早くサービスを構築するというスタンスになりがちだが、車輪の再発明の学習効果は高い。
スケール手法については、QConでのTwitterの方の講演を私も聞いたが、最初はどこでも似たようなこと(DB分割など)を試したうえで、それぞれのサービスに適した手法に辿りついているんだろう。最終的なノウハウやオープンソースとして公開されたツールがあるからと言って、苦労せずにスケールさせられるということもないんだろうな、と思う。
私は今のところ大規模サービスとは対局のソフトウェアを開発していますが、上で書いたアルゴリズムの話など非常におもしろかった。

Java: The Good Parts

Java: The Good Parts

Java: The Good Parts


JavaScript: The Good Parts』をイメージして、Javaの実用的なベストプラクティスを期待して読むと多分がっかりする。そういう場合にはEffective Javaを読んだほうがいい。RMIとCORBAの話とか、ジェネリクスの導入時にVM仕様に変更を加えず実現する方式を選んだとか、『Beautiful Code』的な読み物が好きな人ならば楽しめるんじゃないかと思う。かといってJavaに興味がない人が読んでおもしろい内容とも思えないので、、読者層が難しいかも。。