Skip to content

Instantly share code, notes, and snippets.

@yuskesuzki
Created July 31, 2011 09:13
Show Gist options
  • Save yuskesuzki/1116628 to your computer and use it in GitHub Desktop.
Save yuskesuzki/1116628 to your computer and use it in GitHub Desktop.
で、実際そうすると、じゃあInternal Server Errorが起きたらどうなるんだよ?ってい
うときには、Rubyの例外catch機能を利用して、例外が発生したとき、Extensionからの
例外だった場合は自動で無効化するような実装が入っています。
そのため、なんかExtensionでエラーが起きたら自動で無効化されて標準の機能に差し変
わるので、開発者はそこらへんでエラーが起きてCOOKPADが落ちちゃうよーってのを気に
せず、どんどんどんどん機能を拡張していくことが可能となってます。
で、実際これ、COOKPADの一般の人がアクセスしたときのレシピの画面なんですけど、特
定のExtensionを有効にしたのが、右の半分がちょっとモザイク…新機能なんでちょっと
かかってるんですけど、まあ機能として変わっていて、まあ新機能がこんな感じで出る
ようになってます。
でまた、COOKPADスタッフの場合は、その機能がどれだけ使われているのかっていう、統
計情報をバーって出す事によって、実際にその機能がどれだけ利用されているのかを日々
チェックしながら、なんか、毎回出してユーザにあてて、フィードバックを受けて、改
善するというサイクルを、どんどんどんどんExtensionの機能を使って行う事が可能にな
っています。
また、このExtensionなんですけど、配置のディレクトリが、ちょっとまあ、バーって軽
く書いてあるんですけど、まあこんな感じで完全にRailsのapp/controllerとかに実装す
るのではなくて、完全に別のディレクトリとかに実装をすることができて、実装のコー
ドを完全にRailsとは切り離して実装する事が可能となっています。
で、やっぱり、プロトタイプ…さっき言ってたように、BESTに集中するために、けっこ
う機能をリリースしないっていう決定を行う事も多いんですよ。
やっぱり、作ってみてイマイチだったから、ユーザさんに出さないっていう事は日々の
仕事の上でたくさんあったりするんですけど、これをRailsのコードの上に直接書いちゃ
うと、それを消すっていうコストが非常に高くなってしまうんですよ。
それで、なんだかよくわからない機能が、いつの間にか入っていて、昔、なんかテスト
も書いてあるからコレ使われてるのかな?…っていって残しちゃうって事が発生するん
ですけど、けっこう完全に分離できるシステムなんで、なにかいらないなぁって思った
ら、rmで消すだけ…みたいな感じで、えーと、開発を行っていく事が可能となってます。
で、これらのExtensionについての価値は、今、COOKPAD開発者ブログの方に、のちにあ
げますので、ぜひ興味がある方はご覧いただけたらと思います。
そんな感じで、COOKPADは日々の開発の中で、開発サイクルを回していて、さっき言って
いたような、Developmentして、開発Spec書いて、実装して、デプロイして、ユーザさん
からのフィードバックを受けて、それをまた開発につなげて…というサイクルをどんど
んどんどん、回しています。
ということで、これらのサイクルをどんどんどんどん早く回す事によって、大規模なRuby
の開発でも、ユーザさんにあててフィードバックを受けて開発っていうのを、30人以
上のエンジニアで日々行う事によって、COOKPADではRubyの開発をどんどん進めています。
ということで、えーと、COOKPADの提供でお送りしました。
みなさんどうもご清聴ありがとうございました。
(拍手)
で、ちょっと最後にPRなんですけど…
えーと、COOKPADでは一緒に働くエンジニアを募集していて、やっぱりその、みんなちょ
っとRailsとかに興味あったら、僕らの技術っていうのは、すごい人の笑顔につながるこ
とを本当にやってるなぁと思っているので、ぜひなんか、エンジニアで人の笑顔を幸せ…、
笑顔を増やして幸せにしたい!っ て思ってるエンジニアがいれば、ぜひCOOKPADの方に、
なんか、応募とかしていただけたらと思います。
よろしくお願いします。
(拍手)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment