あけよめことよろ(遅)。年末年始は忙しい社会人が時間をとれる絶好の機会ということで、自分はIT関連技術のお勉強にあてるようにしています。その年によってお勉強のテーマは違うのですが、今年の年末年始は、積読になっていたり、前々から気になっていたりした技術書をたくさん読むことにしました。
ここでは、そうした年末年始に読んだ技術書の読書メモを共有したいと思います。ただ、ちょっと量が多いので、前半・後半に分けます。この記事は前半。後半は以下の記事になります。
マイクロサービスアーキテクチャ 第2版
個人的には、年末年始で一番読みたかったのがこの本。自分はロートルよりのSIer勤めということもあり、なかなかモダンな技術・フレームワークに触れる機会がありません。触れたことのないものをあげだすときりがないのですが、なかでもマイクロサービスはデファクトスタンダードになりつつあり、さすがに勉強しておかないとまずいなと感じていました。最近、自分の中では、アーキテクチャ熱が高まっていることもあり、マイクロサービス界ではよく名前のあがる本書を手にとったというわけです。
マイクロサービスの百科事典というのが本書を読んだ率直な感想です。「マイクロサービスって何」というところから始まり、マイクロサービスをめぐる諸問題やトピックが網羅的に述べられています。個別的・具体的な内容は少なくて、汎用的・一般的な記載が多く、教科書を読んでいるような印象でした。読んですぐ仕事に役立つというよりは、困ったときにリファレンスとして開きたくなりそうです。自分のようなマイクロサービス初心者はもちろん、CTOやチーフアーキテクトのような、俯瞰的な立場からシステムに関わる人が読んでも学びになりそうな一冊だと思います。
ソフトウェア設計のトレードオフと誤り
これも年末年始に読もうと温めていた本です。ソフトウェアの世界では設計というワードはいろいろな意味で利用されるのですが、本書でいうところの設計は、SIerの業界でいうところの基本設計・詳細設計といわれるフェイズで実施するような行為であるといってよいでしょう。本書はそうした設計において発生するさまざまな問題を教訓的に共有するニア用となっています。
この手の本はいくつもありますが、本書の特徴はタイトルにある「トレードオフ」。ソフトウェアの設計作業においては「いくつかの案があって、メリット・デメリットを比較する」ことがよく発生しますが、本書はここに着目しています。単純に良い設計・悪い設計に線引きしない、多様な議論があるところが本書の価値であるとおもいます。
さまざまなトピックが取り上げられており、どのトピックも非常に説得的ですが、なかでも個人的には「7章 日付と時間のデータを効率よく扱う」がたいへん勉強になりました。システム開発における日時の扱いの難しさをここまでわかりやすくまとめているものは、ほかにないと思われます。設計を担当するSEはもちろん、設計の方針を決めたりレビューしたりするような立場の人ほど読むことをおすすめします。