SlideShare una empresa de Scribd logo
1 de 237
Descargar para leer sin conexión
Railsエコシステムの研究
                   松田 明

                @RubyKaigi2009




2009年7月18日土曜日
はじめに



         •今日話すこと
         •今日話さないこと

2009年7月18日土曜日
今日話すこと




2009年7月18日土曜日
今日話すこと




           Ruby on Railsに関する何か



2009年7月18日土曜日
Outline
         1. 発表タイトルについて
         2. Railsについて
         3. Railsの進化の歴史
         4. Railsエコシステム
         5. Contributing to Rails
         6. 私たちにできること
2009年7月18日土曜日
今日話さないこと




2009年7月18日土曜日
今日話さないこと



       RailsでのWebアプリケーション
       の作り方


2009年7月18日土曜日
そういうのが聞きたい方は




           隣の部屋でやってます



2009年7月18日土曜日
自己紹介




2009年7月18日土曜日
% whoami




2009年7月18日土曜日
% whoami


           :name => 松田 明,
           :twitter => @a_matsuda,
           :github => amatsuda

2009年7月18日土曜日
Job




           freelance Railer



2009年7月18日土曜日
フェロー(笑)




2009年7月18日土曜日
来月から社名が変わります




2009年7月18日土曜日
Asakusa.rb




           http://asakusa.rubyist.net/



2009年7月18日土曜日
秋に本が出ます




2009年7月18日土曜日
Head First Rails

         •オライリー社
         •超初学者向け
         •Rails 2.3 Ready!
         •秋発売予定
2009年7月18日土曜日
乞うご期待!




2009年7月18日土曜日
Outline

         1.     発表タイトルについて
         2. Railsについて

         3. Railsの進化の歴史

         4. Railsエコシステム

         5. Contributing to Rails

         6. 私たちにできること

2009年7月18日土曜日
Railsエコシ
      ステムの研究
2009年7月18日土曜日
去年の前田さんの基調講演




           「Rails症候群の研究」


2009年7月18日土曜日
今日話すこと




           「Rails」と「エコシステム」



2009年7月18日土曜日
「Rails」とは?




           ご存知 Ruby on Rails



2009年7月18日土曜日
「Rails」とは?


           Rubyで作られているオープン
           ソースのWebアプリケーション
           フレームワーク

2009年7月18日土曜日
「Rails」とは?




           詳しくはまたあとで



2009年7月18日土曜日
「エコシステム」とは?




2009年7月18日土曜日
「エコシステム」とは?




           「生態系」のこと。



2009年7月18日土曜日
こんなやつ




2009年7月18日土曜日
生態系ピラミッド




2009年7月18日土曜日
「エコシステム」とは?




           転じて、



2009年7月18日土曜日
「エコシステム」とは?
           「オープンソースの分野では、(中略)
           オープンソースソフトウェアをどのように開発、
           改良、利用すれば、オープンソースの世界の健全
           かつ安定的な発展を促進できるかという問題を解
           決しようとする理念のことを意味する。」
                http://ossipedia.ipa.go.jp より

2009年7月18日土曜日
「オープンソース」とは?



           昨今話題ですが、
           今日は深入りはしません


2009年7月18日土曜日
生態系ピラミッド



           オープンソースのエコシステムを
           表現してみる


2009年7月18日土曜日
最も単純なOSSのエコシステムの構造

                   コミッタ




                ユーザー




2009年7月18日土曜日
最も単純なOSSのエコシステムの構造
                作る人
                         コミッタ




                使う人   ユーザー




2009年7月18日土曜日
最も単純なOSSのエコシステムの構造
                作る人
                         コミッタ

           越えられない壁




                使う人   ユーザー




2009年7月18日土曜日
日本のRubyエコシステムの構造
                作る人
                             コミッタ

           越えられない壁




                使う人
                      ユーザー




2009年7月18日土曜日
日本のRubyエコシステムの構造
                作る人
                             コミッタ

           越えられない壁

                      ML参加者

                使う人
                      ユーザー




