読者です 読者をやめる 読者になる 読者になる

コモディティ化するエンジニア

組み込み系のSI屋から、Railsを扱うWeb系のベンチャーに転職した筆者が、日々ミジンコなりに情報を綴るブログ。

今年読んだ本の振り返り

Ruby 書籍

dodosoft Advent Calendar 2016 9日目です。 @muramurasan です。

www.adventar.org

dodosoftって何? という方は、内輪の勉強会ではあるんですが、こちらのエントリーをどうぞ。

okoysm.hatenablog.jp

タイトルの通り、本エントリーでは今年読んだ本の感想をつらつらと書きたいと思います。
どれも個人的にはオススメの本ばかりです。

リファクタリング:Rubyエディション

名著・リファクタリングRuby版です。
コード・設計の見通しを良くするためのテクニックの数々が紹介されています。
原著のリファクタリングが、オブジェクト指向でいかにして問題を解決するか、
といった、いわば設計面での改善テクニックが多く書かれているのに対し、
Ruby版では、コードベースでいかにして見通しをよくするか、ということが多く書かれている印象です。
Rubyならではのテクニックが数多く紹介されているので、原著読んだ人は更に本書も読むことをオススメします。
(別の本と言っても過言ではないかと)

リファクタリング:Rubyエディション

リファクタリング:Rubyエディション

エッセンシャル思考 最少の時間で成果を最大にする

昨年、嫌われる勇気という本を読むことで、精神衛生面の防護壁を培いました。
嫌われる勇気が、「自分のペースで良いさ」という心構えを説いた本なのに対し、
このエッセンシャル思考は、実際どうすれば仕事は早く終わるのか、面倒事に関わらなくて済むのか、
といった実践面のことを書かれている本です。
作中、「エッセンシャル思考じゃない人の例」がたくさん出てくるので、グサグサ心に刺さります(笑)
文量はそこそこあるんですが、読みやすいのでサクサク進められると思います。

エッセンシャル思考 最少の時間で成果を最大にする

エッセンシャル思考 最少の時間で成果を最大にする

メタプログラミングRuby

いわゆる、黒魔術メタプログラミングの本です。
......と思っていたのですが、単なる黒魔術の説明書じゃないんです。
Rubyという言語がいったいどういう風に動いているのか、
その内部深くまで踏み込んで説明してくれている、いわばRubyの理解を深める本なのです。
「黒魔術なんか扱うことはないから、読まなくていいや」と思っていた方は、
その考えを改めて、ぜひ、本書を手にとってみることをオススメします。一皮剥けます。まじで。
今年読んだ本の中で一番タメになった本でした。オススメ。

メタプログラミングRuby 第2版

メタプログラミングRuby 第2版

ちなみにメタプログラミングRubyに影響を受けて作った、
「任意のメソッド呼び出しを監視する」というgem、okuribitoがこちら。

github.com

Effective Ruby

効果的なRubyプログラムを書くためのテクニックを紹介している本です。
が、まだこの本を読んで実践するだけの力がついていないなと、己の無力さを知ることとなりました。
正直、紹介されているテクニックの大部分については、使いどころがわからないんですよね。
それは、まだまだ書いているコードが幼稚であること、設計の選択肢が少ないことに他ならないと思います。
Rubyistとしてステップアップしたい方はぜひ、本書を手にとってみてください。

Effective Ruby

Effective Ruby

HTML5/CSS3 モダンコーディング

タイトル通り、HTML5、CSS3を用いた「今風」のコーディングスタイルを、
サンプルのウェブサイトを構築しながら学べる本です。
手を動かしながら学べるので、理解した気になって終わらないのが良いところかと。
また、作中に「昔はこんな辛みがあった、今はこうすれば大丈夫」という説明がまじえてあるので、
本当にこの本一冊で、今はどうすればいいのかを学べる印象です。

達人に学ぶDB設計 徹底指南書 - 初級者で終わりたくないあなたへ

DB周りの知識初級者から、中級者・上級者に引き上げてくれる本です。
確かに、Webアプリケーションを開発 / 保守 する上で、
最低限の知識だけで今まで戦ってきたんだな、というのを突きつけてくれました。
DB周りの知識を幅広く説明しており、論理設計のノウハウから、アンチパターン
物理設計の勘所、パフォーマンスチューニングのやり方まで......
嗚呼、これを知りたかった! ということがぎゅっ、と詰まって書かれている本です。
今年読んだ本のオススメ2番目ですかね......

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

大規模サービス技術入門

「1000台のシステムは、何が変わるのか?」という表題の通り、
サービスが大きくなっていった時に何を気にしなければならないのか?
データ構造、メモリ、OS、DB、サーバ/インフラ あらゆる要素について、
その勘所、テクニックを全編にわたって説明している本です。
が、残念ながら、書評を書いている現段階で、内容をあまり思い出せないことに気がつきました。
これは時間を置かずに、もう一度読まないといけないな、と思いました......

おわりに

この記事に取り組む前は「今年読んだ本全然無い......つらぽよ......」となっていたのですが、
いざ記事を書いてみると、意外と今年読んでいることに気がつきました。
こうして、これまでにやったことの棚卸をするのって大切ですね。