IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Ruby on Rails 海外事情コラム

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第35回 すべてのRuby on Rails開発者が読むべき11冊の本 (野田貴子) 2018年9月

こんにちはー。野田貴子です。
私は読書が好きです。日常で困ったり悩んだり不思議に思ったりすることがあると、本を読んで解決してきました。直近では少し特殊なコミュニケーションの本を読みました。

技術者ですので、もちろん技術書もそれなりに読んでいます。そして書評を読むのも大好きです。今回ご紹介するブログ記事で列挙されている本の中で特に良かったのは『達人プログラマー』です。職業プログラマーになった直後に読みましたが、原書の初版が出版されたのは1900年代なのですよね。こういった普遍的な内容の書籍は貴重だと思っています。

それでは、以下引用です。

11 Books Every Ruby on Rails Developer Should Read
https://www.netguru.co/codestories/11-books-every-ror-developer-should-read

5000。これは、Amazon.comの検索欄に「programming ruby」と入力して表示される検索結果のおおよその数です。1週間に1冊の本を読んでいくとすると(ちなみにこれは私見では非常に良いペースです)、検索された本をすべて読むためには約100年かかります。しかし、プロのプログラマーになるためには自分が携わっている技術に関連する本だけを読んでいるわけにはいきません。この5000冊に含まれない本が一体どれだけあるでしょうか。

人生の中で5000冊のうち20%を読めばRubyプログラミング言語の超専門家になることができるでしょう。ただしRubyの理論に詳しくなるだけかもしれませんが。プログラムを書くよりも読む方に時間を費やしているので、実用的なスキルは実際にはほぼゼロになってしまいます。プログラムを書く時間を確保するためにはすべての本を読むことはできませんが、良いプログラマーになるためには間違いなく本を読むべきです。それでは、どれが読む価値があってどれが読む価値がないのでしょうか。残念ながらこの質問に対する答えはありませんが、私が個人的に推奨するRails開発者のための書籍は以下のようになります。

Clean Code
https://www.amazon.com//dp/B001GSTOAM

Clean Code アジャイルソフトウェア達人の技
https://www.amazon.co.jp/dp/B078HYWY5X

RubyやRailsには直接関係していないので、この本はおそらく上記の5000件の検索結果には含まれていません。この本のサンプルはほとんどJavaで書かれています。Railsの開発者がJavaに関する本を所有するのは変だと思うかもしれませんが、ご心配なく。この出版物はWeb開発者以外にとっても素晴らしいものです。私はこの本を紙媒体で所有することを強くお勧めします。Bobおじさん(訳注:著者の愛称)のアドバイスの何かしらにこだわれば、より良いプログラマーになる可能性は非常に高くなるでしょう。

Pragmatic Programmer
https://www.amazon.com/dp/020161622X

新装版 達人プログラマー 職人から名匠への道
https://www.amazon.co.jp/dp/427421933X

これは私の好きな本の1つで、どの言語や環境に従事しているかに関わらず、プログラミングに関するすべての仕事の面接に向けた必読書であるべきだと思います。この本にはプログラムとして適用できるコードサンプルやパターンは見つかりません。その代わりに、Andy Hunt氏とDave Thomas氏はプロフェッショナルプログラマーが従わなければならないアプローチを読者に示しています。この本は西暦2000年以前にリリースされましたが、今もこの先も読む価値があります。著者には大いなる敬意を表します。

Ruby under a microscope
http://patshaughnessy.net/ruby-under-a-microscope

Rubyのしくみ -Ruby Under a Microscope
https://www.amazon.co.jp/dp/4274050653

初心者がこの本から始めるのは最善策ではありませんが、Rubyをよりよく理解したい場合は遅かれ早かれこの本を手に入れることになるでしょう。Pat Shaughnessy氏はRubyの内側を上手に深く掘り下げています。Xavier Noria氏のコメントを引用します。

「なんてこった、この本はRubyの風景から欠けていたものだ。すばらしい内容だよ。」

まだ半信半疑の方のために、この本の序文から別の引用をします。

「いろいろな人から、Rubyの内部構造やハッキングする方法についてどのように学ぶことができるのかと聞かれます。残念ながら、私はそれらの問いに対する適切な答えを持っていませんでした。この本を読むまでは。」 - Aaron "Tenderlove" Patterson氏より。

Eloquent Ruby
http://eloquentruby.com/

明解!Ruby―奥深いRubyの文化を身に付けるテクニック
https://www.amazon.co.jp/dp/4864011095

私が個人的に紙媒体で所有しているもう一つの本がこちらです。Rubyの基礎をすべて習得したあとは、エキスパートであれ趣味ベースの人であれ、この本が次のステップになるはずです。驚くほど読みやすく、非常に包括的で、Rubyを適切な方法で使用するために知っておくべき実用的な内容がフォーカスされています。私はすでにこの本を2回読みましたが、いずれもう一度読む予定です。通しではないかもしれませんが。

