2020年に読んだ技術書を列挙する(本当に列挙するだけ)

2021.01.07

Memo

今更ながら2020年に読んだ技術書を列挙していきたいと思います。


目次
-

Android

昨年はアルバイトの7割方をAndroidアプリ開発に費やしていたので、自然とAndroid関連の技術書を読むことが多かったです。

Androidを支える技術〈I〉──60fpsを達成するモダンなGUIシステム

Androidアプリ開発というよりも、Androidの仕組みなどアプリが動く裏側について詳しく解説している書籍です。
ですが、ActivityTaskクラスのmain関数が呼ばれ、メインループが開始、その後ビューツリーの初期化、各ViewやViewGroupの位置や高さ幅の決定、描画処理の実行、といった処理の流れが 詳しく記載されているので、実際にAndroidアプリを開発している時(特にカスタムビューを作成する時)にも役立つ知識が盛り込まれています。

Androidを支える技術〈II〉──真のマルチタスクに挑んだモバイルOSの心臓部

こちらは、〈I〉とは違って主にアプリ間の連携や、AndroidシステムのAPIを呼び出した時に裏側で何が行われているのかを解説しています。

Android Security 安全なアプリケーションを作成するために

セキュリティやAccountManagerについて詳しく知りたくて購入したのですが、いかんせん2011年出版で情報が古く、あまり参考にならなかった記憶があります。

Android Test-Driven Development by Tutorials (First Edition): Learn Android TDD by Building Real-World Apps

Androidアプリ開発のテスト作成方法の入門書として購入しました。
前半はAndroidアプリ開発におけるベストプラクティス(MVVMなど)で、後半はテスト作成の解説という流れになっています。
DIライブラリとしてKoinを使っており、かなりKoinに依存した内容になっているので、DIツールとしてDagger + Hilt等を使用している場合はあまりお勧めできません。

Go

Go言語でつくるインタプリタ

インタプリタがどのように作動しているのかさっぱり分からない状態から、「構文解析木...あーね...」と言えるレベルになりました。

Goならわかるシステムプログラミング

なんか村上春樹みたいな文章を書くなぁと思った記憶があります笑。
UnixドメインソケットやWindowsの名前付きパイプなどは、この書籍で初めて知ったのですが、その後何度か触る機会があったので良かったです。

Java

実践 JUnit ―達人プログラマーのユニットテスト技法

AndroidのUnitテスト作成の勉強のために購入。

増補改訂版Java言語で学ぶデザインパターン入門

結構色んなサイトで良書として紹介されている書籍です。
Javaに限らず様々なオブジェクト指向言語で通用する設計のベストプラクティスを知ることができました。

Spring徹底入門 Spring FrameworkによるJavaアプリケーション開発

当ブログのコメント機能やお問い合わせ機能をSpring BootとKotlinで実装したくて、購入しました。
が、実際にSpring BootとKotlinで実装したサーバーを、GCPのkubernets環境にデプロイしてみたところ、 どれだけリソースを切り詰めても毎日900円程度コストがかかるという事実が発覚したため、断念しました。
リサーチ不足ですね...。
気が向いたら、もう一度ちゃんとコストを考えてlambdaやDyamoDBを使ったserverlessなブログのコメント機能を実装してみようと思います。

【後悔しないための入門書】Spring解体新書

クラウド関連

AWS認定資格試験テキスト AWS認定 ソリューションアーキテクト-アソシエイト

AWSの入門書として購入。

Docker/Kubernetes 実践コンテナ開発入門

去年の年始ごろに、アルバイトでテスト用のpush通知配信環境を作成する必要があり、参考書として購入しました。

コンピューターアーキテクチャ

コンピュータの構成と設計 第5版 上

コンピュータの構成と設計 第5版 下

作って理解するOS x86系コンピュータを動かす理論と実装

機械学習、最適化、数理

東京大学のデータサイエンティスト育成講座 Pythonで手を動かして学ぶデ―タ分析

最適化手法入門 (データサイエンス入門シリーズ)

モンテカルロ統計計算 (データサイエンス入門シリーズ)

実践Data Scienceシリーズ PythonではじめるKaggleスタートブック

統計的機械学習の数理100問 with Python (機械学習の数理100問シリーズ)

その他

GitHub実践入門 ~Pull Requestによる開発の変革

初めてのGraphQL ―Webサービスを作って学ぶ新世代API

オブジェクト指向UIデザイン──使いやすいソフトウェアの原理

いちばんやさしいブロックチェーンの教本 人気講師が教えるビットコインを支える仕組み 「いちばんやさしい教本」シリーズ

携帯電話はなぜつながるのか 第2版

個人的に読んで良かったと思う本ベスト5

  1. 作って理解するOS x86系コンピュータを動かす理論と実装

メモリ管理ユニットやページング、割り込み処理、コンテキストスイッチなど、今まで完全にブラックボックスだったOSの仕組みについて少しでも知ることができました。

  1. コンピュータの構成と設計 第5版

こちらも今まで完全にブラックボックスだったCPUの仕組みについてある程度イメージが湧くようになりました。

  1. Androidを支える技術 シリーズ

実用書というよりは読みもの的な要素が多かったですが、カスタムビューを作成する際や、intentにflagを設定するときなど実際にAndroidアプリ開発をしている時に役立つ知識も得られました。

  1. Java言語で学ぶデザインパターン入門

これもう知ってるよ的な内容も多かったのですが、StateやBridgeパターンなどは普段から意識しておくことでコードがすっきりするようになりました。

  1. オブジェクト指向UIデザイン──使いやすいソフトウェアの原理

デザイン素人だけどXDなどのツールを使ってプロトタイプを作成しないといけなくなったという方には是非読んでみて欲しい一冊です。
銀の弾丸とまではいきませんが、少なくともUI/UX設計を行う際に何に気をつけないといけないか、どんなデザインがアンチパターンなのかが判断できるようになります。

コメント

この記事のコメントを読み込み中です


投稿する

@
ログインしてコメントを投稿