2024/01/28追記: Amazonへのリンクを修正しました。
はじめに
今年読んだ本のひとことまとめ、備忘録的なもの。 次の記事で2月時点でまとめているので、実際はもう少し年内に読んだと思う。
ここ半年で読んだ技術書レビュー 2021/02 - abekoh’s tech note
数が多いので適当にテーマを分類したが、内容はそこに縛られない内容だったりもする。
目次
設計・コーディング技法
テスト駆動開発
https://www.amazon.co.jp/dp/B077D2L69C
- 言わずとしれたTDDの原点。実はリニューアル版で、絶版になった旧版は訳者が異なる
- 前半のコーディング過程は 訳者t-wadaさんのライブコーディング 見てからだとすんなり入った
- 付録Cに現代におけるTDDの状況、変化などが書かれており参考になった
今更ながらきちんと『テスト駆動開発』読んだ。わかった気になってたところ多かったのでいろいろやり方変わってきそう。
— abekoh (@abekoh_bcky) November 23, 2021
付録Cの和田さんの解説は必見だと思いました。https://t.co/CyPPOPqvND
リファクタリング 第2版
https://www.amazon.co.jp/dp/B0827R4BDW
- 可逆的なパターンが多く面白い。どれも使い所次第で毒にも薬にもなる
- 一歩ずつ慎重にやるステップ、複数のリファクタリングパターンを組み合わせて完成されるなど、今までやってたリファクタリングと違い学びがあった
達人プログラマー 第2版
https://www.amazon.co.jp/dp/B08T9BXSVD
- 「契約による設計(DbC)」「テスト書いてません告白」など、なるほど〜となること多かった
- 抽象的な内容も多く、正直少し読みにくい
- エンジニアとして学び続ける姿勢の重要性も感じとれるところもあった
Software Design 2021年3月号
https://www.amazon.co.jp/dp/B08W4X2L1P
- オブジェクト指向の特集あり
- 「動物・犬・猫で例える問題」「getter/setter問題」「継承問題」など、誤解招きやすいところの解説がよかった
- 細かなJava/SpringのTipsも載ってて参考になった
ドメイン駆動設計 モデリング・実装ガイド
ドメイン駆動設計 モデリング/実装ガイド - little-hands - BOOTH
- 主にモデリング・実装の観点から、DDD のパターン全体を俯瞰して見れる
- ドメインモデルの実装の、悪いパターン(ドメインモデル貧血症)→ 良いパターンの例が気づきがある
- 途中に挟まる Q&A はよくある疑問で為になる
ドメイン駆動設計 サンプルコード&FAQ
ドメイン駆動設計 サンプルコード&FAQ - little-hands - BOOTH
- ここ迷うよね、ってところに対する答えが前より充実してて良い
- 「複数集約の整合性を確保する方法」が特にサンプル豊富で勉強になった
- サンプルコードが Kotlin とこの手の本にはあまりなかったので、刺さる人には嬉しい
『ドメイン駆動設計 サンプルコード&FAQ』読んだ
— abekoh (@abekoh_bcky) November 7, 2021
ほんとに迷うよなーってところに焦点を当てた内容になってて良かったです。
個人的には特に、「複数集約の整合性を確保する方法」のところがサンプル豊富で大変勉強になりました。#DDD_FAQhttps://t.co/QJwDZZy2vj
マイクロサービスアーキテクチャ
https://www.amazon.co.jp/dp/4873117607
- マイクロサービスに関する本、少し古め
- 原著の第2版が出てるらしい
- いろいろなことが書かれていて、正直あまり覚えていない…他の本漁ってもう一度マイクロサービスについて学びたいところ
アジャイル開発
エンジニアリング組織論への招待
https://www.amazon.co.jp/dp/B079TLW41L
- エンジニアリングでの問題解決にはコードだけではなく、人々の思考・組織・ビジネスの構造をリファクタリングしなければ、という点から語られた内容
- 第3章のアジャイル開発について話がおもしろい。アジャイル開発が必要とされるまでの流れや、それが目指すチームの状態、誤ったアジャイル、不確実性をへらすためのアジャイルな方法論など
- 第4章は、以下に不確実性を管理するかに焦点
- 組織で起こりがちな問題を論理的に分析 → 解決策の提案まで、他の本にはない雰囲気が良い
エクストリーム・プログラミング
https://www.amazon.co.jp/dp/B012UWOLOQ
- 割とサクッと読める本
- アジャイル宣言から派生した具体的なプラクティスがまとまっててよい
チーム・ジャーニー
https://www.amazon.co.jp/dp/B0836CF21D
- カイゼン・ジャーニーの続編らしく、より大きなチームを編成するためのプラクティスとか
- 一部、やや著者のオリジナリティが強いプラクティスが入ってて飲み込みにくかった
ユニコーン企業のひみつ
https://www.amazon.co.jp/dp/4873119464
- Twitterで一時期流行りを観測したので読んでみた
- Spotifyで働いた著者の経験からの話
- 権限移譲をうまくやろうって話が主だった
- フランクな文体で読みやすかった
『ユニコーン企業のひみつ』読んだ
— abekoh (@abekoh_bcky) May 9, 2021
以前違う記事で知ったSpotifyモデルについて気になってたけど、その原則を徹底的に解説されてて面白かった。
アジャイルサムライと似た文体でサクッと読める感じでしたhttps://t.co/LETdXq2mhy
その他技術書
ハイパフォーマンス ブラウザネットワーキング
https://www.amazon.co.jp/dp/4873116767
- WebRTCについて学びたく読んだ
- TCP/UDPの基本的な話から入る。タイトルどおりひたすらネットワークのパフォーマンスを追求していく
- とにかく速くするには「往復回数を減らす」こと
- モバイルネットワークの4Gまでの話もじっくり入っている
- 内容がちょっと古めなので、第2版がほしい
『ハイパフォーマンスブラウザネットワーキング』読んだ
— abekoh (@abekoh_bcky) November 6, 2021
WebRTC学ぶために読み進めたけど、その前提となるTCP/UDPの話からはじまってすっきりと導入された感じ。少し内容古いから、QUIC,fetch API,5Gとかの内容含んだ版でて欲しいな
データ指向アプリケーションデザイン
https://www.amazon.co.jp/dp/4873118700
- 多くの人におすすめされたので読んだ
- データベースがどういう考えのもとで実装されているか学べた
- 分散データベースで整合性、適時性考えるのつらい、とにかく大変ってのがわかった
『データ指向アプリケーションデザイン』読み終わった
— abekoh (@abekoh_bcky) September 7, 2021
現代のデータベースがどういう考えのもと実装されてるか広く学べてよかった。データベース開発してる人たちすげぇってなる。アプリ開発者としてもどうデータを扱うべきか考えが深まった気がする。https://t.co/OpFCEOPcil
- ↓のスタンスを忘れずにいたい
一貫性について、「結果整合性はきちんと守っておく前提で、適時性については状況によりけりだけど緩くしてもいいんじゃね、そのほうがいろいろ楽だし」ってスタンスは良いなと思った
— abekoh (@abekoh_bcky) September 8, 2021
HTML5&CSS3デザイン 現場の新標準ガイド 第2版
- 意外とHTML/CSSを体系的に学んだことがなかったので、一通り確認するために買った
- カタログとして見やすい内容
- 知らないCSSプロパティ・特定デバイス向け設定などたくさんあって読んで良かった
https://www.amazon.co.jp/dp/B08LKH2K7S
これ買って眺めてる。
— abekoh (@abekoh_bcky) March 26, 2021
HTMLについては太古の昔に覚えて、その場しのぎのアップデートしかなく穴だらけだったんで、体系的に学ぶのいいなってなるhttps://t.co/40WRudzETE
Go言語による並行処理
https://www.amazon.co.jp/dp/4873118468
- Goでのパイプラインパターンみたいな書き方できるってのがしれた
- Go固有の話が大きいかも?とはいえ使いこなせば強力だと感じた
読んだ。Goでの並行処理あれやこれやわかったのでいろいろ試してみたいhttps://t.co/sE0nTfYY0W
— abekoh (@abekoh_bcky) September 21, 2021
ソフトウェアテストの教科書 増補改訂 第2版
https://www.amazon.co.jp/dp/B093Q13V96
- QAさんがどういうふうにテスト設計し、実施しているか知れた
- ウォーターフォール前提感もあり少し古い感じはあった
IT読み物
ソフトウェア・ファースト
https://www.amazon.co.jp/dp/B07YNJSCG8
- Webサービスの社会人経験しかないからDXよくわからんかったが、その定義などが知れた
- 内製化しましょう、ということが繰り返し言われていた
NO RULES
https://www.amazon.co.jp/dp/B08LDBNG74
- NetFlixのお話
- まず能力のない社員をレイオフしようという、日本企業としては悩ましいことから始まる
- プロスポーツ選手のようなチームを作ろうという話。憧れるが、実践はなかなか難しそうと思った
おわりに
ちょっとメモがなく雑になってしまったのもある。やっぱり読んですぐメモなどしておこうと思った。 割と設計・チーム開発手法について読むことが多かった。来年は他のテーマ、より深堀りした技術の本とかもうちょっと読みたい。