Practical Object-Oriented Design in Ruby
http://www.poodr.com/

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方
https://www.amazon.co.jp/dp/B01L8SEVYI

Sandi Metz氏は素晴らしいスピーカーであり、同じようにすばらしい本も書いています。彼女の本はオブジェクト指向のRubyの本当の意味を理解し、現実世界でそれを実装する役に立ちます。標準的な自転車を使ってオブジェクト指向をRubyで表現するアイデアや手法は素晴らしいです。この本は面白いアクション小説のように読者を惹き込むこともお伝えしておきます。まだこの本を読んでいない方は、ぜひとも読んでみることをお勧めします。

Refactoring Ruby
https://www.amazon.com/dp/0321984137

リファクタリング:Rubyエディション
https://www.amazon.co.jp/dp/4048678841

先日私はインターネットでソフトウェア開発にまつわる何かを探していました。それが何であったのかは忘れてしまいましたが、あるページのコメント欄に夢中になり、手放せなくなる本に出会いました。たしか「会社に革新を導入したい方は、Martin Fowler氏が10年前に書いた本を読み始めるといいでしょう」というような書き込みでした。このコメントは本当で、おかしかったです!Jay Fields氏、Shane Harvie氏、Kent Beck氏、そしてMartin Fowler氏がこの本を書きましたが、どんな内容か想像してみてください!遅かれ早かれ、みなさんはリファクタリングの作業に直面します。私見ですが、これはRubyのリファクタリングにおいて最高の書籍です。

The Ruby on Rails tutorial
https://www.railstutorial.org/

Ruby on Railsチュートリアル
https://railstutorial.jp/

現在私が知っているほとんどのRuby on Rails開発者は、Railsプログラミングを初めたときにMichael Hartl氏の有名なチュートリアルで学んできたように思えます。Michael氏の本はすべてのRuby on Rails開発者にとって確実なスタートを切ることができる知識を得ることができます。読書とコーディングのバランスがよく、Railsの作業を始めるにあたって知っておくべき話題を網羅しています。この本はシニア開発者向けのものではありませんが、Ruby on Rails開発者としてキャリアを開始したい方に特におすすめです。

The Rails Way
https://www.amazon.com/dp/0134657675

Rails Way (Professional Ruby Series)
https://www.amazon.co.jp/dp/4798116998

多くの経験豊富な開発者は、プロジェクトであの有名な「Rails Way」に執着するのを避けるべきだと主張しています。一方、私は「Rails Way」を過小評価すべきではないと考えています。私見では、これのおかげでRailsは急成長し、現在の規模になったからです。「設定より規約」という使いやすい初期設定と何百もの便利な関数がRailsの人気を高めてくれました。そのおかげで、簡単なMVP(Minimum Viable Product)であれば数週間数ヶ月ではなくたったの数日で稼働させることができます。Railsを使ったソフトウェア開発を始めようとしている(あるいは始めたばかりの)方にとって、これは利点です。この本は、フレームワークに何が組み込まれているかを理解するのに役立ちます。

Rebuilding Rails
http://rebuilding-rails.com/

Noah氏の本にはRailsのより深い機能を理解しようとした際に大変お世話になりました。この本により私はRailsの独自のマイクロフレームワークを構築した際に、Railsで実際に何が起こっているのかを把握できました。これは初心者向けではありませんが、より深く理解しようとする方にお勧めします。

Crafting Rails 4 Applications
https://pragprog.com/book/jvrails2/crafting-rails-4-applications

RailsのスーパーヒーローであるJose Valim氏は、この本でRailsの暗く深い場所へと導いてくれます。彼は非常に高度な方法でRailsを使用するので、この本を読む前に確実に技術を習得しておく必要があります。最初の章では独自のレンダラーを作成します。はい、初心者向けではないですね。表紙のサブタイトル「日々のRails開発のためのエキスパートプラクティス」は、この本の特性を明確に表しています。いずれにせよ自信がない場合はJose氏のものをもう少し読んでおく必要があります。

Confident Ruby
http://www.confidentruby.com/

Avdi Grimm氏は『Confident Ruby』を書き上げるという素晴らしい仕事をしてくれました。彼はこの本を、Rubyを書く喜びや初めてRubyを試したときに感じた楽しさを取り戻すための、一種のガイド(小さなパターン集)と説明しています。どんなに経験豊かな人であっても、この本によってさらに自信のあるRubyプログラマーとなれるでしょう。

まとめ

読書は素晴らしい投資です。たった数時間の読書で凝縮された何年にも及ぶ他人の経験を得ることができます。上記のすべての本はRuby on Rails開発者としての私にとって価値あるものでした。もちろん他にも多くの本がありますが、みなさんを数で圧倒させるのがこのブログ記事の目的ではありません。このリストに載せておくべきだと思われる本がある場合には、ぜひ下にコメントを残してください。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes