$30 off During Our Annual Pro Sale. View Details »

rwc2014

 rwc2014

Ruby World Conference 2014
2014.11.13, 14
クラウドサービスを使って簡単に始めるRuby Webアプリケーション開発

Kuniaki IGARASHI

November 14, 2014
Tweet

More Decks by Kuniaki IGARASHI

Other Decks in Technology

Transcript

  1. Ϋϥ΢υαʔϏεΛ࢖ͬͯ؆୯ʹ࢝ΊΔ
    3VCZ8FCΞϓϦέʔγϣϯ։ൃ
    6TFDMPVETFSWJDFTUPFBTJMZEFWFMPQ
    3VCZXFCBQQMJDBUJPOT
    ޒेཛྷ๜໌,VOJBLJ*("3"4)*
    TQJDFMJGF *OD
    3VCZ8PSME$POGFSFODF
    HJUIVCJHBJHB
    UXJUUFSJHBJHB
    GBDFCPPLLVOJBLJJHBSBTIJ

    View Slide

  2. ޒेཛྷ๜໌
    גࣜձࣾTQJDFMJGF
    ։ൃ෦෦௕
    HJUIVCJHBJHB
    UXJUUFSJHBJHB
    GBDFCPPLLVOJBLJJHBSBTIJ

    View Slide

  3. ΤϯδχΞΦϑΟε෺݅ืूத
    BUUPCF/:P⒏DFIUUQTXXXqJDLSDPNQIPUPTBTPOBT
    גࣜձࣾTQJDFMJGF
    ౡࠜࢧࣾઃཱ४උத

    View Slide

  4. "HFOEB
    w3VCZ 3BJMTͷ։ൃ؀ڥͷ࡞Γํ
    wΫϥ΢υαʔϏε/JUSPVT*0
    w8PSLTIPQͷ࣮ྫΛ௨ͨ͡ධՁ
    w8FCΞϓϦͷֶशํ๏
    w3BJMT
    w4JOBUSB

    View Slide

  5. ࿩͢͜ͱ
    wΫϥ΢υ؀ڥΛ࢖ͬͨ3VCZ 3BJMTͷ։ൃ
    wϫʔΫγϣοϓͰ࢖͏ࡍʹؾΛ͚ͭΔ͜ͱ
    w3VCZ 3BJMTͷֶशํ๏ͱֶशࢿྉ
    wର৅ɿϓϩάϥϛϯάΛ͜Ε͔Β࢝ΊΔํ
    ͜ͷൃදΛฉ͘ͱֶश ڭҭ
    Λ࢝ΊΒΕΔ
    ࿩͞ͳ͍͜ͱ
    w+BWB4DSJQU
    w೉͍ٕ͠ज़ͷ࿩
    ͜ͷൃදͰ࿩͢͜ͱɾ࿩͞ͳ͍͜ͱ

    View Slide

  6. 3VCZ 3BJMTͷ։ൃ؀ڥΛ࡞Δͷ͸೉͍͠
    IUUQTXXXqJDLSDPNQIPUPTIJEEFO@WJDF

    View Slide

  7. 3VCZ 3BJMTͷ։ൃ؀ڥ
    8JOEPXT
    "DUJWF4DSJQU3VCZ 3VCZ

    DPNQJMFS
    3BJMT*OTUBMMFS 3VCZ

    .BD
    QSFJOTUBMMFE 3VCZ


    SCFOW 3VCZ

    YDPEFIPNFCSFX
    -JOVY
    SCFOW 3VCZ

    DPNQJMFS
    ΑΓ؆୯ʹηοτΞοϓͰ͖Δ3VCZ 3BJMT։ൃ؀ڥͷఏҊ
    ‎/JUSPVT*0

    View Slide

  8. IUUQTXXXOJUSPVTJP

    View Slide

  9. 8IBU`T/JUSPVT*0ʁ
    ϒϥ΢β͔Βར༻Ͱ͖Δ
    Ϋϥ΢υ্ͷ౷߹։ൃ؀ڥ *%&

    'JMF&YQMPSFS
    &EJUPS
    5FSNJOBM

    View Slide

  10. /JUSPVT*0ͷྑ͞
    ແྉϓϥϯͰձһొ࿥Λͨ͠Β͙͢ʹ
    3VCZͷ։ൃ͕Ͱ͖Δ

    View Slide

  11. /JUSPVT*0ͰͰ͖Δ͜ͱ
    w5FSNJOBM͔Β3VCZίʔυΛ࣮ߦ
    w3BJMT 4JOBUSBͰ8FCΞϓϦ։ൃ
    wHJUΛ࢖ͬͯHJUIVCͱ࿈ܞ
    w࠷৽όʔδϣϯͷ3VCZΛར༻Մೳ

    View Slide

  12. /JUSPVT*0ͷ࢖͍ํ

    View Slide

  13. /JUSPVT*0Ͱ։ൃΛ࢝ΊΔ
    ձһొ࿥

    View Slide

  14. /JUSPVT*0Ͱ։ൃΛ࢝ΊΔ
    $SFBUF#PY
    #09
    ։ൃ࣮ߦ؀ڥ
    ͷ୯Ґ

    View Slide

  15. /JUSPVT*0Ͱ։ൃΛ࢝ΊΔ
    ༗ྉϓϥϯΛ
    ࢖͏৔߹͸
    /0Λ
    ߪೖ͢Δ
    /0
    /JUSPVT*0
    ͰͷԾ૝௨՟
    ແྉϓϥϯͱ
    ͷࠩ͸ޙड़

    View Slide

  16. /JUSPVT*0Ͱ։ൃΛ࢝ΊΔ
    μογϡϘʔυ
    ఀࢭ࣌͸4UBSUΛԡͯ͠ىಈ
    ੺͸ఀࢭத ͠͹Β͘࢖Θͳ͍ͱࣗಈఀࢭ͢Δ

    View Slide

  17. /JUSPVT*0Ͱ։ൃΛ࢝ΊΔ
    μογϡϘʔυ
    *%&ϘλϯΛԡͯ͠։ൃը໘΁Ҡಈ
    ྘͸ىಈத

    View Slide

  18. *%&
    'JMF&YQMPSFS
    &EJUPS
    5FSNJOBM

    View Slide

  19. /JUSPVT*0Ͱ3BJMTΞϓϦΛͭ͘Δ
    TDBGGPMEΛ࢖ͬͯຊͷ৘ใΛొ࿥͢Δ؆୯ͳΞϓϦΛͭ͘Γ·͢
    EFNP
    IUUQZPVUVCF4Y*SXQ7%

    View Slide

  20. SBJMTTFSWFSͨ͠ͱ͖ͷ઀ଓํ๏
    ˞Πϯλʔωοτ্ʹެ։͞ΕΔͷͰ
    ެ։ͨ͘͠ͳ͍৔߹͸ɺ
    1SFWJFX4FU1BTTXPSE͔Β
    #"4*$ೝূͷύεϫʔυΛઃఆ
    /JUSPVT*0Ͱ3BJMTΞϓϦΛͭ͘Δ

    View Slide

  21. /JUSPVT*0ͷ஫ҙ఺
    wແྉϓϥϯͰ͸ఆظతʹΠϯελϯε͕ఀࢭ
    w؅ཧ༻μογϡϘʔυ͔Β࠶ىಈՄೳʢແྉʣ
    wϫʔΫγϣοϓͷؒʹఀࢭͨ͠έʔε͸ແ͠
    wωοτϫʔΫ͕ͳ͍ͱ࢖͑ͳ͍

    View Slide

  22. "DBTFTUVEZJOXPSLTIPQ
    3BJMT(JSMT0TBLB
    IUUQTXXXqJDLSDPNQIPUPTRVBEJOTFU

    View Slide

  23. "DBTFTUVEZJOXPSLTIPQ
    3BJMT(JSMTେࡕͰ/JUSPVT*0Λར༻
    wର৅ऀ͸ॳֶऀʢॳϓϩάϥϛϯάͷํ΋ʣ
    w࡞੒ͨ͠ΞϓϦ͸ࣸਅ౤ߘϛχϒϩάΞϓϦ
    wࢿྉɿIUUQSBJMTHJSMTKQBQQ
    wશ໿࣌ؒͷ࡞ۀ࣌ؒ
    w؀ڥߏங ձһొ࿥
    ΞϓϦ࣮૷ ެ։

    View Slide

  24. "DBTFTUVEZJOXPSLTIPQ
    ྑ͍఺
    w؀ڥߏங ձһొ࿥
    ͕୹࣌ؒͰ؆୯ ෼ఔ౓

    w෼͔Γқ͘࢖͍қ͍ͱ޷ҙతͳҙݟ
    w1$Λସ͑ͨ৔߹΋Ҿ͖ଓ͖ར༻Ͱ͖Δ
    w/JUSPVT*0͚ͩͰΠϯλʔωοτެ։Մೳ 1BB4ෆཁ

    View Slide

  25. "DBTFTUVEZJOXPSLTIPQ
    ѱ͍఺
    w*&Ͱ͸Ұ෦ػೳ͕࢖͑ͳ͍ͷͰ$ISPNFϒϥ΢βͳͲ͕ඞཁ
    wωοτϫʔΫ͕੾Εͨ৔߹ʹ࢖͑ͳ͍
    wϑΝΠϧΤΫεϓϩʔϥͰҙਤͤͣυϥοάΞϯυυϩοϓͷ
    ૢ࡞Λͯ͠͠·͍ɺϑΥϧμ͕ߦํෆ໌ʹͳΔ
    w/JUSPVT*0͕αʔϏεΛఀࢭͨ͠৔߹ʹར༻Ͱ͖ͳ͘ͳΔ
    ࣄલʹઆ໌Λߦ͍ɺଞͷ։ൃ؀ڥߏஙͱͲͪΒ΋
    બ୒Մೳʹ͓ͯ͘͠ͷ͕ྑ͍

    View Slide

  26. TQJDFMJGFࣾһཱྀߦUP/JUSPVT*0
    ͻͱ΍͢ΈCSFBL
    IUUQTXXXqJDLSDPNQIPUPTJHBJHB

    View Slide

  27. /JUSPVT*0JTFYDJUFEUPTFFTP
    NVDITVQQPSUGSPNPVSGSJFOET
    JO+BQBO8FXPVMEMPWFUPIFBS
    GSPNZPVBOETFFXIBUZPV`SF
    CVJMEJOHXJUI/JUSPVT*0
    .FTTBHFGSPN/JUSPVT*0

    View Slide

  28. 3BJMTΛ࢖ͬͨ
    8FCΞϓϦ։ൃͷֶशํ๏
    ํ਑
    wର৅͸ϓϩάϥϛϯά͕ॳΊͯͷํ
    wͰ͖Δ͚ͩ෼͔Γқ͘આ໌͍ͨ͠

    View Slide

  29. 3BJMTͷֶशࢿྉͷྫ
    w3BJMT(VJEFT XFC
    IUUQSBJMTHVJEFTKQ
    w3BJMT5VUPSJBM XFC
    IUUQSBJMTUVUPSJBMKQ
    w࣮ફ3VCZPO3BJMT ॻ੶

    wஶࠇా౒*4#/
    ϓϩάϥϚ޲͚‎೉͘͠ɺཧղ͕ࠔ೉ͳ৔߹΋
    ͜ΕΒͷࢿྉͷखલΛຒΊΔɺ
    ΑΓ෼͔Γқ͍ࢿྉΛ࡞੒ͨ͠

    View Slide

  30. IUUQCJUMZJHB[FNJ
    IUUQTHJUIVCDPNJHBJHBSBJMT@UFYUCPPL

    View Slide

  31. 3BJMTͷڭՊॻֶशͷྲྀΕ
    w࣮ࡍʹ࡞ͬͯԿ͕Ͱ͖Δ͔Λ஌Δ
    w3BJMTΞϓϦͷ࢓૊ΈΛ஌Δ
    wखຊͱͳΔίʔυʹ৮ΕΔ
    wσόοάͷํ๏Λ஌Δ
    w՝୊Λ͜ͳ͍ͯ͘͠

    View Slide

  32. ୊ࡐը૾౤ߘػೳ෇͖ϛχϒϩάΞϓϦ
    ࣮ࡍʹ࡞ͬͯԿ͕Ͱ͖Δ͔Λ஌Δ

    View Slide

  33. ը૾౤ߘػೳ෇͖ϛχϒϩάΞϓϦ
    গ͠ͷίϚϯ
    υͱίʔυྔ
    Ͱ࣮૷Ͱ͖Δ
    3BJMTͷڭՊॻΑΓҰ෦ൈਮ

    View Slide

  34. 3BJMTΞϓϦͷ࢓૊ΈΛ஌Δ
    3BJMTͷڭՊॻΑΓҰ෦ൈਮ

    View Slide

  35. αϯϓϧΞϓϦͰखຊͱͳΔίʔυʹ৮ΕΔ
    ը૾౤ߘػೳ෇͖ϛχϒϩάΞϓϦ
    wTDBGGPME ੜ੒͞Εͨίʔυ͸ྑ͍खຊ

    w$36%جૅ
    w.7$
    w3BJMTͷॲཧͷྲྀΕ
    wSPVUFT DPOUSPMMFS WJFX
    w(FN #VOEMFS ը૾౤ߘDBSFFSXBWFHFN

    ֶͿཁૉ

    View Slide

  36. σόοάͷํ๏Λ஌Δ
    wΤϥʔͷಡΈํ
    wϩάͷग़͠ํɺಡΈํ
    wϒϥ΢βͷσόοάػೳ
    wQSZͰσόοά

    View Slide

  37. ֶशͷྲྀΕ
    ͜ͷઌ΁ͭͮ͘ಓΛࣔ͢
    w࣮ࡍʹ࡞ͬͯԿ͕Ͱ͖Δ͔Λ஌Δ
    w3BJMTΞϓϦͷ࢓૊ΈΛ஌Δ
    wखຊͱͳΔίʔυʹ৮ΕΔ
    wσόοάͷํ๏Λ஌Δ
    w՝୊Λ͜ͳ͍ͯ͘͠

    View Slide

  38. 3BJMTΛ΋ͬͱֶͼ͍ͨਓ΁
    8FC্ͷࢿྉ
    w3BJMTͷڭՊॻ
    wIUUQCJUMZJHB[FNJ
    w3BJMT(VJEFTIUUQSBJMTHVJEFTKQ
    w ໢ཏతͳղઆͰ3BJMTͷػೳΛֶͿ
    w3BJMT5VUPSJBMIUUQSBJMTUVUPSJBMKQ
    w αϯϓϧΞϓϦͮ͘ΓΛ௨ͯ͡3BJMTΛֶͿ
    w ୡਓग़൛ձʹిࢠॻ੶൛΋͋ΓIUUQUBUTV[JOFDPNCPPLTSBJMTUVUPSJBM
    ॻ੶
    w࣮ફ3VCZPO3BJMT 3BJMTରԠ

    wஶࠇా౒*4#/

    View Slide

  39. TQJDFMJGFࣾһཱྀߦJO/:XJUIࣰݪ༗࢘உ
    ͻͱ΍͢ΈCSFBL
    IUUQTXXXqJDLSDPNQIPUPTBTPOBT

    View Slide

  40. TQJDFMJGFTFSWJDFT

    View Slide

  41. TQJDFMJGFTQPOTPSFEFWFOUT

    View Slide

  42. 3BJMT
    8FCαʔϏε։ൃͷελϯμʔυ
    ศར͕ͩෳࡶɺशಘίετ͕ߴ͍
    4JOBUSB
    ϑΝΠϧͰಈ࡞ γϯϓϧͳߏ੒

    8FCΞϓϦͷಈ࡞Λཧղ͢Δͷʹྑ͍୊ࡐ
    3VCZ8FC"QQ'SBNFXPSLT

    View Slide

  43. 4JOBUSB4BNQMF
    IFMMPSC
    HFNJTJOBUSB
    SVCZIFMMPSCQ
    PS
    SVCZIFMMPSCQP
    ˢ/JUSPVT*0Ͱ͸PΛ෇༩
    IUUQMPDBMIPTU
    ϒϥ΢βͰΞΫηε
    SFRVJSFTJOBUSB
    HFUEP
    )FMMPXPSME
    FOE
    ݁Ռ

    View Slide

  44. 4JOBUSBͱ3BJMTͷൺֱ
    4JOBUSB
    pMF
    IFMMPSC
    3BJMT

    View Slide

  45. 4JOBUSBσʔλอଘ ӬଓԽ

    σʔλอଘͷ࢓૊Έ͸ผ్༻ҙ͢Δඞཁ͕͋Δ
    3BJMTͰඪ४తʹར༻͞Ε͍ͯΔ
    "DUJWF3FDPSE͸ઃఆ͕ෳࡶʹͳΔ ίʔυ਺ेߦ

    ָʹσʔλΛอଘ͍ͨ͠
    ‎Ϋϥ΢υαʔϏεpSFCBTFͱ
    )BTIΛอଘͰ͖ΔpSFCBTFHFNΛར༻

    View Slide

  46. IUUQTXXXpSFCBTFDPN

    View Slide

  47. 'JSFCBTF
    Ϋϥ΢υ্ͷσʔλ؅ཧαʔϏε
    pSFCBTFHFNΛ࢖͏ͱ୹͍ίʔυͰ
    )BTIΦϒδΣΫτͷอଘɺಡΈग़͕͠Մೳ
    ແྉϓϥϯར༻Մೳ

    View Slide

  48. ࣄલ४උ
    ΞΧ΢ϯτΛ࡞੒͠ɺ
    %BTICPBSE͔Β
    $3&"5&/&8"11
    ϘλϯΛԡͯ͠
    ΞϓϦΛ࡞੒͢Δ

    View Slide

  49. pSFCBTFHFNTBNQMFDPEF
    pSFCBTF@TBNQMFSC
    SFRVJSFpSFCBTF
    VSMIUUQTJHBJHBTBNQMFpSFCBTFJPDPN
    pSFCBTF'JSFCBTF$MJFOUOFX VSM

    TUPSBHF@OBNFCPYࣗ༝ʹ໋໊Մೳ
    I\BQQMF HSBQF^อଘ͢Δ)BTI
    4BWF
    pSFCBTFTFU TUPSBHF@OBNF I

    -PBE
    QSFTVMUpSFCBTFHFU TUPSBHF@OBNF
    CPEZ
    HFNJpSFCBTF
    SVCZpSFCBTF@TBNQMFSC ݁Ռ\BQQMF HSBQF^
    $POpH
    4BWF
    -PBE
    ˞VSM͸EBTICPBSEͰ
    ઃఆͨ͠"1163-
    )BTIΛอଘͯ͠ಡΈࠐΉ3VCZαϯϓϧίʔυ

    View Slide

  50. TJOBUSBpSFCBTFTBNQMFDPEF
    pSFCBTF@TJOBUSBSC
    SFRVJSFTJOBUSB
    SFRVJSFpSFCBTF
    'JSFCBTFTFUUJOHT
    VSMIUUQTJHBJHBTBNQMFpSFCBTFJPDPN
    pSFCBTF'JSFCBTF$MJFOUOFX VSM

    TUPSBHF@OBNFCPY
    4BWF ຊདྷ͸QPTU͕ͩɺΞΫηε͕؆୯ͳͷͰHFU

    HFUOBNFOBNFEP
    pSFCBTFTFU TUPSBHF@OBNF \OBNF
    QBSBNT<OBNF>^

    7JTJUPSOBNF\QBSBNT<OBNF>^
    FOE
    -PBE
    HFUWJTJUPSEP
    pSFCBTFHFU TUPSBHF@OBNF
    CPEZUP@T
    FOE
    HFNJpSFCBTFTJOBUSB
    SVCZpSFCBTF@TJOBUSBSC
    ˢ/JUSPVT*0Ͱ͸ҎԼΛ෇༩
    QP
    OBNFJHB
    ϒϥ΢βͰOBNF999΁ΞΫηε
    WJTJUPS
    \OBNFJHB^
    OBNF999΁ΞΫηεͨ͠ࡍʹ
    4BWF͞ΕͨσʔλΛදࣔ

    View Slide

  51. ΋ͬͱֶͼ͍ͨਓ΁4JOBUSB 3VCZฤ
    wೖ໳4JOBUSB
    w*4#/
    wߨٛࢿྉ 3VCZฤ

    wIUUQTHJUIVCDPNJHBJHBIJUPUTVCBTIJSVCZ
    wୈճʙୈճ3VCZฤ ୈճʙୈճͷ3BJMTฤ͸3BJMTͷڭՊॻΛࢀর

    wͨͷ͍͠3VCZୈ൛
    w*4#/

    View Slide

  52. ·ͱΊ
    w/JUSPVT*0Ͱ؆୯ʹ3VCZ 3BJMT։ൃ
    wIUUQTXXX/JUSPVT*0
    w3BJMTͷڭՊॻΛ࡞੒ͨ͠
    wIUUQCJUMZJHB[FNJ
    wγϯϓϧͳ4JOBUSBͰ8FCΞϓϦΛཧղ
    w'JSFCBTFHFNͰ؆୯ʹσʔλอଘ

    View Slide

  53. 3VCZ͸։ൃऀΛ
    ޾ͤʹ͢Δݴޠɻ
    ΋ͬͱଟ͘ͷ։ൃऀΛ
    3VCZͰ޾ͤʹ͍ͨ͠ɻ
    ·ͭ΋ͱΏ͖ͻΖ

    View Slide

  54. /JUSPVT*0(VZT
    দԬઌੜɺ-FXJTڭतɺᖛ࡚͞ΜɺχϑςΟגࣜձࣾླ໦ઌੜɺٶ಺͞Μ
    ҰڮେֶͷडߨֶੜͷΈͳ͞·
    3BJMT(JSMT 3BJMTࣉࢠ԰ͷελοϑɺίʔνɺࢀՃऀͷΈͳ͞·
    ৬৔ಉ྅
    ँࣙ5IBOLT
    BCPVUNF
    HJUIVCJHBJHB
    UXJUUFSJHBJHB
    GBDFCPPLLVOJBLJJHBSBTIJ
    U%JBSZIUUQJHBSBTIJLVOJBLJOFU
    3BJMTͷڭՊॻIUUQCJUMZJHB[FNJ
    2VFTUJPOʁ

    View Slide

  55. View Slide

  56. ิ଍
    TVQQMFNFOUBSZFYQMBOBUJPO

    View Slide

  57. /JUSPVT*0Ͱ3VCZΛόʔδϣϯΞοϓ
    SWNΛར༻͍ͯ͠ΔͷͰɺSWNͷ࡞๏Ͱ࠷৽൛ͷ3VCZΛར༻Մೳ
    IUUQJHBSBTIJLVOJBLJOFUEJBSZIUNM

    View Slide

  58. pSFCBTFEBTICPBSE

    View Slide

  59. ͜ͷ1೥ͷRubyΤίγεςϜͷϗοττϐοΫͷ1ͭ
    ৽ֶ͍͠ͼͷ৔͕ͨ͘͞ΜͰ͖ͨ

    View Slide