今年は本業が立て込んだり、史上空前の心身の不調に見舞われたりと多事多端な1年であった。
生来の筆無精に輪をかけて、ここに書く訳にはいかないエピソードも多すぎて、気付けばブログの更新が滞った状態で年の瀬を迎えてしまった。
この1年をかえりみると、まさに厄年と呼ぶに相応しい1年であったが、おかげさまで読書の機会には恵まれた。
そんなわけで、今年の「良かった本10選」はかなり厳選に厳選を重ねた。 例によって特定のジャンルにかなり偏向がみとめられるが、すべて僕の独断と偏見によるものである。
ポストモーテム
ポストモーテムとは本来、「検視」または「死体解剖」という意味を持ち、さながら伍子胥の故事を髣髴させるが、同業者としては決して対岸の火事ではない。 このシステムはサービス指向アーキテクチャ (SOA) を全面採用したにも拘らず、設計時の狙いとは裏腹に運用フェーズで障害の影響を局所化できなかった。 なぜ、疎結合であるはずの複数のコンポーネントを跨いでトラブルが連鎖してしまったのか ── 見落とされた設計の瑕疵について、アーキテクトを志す者は須く覚知すべきといえるだろう。 鋭い指摘と徹底的な考察が非常に読みやすくまとめられている。 それにしてもよくここまで徹底的に審核したものである。 我が事としてこの教訓を肝に銘じたい。
ソフトウェアアーキテクチャの基礎
何せ、世の中のアーキテクチャは日進月歩で多様化する一方、アーキテクトというポジションで携わることができる案件は限られており(※当社比)、一介のエンジニアが現場だけで得られる知見には残念ながら限りがあるからだ。 また、にわか知識・思い込み・政治的な立場・解釈の違いなどによって本来のあるべき姿からズレた設計になるリスクなども怖い。 本書はさまざまなアーキテクチャのパターンをコンパクトにカタログ化した内容となっている。 なにより驚くべきは、その内容の濃さである。 たとえば17章(マイクロサービスアーキテクチャ)は、これが500ページ超の大著『マイクロサービスパターン』のエッセンスを丸ごと凝縮したような内容なのだ。 アーキテクトの教養として頭に叩き込んでおきたいが、資料としてかなり優秀なのでアーキテクチャ選定時のリファレンスとして活用すると真価を発揮しそう。
AWS Lambda 実践ガイド 第2版
かつては多く刊行されていた Lambda 本であるが、近年はめっきり刊行ペースが落ちてしまっていた。 待望の新刊である。 お気に入り度はかなり高く、常に机の上に置いていつでも開けるようにしている。 それこそ何度も読み返し、今やどこに何が書いてあるのか脳内にインデックスができたほどである。 その内容についてはこちらで語り尽くしており、また何をか加えんと思う。 あまり他の人のレビューで触れられることの少ない点ではあるが、CloudFormation スタックを削除しても S3 バケットや DynamoDB を道連れにせず残す方法や、それらを再び CloudFormation スタックの管理下に置く方法など、何かの拍子に必要となりそうな運用手順が示されている点も密かに嬉しいポイントだったりする。 もしも、もしも仮に続刊が出るとしたら、Step Functions、ユニットテスト、CI/CD あたりを是非読みたいところである。
AWSの基本・仕組み・重要用語が全部わかる教科書
やはり日本の最大手ベンダーが書いただけあって、たとえば大規模インフラをクラウド上に構築するというプロユースの情報なども惜しみなく述べられていたりする。 内容も古典的な IaaS だけでなく、コンテナ、サーバレス、機械学習、CI/CD など、近現代的なトピックの解説までかなり実践に踏み込んだ内容がふんだんな図版とともに載っており(しかもフルカラー)、これだけ膨大かつ広範な情報をよくまとめたなぁというのが正直な感想である。 しいて気になる点を挙げるとするならば、ここ1〜2年のアップデートにところどころ追いついていないような記述が散見された。 たとえばap-northeast-3 リージョンが「大阪: ローカル」になっていたり、EC2 への接続手段は踏み台を経由した SSH が主であるように書かれていたりといった点などである。 とはいえ、それら瑣末な誤りを差し引いてもなお、かなり使える一冊である。
分析モデル入門
フルカラーで図版も多く、初学者にも取っ付きやすい紙面構成である ── と見せかけて内容はかなりの本格派で、回帰分析・主成分分析・因子分析といった古典的な話題から、YOLO や U-Net など先端的なモデルの紹介まで非常に多彩である。 質・量と価格のバランスが(良い意味で)バグっており、その全貌を紹介するにはとてもスペースが足りない。 これだけ広範な内容を扱っているにも拘らず、単なる既存の文献や論文の寄せ集めや受け売りではなく、著者の知見がふんだんに散りばめられている点も素晴らしい。 たとえば「理論解析」のコラムでは、情報幾何学という新たなアプローチから最小二乗法の幾何学的な解釈を与えてくれる。 間違いなく無人島に持っていきたい一冊である。 分析モデル本の理論解析の重回帰分析と情報幾何学のところ、ちょっと話についていけなくなりそうだったので自分で計算してみるなど。。
ふむふむ……なるほど……めちゃくちゃおもしろい(・ω・ lll)
行列(𝑋̃ᵗ 𝑋̃)が正則であるかどうかは厳密には自明ではない気がするが。。 pic.twitter.com/ZkomJAAHNo
初めてのTensorFlow.js
O'reilly は、かつては硬派な専門書が多かった印象だが、いつの頃からかこういうビギナー向けのハンズオン本も刊行するようになり、嬉しい限りである。 ほぼ知識ゼロから徐々にレベルが上がっていくので、自分の目的やレベルに合ったところで学習を区切ることができる。 たとえば、手軽に既存のモデルを使うだけのところから、モデルの構築、転移学習といった比較的高度なトピックまで対応しており、要所要所で読者を励ます言葉が散りばめられており、これがまたモチベーションアップに繋がった。 TensorFlow.js + Toxicityモデル + Angular + PrimeNG + Charts.js で、「悪口判定器」を作ってみたよ∩( ・ω・)∩
テキストボックス内の文章が、悪口になるかどうかを機械学習で判定して、それをグラフで視覚化するのです。
O’reilly の『初めてのTensorFlow.js』を下敷きにしています。 pic.twitter.com/13oQc0EzX0
初歩からの多変量統計 新装版
しかし、多変量解析の体系的なスキルを持たないと、データ分析の結果が非常に貧相になってしまうことが切実な悩みであった。 さてこの本は、東京理科大で教鞭を執っておられた三土先生の著書であり、今年の8月に新装版として復刊されたものである。 ターゲットは文系の学生であり、線型代数の初歩から最短経路で対称行列のスペクトル分解を学び、そこからさらに主成分分析や因子分析へと歩を進める。 文系向けとあなどる勿れ、偏微分や線型写像など、説明の上で必要となる数学的議論からは逃げずに立ち向かっている。 かなり分厚い本であるが、解説が丁寧ゆえであろう。 100日後に数学ができるようになる pic.twitter.com/UjdRWdLPpE
真・英文法大全
この本はめちゃくちゃ売れたらしいので、今さら僕が改めて書評を書かずとも巷に賞賛の声が溢れているが、一読して「あぁなるほど、確かにこれは売れるわけだ」と思った。 中1の頃にこの本と出会いたかったというのが率直な感想で、徹頭徹尾、学ぶ側の気持ちに寄り添った解説で一貫しているのだ。 たとえば「最初に出てきた名詞には a をつけるが、2回目からは the をつける」という(中学の先生が教えがちな)説明の欺瞞を指摘し、絶妙に納得できるカクシン的な解説を述べている。 おそらく厳格な文法書と比較すると、ある意味で大胆な割り切りも躊躇なく行っているものと思われるが、個人的には許容範囲だし、なんなら初めからそう教えてくれればいいのにとさえ思ってしまった。 900ページなのにスラスラ読めるという看板に偽りはなく、軽妙な語り口調の文体、各セクションを一口サイズにして食べやすくしてある工夫、初学者が抱きがちな疑問にできる限り答えようという姿勢など、目に見えない工夫が本当に多い。
まる暗記ゼロのイディオムマスター
知っている単語だけで構成されているにも拘らず、それらが合体すると思いもよらない意味を成すのである。 たとえば、show off (見せびらかす)など、知っていなければまず非英語話者には思いもつくまい。 さらに、世に出回る単語帳はゴロ合わせや語源など、手を替え品を替え様々な工夫を凝らしたものが数多く出版されているが、こと英熟語となると途端に見かけなくなるのである。 しかしこの本は、イディオムの成り立ちや、なぜその語の組み合わせがこのような意味になるのか、一つひとつ解説が添えられており、目から鱗が落ちる。 中には多少強引なこじつけに近い説明もあったりするが、問答無用で丸暗記に頼るしかなかった状況とは較べものにならないほど記憶に染み込みやすいと感じる。 並び順は「出る順」「難易度順」や「アルファベット順」ではなくすべてアトランダムなのも面白い。
基本文法から学ぶ英語リーディング教本
英文法のルール ── とりわけ「品詞と働きと活用の相互作用」を使って、すべて理屈で英文が読めるようになるという。 本書では、その訳読のプロセスが(読者の想像力に委ねることなく)すべて言語化されている。 図やイメージに頼らず、読者が理解すべきことはすべて文字で語られており、さらに読者の理解度を試すきわどい問いかけが随所に見られる。 そのため、生半の覚悟では読破すら難しい(それは著者も自認するところであり、序文では「挫折してもよい」と述べている)。 これが、「スラスラ読める」ことを売りにしている『真・英文法大全』とある意味対極であると冒頭で述べた意図である。 しかし、この読解法がまた滅法おもしろい。 まるでパズルを解くときのような閃きや柔軟な思考力も時には必要で、それらが巧くハマったときの快感が実に楽しいのである。 これまで、“From the moment a baby first opens his eyes, he is learning.” という英文を見たとき、日本語の意味を当てずっぽうに並べて「その瞬間から、赤ん坊は初めて目を開き、ものを学んでいる」と誤訳しがちだったが(※ 僕のことです)、F.o.R. を身につけると『少なくともこの読み方はないな』と即座に分かるようになる。 では、この本があれば「真・英文法大全」が不要かというとそんなことはない。 この本は英文法書ではないので、F.o.R. の本質を逸脱する文法事項(たとえば「比較」や「仮定法」など)は大きく省略されている。 それぞれ守備範囲や使い所が違うのである。
以上が、2022年の良かった本10選である。
冬休みの課題図書として読み始めたばかりの「最適化数学本」や「PyTorch本」も既に名著の手応えを感じている。
今もって一番おいしいところに辿り着けておらず、そのような状態で人様に紹介するにはやや時期尚早であったことからやむなく除外したが、ぜひ別の機会にブログのネタにしたいと思う。
それでは皆さま、よいお年を。