2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人

                             コミッタ
           越えられない壁




                使う人

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人


           越えられない壁




                使う人

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人

                             ruby-core
           越えられない壁




                使う人

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人             唯一神

                             ruby-core
           越えられない壁




                使う人

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人             唯一神

                             ruby-core
           越えられない壁
                      各種ライブラリ作者




                使う人

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人             唯一神

                             ruby-core
           越えられない壁
                      各種ライブラリ作者

                        ruby-dev

                使う人

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人                唯一神

                              ruby-core
           越えられない壁
                      各種ライブラリ作者

                        ruby-dev

                使う人    ruby-list

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)


         •唯一神「Matz大神」の存在
         •MLの棲み分け
         •「使うだけの人」から上にのぼる道が険しい


2009年7月18日土曜日
上にのぼる道が険しい




           Rubyはそれでいい



2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人                唯一神

                              ruby-core
           越えられない壁
                      各種ライブラリ作者

                        ruby-dev

                使う人    ruby-list

                      ユーザー


2009年7月18日土曜日
日本のRubyエコシステムの構造(詳細版)
                作る人                唯一神

                              ruby-core
           越えられない壁
                      各種ライブラリ作者

                        ruby-dev
                                          もうひとつの壁
                使う人    ruby-list

                      ユーザー


2009年7月18日土曜日
Railsエコシステム




           では、Railsは?



2009年7月18日土曜日
Railsエコシステムの構造




2009年7月18日土曜日
Railsエコシステムの構造
                     唯一神




2009年7月18日土曜日
Railsエコシステムの構造
                       唯一神

                   Rails Core




2009年7月18日土曜日
Railsエコシステムの構造
                         唯一神

                     Rails Core

                 コントリビューター




2009年7月18日土曜日
Railsエコシステムの構造
                         唯一神

                     Rails Core

                 コントリビューター

                   報告者




2009年7月18日土曜日
Railsエコシステムの構造
                             唯一神

                        Rails Core

                 コントリビューター

                    報告者

                 Activists




2009年7月18日土曜日
Railsエコシステムの構造
                             唯一神

                        Rails Core

                 コントリビューター

                    報告者

                 Activists

                ユーザー


2009年7月18日土曜日
Railsエコシステムの構造
                作る人               唯一神

                             Rails Core

                      コントリビューター

                         報告者

                      Activists
                使う人
                      ユーザー


2009年7月18日土曜日
Railsエコシステムの構造
                作る人               唯一神

                             Rails Core

                      コントリビューター
           ごく薄い境界
                         報告者

                      Activists
                使う人
                      ユーザー


2009年7月18日土曜日
Railsエコシステムの特徴
         •レイヤー間の垣根が低い。フルスタック
         •作る人多め
         •下のあたりもとっても柔軟な構造
         •コミュニティをうまくドライブして活用するため
           の意図的な工夫

         •Railsの駆動力を支えるための重要な装置
2009年7月18日土曜日
人口分布
                            唯一神

                       Rails Core

                コントリビューター

                   報告者

                Activists

                ユーザー


2009年7月18日土曜日
人口分布
                            唯一神     1
                       Rails Core

                コントリビューター

                   報告者

                Activists

                ユーザー


2009年7月18日土曜日
人口分布
                            唯一神     1
                       Rails Core   6

                コントリビューター

                   報告者

                Activists

                ユーザー


2009年7月18日土曜日
人口分布
                            唯一神      1
                       Rails Core    6

                コントリビューター           1372

                   報告者

                Activists

                ユーザー


2009年7月18日土曜日
人口分布
                            唯一神      1
                       Rails Core    6

                コントリビューター           1372

                   報告者              多数

                Activists

                ユーザー


2009年7月18日土曜日
人口分布
                            唯一神       1
                       Rails Core     6

                コントリビューター            1372

                   報告者               多数

                Activists           もっと多数

                ユーザー


2009年7月18日土曜日
人口分布
                            唯一神       1
                       Rails Core     6

                コントリビューター            1372

                   報告者               多数

                Activists           もっと多数

                ユーザー                星の数ほど


2009年7月18日土曜日
日本における人口分布
                            唯一神        0/1
                       Rails Core      0/6

                コントリビューター            数名 / 1372

                   報告者               数名 / 多数

                Activists           ? / もっと多数

                ユーザー                 やたら多数


2009年7月18日土曜日
いきなり結論


           みんなもっと
           参加しようよ!
