最近読んだ技術書のメモを書いていたら、思った以上に分量がふくらんでしまいました。というわけで、前回に続いての2回目です。自分の備忘録も兼ねて、ゆるっと残しておきます。
『SQLアンチパターン 第2版』
SQLアンチパターン 第2版www.maruzenjunkudo.co.jp
初版はむかしむかしに読んでいて、引っ越しの際に捨ててしまったのですが、新版が出ると聞いて、買いなおし&読み直しました。いわずとしれた名著なので、内容はいわずもがなよかったです。いろいろ経験したこともあって、昔読んだときより学びが深まったような気がします。SQLに触れるITエンジニアであれば必読でしょう。
『分散システムのためのデザインパターン』
ここ数か月に読んだ技術書の中では、とびぬけて骨のある1冊でした。まず前半で、MongoDBやTiDBのような分散システムがどのように動いているのかについて、その概要・全体像を解説。後半では、前半で紹介した全体像をもとに、整合性をとりながら分散システムをうまく動かす仕組みをパターンとして紹介します。分散システムの専門家でもないので、全部を理解できたわけではないのですが、これまでのシステムエンジニア経験でいろいろ聞きかじってきたワードの概要ぐらいはわかったと思います。今後、仕事で何かかかわることがあったら、辞書的に開くことになりそうです。
『ソフトウェア設計の結合バランス』
これは面白かった!世の中にはモジュールを分割するテクニックはあふれていますが、しかし現実には、モジュールどうしを結合して初めてシステムというのは出来上がるわけです。本書はこのモジュールの結合について、深く議論した1冊です。そもそもの命題設定自体もかなり面白いですが、なかで展開される議論や尺度についても、あまり考えたことがなかったような斬新な視点ばかりで、これからのソフトウェアアーキテクチャやソフトウェア設計を語るうえでニュースタンダードになる気がします。よい結合・あるべき結合について、本書はわかりやすい結論のようなものを提示するわけではないですが、逆にそれも本書の価値をあげている気がします。システムアーキテクトを名乗る人はみな読むべき1冊だと思いました。