企業システム開発に おけるRuby/Railsの 活用大場 光一郎                                    伊藤忠テクノソリューションズ(株)                                    ...
CTCはRuby技術者認定試験をやってます。              2
自己紹介クロスファンクショングループシステムエンジニアリング室SI推進部開発環境推進課                 3
NowPrinting開発システムジャーナル vol.7(マイコミ)RoR逆引きクイックリファレンス(マイコミ)まるごとRuby vol.1(Impress)JavaExpert #02(技術評論社)Scarabによるバグ追跡システム(オーム社...
JRubyと私•NKF• Iconv            5
資料は公開します        6
Agenda•Railsの特徴を紹介• 特徴にあった活用• 人の育成• 実際にやってみた               7
Rubyの特徴•オブジェクト指向言語• スクリプト言語• 動的な言語              8
まつもとゆきひろ氏            9
10年以上の歴史1995                   2000                 2005                  2010       Ruby      Ruby         Ruby          ...
Railsの概要•Webアプリケーションフレームワーク•MVC               11
MVC              1              1                         ControllerBrowser   6          1          4                     ...
デザインパターン   13
Railsで構築したサイト         14
Twitter          15
Cookpad          16
地球の歩き方         17
Rails2つの理念        18
1      DRYDon t Repeat Yourself                        19
2     CoCConvention over Configuration                  20
例:Controllerhttp://website.com/greeting/say                   greeting sayclass Greeting      GreetingController < App..  ...
例:Modelclass User < Act...          users has_many :blogs      id           number                      name         varch...
DSL•Domain SpecificLanguage•ドメイン特化言語                 23
コード量が激減する        24
ジェネレータとは違います         25
メタプログラミング         26
実践Rails           目次オライリー・ジャパン社Brad Ediger著(株)クイープ訳3150円                27
Scaffold•足場、ひな型• マスタメンテ• 本格的アプリケーションでは使われない                28
R a i l s ってなに?               29
オブジェクト指向(Ruby)      +デザインパターン(Rails)      ¦¦メタプログラミング(DSL)                  30
Railsの特徴           31
Railsに先進的な発明が盛り込まれているわけではない             32
なにが人々を惹きつけるのか        33
プログラミングする上でよいとされるプラクティスが詰め込んである            34
アジャイル        35
アジャイル支援•マイグレーション• DBの変更がクラス並みに容易に•少しづつ理想的なスキーマに育てる                36
テスト•ユニットテスト• ファンクショナルテスト• インテグレーションテスト• テスト駆動開発(TDD)                 37
テストが変更する力を生み出す         38
RESTful          39
REST•かっこいいURL• 規則的なURL• HTTPを活用しよう               40
http://unrest.com/login.do?jsessionid=09834ljjfsdioreiw8043                     41
http://rest.com/entries/10/edit                   42
Railsのパワー         43
バランスの妙         44
パレートの法則•80-20ルール• 20の力で80のことを• 80まではカバーする                45
Railsの楽しさ•小さな力• 大きな変化• 全能感            46
まとめDRY,デザインパターン, メタプログラミング,   TDD,REST      ¦¦     Rails                47
得手不得手 mckaysavage               (c) mckaysavage                           48
合わないプロジェクト         49
DRYじゃないDRYにしなくていい         (c) Jun Seita                  50
多数で同時開発       51
オブジェクト指向に不慣れ         52
テス ト を使わない     53
RESTじゃない       54
DB変更できない       55
Railsが得意とする武器が封じられる           56
できること              Java   Ruby WebApp        ●      ●   Mail        ●      ●    DB         ●      ●Web Service    ●      ▲...
マッチするプロジェクトとメンバーならたいへんなパワーを生み出す            58
マッチするプロジェクトに適用する           59
Railsにマッチするメンバーを育てるには             60
プログラミング言語を使うと        61
思考のプロセスに影響する        62
RubyらしいRubyっぽい          63
The Ruby Way               64
65
オブジェクト指向に精通デザインパターンに造詣  テストを愛する              66
王道は無い        67
みんながエキスパートでなくてもいい           68
Railsの性質を理解することで効果的に使える             69
Railsは自転車だ         70
背景の理論が分からなくても乗れる。原理、姿勢の出し方、力の入れ方を知ってると速く走れる。              71
人を育てるプロジェクト  とは         72
ソースコード レビュー         73
ペアプログラミング        74
コミュニケーション        75
名前重要       76
Railsが取り入れているプラクティスを活用する             77
実際にやっ てみた        78
•10人は多い• 6人以下くらい• 1名は経験者が欲しい• 経験者いなければ作る               79
進化の速い Rails         80
Railsの歴史2005-12   2006-03   2007-01   2007-07   2008-06   2008/10 Rails     Rails     Rails     Rails     Rails     Rails ...
プラグインヘル      82
Enginesの  悪夢           83
後方互換性の無い変更        84
追いつくのが大変更新も大変人に勧めるのも大変参考書籍が無い            85
鮫は泳ぐのを止めると死ぬ        86
バージョンを固定することでスキル停滞をまねく           87
新しいRailsには機能だけでなく新しい考え方が導入される              88
•Rails 2.0 → REST• Rails 2.1 → named_scope•Rails 2.2 → 国際 化、MT-safe                    89
パフォーマンスが上がる        90
セキュリティの向上        91
Railsを使うということ•Rails的に行動する• オブジェクト指向• デザインパターン• メタプログラミング• テスト                92
まとめ•Railsの魅力• Railsに合うプロジェクトを選ぶ•Railsをうまく使うには• Railsを使う上での課題                  93
Railsは人を育てる          94
AnyQuestion?            95
Upcoming SlideShare
Loading in …5
×