2009年7月18日土曜日
でもどうやって?何のために?




           本日のテーマ



2009年7月18日土曜日
まとめでした




           以上、まとめおわり。



2009年7月18日土曜日
Outline
         1. 発表タイトルについて


         2.     Railsについて
         3. Railsの進化の歴史

         4. Railsエコシステム

         5. Contributing to Rails

         6. 私たちにできること

2009年7月18日土曜日
Railsについて




           Railsについてちょっとおさらい



2009年7月18日土曜日
「Rails」とは?(reprise)




2009年7月18日土曜日
「Rails」とは?(reprise)




           開発が始まってからまだ5年



2009年7月18日土曜日
開発が始まってまだ5年




           驚異的な進化のスピード



2009年7月18日土曜日
驚異的な進化のスピード



           AWDwR(日本語版)の表紙
           を見ればわかる


2009年7月18日土曜日
AWDwR(日本語版)の表紙

                2006年     2007年




2009年7月18日土曜日
I18n.t( Rails ) == 線路




           「電車」のメタファー



2009年7月18日土曜日
「電車」のメタファーの持つ意味




           CoC



2009年7月18日土曜日
「電車」のメタファーの持つ意味



         •Rapidity
         •走り続けるフレームワーク

2009年7月18日土曜日
Rapidity




           in another word, Agility



2009年7月18日土曜日
Agile


           アジャイルであれ、という気持ち
           が名前に込められている
                e.g. AWDwR

2009年7月18日土曜日
Agility



           Agile
                => Embrace Change


2009年7月18日土曜日
Ch-ch-ch-ch-Changes


           変わり続けるということ
            =>

           走り続けるということ


2009年7月18日土曜日
走り続けるということ


           線路は続くよ
           どこまでも
2009年7月18日土曜日
「電車」のメタファー(reprise)



         •Rapidity
         •走り続けるフレームワーク

2009年7月18日土曜日
Railsの本質




                変化
2009年7月18日土曜日
変化


           RubyKaigi2009のテーマは、
           「変わる/変える」です。
                http://rubykaigi.org/2009/ja より



2009年7月18日土曜日
変化し続けるということ




           絶え間ない「カイゼン」



2009年7月18日土曜日
最新のRailsが最高のRails



           Railsは永遠に未完成
           であるという宿命


2009年7月18日土曜日
Rails格言

           "edge is more stable than stable,

                so use edge"

           http://groups.google.com/group/rails-i18n/browse_thread/thread/24143dbaff2841bf

           より




2009年7月18日土曜日
「枯れたバージョンのRails」?




           Railsの本質と矛盾



2009年7月18日土曜日
Railsの本質


           Railsは走り続ける電車
                =>

           永久に枯れない。枯れたら死ぬ。

2009年7月18日土曜日
「エンタープライズRails」




           とっても難しい分野



2009年7月18日土曜日
近年のRailsの進化の歴史




           数々の新しい試み



2009年7月18日土曜日
数々の新しい試み

           2.1 Named Scope
           2.2 Rails I18n
           2.3 Engines / Templates / nested
           attributes




2009年7月18日土曜日
数々の新しい試み

           2.1 Named Scope
           2.2 Rails I18n
           2.3 Engines / Templates / nested
           attributes

          3.0 Merb

2009年7月18日土曜日
近年のRailsの大きな変化



           いずれもコアチームが作った
           ものではない


2009年7月18日土曜日
ここ
                            唯一神

                       Rails Core

                コントリビューター

                   報告者

                Activists

                ユーザー


2009年7月18日土曜日
近年のRailsの大きな変化




           コミュニティの産物



2009年7月18日土曜日
Contributors




                Railsの変化力 / 駆動力の源



2009年7月18日土曜日
Contributors


                Railsの成功の
                    秘訣
2009年7月18日土曜日
人口分布
                            唯一神       1
                       Rails Core     6

                コントリビューター            1372

                 報告者/要望者             多数

                Activists           もっと多数

                ユーザー                星の数ほど


2009年7月18日土曜日
コントリビューター



           コントリビューターの人数が
           すごいことに


2009年7月18日土曜日
Railsの早さの秘密


           今のRailsは
           1400人が同時多発的に開発
           を行っているという恐るべき状況


2009年7月18日土曜日
これを実現している仕組み




           あとで詳しく



