Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Ruby | 元Java使いの自分が独学で行ったRuby学習の道のり

概要

Java使いの自分が独学で行ったRuby学習の道のり

詳細

Java使いの自分が独学で行ったRuby学習の道のりについて。

前提

オブジェクト指向の基礎はJavaで学習済み
Rubyについて質問できる相手は一人もいませんでした
Rubyの学習開始時はJavaの現場だったため、主に私生活で学習。
ある程度Rubyに慣れてからはたまに業務用の納品対象外のツール
自分専用のツールを作成する時だけ業務中もRubyを使用した。
(※現在は業務中もプロダクトコードとしてRubyを扱ってます)
・特にWeb上のコミュニティ等にも参加せず全部一人でやりました

Ruby入門

Ruby入門サイト
Rubyについて右も左もわからない時に「Ruby 入門」でぐぐったら一番上に出たので参考にしたサイト。
http://www.rubylife.jp/ini/

まつもとゆきひろさんによるRuby入門記事
古いですが基本的な考え方は変わっていないのでとても参考になりました。
http://itpro.nikkeibp.co.jp/article/COLUMN/20060825/246409/

・書籍 プログラミングRuby1.9言語編
全編通して学習した。
達人プログラマ「Dave Thomas氏・Andy Hunt氏」、情熱プログラマ「Chad Fowler氏」の著書で
言語の作者であるまつもとゆきひろさん監訳ということもあり安心して購入できる。

今から買う人ならパーフェクトRubyとどちかを選べば良さそう。

Ruby入門後

下記の書籍を読みました
メタプログラミングRuby
・プログラミングRuby1.9ライブラリ編(読書途中)
Ruby Cookbook(電子書籍の英書)
WEB+DB PRESS等、技術系の月刊誌に記事があれば読む

その他
るびまを読みあさる
特にRubyist Hotlinksのコーナーは、できるRubyist達の思考を知ることができるのでとても参考になります。
http://magazine.rubyist.net/

Rubyで実際に役に立つ何かを作る

・ちょっとしたツールなどをRubyで作る
ツールを作る過程で必要になるRubyの要素を学ぶ
Javaの業務中もRubyで自動化ツールとか作ってました。

デザインパターンなどの書籍の内容をRubyで実装してみる

コードの体裁について

・コーディング規約に関して参考にしたサイト
http://shugo.net/ruby-codeconv/codeconv.html

・静的解析ツールの指摘に従うことで標準に近づける
Rubocop
metric_fu(多数の静的解析ツールをまとめたものなので、好きなことを個別に使ってもいい)
等を利用。

metric_fuに含まれる静的解析ツールの中には、Martin Fowler氏が著書「リファクタリング 」の中で
書いているコードの臭い、を検出するものもあり単純なRubyの記法レベルだけではなく
プログラムとしての作法も学べる箇所もある。
metric_fuについては下記に記事をまとめました。
http://d.hatena.ne.jp/tbpg/20130813/1376412269

警告の意味が分からなかったら都度、各静的解析ツールの公式や他のブログ等で内容を確認。

・その他
各種書籍やオープンソースのコード、Ruby本体のコードなどからも記法を学習。
オープンソースあまり多くは読んでいない。RailsやChefなど。

技術書の学習時の注意点

・写経しない
何か技術書にそって手を動かして学ぶ時は写経をせずに
自分でその問題の具体例を作って、自分が決めた仕様にそってコーディングする。
経験上そのほうが理解が深まる。
写経は「わかったつもり」と「コードを書いたことの充実感」で終わってしまって
実は分かってなかった、ということになりかねない。
もちろんコードを書かないよりは良いが。

Rubyを学ぶきっかけ

達人プログラマー1年1言語を学ぶ、を読んでどの言語にしようか考えている時に
自分が読んでいた書籍の複数の著者がRubyの良さについて触れていたため選択。
Dave Thomas氏, Andy Hunt氏, Chad Fowler氏, Martin Fowler氏, Neal Ford氏等。
実際に使ってみて、非常に使いやすかったためすっかり虜になった。

アンテナをはる

Google Alertで「Ruby」を登録して日次でメールが来るように設定
TwitterRuby関係者やIT系のニュースアカウントをフォロー
るびまの最新号を常に読む

参考サイト

まつもとゆきひろさんの「まつもと直伝 プログラミングのオキテ あらためてRuby入門」

http://www.rubylife.jp/ini/

参考書籍

達人プログラマ

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (348件) を見る

情熱プログラマ

情熱プログラマー ソフトウェア開発者の幸せな生き方

情熱プログラマー ソフトウェア開発者の幸せな生き方

プログラミングRuby1.9言語編

プログラミングRuby 1.9 −言語編−

プログラミングRuby 1.9 −言語編−

プログラミングRuby1.9ライブラリ編

プログラミングRuby 1.9 −ライブラリ編−

プログラミングRuby 1.9 −ライブラリ編−

メタプログラミングRuby

メタプログラミングRuby

メタプログラミングRuby

リファクタリング−プログラムの体質改善テクニック

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

  • 作者: マーチンファウラー,Martin Fowler,児玉公信,平澤章,友野晶夫,梅沢真史
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/05
  • メディア: 単行本
  • 購入: 94人 クリック: 3,091回
  • この商品を含むブログ (312件) を見る

Ruby Cookbook

Ruby Cookbook (Cookbooks (O'Reilly))

Ruby Cookbook (Cookbooks (O'Reilly))