個人の記録として、2022 年 1 月に読んだ本をまとめます。
低レイヤ
コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方
先月末から取り組んでいた『コンピュータシステムの理論と実装』(通称: Nand2Tetris) を完走しました。
内容は NAND ゲート (とフリップフロップ回路) のみから CPU、アセンブラ、コンパイラ、OS (というか標準ライブラリ) という流れでコンピュータを作り上げていくというものです。
最適化には言及しないことで、論理回路から現代的なプログラミング言語までを短時間で駆け抜けることができます。
コンピュータが積み重ねでできていることを実感できる非常におすすめの本なので、興味がある方は是非挑戦してみてほしいです。
機械学習
ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装
機械学習・深層学習による自然言語処理入門
機械学習デザインパターン ―データ準備、モデル構築、MLOpsの実践上の問題と解決
入門 機械学習パイプライン ―TensorFlowで学ぶワークフローの自動化
実践Data Scienceシリーズ PythonではじめるKaggleスタートブック
機械学習関係の知識を拡充するため、こちらの 5 冊を読みました。
特に印象に残ったのは『機械学習デザインパターン』です。
こちらは特徴量エンジニアリングでの工夫や、Explainable AI (XAI) などの最近話題のトピックについても書かれており、機械学習についてある程度知識がある方でも学びが多いと思います。
『入門 機械学習パイプライン』も、TensorFlow Extended (TFX) の概要を学ぶことができてとても勉強になりました。
Web フロントエンド
React Angular Vueをスムーズに修得するための最新フロントエンド技術入門
モダンJavaScriptの基本から始める React実践の教科書 (最新ReactHooks対応)
変化の早い Web フロントエンドについて最新動向をおさえたく、2 冊ほど手に取りました。
『最新フロントエンド技術入門』では PWA に近い高度な設計も紹介されており、「最近のフロントエンドでもう一歩工夫するなら」といった観点を学べる本でした。
『React実践の教科書』は React の入門としておすすめですし、Recoil などの React 関連で最近話題になりがちなトピックについても知ることができる本でした。
TypeScript
プログラミングTypeScript ―スケールするJavaScriptアプリケーション開発
手を動かしながら学ぶ TypeScript
JavaScript などの知識でなんとなく書いていた TypeScript について改めて学ぶため、こちらの 2 冊を読みました。
TypeScript は型で様々な工夫ができる面白い言語で、なんとなく書いているという方はこういった本を一冊読んでおくと使いこなせる範囲が広がると思います。
個人的に今後主力として使っていきたい言語なので、この機会に改めて勉強できて良かったです。
設計
マイクロサービスパターン[実践的システムデザインのためのコード解説]
積読になっていた『マイクロサービスパターン』も読みました。
設計の難しいマイクロサービスについて、様々な観点でパターンを整理している書籍で、個人的にこの本で設計に関する知見が一歩深まった感触を得られました。
マイクロサービスの解説書ですが、ドメイン駆動設計 (DDD) に関する知識があるとより深く理解できます。
マイクロサービスに手を出したい場合は、一度読んでおくことをおすすめします。
プロジェクトマネジメント
図解入門 よくわかる 最新 PMBOK第6版の基本
担当になったら知っておきたい「プロジェクトマネジメント」実践講座
プロジェクトマネジメントに関して、こちらの 2 冊を読みました。
『「プロジェクトマネジメント」実践講座』は教科書的に堅苦しくなりすぎずにプロジェクトマネジメントを学べる、非常に素晴らしい書籍でした。
プロジェクトマネジメントの概要を掴みたい方にとてもおすすめです。
おわりに
以上、今月は 13 冊の本を読みました。
特に
- Nand2Tetris を完走できた (コンパイラを自作できた)
- 特徴量エンジニアリングや XAI、TFX など、機械学習に関する知識を拡充できた
- TypeScript を改めて勉強できた
- 『マイクロサービスパターン』により、設計に関する悩みをいくつか解決できた
というのが良かったです。
2 月は現在着手中の『Go言語でつくるインタプリタ』をサクッと終わらせて、もう少し低レイヤを勉強するためにアセンブリ言語や C++ を勉強したいなと思っています。