こんばんは。最近ずっと朝から晩までRuby on Rails とイチャイチャしています。 @bussorenre です。セキュリティ・キャンプフォーラムお疲れ様でした。
※こんなのまだまだ初心者〜中級者レベルだよ!というご指摘を頂いたので改題しました。ありがとうございます!
さて、僕は普段から、実験とかお遊びでRuby on Railsを使っていたのですが、この度 Ruby on Rails でお仕事をいただきまして、RoRでシステム開発に勤しむ毎日です。遊びと違って、自分勝手な適当なコードが書けない、無茶苦茶なスキーマを定義できないなど、いつも以上に緊張して開発に当たっています。
そんな中で、僕なりに発見したRuby on Rails の勉強法を共有できたらなと思い記事に残そうと思います。
この記事はなんとなくRailsをさわろうとしている初心者向けの記事ではなく、ガチでRails でシステムを組もうと考えている人向けの記事ですので、そうでない方が読むと、貨物か列車かに轢き殺されるので注意しましょう。
Ruby on Rails 以前に基本的な知識の勉強
Ruby on Rails とか関係なくWeb開発に必要な知識
英語の勉強
ruby on rails にかぎらず世界中で共有されるドキュメントのほとんどは英語。日本語で得れる情報は本当に少ないことを痛感。なんで英語が世界の中心なんだろう。泣きたい。僕はとりあえずThe Social Network) を何回も耳で聞いてる。 ちなみに、なんでThe social Networkかというと、プログラミングの話題が多いからとかではなく、screen play がネット上に落ちているから。わからないところがあったらすぐ見れる。でも飽きそう\(^o^)/
データベース系の知識
僕の中で今最も躓いているところ。データベースに弱いので、モデル操作に四苦八苦する。データベースの知識はどれだけつけておいても困ることがないと思う。ちなみにまだ勉強法は確立していません…
しかし、この本は本当におすすめ。僕はまだまだ実力不足でこの本が読めなかったけど、上級者を目指すならおすすめ。もっかい挑戦したい。
開発環境の準備
もはやwindowsでは話にならない。僕もかなりwindowsで孤軍奮闘したけど、よっぽどのWindows信者でない限り学習効率も開発効率も悪い。windowsの独自実装(特にIE周り・コマンドライン周り)に泣くことも多かったのでおすすめしない。お金に余裕があるならMacを買うか、LinuxやBSD系のUnixライクなOSを使用することをおすすめします。
エディタはなんでもいい。そのへんは宗教なので。僕個人はSublime TextとVimの兼用。IDEはVisual Studio 以外使ったことないし使えない(ぁ
Ruby のお勉強
Ruby 1.9系と1.8とでやや仕様が異なる。最近2.0になろうとしているので要勉強。特にこれといったおすすめの本はない。自分が読みやすいものを選ぶといいと思う。本よりも公式のドキュメントやチュートリアルのほうがわかりやすいかもしれない。僕は画面を見続けるのがしんどいので本派
Git
もはやお馴染みバージョン管理すステム。僕はこれも苦手である……。複数人で開発する場合、バージョン管理ができていないと話にならない。死ねる。 最もわかり易かったWebサイトは猿でもわかるgit入門 backlogを開発している会社の記事らしいが、ものすごくわかりやすい。これも本を買うなら自分にとって読みやすいものを選ぶといいと思う。Git に関しては本を買ってじっくりお勉強するのがいいと思う。あくまで僕個人の意見。
ドットインストールで予習
本格的に勉強を始める前に、ドットインストールで簡単な知識を頭に入れておくだけでも全然理解が違う。僕が個人的におすすめなのは、git入門、Ruby入門、js入門、RoR入門、SublimeText2の講座。
Ruby on Railsの実践的勉強
僕の周りで最も流行っている本は下の二冊。
どちらもわかりやすくていい本。 「理論は分かったし使い方もわかったけど、じゃぁ実際どうやって組めばいいんですかぁぁぁっ!」ってなった時にお世話になるのがもう言わずもがなGithub rails sample でリポジトリを探すと色々おもしろいのが出てくる。
その中で最もお世話になったのがこのサンプル 当然英語だけど、なんと本一冊分のドキュメントが付いている。色々なサンプルコードを見てきたけど、これが最も美しいなと思った。
悩んだら他の人のコードを読むのが最も早いかもしれません。
困ったときに頼れるサイト
stack over flow
プログラマーにとってはオリンポス山並みの高さになったスタックオーバーフローである(ぁ Stack over flow これも英語なのよ…とほほorz 日本語版というべき、QA@ITというのもあるけど、ややまだ情報不足な感じがする。
Rails Document
珍しく日本語でよくまとまったRoRのリファレンス でもver3.2.8とやや古いか…?? 困ったらここを調べるとだいたい分かる。楽。
発狂しましょうぶつけましょう。きっと親切なフォロワーが助けてくれます\(^o^)/
その他:まだ僕が到達していない境地
- RSpec
- メタプログラミング
誠意勉強中…m(_ _ )m
と、まぁ、独学でやろうとするとこんな感じ。 でも、.やっぱ素早く上達したいなら
- 出来る先輩に弟子入りする
- 魅力的な企業にエンジニアとして突撃する
のがベストだと思う。
けど、あいにく関西にはこのようなことができる場は殆ど無い。東京は山ほどあるみたいだけど。相手だって企業だし、新人にかまってる余裕があんまりないし、みずから勉強し続ける情熱は必要だと思う(僕は昔、その勢いを失って雇ってくれた企業と先輩に多大な迷惑をかけたし…(;・∀・)
最も効率の悪い方法は
- 勉強会に参加する
勉強会は、僕は飲み会みたいなものだと思ってる。勉強というより、人との交流が大事だと思う。
という具合でした。他に「このサイトいいよ!」とか「こういう勉強方法有るぜ」とか「うちで仕事しないか」とかありましたらコメント残していただけると助かりますm(_ _ )m