みんなのGo言語を読み終わりました

みんなのGo言語を一通り読み終えたので書評です。

みんなのGo言語[現場で使える実践テクニック]:書籍案内|技術評論社

評価

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

オススメできる人
  • Goでソフトウェアを作ろうと思っている人

Goで何かしらのサービスやツールなどを作る前に読むと良さそうです。

オススメできない人
  • すでにGoを使っている人

すでにGoを使っている人にとっては知っている内容かもしれません。

感想

Goでプログラムを書こうと思って初心者本を探している時にこの本を見つけました。
目次だけを見て、「実際にプログラムを書く前に読んだ方が良さそうだ」と思い購入しました。

主に解説されているのはコマンドラインツールを作るときのTipsという印象を受けました。
私としてはWebサービスのためにGoを使おうと思っているのですが、
それでも参考になる内容はありました。

この本に書かれているようなTipsは他言語でも本で書かれているのは少ないと思います。
だいたいは個別の内容がブログで載っていたり、
経験者が言葉で伝えたりするのではないかと思います。
そういった情報がまとまっているのはありがたいです。

Goを実践で使う前に読むと良いのではないかと感じました。

Goプログラミング実践入門を読み終わりました

Goプログラミング実践入門を一通り読み終えたので書評です。

Goプログラミング実践入門 標準ライブラリでゼロからWebアプリを作る - インプレスブックス

評価

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

オススメできる人
  • Go初級者
  • GoでWebアプリを作ろうと思っている人

GoでWebアプリを作りたい人が読むには良い本だと思います。

オススメできない人
  • Goの基本構文を学んでいない人

Goの基本構文については書かれていないので、
こちらを読む前に別の入門書を読んだ方が良いと思います。

感想

Webアプリを作る上で必要最低限のことが大体網羅できていると思います。
DBの章でトランザクションについて触れられていなかったと思うのでそこだけ気になりますが・・・

Webアプリを作る要素をGoではどのように実現しているのか。
ということを知りたかった私にとっては有益な内容となりました。

Goを覚えたての人がWebアプリを作るために読む最初の本としても良いと思います。

スターティングGo言語を読み終わりました

スターティングGo言語を一通り読み終えたので書評です。

スターティングGo言語(松尾愛賀)|翔泳社の本

評価

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

オススメできる人
  • 他の言語の経験はあるがGoを触ったことない人

書籍の想定読者の部分にも書いてあるのですが、
他の言語を経験している人でGoを勉強したい人向けだと思います。

オススメできない人
  • プログラミングの経験がない人

プログラミングを勉強するために読む書籍ではないように思えます。
繰り返しとか判定、アルゴリズムといった基本的な内容についてはほとんど触れられていないです。

感想

Goのシンタックスや標準API、付属ツールなど基本的な使い方について書かれています。

私はGoの公式で提供されているチュートリアル「A Tour of Go」をやってみた後にこの書籍を読みました。
「A Tour of Go」では少し理解できなかったスライスの部分が
わかりやすく説明してあり個人的には非常に助かりました。

簡単なプログラムを作るために必要なことというのは一通り載っていると思います。
Goを使うために最初の一冊としては良い本だと思います。

私はWebAPIとしてのGoを採用するかどうか検討中なのですが、
Webの領域は載っていないので、私にとってはWebに特化したもう一冊が必要そうです。

チーム開発実践入門を読み終わりました

チーム開発実践入門を一通り読み終えたので書評です。

チーム開発実践入門──共同作業を円滑に行うツール・メソッド:書籍案内|技術評論社

評価

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

オススメできる人
  • チームでの開発経験がない人

4月から社会人になった人が配属される前に読むと良いかもしれません。

オススメできない人
  • チーム開発のやり方を模索している人

2018年現在、チーム開発のやり方を模索している人にとっては知っている知識ばかりのように思えます。

感想

チームでシステム開発を行うために必要なことの基礎が書かれています。
チケット管理やバージョン管理、CI/CDといったことに対しての説明がされています。

書籍が4年前なので今となっては当たり前のことが多いように思えます。
2018年現在ではさらに洗練されたやり方やツールなどが開発されています。
しかし、大きな流れとしては変わっていないので、書籍の内容は今でも通用するはずです。

私個人としてはGitのブランチ戦略周りの詳しい内容を知りたかったのですが、
その辺は概要程度のみとなっていたので少し残念でした。

今となっては当たり前となっている知識ばかりなので、
現在チームで開発している人にとっては得るものは少ないと思います。

ただ、改めてチーム開発の基礎を学ぶためには良い本だと思います。

プロダクションレディマイクロサービスを読み終わりました

プロダクションレディマイクロサービスを一通り読み終えたので書評です。

O'Reilly Japan - プロダクションレディマイクロサービス

評価

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

オススメできる人
  • サービス運用に関わるエンジニア
オススメできない人
  • 具体的な解決策を求めている人

具体的な方法論については書かれていないので、
何か問題を抱えていてそれを解決したいといった場合にはお勧めできません。

感想

Uberのサービスが本番で運用されるために満たすべき要素を8つの原則に分け
それぞれがどういったものか、どうやって満たしていくかといったことが書かれています。

安定性、信頼性、スケーラビリティ、パフォーマンス、耐障害性、大惨事対応、監視、ドキュメント
の8つの原則があり、それを全て満たしたものを本番対応(プロダクションレディ)と呼ばれています。

各章の内容は原則については
どういったことを考える必要があるのかといったような概要の話です。
「Xというツールを使って・・・」といったような具体的な話はありません。

メインの焦点はマイクロサービスですが
マイクロサービスではなくても考える必要がある原則ばかりだと思うので、
サービスを運営するエンジニアにとっては参考になる内容だと思います。

ただし、どういった設計をすれば原則を満たせるかというのは書かれていないので、
実現方法については自分で考える必要があります。

サービスを運用する上で必要なことの概要を学ぶには良い本だと思います。

[試して理解]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の一部として運用するにはどうすればいいか。
といったところについても個人的には踏み込んで欲しかったです。
ただ、そこを知りたいという人はこの書籍の対象者から外れると思います。

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