[試して理解]Linuxのしくみを読み終わりました

[試して理解]Linuxのしくみを一通り読み終えたので書評です。

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識:書籍案内|技術評論社

評価

★★★★★★★★☆☆(8/10)
評価の目安はこちら

Linuxがどのように動いてるかを理解するのに最適な本だと思います。

オススメできる人
  • Linuxを使ってサーバの構築/運用をしている人
オススメできない人
  • Linuxを使い始めた人

top、psコマンドなど基本的なコマンドの説明はされていないので、
Linuxを触った経験が浅い人には少し難しいかもしれません。

感想

Linuxのデバイス周りについてちゃんと勉強したいと思っていたところ、
ちょうどこの本が発売されるタイミングだったので購入してみました。
個人的な感想を最初にいうとこういう本を待っていたという感じです。

目次を見てもらうとわかるのですが、
CPUのモード、プロセス、メモリ、ファイルシステム、ストレージ
といったことが説明されています。

説明は非常にわかりやすかったと思います。
仕組みを理解するためのコードと結果が載っているので、
具体的な例を元に理解できる内容になっています。

他の書籍ではあまり説明されない箇所であり、
理解していないのでLinuxを使っている人も多いと思う(私もその一人です)ので、
Linuxのしくみ」を知るための最適な一冊だと思います。

Linuxを触っている人であれば読んだ方が良いと思います。

初めての自動テストを読み終わりました

初めての自動テストを一通り読み終えたので書評です。

O'Reilly Japan - 初めての自動テスト

評価

★★★★★☆☆☆☆☆(5/10)
評価の目安はこちら

個人的にはもっと踏み込んだ内容を期待していたので評価は低めです。
ただ、テストコードを書いたことない人にとっては★7くらいになると思います。

オススメできる人
  • テストコードを書いたことがない人
  • テストを経験して日が浅い人
オススメできない人
  • テストコードを書いたことがある人

感想

ユニットテスト/結合テスト/UIテストの自動化の基本的な考え方についてかかれています。
それぞれどのような観点でテストするのか、
どのような部分のバグは見つけられないのか、
どのようなメリット/デメリットがあるのか。
といった概論的なところは一通り押さえられていると思います。

サンプルでRuby/JavaScript/HTMLのコードが出てきますが、
事前に説明がされているのでプログラマなら理解できる内容になっています。
プログラマの人が読んでもある程度理解できそうな内容ですが、
詳細部分についてはちょっと難しいかもしれません。

自動テストをCIの一部として運用するにはどうすればいいか。
といったところについても個人的には踏み込んで欲しかったです。
ただ、そこを知りたいという人はこの書籍の対象者から外れると思います。

自動テストについて最初に読む本としては良いと思います。

SRE サイトリライアビリティエンジニアリングを読み終わりました

SRE サイトリライアビリティエンジニアリングを一通り読み終えたので書評です。

O'Reilly Japan - SRE サイトリライアビリティエンジニアリング

評価

★★★★★★★☆☆☆(7/10)
評価の目安はこちら

大規模なサービスを運用している人には良さそうと思いました。
私自身は大規模なサービスを運用したことないので想像になりますが・・・

オススメできる人
  • サービスを運用している人
オススメできない人
  • サービスの運用経験がない人

感想

説明にもある通りシステム管理とサービス運用について
Googleではどういったやり方を行なっているのか書かれています。

サービスを運用する上で考えるべきこと、
サービスを運用して発生する障害とその対応方法など
運用について必要なことが書かれていると感じました。

Googleなので大規模なサービスに特化した内容もありますが、
小さいサービスを運用している人にとっても得るものはあるかと思います。
読んでいる間にも「ここは今の運用でも課題になっている」と思うことが何回かありました。

ページ数が多いので読むのに時間はかかりますが、
サービスを運用している人にとっては得るものがある一冊だと思います。
また、チームで一冊購入し、各メンバーが気になるところだけ見るというのも良いと思います。

Javaパフォーマンスを読み終わりました

Javaパフォーマンスを一通り読み終えたので書評です。

O'Reilly Japan - Javaパフォーマンス

評価

★★★★★★★☆☆☆(7/10)
評価の目安はこちら

JVMでのパフォーマンスについての基礎が載っている本だと思います。

オススメできる人
  • JVM言語を使っている人
オススメできない人
  • JVM言語を使っていない人
  • JVM言語を使い始めてから日が浅い人

感想

JITコンパイラとスレッドでのパフォーマンスについても書かれているのですが、
主なテーマはGCだったかなという印象です。

シリアルGC、パラレルGCCMS、G1GCの基本的な仕組み、
GCパラメータによるパフォーマンスの調整など
JVMGCにおける基本的な内容が全て入っていると思います。

また、パフォーマンス改善をする上で最初に行うべき計測についても
Javaに付属している計測ツールの使い方が書かれていて
非常に勉強になる内容でした。

JVMで遭遇しそうなパフォーマンス問題について一通り書かれていると思うので、
JVMを使って開発を行っているエンジニアはおすすめできる一冊だと思います。

アプリケーションアーキテクチャ設計パターンを読み終わりました

アプリケーションアーキテクチャ設計パターンを一通り読み終えたので書評です。

アプリケーションアーキテクチャ設計パターン:書籍案内|技術評論社

評価

★★★★★★☆☆☆☆(6/10)
評価の目安はこちら

アプリケーションアーキテクチャの初歩としては良い本だと思います。

オススメできる人
  • アーキテクトを目指す人
  • Javaエンジニア
オススメできない人

感想

業務のシステムで必要なアプリケーションアーキテクチャについて
基本的な内容が一通り揃っていると思います。
トレードオフについても言及されているのも良いと思います。

サンプルコードはJava特有(主にJava EE)のものなので
Java EEをある程度経験していないと理解するのは難しいかもしれません。

過去にPoEAAを読んだことがある人やある程度アーキテクチャを勉強した人にとっては
ちょっと物足りなく感じるのではないかなと思います。

アーキテクチャ周りについて勉強したいJavaエンジニアにとっては
最初の一歩としておすすめできる内容です。

IT技術者なら知っておきたい ストレージの原則と技術を読み終わりました

IT技術者なら知っておきたい ストレージの原則と技術を一通り読み終えたので書評です。

IT技術者なら知っておきたいストレージの原則と技術 - インプレスブックス

評価

★★★★★☆☆☆☆☆(5/10)
評価の目安はこちら

サーバのストレージに関して体系的に学ぶには良い本だと思いました。

オススメできる人
  • サーバを調達する人
  • サーバ管理者
オススメできない人
  • インフラレイヤに関わらない人

知っておくべき内容もありますが、
この本に書かれていること全てを知る必要がある訳ではないように思います。

感想

元々はファイルシステム周りについて勉強したくて買ったのですが、
自分が予想している内容とは全く違いました。

それでもアーキテクトを目指す人間としては
得るものがあったので買って損はしていないなという感じです。

仕事ではあまりストレージ周りに関わらないので、
この本を読んだことによって知ったことも多く
ストレージの基礎を学ぶには最適なのではないでしょうか。

目次を見るとだいたい各章毎にEMC製品の内容がありますが、
ページ数の割合としては10%もないくらいだったので
特定の製品に依存していない内容です。

RxJavaリアクティブプログラミングを読み終わりました

RxJavaリアクティブプログラミングを一通り読み終えたので書評です。

RxJavaリアクティブプログラミング(須田智之)|翔泳社の本

評価

★★★★★★★☆☆☆(7/10)
評価の目安はこちら

Reacitve Streamを勉強するためには良い本だと思います。

オススメできる人
  • Reactive Streamについて学びたい人
オススメできない人
  • リアクティブプログラミングの詳細を知りたい人

私にとっては非常によかったのですが、
入門者向けといったところだったので詳細な内容を求める人には
少し物足りない内容になっているのではないかなと感じました。

感想

Reactive Streamについて良くわかっていなかったので、
Reactive Streamを勉強するために購入しました。

RxJavaについては全く知らなかったのですが、
Reactive Streamの基本とRxJavaの基本的なAPIについて理解することができたと思います。

サンプルコードもわかりやすい例だったと個人的には思いました。
マーブルダイアログも記載されているのも理解を進めるポイントになったように思えます。

サンプルの内容がリスト系のデータばかりだったので、
事前に宣言した計算式が反映されるといったリアクティブプログラミングという意味では
ちょっとイメージしにくいかなと感じました。

ただ、そういったサンプルを作ろうとすると
GUIのサンプルを作ったり、状態が変換するものが必要になるので、
入門書のサンプルとしては難しいものになりそうな気がします。
そういった面を考慮するとちょうどいいバランスのサンプルかもしれません。

個人的にはReactive Streamについての基本をすることができたので、
Reactive Streamを知るための入門書としては最適だと思います。