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

メドピアで利用しているGemの話

rakio1234
March 24, 2018
1k

 メドピアで利用しているGemの話

RailsDevelopersMeedup 2018 day1

rakio1234

March 24, 2018
Tweet

Transcript

  1. ϝυϐΞͰར༻͍ͯ͠Δ(FNͷ࿩
    3BJMT%FWFMPQFST.FFUVQ

    View Slide

  2. w ಺ా༤ଠ!SBLJP
    w ϝυϐΞגࣜձࣾ
    ሱ࠭ℚࢺ

    View Slide

  3. ೝূ(FN

    View Slide

  4. ೝূ(FNͱ͍͑͹%FWJTF

    View Slide

  5. w ϩάΠϯը໘ɺϢʔβʔొ࿥ը໘ɺύεϫʔυ࠶ൃߦ
    ը໘ͳͲΛૉૣ͘࡞ΕΔ
    w ϑϧελοΫա͗ͯΧελϚΠζ͕ͭΒ͍
    w EFWJTFͷίʔυΛಡΜͰཧղͯ͠ΦʔόʔϥΠυ
    ͢ඞཁ͕͋Δ
    w ϝλϓϩͰ݁ߏॻ͔Ε͍ͯͯಡΈʹ͍͘
    %FWJTF

    View Slide

  6. ǷǟǪƸƊƒ4PSDFSZƵ০Ⴈ

    View Slide

  7. w γϯϓϧͳઃܭ
    w MFTTJTNPSF
    w ඞཁͳػೳͷΈΛ࢖͏
    w ϝλϓϩ ࠇຐज़
    Λ൱ఆ͍ͯ͠Δ
    w EFWJTFʹྼΒͳ͍ػೳΛඋ͍͑ͯΔ
    4PSDFSZ

    View Slide

  8. 4PSDFSZ
    w ࣗલͰ༻ҙͨ͠WJFX΍DPOUSPMMFSʹඞཁͳϝιου
    ͚ͩΛར༻͢Δ
    w ԿΛ͍ͯ͠Δ͔໌֬Ͱ͋ΓΧελϚΠζ͠΍͍͢

    View Slide

  9. 4PSDFSZ
    6TFS"DUJWBUJPO ϝʔϧʹΑΔೝূ
    3FTFU1BTTXPSE ύεϫʔυϦηοτ
    3FNFNCFS.F ӬଓϩάΠϯ
    4FTTJPO5JNFPVU ηογϣϯλΠϜΞ΢τ
    #SVUF'PSDF1SPUFDUJPO ϒϧʔτϑΥʔεରࡦ
    #BTJD)551"VUIFOUJDBUJPO #"4*$ೝূ
    "DUJWJUZ-PHHJOH ϩάΠϯϩά
    &YUFSOBM 4/4ϩάΠϯ
    w EFWJTFʹ͋Δػೳ͸͍͍ͩͨ໢ཏ͍ͯ͠Δ
    w ඞཁͳػೳ͸TVCNPEVMFͱͯ͠ಡΈࠐΜͰར༻

    View Slide

  10. w ޙʑͷΧελϚΠζͷ͠΍͢͞Λߟ͑ΔͱTPSDFSZ
    ͕Φεεϝ
    w ͔͠͠ɺෳ਺NPEFMͷϩάΠϯ 6TFSϞσϧͰϢʔ
    βϩάΠϯɺ"ENJO6TFSͰ؅ཧը໘ϩάΠϯͳͲ

    ʹ͸ެࣜͰରԠͯ͠ͳ͍ͷͰ஫ҙ
    w IBDL͢Ε͹ҰԠͰ͖Δ
    4PSDFSZ

    View Slide

  11. ೝՄ(FN

    View Slide

  12. ೝՄ(FNͱ͍͑͹DBODBODBO

    View Slide

  13. w ݖݶ؅ཧΛҰՕॴ "CJMJUZΫϥε
    ʹ·ͱΊΔ
    w DPOUSPMMFS΍WJFXͰݖݶͷϩδοΫΛॻ͔ͳ͘
    ͯࡁΉ
    w ҰํͰΞϓϦέʔγϣϯ͕ංେԽ͍ͯ͘͠͝ͱ
    ʹ"CJMJUZΫϥε΋ංେԽ͍ͯ͘͠
    w DBO SFBE 1SPEVDUͱ͍ͬͨײ͡Ͱ%4-Ͱهड़
    DBODBODBO

    View Slide

  14. ϝυϐΞͰ͸#BOLFOΛར༻

    View Slide

  15. w ݖݶ؅ཧΛMPZBMUZΫϥεʹ·ͱΊΔ
    w DPOUSPMMFS͝ͱʹ࡞ΓBDUJPO͝ͱʹݖݶΛఆٛ
    ͢Δ
    w 4USPOHQBSBNFUFSTͷఆٛ΋Մೳ
    w QVOEJUϥΠΫͰγϯϓϧͳ"1*Λఏڙ
    w %4-Ͱͳ͘ϐϡΞSVCZͰهड़
    #BOLFO

    View Slide

  16. #BOLFO
    w DPOUSPMMFSຖʹMPZBMUZΫϥεΛ
    ࡞੒
    w BDUJPOຖʹݖݶϩδοΫΛఆٛ
    ͢Δ
    w DPOUSPMMFSଆͰBVUIPSJ[Fϝιο
    υΛݺͼग़ͯ͠ར༻

    View Slide

  17. #BOLFO
    w ݖݶຖʹTUSPOHQBSBNFUFSͷఆ͕ٛՄೳ
    03

    View Slide

  18. 1VOEJUƋƑ↎ŧ
    w QVOEJU͸ೝՄΛNPEFMͷ੹຿ͱͯ͠CBOLFO͸DPOUSPMMFSͷ
    ੹຿ͱ͍ͯ͠Δ
    w QVOEJUͰ͸ҰͭͷNPEFMΛෳ਺ͷDPOUSPMMFSͰ࢖͏έʔεͳ
    ͲͰIBDL͕ඞཁʹͳΔ
    w 1VOEJUͰ͸.PEFMຖʹ1PMJDZΫϥεΛ࡞Γɺ1PMJDZΫϥεʹ͸$POUSPMMFSͷ
    "DUJPOʹඥͮ͘ϝιου BDUJPO
    Λ࣮૷͢ΔͨΊɺ1VOEJUΛ࢖͏্Ͱ͸
    .PEFM 1PMJDZ $POUSPMMFSʹରରͱ͍͏੍໿͕҉໧తʹੜ·Ε·͢ɻ
    IUUQTHJUIVCDPNLZVEFOCBOLFOXJLJ5IFEJ⒎FSFODFCFUXFFO
    #BOLFOBOE1VOEJU +BQBOFTF


    w QVOEJUʹ͋ΔTDPQFػೳ͸CBOLFOʹ͸ͳ͍
    w NPEFMͰఆٛ͢Ε͹͍͍

    View Slide

  19. w ͱͯ΋γϯϓϧͰΧελϚΠζ΋͠΍͍͢
    w DPOUSPMMFSͱରͰݖݶΫϥεΛ࡞ΔͷͰ໎͍͕
    ͳ͍
    w ίʔυ਺͸ଟ͘ͳΔ
    w %4-͕ͳ͍ͷͰ֮͑Δ͜ͱ΋গͳ͍
    #BOLFO

    View Slide

  20. ܵ৘߂૫(FN

    View Slide

  21. ܵ৘߂૫(FNƋŧūƓ"DUJWF"ENJO

    View Slide

  22. w ߴػೳͳ؅ཧը໘Λࣗಈੜ੒Ͱ͖Δ
    w ݕࡧɺDTWग़ྗɺؔ࿈ςʔϒϧͷొ࿥
    w େ͖͘ΧελϚΠζ͠Α͏ͱ͢ΔͱͭΒ͍
    w %4-Ͱॻ͘ͷͭΒ͍
    "DUJWF"ENJO

    View Slide

  23. "DUJWF"ENJO

    View Slide

  24. wͲ͏͍͏ڍಈΛ͢Δͷ͔Θ͔Βͳ͍
    wυΩϡϝϯτ΍ιʔεͱʹΒΊͬ͜͠ͳ͕Βॻ͘͜ͱ
    ʹͳΓ͕ͪ
    wֶशίετ͕ߴ͍
    wॳֶऀ͕ͱ͖ͬͭʹ͍͘
    wܦݧऀ΋͠͹Β͘৮ͬͯͳ͍ͱ๨ΕΔͷͰ࠶ֶश͢Δ
    ඞཁ͕ൃੜ͕ͪ͠
    wSBJMT΍STQFDͷETM֮͑Δͷʹզʑ͸ਫ਼Ұഋ
    ɾԠ༻͕͖͖ʹ͍͘
    %4-ůƍſƇƬŧƑŮĤ

    View Slide

  25. ǷǟǪƸƊƒ"ENJOJTUSBUFƵ০Ⴈ

    View Slide

  26. w UIPVHIUCPUࣾ੡
    w ߴػೳͳ؅ཧը໘Λࣗಈੜ੒
    w ΧελϚΠζ͕͠΍͍͢
    w %4-Ͱͳ͘ϐϡΞSVCZͰهड़
    "ENJOJTUSBUF

    View Slide

  27. "ENJOJTUSBUF

    View Slide

  28. "ENJOJTUSBUF
    w ؅ཧը໘ͷఆٛ͸Ϧιʔε໊%BTICPBSEͷϑΝΠϧ
    ಺ʹهड़͢ΔɻHFOFSBUFͯ͠࡞Δɻ

    View Slide

  29. "ENJOJTUSBUF
    w "553*#65&@5:1&4͸ଐੑͱͦΕͧΕը໘ͰͲ͏දࣔ͢Δ͔Λ'JFME
    Ͱࢦఆ͢Δ
    w αϙʔτ͍ͯ͠ͳ͍'JFME͸ϓϥάΠϯͱͯ͠ಋೖ͢Δ͔ࣗ࡞͕Մೳ
    ఆٛͰ͖Δ'JFME
    w 'JFME#FMPOHT5P
    w 'JFME#PPMFBO
    w 'JFME%BUF5JNF
    w 'JFME&NBJM
    w 'JFME)BT.BOZ
    w 'JFME)BT0OF
    w 'JFME/VNCFS
    w 'JFME1PMZNPSQIJD
    w 'JFME4FMFDU
    w 'JFME4USJOH
    w 'JFME5FYU

    View Slide

  30. "ENJOJTUSBUF
    w ͦͷଞͷIBTIͷఆ਺͸Ұཡɺ
    ৄࡉɺϑΥʔϜը໘Ͱଐੑ͝
    ͱʹදࣔඇදࣔɺฒͼΛఆٛ
    ͢Δ
    w %4-͸ग़ͯ͜ͳ͍ͷͰॻ͖΍
    ͍͢

    View Slide

  31. "ENJOJTUSBUF
    w Ұ෦ΛΧελϚΠζ͍ͨ͠৔߹
    w ྫWJFXʹϘλϯΛઃஔ͍ͨ͠
    w WJFXΛHFOFSBUFͰ͖ΔͷͰͦͷ··ฤूՄೳ
    w ྫొ࿥ͨ͠ࡍʹ௨஌ϝʔϧΛૹΔ
    w HFOFSBUF͞ΕͨDPOUSPMMFSͰϝιουΛ
    PWFSSJEF
    w ࣗ࡞ͷը໘Λ૊ΈࠐΈ͍ͨ
    w ׬શ৽نͰ࡞ͬͨDPOUSPMMFSͱWJFXΛ૊ΈࠐΊΔ

    View Slide

  32. w ͳΜ͔ͩΜͩͰHFNΛೖΕͳ͍Ͱࣗ࡞͢Δͷ͕Ұ
    ൪ΧελϚΠζ͠΍͘͢ޙʑͷ༥௨͕͖͘
    w ͔͠͠ɺ޻਺͕ݶΒΕ͍ͯͨΓෳࡶͳը໘͕গͳ
    ͍৔߹͸؅ཧը໘HFNΛೖΕΔͷ͸ྑ͍ͱࢥ͏
    w ೖΕΔͱͯ͠΋ΧελϚΠζ͠΍͍͢ํ͕͍͍
    ؅ཧը໘HFNΛೖΕΔ΂͖͔ʁ

    View Slide

  33. w TPSDFSZɺCBOLFOɺBENJOJTUSBUF͓͢͢Ί
    w ޙʑͷΧελϚΠζͷ͠΍͢͞΍ɺֶशίετͳ
    Ͳ΋ߟྀͯ͠HFNΛબͿͷ͕Α͍
    ơƋƤ

    View Slide

  34. ŷ࣡䒙ťƭůƋũŷŹŧơźƂ

    View Slide