今月、書ける記事がなさすぎたので(また)お茶を濁す記事を書きます。
年末なので全部ではないけど今年読んだ本と積読になった本、来年読みたい本をまとめることにしました。
2023年読んだ本
図解雑学 暗号理論 (図解雑学シリーズ) | 伊藤 正史 | ナツメ社
2003年に発行された本なので、情報が古い部分もある。 例えば、楕円曲線暗号がまだあまり実用されていないとなっていた。
なんとなく暗号化・復号のコードを使っていたり、暗号の種類・強度について知っていたりした。 この本で基本的な用語、実装について勉強した。
Clean Architecture 達人に学ぶソフトウェアの構造と設計 | Robert C.Martin, 角 征典, 高木 正弘 | KADOKAWA
ソフトウェアアーキテクチャについて勉強したかったので、読んだ。 正直あまり内容を覚えていないので、他のアーキテクチャについての本を読んだときに合わせて読み直すべきだろう。
アーキテクチャのパターンについてだけでなく、アーキテクトとしての心得についても書かれていた。 ドメイン駆動について知っておくと読みやすい。
個人的には、アプリケーション開発において実装のための設計よりもCI/CDについてよく考えるべきと感じた。 CI/CDが整備されていることで、テスト・デプロイが回り、開発が進む。
来年はCI/CDについて勉強することを考えたい。
単体テストの考え方/使い方 | Vladimir Khorikov, 須田智之 | マイナビ出版
単体テストについて、非常に詳しく書かれた本。 これも正直内容を理解しきれていない。途中はかなり飛ばし読みしてしまった。
単体テストで何を検証するべきなのか、何をすると意味がないテストになるのか・開発の足を引っ張るテストになるのかなど書かれており、身につまされる思いになった。
また、AAA(Arrange-Act-Assert)パターンや偽陽性といった内容は、実際に単体テストを作るなかで実施していた。 パターンとして名前をつけたり、用語として整理されたりすることで、自分でも粋視しやすく、他の人に教えやすくなったと思う。
オブジェクト指向でなぜつくるのか 第3版 知っておきたいOOP、設計、アジャイル開発の基礎知識 | 平澤 章 | 日経BP
オブジェクト指向の入門本。 過去にいくつかOOPの本を読んだことがあったので、内容で新発見というものはなかった。 改めて自然な日本語でわかりやすくOOPについて復習できたという感じだった。
この本ではOOPの三大要素として、クラス、ポリモーフィズム、継承をあげていた。 「オブジェクト指向のこころ」など他の書籍ではクラスではなく、カプセル化となっていた。 クラスの役割はカプセル化(「隠す」)だけでなく、「まとめる」、「たくさん作る」もあるのでクラスにしたとのこと。
自分自身、とりあえずJavaなどのOOP言語を勉強したときにはOOPの何が良いのかわかっていなかった(今も怪しい)。 デザインパターンを学ぶや設計について学ぶ前に、ちゃんとしたOOPの本を読んでおくべきだと個人的には思う。 その点で、非常にわかりやすい本でおすすめできる。
この本とは関係ないが、OOPの三大要素としてはポリモーフィズムが一番理解しずらかった。
達人に学ぶDB設計徹底指南書: 初級者で終わりたくないあなたへ | ミック | 翔泳社
データベースに関する基礎知識のための本。 タイトルからして初心者向けじゃない、中級者向けかなと勝手に思っていたので少し拍子抜けした。
テーブル設計や性能試験で困ったので読んでみた。 今後はもう少し高度な書籍を読んでみてもよいかもと思った。
ドメイン駆動設計入門 ボトムアップでわかる! ドメイン駆動設計の基本 | 成瀬 允宣 | 翔泳社
ドメイン駆動設計はみんな当然知っているでしょ、という雰囲気を感じたので慌てて読んだ。 用語や概念はなんとなく理解できたし、アーキテクチャの勉強をしていると出てくる考え方だったので訳分からんとはならなかった。
実装や設計に用いたことがないし、ソースコードを見ながらこれはあれだ、とはなっていないので、まだまだ理解が足りないと感じている。
2023年の積読
良いコード/悪いコードで学ぶ設計入門 ―保守しやすい 成長し続けるコードの書き方 | 仙塲 大也 | 技術評論社
設計の勉強のため、購入。
Hacking: 美しき策謀 第2版 ―脆弱性攻撃の理論と実際 | Jon Erickson, 村上 雅章 | オライリージャパン
面白そうなので買ってみた。 内容は難しいようなので、飛ばし読みになりそう。
レガシーコード改善ガイド: 保守開発のためのリファクタリング | マイケル C.フェザーズ, 平澤 章 | 翔泳社
有名なリファクタリングについての本。 アーキテクチャとかを勉強するなら読んでおかなきゃと思って、セールで買った。
2024年に読みたい本
2023年の積読を除いて、つまり買っていないけど読みたい本を羅列する。
ソフトウェアアーキテクチャの基礎 ―エンジニアリングに基づく体系的アプローチ | Mark Richards, Neal Ford, 島田 浩二 | オライリージャパン
アーキテクチャの入門書っぽいので。
試して学ぶ Dockerコンテナ開発 | 櫻井 洋一郎, 村崎 大輔 |本 | 通販 | Amazon
Dockerについての本。 他に、たった1日で基本が身に付く! Docker/Kubernetes超入門も読んだが、複数読むべきだろうと考えてこの本を選んだ。
セキュア・バイ・デザイン 安全なソフトウェア設計 | Dan Bergh Johnsson, Daniel Deogun, Daniel Sawano, 須田智之 | マイナビ出版
DevSecOpsとか流行っている(らしい)し、みたいなかんじで選んだ本。
【改訂第2版】[入門+実践]要求を仕様化する技術・表現する技術 ~仕様が書けていますか? | 清水 吉男 | 技術評論社
日本語が下手くそなので、こういうのも読む。
マスタリングLinuxシェルスクリプト 第2版 ―Linuxコマンド、bashスクリプト、シェルプログラミング実践入門 | Mokhtar Ebrahim, Andrew Mallett, 萬谷 暢崇, 原 隆文 | オライリージャパン
もうちょっとちゃんと書けないとログの分析に困りそうと感じたので、選んだ。
CI/CDの本
どの本とかは決まっていないが、読むべきだろう。 AWSの記事とかで良いものがあればそういうのでもよいかも。 Docker以外に勉強すべき技術でもよいかも。