際際滷

際際滷Share a Scribd company logo
二Iシステム_kに
 おけるRuby/Railsの
 試喘

寄 高匯隻
                                    卅儲嶢テクノソリュ`ションズ(幄)
                                          koichiro@ctc-g.co.jp
                                       koichiro@meadowy.org



JUAS OSS試喘冩梢プロジェクト; 2008-11-11(諮)
                                                             1
CTCはRuby室g宀
J協Yをやってま
す。

              2
徭失B初
クロスファンクショングル`プ
システムエンジニアリング片
SI容M何
_kh廠容Mn

                 3
Now
Printing




_kシステムジャ`ナル vol.7(マイコミ)
RoR剃哈きクイックリファレンス(マイコミ)
まるごとRuby vol.1(Impress)
JavaExpert #02(室gu芙)
Scarabによるバグ弖Eシステム(オ`ム芙)
                          4
JRubyと暴



?NKF

? Iconv
            5
Y創は巷_
します
        6
Agenda
?檎温庄鉛壊の蒙罿鮟B初

? 蒙罿砲△辰浸醵

? 繁の圄撹

? gHにやってみた

               7
Rubyの蒙

?オブジェクト峺鰕壞Z

? スクリプト冱Z

? 啜弔変壞Z


              8
まつもとゆきひろ箆
            9
10定參貧のs雰
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
Railsの古勣

?
Webアプリケ`ション
フレ`ムワ`ク

?MVC


               11
MVC
              1
              1
                         Controller

Browser   6
          1          4
                     1                2
                                      1




                             5
                             1                3
                                              1

                  View                Model

                   Ruby on Rails                  Database



                                                             12
デザイン
パタ`ン   13
Railsで
Bした
サイト
         14
Twitter




          15
Cookpad




          16
仇白のiき圭


         17
Rails
2つの尖廷
        18
1      DRY

Don t Repeat Yourself
                        19
2     CoC
Convention over
 Con?guration
                  20
箭:Controller
http://website.com/greeting/say
                   greeting say


class Greeting
      GreetingController < App..
   def say
      Hello World.
   end
end
                                   21
箭:Model
class User < Act...          users
 has_many :blogs      id           number
                      name         varchar
end                   password     char
                      mail         varchar


class Blog < Act...          blogs
 belongs_to :user     id           number

end                   user_id
                      entry
                                   number
                                   varchar
                      updated_at   datetime



                                              22
DSL

?
Domain Speci?c
Language

?ドメイン蒙晒冱Z


                 23
コ`ド楚が
爾pする
        24
ジェネレ`タ
とは`います
         25
メタプログラ
ミング
         26
g樹檎温庄鉛壊
           朕肝




オライリ`?ジャパン芙
Brad Ediger广
(幄)クイ`プU
3150
                27
Scaffold
?怎、ひな侏

? マスタメンテ

? 云鯉議アプリケ`ション
では聞われない

                28
R a i l s って
なに
               29
オブジェクト峺(檎顎恢霞)
      
デザインパタ`ン(Rails)
      ??
メタプログラミング(DSL)

                  30
檎温庄鉛壊の蒙

           31
Railsに枠M議な
k苧が腹りzまれ
ているわけではな
い
             32
なにが繁?
を版きつけ
るのか
        33
プログラミングする
貧でよいとされる
プラクティスがめ
zんである
            34
アジャイル

        35
アジャイル屶址
?マイグレ`ション

? DBの筝がクラスKみ
に否叟に

?
富しづつ尖覽弔淵好`
マに圄てる
                36
テスト
?ユニットテスト

? ファンクショナルテスト

? インテグレ`ションテスト

? テストl嚔_k(TDD)

                 37
テストが筝
する薦を伏
み竃す
         38
RESTful
          39
REST

?かっこいいURL

? t議なURL

? HTTPを試喘しよう


               40
http://unrest.com/
login.do?
jsessionid=09834lj
jfsdioreiw8043

                     41
http://rest.com/
entries/10/edit



                   42
Railsの
パワ`
         43
バランスの虫

         44
パレ`トの隈t

?80-20ル`ル

? 20の薦で80のことを

? 80まではカバ`する

                45
RailsのSしさ

?弌さな薦

? 寄きな篁

? 畠嬬湖

            46
まとめ
DRY,デザインパタ`ン,
 メタプログラミング,
   TDD,REST
      ??
     Rails

                47
誼返音誼返
 mckaysavage




               (c) mckaysavage
                           48
栽わない
プロジェクト
         49
DRYじゃない
DRYにしなくていい

         (c) Jun Seita
                  50
謹方で
揖r_k
       51
オブジェクト
峺鬚鵬Tれ
         52
テス ト を
聞わない
     53
REST
じゃない
       54
DB筝
できない
       55
Railsが
誼吭とする
冷匂が撃じられる

           56
できること
              Java   Ruby
 WebApp        ¢      ¢
   Mail        ¢      ¢
    DB         ¢      ¢
Web Service    ¢      §
  Async        ¢      §
  Legacy       ¢      §
   Auth*       ¢      §



                            57
マッチするプロジェ
クトとメンバ`なら
たいへんなパワ`を
伏み竃す
            58
マッチするプロ
ジェクトにm喘す
る

           59
Railsにマッチす
るメンバ`を圄て
るには

             60
プログラミ
ング冱Zを
聞うと
        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
gHにやっ
 てみた
        78
?10繁は謹い

? 6繁參和くらい

? 1兆はUY宀が圀しい

? UY宀いなければ恬る


               79
M晒の堀い
 Rails
         80
Railsのs雰
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
Enginesの
  
           83
瘁圭札Q來
のoい筝
        84
弖いつくのが寄
厚仟も寄
繁に瓩瓩襪里盍
歌深汐がoい
            85
oは咯ぐの
を峭めると
棒ぬ
        86
バ`ジョンを耕協
することでスキル
唯嵳をまねく

           87
仟しいRailsにはC
嬬だけでなく仟しい
深え圭が秘される

              88
?Rails 2.0 ★ REST

? Rails 2.1 ★
 named_scope

?Rails 2.2 ★ 忽H
 晒、MT-safe

                    89
パフォ`マ
ンスが貧が
る
        90
セキュリ
ティの鯢
        91
Railsを聞うということ
?Rails議に佩咾垢

? オブジェクト峺

? デザインパタ`ン

? メタプログラミング

? テスト
                92
まとめ
?Railsの帆

? Railsに栽うプロジェク
トをxぶ

?Railsをうまく聞うには

? Railsを聞う貧でのn}
                  93
Railsは繁
を圄てる
          94
Any
Question?
            95

More Related Content

The Essence of Using Ruby on Rails in Corporations