2009年7月18日土曜日
コントリビューターの人数がすごい件



           なにも最初からこうだった
           わけではない


2009年7月18日土曜日
Outline
         1. 発表タイトルについて

         2. Railsについて


         3.     Railsの進化の歴史
         4. Railsエコシステム

         5. Contributing to Rails

         6. 私たちにできること

2009年7月18日土曜日
Political Change

           専制君主制(DHH一人プロダクト時代)
                =>
           代表民主制(svn, Trac時代)
                =>
           直接民主制(GitHub, Activists)

2009年7月18日土曜日
独裁時代


           Nobody had keys to the repository
           but me for the first year or so.
           - DHH (http://www.loudthinking.com/posts/36-work-on-
           what-you-use-and-share-the-rest)




2009年7月18日土曜日
その後しばらく




           ふつうのオープンソース



2009年7月18日土曜日
今では、


           DHH != Rails
           - DHH (http://www.loudthinking.com/posts/36-work-on-
           what-you-use-and-share-the-rest)




2009年7月18日土曜日
何がこの状況をもたらしたのか?




2009年7月18日土曜日
何がこの状況をもたらしたのか?




           GitHub


2009年7月18日土曜日
GitHubがもたらしたもの




           直接民主制の始まり



2009年7月18日土曜日
直接民主制?


           ユーザー == コミッタ
           (使う人)    (作る人)
                という理想

2009年7月18日土曜日
誰もがコミット権を持つ社会


           全てのユーザーが自分の持つ
           オレオレforkに好きなだけ
           コミットする自由

2009年7月18日土曜日
オレオレRails



           コミットの価値が認められれば
           本家に取り込まれる


2009年7月18日土曜日
社会の変革


           GitHubの登場はコミッタを
           特権階級から追い落とす革命だった
                http://blog.s21g.com/articles/1341




2009年7月18日土曜日
Railsらしいところ


           Railsの社会に革命をもたらした
           GHもまたRailsで作られている、
           というメタ革命


2009年7月18日土曜日
The 3rd Impact


         •Dave ThomasによるRubyの発見
         •DHHによるRubyの発見
         •RubyistによるGitの発見

2009年7月18日土曜日
viva GitHub!




           Thank you Scott!



2009年7月18日土曜日
Outline
         1. 発表タイトルについて

         2. Railsについて

         3. Railsの進化の歴史

         4.     Railsエコシステム
         5. Contributing to Rails

         6. 私たちにできること


2009年7月18日土曜日
Railsエコシステム




           話は戻って、



2009年7月18日土曜日
あらためてエコシステムを上から
                              唯一神

                         Rails Core

                  コントリビューター

                     報告者

                  Activists

                  ユーザー


2009年7月18日土曜日
唯一神



           What does he actually
           do?


2009年7月18日土曜日
唯一神


           DHHがどこかで言ってた
           「みんなのパッチを判断してコミットするだけの
           簡単なお仕事」
                ソース not found




2009年7月18日土曜日
あらためてエコシステムを上から
                              唯一神

                         Rails Core

                  コントリビューター

                     報告者

                  Activists

                  ユーザー


2009年7月18日土曜日
コアチーム



           メンバー紹介
           http://rubyonrails.org/core




2009年7月18日土曜日
メンバー




           日本人は居ません



2009年7月18日土曜日
会社の存在



         •37signals
         •Engine Yard

2009年7月18日土曜日
会社の存在




           日本ではMatzぐらいなのに



2009年7月18日土曜日
あらためてエコシステムを上から
                              唯一神

                         Rails Core

                  コントリビューター

                     報告者

                  Activists

                  ユーザー


2009年7月18日土曜日
コントリビューター



           Railsはコアチームのみにて
           作られるにあらず


2009年7月18日土曜日
コントリビューター




           ここからは僕らでもなれる



2009年7月18日土曜日
ランキング



           Rails Contributors
                http://contributors.rubyonrails.org/




2009年7月18日土曜日
集計方法


         •GitのcommitのAuthorを
            gritで抜き出して集計

         •Git便利
         •微妙に集計誤差もあるから参考程度に

2009年7月18日土曜日
Contributors



         •1372 people!
         •実際は 1400+ とも言われている

