47
ずぶの素人が Rails 開発できるようになるために 必要な5つのこと 2012-01-31 [email protected] (a.k.a. @ckazu)

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

Embed Size (px)

DESCRIPTION

Shinjuku.rb #01 LT

Citation preview

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

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

必要な5つのこと

[email protected]

(a.k.a. @ckazu)

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

about me

•Aiming inc.•東京開発G

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

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

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

今日の内容

•個人的な体験談

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

Ruby•入社前

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

•Ruby

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

•Ruby on Rails

•ほぼ未経験

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

必要になったら引く

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

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

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

入社•サイト開発チーム

•メンバー3人

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

•1ヶ月まで Python

•自分

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

入社~2週間

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

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

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

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

inject, map 恐怖症克服

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

2週間~

•コードを書き始める

•ペアプログラミング

•TDD

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

TDD の壁

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

TDD の壁•疑問

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

•stub? mock?

•rspec

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

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

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

•rspec を把握する

•ペアプログラミング

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

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

1ヶ月~

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

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

Git の壁

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

Git の壁

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

•rebase ってなんぞ?

•merge したことない

•常に master ブランチ

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

Git の壁

•わかれば問題なかった

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

•とりあえずコミット

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

~4ヶ月

•プロジェクトの完了

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

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

4ヶ月~

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

•調査系のタスク

•ライブラリ

•フレームワーク

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

GitHub

•コードが全て追える

•コードリーディング

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

メタの壁

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

メタの壁

•コードリーディング

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

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

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

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

メタの壁

乗り越えられず...

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

4ヶ月~

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

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

6ヶ月~

•レビューの指摘

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

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

6ヶ月~

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

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

6ヶ月~

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

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

6ヶ月~

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

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

3回読んだ

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

7ヶ月~

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

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

7ヶ月~

•でも,

•実際には,書けない

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

7ヶ月~

•でも,

•実際には,書けない

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

メタの壁

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

7ヶ月~

•なぜ書けないのか

•メタ脳になっていない

•と思っていた...

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

8ヶ月~

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

•ペアプロ

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

9ヶ月~

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

•コミットが細かい

•こまめにリファクタ

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

9ヶ月~

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

•リファクタ重要?

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

9ヶ月~

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

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

9ヶ月~

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

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

12ヶ月~

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

とか書いてた

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

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

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

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

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