ずぶの素人がRails開発できるようになるために必要な5つのこと

Preview:

DESCRIPTION

Shinjuku.rb #01 LT

Citation preview

ずぶの素人がRails 開発できるようになるために

必要な5つのこと

2012-01-31kchinda@aiming-inc.com

(a.k.a. @ckazu)

about me

•Aiming inc.•東京開発G

•Rails によるサイト開発•Rails + JS(coffee, etc) によるブラウザゲーム開発

•Rails, Ruby を業務で使い始めて17ヶ月

今日の内容

•個人的な体験談

Ruby•入社前

•真面目にやったのは C 言語くらい

•Ruby

•雑多な処理をするスクリプト•cgi

•Ruby on Rails

•ほぼ未経験

必要になったら引く

本はぼろぼろになるけど身には付いていない

入社•サイト開発チーム

•メンバー3人

•Rails(ruby) よく知っている

•1ヶ月まで Python

•自分

入社~2週間

•標準メソッドをすべて把握する

レシピブック頼みからの脱却

inject, map 恐怖症克服

2週間~

•コードを書き始める

•ペアプログラミング

•TDD

TDD の壁

TDD の壁•疑問

•コードを書いたほうが早いだろう

•stub? mock?

•rspec

•そもそもテストの書き方が...

TDD の壁•どうやって乗り越えるか?

•rspec を把握する

•ペアプログラミング

•そもそも,これから実装しようとすることを理解しているか

1ヶ月~

•ペアプロのおかげもあって少しづつコミット

Git の壁

Git の壁

•今までは一人で Git を使っていた

•rebase ってなんぞ?

•merge したことない

•常に master ブランチ

Git の壁

•わかれば問題なかった

•むしろ,歴史を改ざんできる素晴らしさ

•とりあえずコミット

~4ヶ月

•プロジェクトの完了

•TDD で,一通り Rails で Web アプリケーションが作れるように

4ヶ月~

•新規プロジェクトの始まり

•調査系のタスク

•ライブラリ

•フレームワーク

GitHub

•コードが全て追える

•コードリーディング

メタの壁

メタの壁

•コードリーディング

•抽象化されすぎていていまいちよく分からない

とりあえず全部読んだしちゃんと動いたしまあいいか

メタの壁

乗り越えられず...

4ヶ月~

•いろいろありながらもこなす

6ヶ月~

•レビューの指摘

•「ここは宣言的にかけるはず」

6ヶ月~

•通勤中の電車内,就寝前にひたすらよむ

6ヶ月~

•通勤中の電車内,就寝前にひたすらよむ

6ヶ月~

•通勤中の電車内,就寝前にひたすらよむ

3回読んだ

7ヶ月~

•メタに書かれたコードが読めるようになった

7ヶ月~

•でも,

•実際には,書けない

7ヶ月~

•でも,

•実際には,書けない

メタの壁

7ヶ月~

•なぜ書けないのか

•メタ脳になっていない

•と思っていた...

8ヶ月~

•なんかすごい人が社内に来た

•ペアプロ

9ヶ月~

•なんかすごい人とペアプロ

•コミットが細かい

•こまめにリファクタ

9ヶ月~

•必ずしも,最初からメタに書くわけではない

•リファクタ重要?

9ヶ月~

•こまめにリファクタすれば最初から気がつかなくてもリファクタの段階でメタ的にかけると気がつく

9ヶ月~

•通勤中の電車内,就寝前に自分で買ったメタプログラミングRubyをひたすらよむ(4回目)

12ヶ月~

•気がついたら,いきなりdefine_method

とか書いてた

初心者でも一年くらいやっていれば黒魔術師に入門できる

まとめ•ずぶの素人が Rails 開発できるようになるのに必要な5つのこと•初期の網羅的学習•ペアプロ•(しつこい)レビュー•コードリーディング•適切な時期に適切な本を読む

Recommended