2009年7月18日土曜日
Contributors




           ちなみにオレオレ



2009年7月18日土曜日
Japanese




           でも日本人超少ない><



2009年7月18日土曜日
条件


           Railsのバグfixや
           enhancementのパッチを
           なんかコミットすること

2009年7月18日土曜日
必要スキル / 必要なもの
         •Ruby(公用語)
         •英語(公用語)
         •Railsのソースを読み書きできること
                (特にテストが大変)

         •LHのアカウント
         •Git
2009年7月18日土曜日
実際にやること




           あとで



2009年7月18日土曜日
あらためてエコシステムを上から
                              唯一神

                         Rails Core

                  コントリビューター

                     報告者

                  Activists

                  ユーザー


2009年7月18日土曜日
報告者




           LHでバグ報告



2009年7月18日土曜日
LightHouse


           RubyでいうところのRedmine
                http://rails.lighthouseapp.com

                    (LH使いづらい・・・よね?)




2009年7月18日土曜日
必要なもの



         •英語(公用語)
         •LHのアカウント



2009年7月18日土曜日
あらためてエコシステムを上から
                              唯一神

                         Rails Core

                  コントリビューター

                     報告者

                  Activists

                  ユーザー


2009年7月18日土曜日
Activists




           ちょっといったん置いといて、



2009年7月18日土曜日
おまけ




           ちょっと毛色は違うけど、



2009年7月18日土曜日
プラギン/gemライブラリ作者


         •独自路線
         •我が道を行ってください
         •運が良ければコアに取り込まれるという
            出世コースも


2009年7月18日土曜日
必要なもの


         •Githubのアカウント
         •Ruby
         •Git


2009年7月18日土曜日
プラギンとかgemとか



           きょうびGithub以外で
           開発とかないよね?


2009年7月18日土曜日
Activists



           上記以外のなにかしらの形で
           Rails社会に参加/貢献したい人


2009年7月18日土曜日
例えば、


           Ruby on Rails Wiki
           プロジェクト
                http://groups.google.com/group/rubyonrails-wiki




2009年7月18日土曜日
Rails Wiki プロジェクト

         •コンテンツの充実
         •各国語に翻訳
         •既に成果が反映され始めている
                http://wiki.rubyonrails.org/

         •... no Japanese?

2009年7月18日土曜日
Rails Feedback Forum



           Rails 3に今後実装してほしいもの
           などについて要望を出す


2009年7月18日土曜日
Rails Feedback Forum



           uservoice.com
                http://rails.uservoice.com




2009年7月18日土曜日
... and much more!


2009年7月18日土曜日
ML


           the Rails Activism
           mailing list
                http://groups.google.com/group/rails-activism




2009年7月18日土曜日
必要なもの



         •英語(公用語)
         •情熱



2009年7月18日土曜日
あらためてエコシステムを上から
                              唯一神

                         Rails Core

                  コントリビューター

                     報告者

                  Activists

                  ユーザー


2009年7月18日土曜日
ユーザー




           いわゆる「お客さん」




2009年7月18日土曜日
ユーザー



           このトークが終わったあとで
           ここの人口が変わらなかったら失敗・・・?




2009年7月18日土曜日
日本人にとっての最大の障壁




           英語


2009年7月18日土曜日
英語




           Rubyに次ぐ公用語




2009年7月18日土曜日
英語




           何をするにも必要



2009年7月18日土曜日
Railsはもともと英語のフレームワーク



           Designed for
           English use only


2009年7月18日土曜日
Rails I18n以降




           最近は状況が変化



2009年7月18日土曜日
Rails I18nがもたらしたもの




           Railsが世界のフレームワークに



2009年7月18日土曜日
Rails I18nがもたらしたもの



           Railsコミュニティが
           世界規模に拡大


2009年7月18日土曜日
非英語圏のみなさんの英語




           かなりひどい



2009年7月18日土曜日
英語



           かなりひどい英語でも大丈夫。
           みんな優しい。


2009年7月18日土曜日
日本人でもOK




           今がチャンス?



2009年7月18日土曜日
Outline
         1. 発表タイトルについて

         2. Railsについて

         3. Railsの進化の歴史

         4. Railsエコシステム

         5.     Contributing to Rails
         6. 私たちにできること