The Essence of Using Ruby on Rails in Corporations

2,591 views

Published on

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,591
On SlideShare
0
From Embeds
0
Number of Embeds
350
Actions
Shares
0
Downloads
22
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

The Essence of Using Ruby on Rails in Corporations

  1. 1. 企業システム開発に おけるRuby/Railsの 活用大場 光一郎 伊藤忠テクノソリューションズ(株) koichiro@ctc-g.co.jp koichiro@meadowy.orgJUAS OSS活用研究プロジェクト; 2008-11-11(火) 1
  2. 2. CTCはRuby技術者認定試験をやってます。 2
  3. 3. 自己紹介クロスファンクショングループシステムエンジニアリング室SI推進部開発環境推進課 3
  4. 4. NowPrinting開発システムジャーナル vol.7(マイコミ)RoR逆引きクイックリファレンス(マイコミ)まるごとRuby vol.1(Impress)JavaExpert #02(技術評論社)Scarabによるバグ追跡システム(オーム社) 4
  5. 5. JRubyと私•NKF• Iconv 5
  6. 6. 資料は公開します 6
  7. 7. Agenda•Railsの特徴を紹介• 特徴にあった活用• 人の育成• 実際にやってみた 7
  8. 8. Rubyの特徴•オブジェクト指向言語• スクリプト言語• 動的な言語 8
  9. 9. まつもとゆきひろ氏 9
  10. 10. 10年以上の歴史1995 2000 2005 2010 Ruby Ruby Ruby Ruby 1.1 1.3 1.6 1.8 Ruby Ruby 1.4 1.0 Ruby 1.9 Ruby 1.2 Java Java Java Java Java 6 1.0 1.2 1.4 5.0 Java Java 1.1 1.3 10
  11. 11. Railsの概要•Webアプリケーションフレームワーク•MVC 11
  12. 12. MVC 1 1 ControllerBrowser 6 1 4 1 2 1 5 1 3 1 View Model Ruby on Rails Database 12
  13. 13. デザインパターン 13
  14. 14. Railsで構築したサイト 14
  15. 15. Twitter 15
  16. 16. Cookpad 16
  17. 17. 地球の歩き方 17
  18. 18. Rails2つの理念 18
  19. 19. 1 DRYDon t Repeat Yourself 19
  20. 20. 2 CoCConvention over Configuration 20
  21. 21. 例:Controllerhttp://website.com/greeting/say greeting sayclass Greeting GreetingController < App.. def say Hello World. endend 21
  22. 22. 例:Modelclass User < Act... users has_many :blogs id number name varcharend password char mail varcharclass Blog < Act... blogs belongs_to :user id numberend user_id entry number varchar updated_at datetime 22
  23. 23. DSL•Domain SpecificLanguage•ドメイン特化言語 23
  24. 24. コード量が激減する 24
  25. 25. ジェネレータとは違います 25
  26. 26. メタプログラミング 26
  27. 27. 実践Rails 目次オライリー・ジャパン社Brad Ediger著(株)クイープ訳3150円 27
  28. 28. Scaffold•足場、ひな型• マスタメンテ• 本格的アプリケーションでは使われない 28
  29. 29. R a i l s ってなに? 29
  30. 30. オブジェクト指向(Ruby) +デザインパターン(Rails) ¦¦メタプログラミング(DSL) 30
  31. 31. Railsの特徴 31
  32. 32. Railsに先進的な発明が盛り込まれているわけではない 32
  33. 33. なにが人々を惹きつけるのか 33
  34. 34. プログラミングする上でよいとされるプラクティスが詰め込んである 34
  35. 35. アジャイル 35
  36. 36. アジャイル支援•マイグレーション• DBの変更がクラス並みに容易に•少しづつ理想的なスキーマに育てる 36
  37. 37. テスト•ユニットテスト• ファンクショナルテスト• インテグレーションテスト• テスト駆動開発(TDD) 37
  38. 38. テストが変更する力を生み出す 38
  39. 39. RESTful 39
  40. 40. REST•かっこいいURL• 規則的なURL• HTTPを活用しよう 40
  41. 41. http://unrest.com/login.do?jsessionid=09834ljjfsdioreiw8043 41
  42. 42. http://rest.com/entries/10/edit 42
  43. 43. Railsのパワー 43
  44. 44. バランスの妙 44
  45. 45. パレートの法則•80-20ルール• 20の力で80のことを• 80まではカバーする 45
  46. 46. Railsの楽しさ•小さな力• 大きな変化• 全能感 46
  47. 47. まとめDRY,デザインパターン, メタプログラミング, TDD,REST ¦¦ Rails 47
  48. 48. 得手不得手 mckaysavage (c) mckaysavage 48
  49. 49. 合わないプロジェクト 49
  50. 50. DRYじゃないDRYにしなくていい (c) Jun Seita 50
  51. 51. 多数で同時開発 51
  52. 52. オブジェクト指向に不慣れ 52
  53. 53. テス ト を使わない 53
  54. 54. RESTじゃない 54
  55. 55. DB変更できない 55
  56. 56. Railsが得意とする武器が封じられる 56
  57. 57. できること Java Ruby WebApp ● ● Mail ● ● DB ● ●Web Service ● ▲ Async ● ▲ Legacy ● ▲ Auth* ● ▲ 57
  58. 58. マッチするプロジェクトとメンバーならたいへんなパワーを生み出す 58
  59. 59. マッチするプロジェクトに適用する 59
  60. 60. Railsにマッチするメンバーを育てるには 60
  61. 61. プログラミング言語を使うと 61
  62. 62. 思考のプロセスに影響する 62
  63. 63. RubyらしいRubyっぽい 63
  64. 64. The Ruby Way 64
  65. 65. 65
  66. 66. オブジェクト指向に精通デザインパターンに造詣 テストを愛する 66
  67. 67. 王道は無い 67
  68. 68. みんながエキスパートでなくてもいい 68
  69. 69. Railsの性質を理解することで効果的に使える 69
  70. 70. Railsは自転車だ 70
  71. 71. 背景の理論が分からなくても乗れる。原理、姿勢の出し方、力の入れ方を知ってると速く走れる。 71
  72. 72. 人を育てるプロジェクト とは 72
  73. 73. ソースコード レビュー 73
  74. 74. ペアプログラミング 74
  75. 75. コミュニケーション 75
  76. 76. 名前重要 76
  77. 77. Railsが取り入れているプラクティスを活用する 77
  78. 78. 実際にやっ てみた 78
  79. 79. •10人は多い• 6人以下くらい• 1名は経験者が欲しい• 経験者いなければ作る 79
  80. 80. 進化の速い Rails 80
  81. 81. Railsの歴史2005-12 2006-03 2007-01 2007-07 2008-06 2008/10 Rails Rails Rails Rails Rails Rails 1.0.0 1.1.0 1.2.1 2.0.0 2.1.0 2.2RC1 81
  82. 82. プラグインヘル 82
  83. 83. Enginesの 悪夢 83
  84. 84. 後方互換性の無い変更 84
  85. 85. 追いつくのが大変更新も大変人に勧めるのも大変参考書籍が無い 85
  86. 86. 鮫は泳ぐのを止めると死ぬ 86
  87. 87. バージョンを固定することでスキル停滞をまねく 87
  88. 88. 新しいRailsには機能だけでなく新しい考え方が導入される 88
  89. 89. •Rails 2.0 → REST• Rails 2.1 → named_scope•Rails 2.2 → 国際 化、MT-safe 89
  90. 90. パフォーマンスが上がる 90
  91. 91. セキュリティの向上 91
  92. 92. Railsを使うということ•Rails的に行動する• オブジェクト指向• デザインパターン• メタプログラミング• テスト 92
  93. 93. まとめ•Railsの魅力• Railsに合うプロジェクトを選ぶ•Railsをうまく使うには• Railsを使う上での課題 93
  94. 94. Railsは人を育てる 94
  95. 95. AnyQuestion? 95

×