発見があった取り組み: nand2tetris, データ指向アプリケーションデザイン + pingcap/talent-plan
ぼちぼちやってたやつです。
nand2tetris

コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方
- 作者:Noam Nisan,Shimon Schocken
- 発売日: 2015/03/25
- メディア: 単行本(ソフトカバー)
CPU 設計から OS 開発までやろうぜ、って内容です。以前書いたやつ。 rohki.hatenablog.com
一回挫折して次に書くやつに浮気しながらなんとか仕上げました。長かった...
割と大学時代に履修したことが多く「今でもできるよな、俺...」て再確認の意味が強かったです。
なので一回、10 章 LL パーザをかくところで挫折したときはガチで凹みました。「できなくなってるのか俺」て。
とはいえ頭冷やしてベタに書き直せば 2 日でできて安心した次第。良かった、ほんとに。
データ指向アプリケーションデザイン + pingcap/talent-plan

データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理
- 作者:Martin Kleppmann
- 発売日: 2019/07/18
- メディア: 単行本(ソフトカバー)
talent-plan/README.md at master · pingcap/talent-plan · GitHub
こっちの方が学びは多かったです。歴史の話とか、関係性の話とか、ネットワーク遅延の難しさとか CAP 定理の話とか。
意図してやったわけではなかったんですが、pingcap/talent-plan の TP 201: Practical Networked Applications in Rust.
時間をおかず始めて知識を実体験できたのがさらに良かったです。
途中で Stateless が Stateful になり、そのあと Multi-thread になる際に実装で軽く「ここ RWLock じゃあなくて Mutex にしたら」て思考した瞬間にスループットと整合性の話を実感したりしました。
テストコードがあるのがありがたかったです。通らねーなーなんだろう、てゴールがあるのは大学時代の実習を思い出しました。