2009年7月18日土曜日
モチベーション




           もちろん「義務」とかではない



2009年7月18日土曜日
モチベーション


         •自分の好みに合わせてRailsを改変する権利
         •純粋に楽しい
         •成り行き上


2009年7月18日土曜日
成り行き?



           偶然ではなく、
           巧妙に仕組まれた罠


2009年7月18日土曜日
Railsに仕組まれた罠


         1. Railsは永遠に未完成なフレームワーク
         2. 続々と新機能
         3. 新機能に関してはそれなりに実装できたら出す



2009年7月18日土曜日
開発者が罠にはまるパターン

         1. 続々と新機能

         2. ワクワクするから使いたくなる

         3. ドキュメントないし、ソース読まないと危なくて使えない

         4. 使ってみたら壊れてるし、ソース読んでるうちに直したくなる

         5. GitHubという誰でも開発に参加できる仕組み

         6. 自然にパッチができている


2009年7月18日土曜日
Railsの本質




           「完成していないこと」



2009年7月18日土曜日
The Rails Way


           コントリビューターへの信頼を
           前提としているからこその
           攻めのプロダクト

2009年7月18日土曜日
非常にうまく機能している



           とてつもない進化のスピード
           を実現


2009年7月18日土曜日
これを踏まえて、




           Railsの正しい使い方



2009年7月18日土曜日
Railsの正しい使い方


           完成してないところは
           自分が完成させながら
           使えばいいじゃん。

2009年7月18日土曜日
「Rails開発」の2つの意味



           Railsで作りながら
           Railsを作る


2009年7月18日土曜日
手元のRailsが直ったとして、



           何故パッチをコミットするのか?
           モンキーパッチで充分なのでは?


2009年7月18日土曜日
Railsのモットー




           Don t Repeat Yourself



2009年7月18日土曜日
Railsのモットー

           Don t
           Repeat
           Yourself
2009年7月18日土曜日
Don t Repeat Yourself

         •あなたが踏んだバグを他の誰かにも
                踏ませてはならない
         •あなたが書いたモンキーパッチを
                他の誰かも書く必要はない

2009年7月18日土曜日
究極のDRY感覚



           世界中のRailerたちの間で
           DRYを共有


2009年7月18日土曜日
世界をDRYに



           あなたが手元のパッチを
           コミットするべき理由


2009年7月18日土曜日
Outline
         1. 発表タイトルについて

         2. Railsについて

         3. Railsの進化の歴史

         4. Railsエコシステム

         5. Contributing to Rails

         6.     私たちにできること
2009年7月18日土曜日
Practices


         •Railsのバグを発見するコツ
         •LHの使い方
         •GHの使い方


2009年7月18日土曜日
Railsのバグを発見するコツ


         •常に先っちょのRailsを使う
         •新機能を積極的に使う
         •フレームワークを疑う
         •フレームワークのコードをとにかく読む

2009年7月18日土曜日
Edge


           常に先っちょが最良で最高の
           Railsなんだから、
           ここまでは必然

2009年7月18日土曜日
Railsのバグをうまく踏むコツ




           「新機能」を積極的に使う



2009年7月18日土曜日
新機能

           RESTとかBDDとか、
           新しいトレンドの実装は
           Ruby/Rails界からどんどん
           産まれてきている
2009年7月18日土曜日
昔はJavaだった



         "今のRubyは10年前のJavaだ。
                -- EngineYardのひと




2009年7月18日土曜日
新しい技術



           せっかくRuby/Railsを使ってて
           これを使わないなんて勿体ない!


2009年7月18日土曜日
Practices




           フレームワークを疑う



2009年7月18日土曜日
フレームワークを疑う



         •フレームワークのデザインを疑う
         •フレームワークの実装を疑う

2009年7月18日土曜日
フレームワークのデザインを疑う


         •Rubyはキメると気持ちいい
         •Railsもキメると気持ちいい
         •Ruby/Railsは開発者が自然に気持ちよく
            書けるようにデザインされているはず


2009年7月18日土曜日
自然に気持ちよく書けなかったら




           デザインが間違っているはず



2009年7月18日土曜日
フレームワークの実装を疑う


           Railsは、ユーザーに叩いてもらう
           ことを見越して、そこそこの完成度
           で早めに出してくる

