Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ふつうのRails開発を続けるために

 ふつうのRails開発を続けるために

2017/05/23に開催された「『ふつう』のRuby on Rails ウェブサービス開発(Clipla x みんなのウェディング)での発表資料です。

イベントURLはこちら。
https://mwed.connpass.com/event/55698/

Masatoshi Iwasaki

May 23, 2017
Tweet

More Decks by Masatoshi Iwasaki

Other Decks in Programming

Transcript

  1. ;ͭ͏ͷ3BJMT։ൃΛ ଓ͚ΔͨΊʹ ΫϦχΧϧɾϓϥοτϑΥʔϜגࣜձࣾ ؠ࡚ɹڡण

  2. ࣗݾ঺հ w ؠ࡚ڡणʢ͍Θ͖͞ɹ·͞ͱ͠ʣ w 3BJMT͸ͷࠒ͔Β৮ͬͯ·͢ɻ w ೥ۙ͘ϑϦʔϥϯεʢҰਓձࣾʣͰओʹ3BJMTΛ ࢖ͬͨ։ൃΛ΍͍ͬͯ·ͨ͠ɻ w ࡢ೥݄ʹΫϦχΧϧɾϓϥοτϑΥʔϜࣾʹ

    KPJOɻ
  3. ࠓ೔ͷ͓୊ ʹߦ͘લʹ

  4. $MJQMBͷ։ൃʹ͍ͭͯ

  5. Ϋϥ΢υܕిࢠΧϧς $MJQMB w ϒϥ΢β্Ͱૢ࡞͢ΔిࢠΧϧςɻ w αϙʔτ͍ͯ͠Δϒϥ΢β͸࠷৽൛ͷ$ISPNFͷΈɻ w ଞʹ΋ಈ࡞؀ڥʹඞཁͳࡉ͔͍৚݅ɺ࿈ܞ͢ΔγεςϜͳ Ͳ͕͋Γ·͕͢ࠓճ͸ׂѪɻ

  6. αʔϏε։ൃͷྺ࢙  ։ൃ։࢝  ϕʔλ൛ఏڙ։࢝  ਖ਼ࣜϦϦʔε

  7. 3BJMTΞϓϦͱͯ͠ͷ $MJQMB  

  8. ։ൃʹར༻͍ͯ͠Δ αʔϏε

  9. ϓϩδΣΫτͷಛ௃ w ͋·Γ௝͍͜͠ͱ͸ͯ͠ͳ͍ɻ w ϓϩδΣΫτॳظ͔Β΄΅3BJMTܦݧऀͷΈͰߏ ੒ɻ w 1JWPUBMͰετʔϦʔ੾ͬͯ(JUIVCͰ13ͩͯ͠Ϩ Ϗϡʔͯ͠ɺ$JSDMF$*Ͱςετճ͢ͱ͍͏Α͋͘ ΔྲྀΕɻ

  10. None
  11. ϓϩδΣΫτͷਐΊํ w ि̐೔ͷϦϞʔτ։ൃͰɺ݄༵೔ͷΈग़ࣾɻ w ݄༵೔͚֤ͩछଧͪ߹Θͤ΍ৼΓฦΓɺษڧձΛ ࣮ࢪɻ w ೔ৗͷίϛϡχέʔγϣϯ͸4MBDLɻ w ͋Δఔ౓·ͱ·ͬͨ৘ใ͸FTBʹू໿ɻ

  12. ࠓ೔ͷ͓୊

  13. ʮ;ͭ͏ʯͷ3BJMT։ൃ

  14. ʮ;ͭ͏ʯʹ3BJMT։ൃͰ͖Δਓ ͳΒ0,Ͱ͢ʂ ʮ;ͭ͏ʯͬͯ ͳΜͩΖ͏ʁ ։ൃऀืू͋Δ͋Δ

  15. ʮ;ͭ͏ʯͷߟ࡯ w Կ͕ʮ;ͭ͏ʯͱ͞Ε͍ͯΔͷ͔ʹ͍ͭͯߟ࡯ͯ͠ Έ·͢ɻ w ॳֶऀɾॳڃऀʹ͸։ൃ࣮ફͷಓඪʹɻ w ͢Ͱʹ։ൃΛ࣮ફ͍ͯ͠Δਓʹ͸ϓϩδΣΫτͷ ৼΓฦΓͱͯ͠ɻ

  16. %JTDMBJNFS w Ͳ͏ͯ͠΋ओ؍తͳཁૉ͕ೖ͖ͬͯ·͕͢ɺͦ͜ ͸ྃ͝ঝ͍ͩ͘͞ɻ w 3BJMTҎ֎ͷ෦෼Ͱ΢ΣϒΞϓϦέʔγϣϯ։ൃ ʹؔ࿈͢Δཁૉ͸࣌ؒͷؔ܎ͰׂѪɻ

  17. ʮ;ͭ͏ʯͬͯʁ ଟ༷ͳ։ൃݱ৔ αʔϏεܗଶͷҧ͍ ձࣾͷن໛ ٻΊΔਓࡐ૾ ࣾ಺ͷڭҭ੍౓

  18. ʮ;ͭ͏ʯͷ3BJMT։ൃ  3BJMTͷϕετϓϥΫςΟεʹै͍ͭͭɺ  3VCZΛ࢖ͬͨΦϒδΣΫτࢦ޲ϓϩάϥϛϯά ʢ001ʣΛ࣮ફ͠ɺ  3BJMTͷΞϯνύλʔϯΛۃྗ཈͑Δɻ

  19. ʮ;ͭ͏ʯͷ3BJMT։ൃ  3BJMTͷϕετϓϥΫςΟεʹै͍ͭͭɺ  3VCZΛ࢖ͬͨΦϒδΣΫτࢦ޲ϓϩάϥϛϯά ʢ001ʣΛ࣮ફ͠ɺ  3BJMTͷΞϯνύλʔϯΛۃྗ཈͑Δɻ

  20. 3BJMTͷϕετϓϥΫςΟε w 5IF3BJMT%PDUSJOFʹڍ͛ΒΕ͍ͯΔͭ̕ͷجຊݪ ଇʹै͏͜ͱɻ w IUUQSVCZPOSBJMTPSHEPDUSJOF w IUUQQPTUEDDSBJMTEPDUSJOFʢ೔ຊޠ༁ɺ ݹ͍Β͘͠ݪଇ͸̔ͭͷ··ʣ w

    ಉҙͰ͖ͳ͍఺͕ଟ͍ͱɺͨͿΜ3BJMT࠾༻ͯ͠΋ ϓϩδΣΫτӡӦ͸͍ۤ͠ɻ
  21. 3BJMT%PDUSJOF w ϓϩάϥϚͷ޾෱౓Λ࠷దԽ w ઃఆΑΓن໿Λॏࢹ͢Δ w ϝχϡʔ͸z͓·͔ͤzͰ w ύϥμΠϜ͕ͭͰ͸ͳ͍ w

    ඒ͍͠ίʔυΛশ͑Δ w ʢ੾ΕΔแஸΛ࢖ΘͤΔʣ w ౷߹γεςϜΛଚॏ͢Δ w ҆ఆੑΑΓਐาΛॏࢹ͢Δ w ςϯτΛԡ্͛͠Δ w 0QUJNJ[FGPSQSPHSBNNFS IBQQJOFTT w $POWFOUJPOPWFS $POpHVSBUJPO w 5IFNFOVJTPNBLBTF w /PPOFQBSBEJHN w &YBMUCFBVUJGVMDPEF w 1SPWJEFTIBSQLOJWFT w 7BMVFJOUFHSBUFETZTUFNT w 1SPHSFTTPWFSTUBCJMJUZ w 1VTIVQBCJHUFOU
  22. ͦͷଞͷ ϕετϓϥΫςΟε  3BJMT#FTU1SBDUJDFT w ۩ମతͳ5JQTूͱ͍͏ײ͡ɻ w ϓϥΫςΟε͝ͱʹཻ౓͕ҟͳΔ͜ͱʹ஫ҙ  ίϛϡχςΟʹࢀՃͯ͠৘ใऩूɻ

  23. ʮ;ͭ͏ʯͷ3BJMT։ൃ  3BJMTͷϕετϓϥΫςΟεʹै͍ͭͭɺ  3VCZΛ࢖ͬͨΦϒδΣΫτࢦ޲ϓϩάϥϛϯά ʢ001ʣΛ࣮ફ͠ɺ  3BJMTͷΞϯνύλʔϯΛۃྗ཈͑Δɻ

  24. 3VCZΛ࢖ͬͨΦϒδΣΫτ ࢦ޲ϓϩάϥϛϯάʢ001ʣ w 3BJMTͷ"1*Λ֮͑ͨͱͯ͠΋ɺͦΕ͚ͩͰྑ͍΢Σ ϒαʔϏεΛ࡞ΕΔΘ͚Ͱ͸ͳ͍ɻ w ॳֶऀ͸'BUDPOUSPMMFST 'BUNPEFMT͋ͨΓͰน ʹͿ͔ͭΓɺ͔ͦ͜Βਅ໘໨ʹ3VCZͰͷ001Λ࣮ ફ͢Δ͜ͱʹͳΔɻ

  25. 8FC.7$ͱ͸͍͏΋ͷͷ $POUSPMMFS .PEFM 7JFX ੜ੒ Ϟσϧͷม਺ΞαΠϯ ϨϯμϦϯά ݱ࣮ʹ͜Μͳγϯϓϧͳέʔε͸গͳ͍

  26. ݱ࣮ $POUSPMMFS .PEFM 7JFX ΦϒδΣΫτࢦ޲ઃܭ͕ඞཁ 4FSWJDF0CKFDU 'PSN0CKFDU 7JFXPCKFDU %FDPSBUPS 4FSJBMJ[FS

    "1* +40/9.-
  27. ʮ;ͭ͏ʯͷ3BJMT։ൃ  3BJMTͷϕετϓϥΫςΟεʹै͍ͭͭɺ  3VCZΛ࢖ͬͨΦϒδΣΫτࢦ޲ϓϩάϥϛϯά ʢ001ʣΛ࣮ફ͠ɺ  3BJMTͷΞϯνύλʔϯΛۃྗ཈͑Δɻ

  28. 3BJMTͷΞϯνύλʔϯΛ ۃྗ཈͑Δ  3BJMTEPDUSJOFͷجຊݪଇʹ൓ͨ͠ΞϓϩʔνΛ ආ͚Δɻ  ϋϚΓ΍͍͢HFN΍࣮૷ύλʔϯΛආ͚Δɻ

  29. Ξϯνύλʔϯྫ w 3BJMTEPDUSJOFͱ൓͢ΔଞݴޠɾϑϨʔϜϫʔΫͷ Ξϓϩʔνͷద༻ɻ w ʮͦΕ3VCZ΍3BJMT࢖Θͳ͍͍ͯ͘Μ͡Όͳ͍Ͱ ͔͢ʁʯͱ͍͏Α͏ͳ΋ͷ͸ཁ஫ҙɻ w ʮ͝ར༻͸ܭըతʹʯͳHFN΁ͷڧ͍ґଘʢޙ ड़ʣ

  30. 3BJMTΞϓϦͱͯ͠Έͨ $MJQMBͷಛ௃

  31. $MJQMBͰͷ࣮ફྫ ϕετϓϥΫςΟεدΓͷ࿩

  32. ʮ3BJMT͋Δ͋Δʯͳ ໰୊ͷճආ w 'BUDPOUSPMMFS GBUNPEFMT w ʮ͝ར༻͸ܭըతʹʯͳHFN΁ͷґଘ

  33. 'BUDPOUSPMMFS 'BUNPEFMͷ ճආ w BQQNPEFMTҎԼʹ഑ஔ͞Ε͍ͯΔશΫϥεͷ ͏ͪɺ"3#BTF"QQMJDBUJPO3FDPSEΛܧঝͯ͠ ͍ΔΫϥε͸໿ఔ౓ʢʣɻ w ͜ͷதʹ%FDPSBUPS΍4FSJBMJ[FS͸ؚ·Ε͍ͯͳ ͍ɻ

    w ओʹ4FSWJDF0CKFDU΍'BDBEFύλʔϯΛ࣮૷ͯ͠ ͍ΔΫϥε͕ଟ͍ɻ
  34. %FDPSBUPSͷଟ༻ w ϔϧύʔͷϝιου࣮૷͸΄ͱΜͲແ͍ɻ w %SBQFS "DUJWF.PEFM4FSJBMJ[FSΛར༻ɻ w +40/ʹͯ͠IBNMςϯϓϨʔτͰλάͷ BUUSJCVUFʹ஋ΛׂΓ౰ͯɻ w

    41"Ͱͳͯ͘΋ϑϩϯτΤϯυଆͱͷ૬ੑ͕ྑ ͍ɻ
  35. ʮ͝ར༻͸ܭըతʹʯͳ HFNͷґଘճආ w ෆ༻ҙʹ࢖͏ͱٸ଎ʹෛ࠴ͱԽ͠΍͍͢͜ͱͰ༗໊ ͳHFN܈͕͋Δɻ w ୅ද֨ͱ͍͑Δ"DUJWF"ENJOΛϕʔλظؒதʹར༻ ͍ͯͨ͠ɻ w ਖ਼ࣜαʔϏε։࢝ޙʹૣʑʹར༻ఀࢭɻ

  36. $MJQMBͰͷ࣮ફྫ ΞϯνύλʔϯدΓͳ࿩

  37. [email protected]@[email protected] w αʔϏε։ൃॳظʹ'PSN0CKFDUͷ࣮૷ΛεΩο ϓͰ͖ΔͨΊɺख͕ؒݮΔɻ w ͔͠͠ɺͲͷDPOUSPMMFSͰԿ͕Ͳ͏มߋ͞Ε͍ͯ Δ͔ͷݟ௨͕͠ѱ͘ͳΔσϝϦοτ͕ɻ w ͦͷ͏ͪ3BJMT͔Β΋੾Γ཭͞ΕΔΑ͏ͳͷͰɺ ঃʑʹ'PSN0CKFDUΛಋೖ͍͖͍ͯͨ͠ɻ

  38. HFN੾Γग़͠ͷޙճ͠ w MJCҎԼʹ$*ͰͷΈ࢖͏Ϋϥε͕࢒͍ͬͯΔɻ w TQFDҎԼʹҠͤ͹͍͍͚ͩͱ͍͏࿩΋͋Δɻ w ࠷ॳ͔ΒHFNͱͯ͠੾Γग़͍ͯ͠Ε͹ྑ͍ͷ͕ͩɺ Ͳ͏ͯ͠΋ޙճ͠ʹͳΓ͕ͪɻ w HFNԽ͢ΔͳΒ͍Ζ͍ΖͪΌΜͱ͍ͨ͠ͱ͍͏

    ؾ࣋ͪ΋͋Γɻ
  39. Ұൃ԰ͷSBLFUBTLୡ w Ұ౓͚ͩୟ͘SBLFUBTL͕ͲΕ͔Ұݟͯ͠Θ͔Βͳ ͍ w ࠷ॳ͔ΒPOFUJNFͳSBLFUBTL͸ϑΥϧμΛࢦ ఆ͓͚ͯ͠͹Α͔ͬͨɻ w ͜Ε͔Β੔ཧ͢Δͱ͜Ζɻ w

    NJHSBUJPOͷΑ͏ʹԿ͔͠Β͏·͘࢓૊ΈԽͯ͠ର Ԡ͍ͨ͠ɻ
  40. ·ͱΊ

  41. ࠓճ͸3BJMT։ൃͰͷʮ;ͭ͏ʯʹ͍ͭͯ ߟ͑ͯΈ·ͨ͠ɻ

  42. ʮ;ͭ͏ʯʹͱͲ·Δʹ͸ w 3BJMTͷϨʔϧ͔Β֎Εͳ͍Α͏ʹɺ w ϕετϓϥΫςΟε΍001ͷ࣮ફͱ w Ξϯνύλʔϯͷճආʹ͍ͭͯ ఆظతʹݟ௚͢͜ͱ͕ॏཁͩͱࢥ͍·͢ɻ

  43. Ͳ͏ͯ͠΋Ξϯνύλʔϯ͸ൃੜ͖ͯ͠·͕͢ɺ ૣΊૣΊʹͦΕΒʹରॲ͍͖͍ͯͨ͠Ͱ͢ɻ