2009年7月18日土曜日
特に新機能は




           大抵どっか壊れてる



2009年7月18日土曜日
特に日本人は


           欧米の開発者が想定してなかった
           ようなレアケースを踏んでしまう
           ことが多いような気がする

2009年7月18日土曜日
フレームワークのコードを読む


         •同じRubyで書かれているから抵抗なく読める
         •頭から読む必要はない。
            自分が引っかかったところから

         •毎日の差分をGitで読む(後述)

2009年7月18日土曜日
LHの使い方


         •チケットは検索しにくい
         •投稿時にプレビューがなくて
                はまる

2009年7月18日土曜日
僕の場合


           とりあえずチケットには全て目を通す。
           気になったチケットはwatchしまくって、
           あとはメールで追う。



2009年7月18日土曜日
GHの使い方




           コミットは全部目を通す



2009年7月18日土曜日
僕の場合




           % git log



2009年7月18日土曜日
git log



           % git log -p --stat --reverse
           で数日に一回差分を読むぐらいで。




2009年7月18日土曜日
Contributing through your job




           ケーススタディ



2009年7月18日土曜日
実際のお仕事の開発案件



         •永和システムマネジメントさん
         •リクルートMTLさん

2009年7月18日土曜日
2009年2月開発スタート


           nested attributesとか
           どうしても使いたくて
           Rails 2.3.0(beta1)系Edgeを採用


2009年7月18日土曜日
新機能



           かなり早い段階から
           Rails 2.3の新機能が使えた


2009年7月18日土曜日
会社にとってはリスク



           「責任はオレが取る」
                    - @kakutani




2009年7月18日土曜日
Edge時代



           FWの挙動が怪しいと
           ソースを読む日々


2009年7月18日土曜日
成果



           問題の報告をしたり、
           パッチがいくつか採用されたり


2009年7月18日土曜日
というわけで、


           永和システムマネジメントと
           メディアテクノロジーラボは
           Railsの開発に貢献しています!

2009年7月18日土曜日
2009年7月18日土曜日
こんな会社がもっと増えるといいな


           これもまた、会社として
           オープンソースを支援する
           一つの手段ではないでしょうか?

2009年7月18日土曜日
そろそろ結論


2009年7月18日土曜日
みんなもっとRailsの
                 開発に参加しよう

2009年7月18日土曜日
でもどうやって?
                 何のために?

2009年7月18日土曜日
どうやって?



         •Edge Railsで暮らす
         •そしてcontributeする

2009年7月18日土曜日
何のために?



           よりよい(Railsの)世界を
           作るために


2009年7月18日土曜日
Outline
         1. 発表タイトルについて

         2. Railsについて

         3. Railsの進化の歴史

         4. Railsエコシステム

         5. Contributing to Rails

         6.     私たちにできること
2009年7月18日土曜日
日本に居てRailsを使うということ



           日本のRailsは遅れているが、
           日本のRubyは進んでいる


2009年7月18日土曜日
ガイジンどもにはできないこと

           Rubyの母国という強みを
           生かした貢献
           e.g. Ruby 1.9
                 M17n
2009年7月18日土曜日
M17n


           なるせさんをお招きしてRailsのM17N関連に
           ダメ出しする会 @ Asakusa.rb
           http://qwik.jp/asakusarb/56.html




2009年7月18日土曜日
Asakusa.rb #11




           3本のパッチをコミット



2009年7月18日土曜日
宣伝



           Asakusa.rbではこんな活動を行っております。

           続きはAsakusa.rbで!


2009年7月18日土曜日
end




2009年7月18日土曜日
Thank You!
2009年7月18日土曜日

Más contenido relacionado

Destacado

Asakusa.rb設立のお知らせ
Asakusa.rb設立のお知らせAsakusa.rb設立のお知らせ
Asakusa.rb設立のお知らせAkira Matsuda
 
100.times { Asakusa.rb.meetup! }
100.times { Asakusa.rb.meetup! }100.times { Asakusa.rb.meetup! }
100.times { Asakusa.rb.meetup! }Akira Matsuda
 
New Wave of Database Programming with Ruby 1.9 on Rails 2.1
New Wave of Database Programming  with Ruby 1.9 on Rails 2.1New Wave of Database Programming  with Ruby 1.9 on Rails 2.1
New Wave of Database Programming with Ruby 1.9 on Rails 2.1Akira Matsuda
 
マネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォームマネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォームKeisuke Izumiya
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記Hiroyuki Ohnaka
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~Hiroyuki Ohnaka
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用Seiya Tokui
 
NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics  NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics Koichi Hamada
 
Optcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES EmulatorOptcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES Emulatormametter
 
Uncertainty Awareness in Integrating Machine Learning and Game Theory
Uncertainty Awareness in Integrating Machine Learning and Game TheoryUncertainty Awareness in Integrating Machine Learning and Game Theory
Uncertainty Awareness in Integrating Machine Learning and Game TheoryRikiya Takahashi
 
拡がるディープラーニングの活用
拡がるディープラーニングの活用拡がるディープラーニングの活用
拡がるディープラーニングの活用NVIDIA Japan
 
Developing the fastest HTTP/2 server
Developing the fastest HTTP/2 serverDeveloping the fastest HTTP/2 server
Developing the fastest HTTP/2 serverKazuho Oku
 
ゲームエンジンとMVC
ゲームエンジンとMVCゲームエンジンとMVC
ゲームエンジンとMVCAimingStudy
 
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書くRuby で高速なプログラムを書く
Ruby で高速なプログラムを書くmametter
 

Destacado (17)

Rails 3のはなし
Rails 3のはなしRails 3のはなし
Rails 3のはなし
 
Asakusa.rb Rocks!
Asakusa.rb Rocks!Asakusa.rb Rocks!
Asakusa.rb Rocks!
 
Asakusa.rb設立のお知らせ
Asakusa.rb設立のお知らせAsakusa.rb設立のお知らせ
Asakusa.rb設立のお知らせ
 
100.times { Asakusa.rb.meetup! }
100.times { Asakusa.rb.meetup! }100.times { Asakusa.rb.meetup! }
100.times { Asakusa.rb.meetup! }
 
New Wave of Database Programming with Ruby 1.9 on Rails 2.1
New Wave of Database Programming  with Ruby 1.9 on Rails 2.1New Wave of Database Programming  with Ruby 1.9 on Rails 2.1
New Wave of Database Programming with Ruby 1.9 on Rails 2.1
 
マネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォームマネーフォワードの考えるプラットフォーム
マネーフォワードの考えるプラットフォーム
 
p2pネットワーク
p2pネットワークp2pネットワーク
p2pネットワーク
 
実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記実録Blue-Green Deployment導入記
実録Blue-Green Deployment導入記
 
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~JJUG CCC 2014 fall  「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
JJUG CCC 2014 fall 「私がTDD出来ないのはどう考えてもお前らが悪い!」~エンタープライズJava開発でのTDD適用の勘所~
 
Deep Learningの基礎と応用
Deep Learningの基礎と応用Deep Learningの基礎と応用
Deep Learningの基礎と応用
 
NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics  NIPS 2016 Overview and Deep Learning Topics
NIPS 2016 Overview and Deep Learning Topics
 
Optcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES EmulatorOptcarrot: A Pure-Ruby NES Emulator
Optcarrot: A Pure-Ruby NES Emulator
 
Uncertainty Awareness in Integrating Machine Learning and Game Theory
Uncertainty Awareness in Integrating Machine Learning and Game TheoryUncertainty Awareness in Integrating Machine Learning and Game Theory
Uncertainty Awareness in Integrating Machine Learning and Game Theory
 
拡がるディープラーニングの活用
拡がるディープラーニングの活用拡がるディープラーニングの活用
拡がるディープラーニングの活用
 
Developing the fastest HTTP/2 server
Developing the fastest HTTP/2 serverDeveloping the fastest HTTP/2 server
Developing the fastest HTTP/2 server
 
ゲームエンジンとMVC
ゲームエンジンとMVCゲームエンジンとMVC
ゲームエンジンとMVC
 
Ruby で高速なプログラムを書く
Ruby で高速なプログラムを書くRuby で高速なプログラムを書く
Ruby で高速なプログラムを書く
 

Último

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 

Último (9)

論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 

Railsエコシステムの研究