爆速のために 独自フレームワーク から Rails に移行した話/mobasif_to_ruby_on_rails

816bbae7565a32c965dd895b74dcf5b0?s=47 matsuhisa
November 02, 2016
2k

爆速のために 独自フレームワーク から Rails に移行した話/mobasif_to_ruby_on_rails

みんなのウェディングで使われている 独自フレームワーク MobaSiF から、Rubyn on Rails に移行した話です。
#bd_mm https://twitter.com/search?q=%23bd_mm
----
デプロイについては、下記も参考に。
開発ブランチをデプロイする
http://blog.mwed.info/posts/deploy-development-branch.html
----
2016年11月2日
エンジニア勉強会(弁護士ドットコム×みんなのウェディング)ライフイベントメディアの成長を支える技術
-----

816bbae7565a32c965dd895b74dcf5b0?s=128

matsuhisa

November 02, 2016
Tweet

Transcript

  1. גࣜձࣾΈΜͳͷ΢ΣσΟϯά ര଎ͷͨΊʹಠࣗϑϨʔϜϫʔ Ϋ͔Β3BJMTʹҠߦͨ͠࿩ ೥݄೔ɹদٱߒ৳ 
 ΤϯδχΞษڧձ ʢหޢ࢜υοτίϜºΈΜͳͷ΢ΣσΟϯάʣϥΠϑΠϕϯτϝσΟΞͷ੒௕Λࢧ͑Δٕज़

  2. ೥݄೔ দٱߒ৳ ͋ͳͨͷେ੾ͳ೔͸͍ͭͰ͔͢ʁ ೥݄೔

  3. w ΈΜͳͷ΢ΣσΟϯάͬͯʁ w ͳʹΛ࣮ݱ͍ͨ͠ͷ͔ʁ w ͳʹΛ΍ͬͨͷ͔ʁ w ϑϨʔϜϫʔΫͷҠߦΛͲ͏΍ͬͨͷ͔ʁ w ͳʹ͕࣮ݱ͞Εͨͷ͔ʁ

    ͓࿩͢͠Δࣄ
  4. ΈΜͳͷ΢ΣσΟϯά

  5. ΈΜͳͷʰେ੾ͳ೔ʱΛ;΍͢

  6. ಛ௃ 390ສ 6#݄ 6,000 ࣜ৔ ਺ສ ޱίϛ ೥݄ݱࡏ

  7. ͳʹΛ࣮ݱ͍ͨ͠ͷ͔ʁ

  8. ϢʔβϑΝʔετͳαʔϏεΛ࡞Γଓ͚Δ ਖ਼͍͠੡඼Λਖ਼͘͠࡞Γଓ͚Δ ര଎ͰՁ஋Λಧ͚ଓ͚Δ ࣮ݱ͍ͨ͜͠ͱ ΈΜͳͷʮେ੾ͳ೔ʯΛ;΍͢

  9. ͳʹΛ΍ͬͨͷ͔ʁ

  10. w ϑϨʔϜϫʔΫͷҠߦ w Πϯϑϥͷมߋ w ։ൃΛ͢Δ૊৫ͷมߋ w ։ൃϑϩʔͷมߋ ͳʹΛ΍ͬͨͷ͔ʁ ࠓճ͸ʮϑϨʔϜϫʔΫͷҠߦʯʹ͍ͭͯͰ͢

  11. ϑϨʔϜϫʔΫͷҠߦΛ
 Ͳ͏΍ͬͨͷ͔ʁ

  12. w .PCB4J'ʢ.PCB.PCJMF4JNQMF'SBNFXPSLʣ w IUUQTPTEOOFUQSPKFDUTNPCB w 1FSM.Z42-'BTU$(*$FOU04ʢCJUʣ w 4IJGU+*4 &6$ 65'

    $1 +*4 w $7447/ ಠࣗϑϨʔϜϫʔΫ
  13. w ܦݧ๛෋ͳਓ͕ͨͪ਎ۙʹདྷͨ w ࣾ಺ͷଞͷαʔϏεͰར༻͍ͯͨ͠ w ࣾ಺ʹ1FSMͷϊ΢ϋ΢ґଘ͕গͳ͔ͬͨ 3VCZPO3BJMTબ୒ͷཧ༝

  14. w ೥݄ɿ
 ݸਓ։ൃ؀ڥʢ HJUIVCʣಋೖͷ༻ҙΛ։࢝ w ೥݄ɿ$PPLQBEʹΑΔ50# w ೥݄ɿ3BJMTҠߦΛ։࢝ w ߴҪ

    দా ֯୩ ਓ w ೥݄ɿ3BJMTҠߦ൛ϦϦʔε Ҡߦܾఆ͔ΒϦϦʔε·Ͱ Ҡߦܾఆ ݕ౼ ϲ݄
  15. 3VCZ3VCZPO3BJMTͷशಘ ͕Μ͹Δ

  16. w ಉ͜͡ͱΛٻΊΔͷʹඍົʹҧ͏42- w TDPQFͰἧ͑ͨ w ಉ͡ม਺͕ը໘ͰҟͳΔҙຯʹͳ͍ͬͯΔ w ༻్ʹ͋ͬͨॲཧΛ༻ҙͨ͠ w ςʔϒϧͷ໊લͱத਎͕Ұக͠ͳ͍

    w .PEFMͷ໊લΛద੾ʹͨ͠ʢͳΔ΂͘ʣ ࢓༷͕Θ͔Βͳ͍
  17. w ݩͷγεςϜͰಈ͍͍ͯΔঢ়ଶΛجຊ࢓༷ͱͨ͠ w ͕ɺվΊͯϢʔβϑΝʔετΛߟ͑ͯ࡞ͬͨͱ͜Ζ΋ ͋Δ w ࠓ·Ͱɺςετ͕ͳ͔ͬͨͷͰ࡞ͬͨ w ςετ͕௨Βͳ͍ͱNBTUFSʹNFSHFͰ͖ͳ͍ϧʔ ϧʹͨ͠

    ࢓༷͕Θ͔Βͳ͍
  18. w ݟͨ໨͸4IJGU+*4ɻத਎͸$1 w ࠷ॳ͸ɺJOTFSU͕͋Δͷը໘͸Ҡߦ͠ͳ͔ͬͨ w จࣈίʔυʹؔ͢ΔϞϯΩʔύονΛ͋ͯͯͨ w ೥͔͚ͯ$1ʹἧ͑ͯΔʢਐߦதʣ w ࠓޙ͸ɺ65'ʹ͢Δʢ༧ఆʣ

    %#ͷจࣈίʔυ໰୊
  19. w ຖճɺ΄΅͔Β࢝ΊΔ)5.-$44ͷϚʔΫΞοϓ w 1BSUJBMɺ)FMQFSɺ"DUJWF%FDPSBUPSͳͲΛ࢖͍දࣔ ॲཧΛ%3:ʹͨ͠ w σβΠϯΨΠυϥΠϯʢ&TUIFɿΤεςʣͷ༻ҙ w %3:ʹͳ੍͍͖ͬͯ࡞εϐʔυΞοϓ )5.-$444BTTͷ੔ཧͱशಘ

  20. w ͨ͘͞Μ͋ΔK2VFSZͷόʔδϣϯҧ͍ w ͭʹ·ͱΊΔ w 1SPUPUZQFKTͰಈ͍͍ͯͨ w ͞Α͏ͳΒ w ৽͍͠ͷ͸ɺ&$."4$SJQUʢFTʣͰ࡞͍ͬͯΔ

    K2VFSZͱ1SPUPUZQFKT
  21. w طଘγεςϜΛঃʑʹ3BJMTʹҠߦՄೳ w 63-ຖʹ࢖༻͢ΔγεςϜ͕ҟͳΔ w %#͸ɺͲͪΒͷγεςϜͰ΋ಉ͡ ϦόʔεϓϩΩγʔͷಋೖ PME@TZTUFN SFQMBDF@TZTUFN

  22. w มߋϑΝΠϧͷϦετΛ࡞ΓखಈͰσϓϩΠ͍ͯͨ͠ σϓϩΠπʔϧͷมߋ ˙NLEJS NLEJSEBUBXFEEJNBHF OPUJGZ NLEJSEBUBXFEEJNBHF PQF@UNQOPUJGZ ˙TRM ECEEM

    BMUFS@OPUJGZ@EBUB@T RM ECEEM DSFBUF@VTFS@CSPXTJOH@IJTUPSZ@ TRM ن໿ίϯςϯπ༻ϙΠϯτʢ෇ ༩ʣఆٛ௥Ճ ECEEM JOTFSU@N@BUU@QMVT@T RM ˙ϑΝΠϧ ཤྺҰཡ QN8881BHF4NU 'PPU-PHQN QN'VOD$PN$PTUQN QN'VOD'PPU-PHQN QN'VOD1MBDFQN QN'VOD'BJSQN QN$PNNPOQN DPOGQBHFT@TNUDPOG DPOGSFXSJUF@XXXDPOG ϚΠϖʔδ501 QN8881BHF4NU .Z5PQQN ϚΠϖʔδ͓ؾʹೖΓొ࿥ޙͷ Ϟʔμϧࠩ͠ସ͑ UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM&WBM%FUBJMIUNM UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM$PTU%FUBJMIUNM UFNQMBUF@XXX@TZTUFNTNU IBMM IBMM$PTU&YQFOTF%FUBJMTIUNM IUNMDTTTNUIBMM IBMM@WFSDTT IUNMJQTNUGBWPSJUF NPSEBMQOH ϚΠϖʔδ΍ΔࣄϦετؔ࿈࡟ আ UFNQMBUF@XXX@TZTUFNTNU MPHJO/PSNBMIUNM ৽ண݅਺ DPOGQBHFT@TNUDPOG DPOGSFXSJUF@XXXDPOG QN8881BHF4NU /PUJGZQN QN'VOD 6TFS#SPXTJOH)JTUPSZQN QN'VOD/PUJGZQN QN8886TFS%BUBQN UFNQMBUF@XXX@TZTUFNTNU OPUJGZNXFE/PUJGZ-JTUIUNM QN'VOD1BHJOHQN DPOGDPOTUDPOGTUBHF DPOGDPOTUDPOGXFEE QN0QF1BHF/PUJGZQN QN'VOD*NBHFQN UFNQMBUF@PQF@TZTUFNOPUJGZ OPUJGZ-JTUIUNM UFNQMBUF@PQF@TZTUFNOPUJGZ OPUJGZ*OQVUIUNM UFNQMBUF@PQF@TZTUFNOPUJGZ OPUJGZ$POpSNIUNM UFNQMBUF@PQF@TZTUFNOPUJGZ OPUJGZ$PNNJUIUNM QN)5.-5FNQMBUFQN 1$ࣜ৔ϝχϡʔ UFNQMBUF@XXX@TZTUFNIBMM IBMM-JTU5PQIBMM-JTU5PQIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM-JTU5PQ @IBMM-JTU5PQ@QJDLVQIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM-JTU5PQ @IBMM-JTU5PQ@DPTUQMBOIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM&WBM-JTUIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM3FW4FBSDI1MBDFIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM"DDFTTIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM$PNQ-JTUIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM$PTUIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM$PTU%FUBJMIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM'BJS-JTUIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM'BJS%FUBJMIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM1IPUPIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM1IPUPIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM1MBOIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM1MBO%FUBJMIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM1SJWJMFHF(FOFSBM-JTUIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM"MCVNIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM&WBM%FUBJMIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM"HSFFNFOUIUNM UFNQMBUF@XXX@TZTUFNIBMM IBMM0⒏DJBMIUNM IUNMJQIBMMIBMMJDPOQOH IUNMJQIBMMJDPOTUBSQOH IUNMKTIBMMNJOKT IUNMDTTIBMMDNODTT IUNMDTTIBMM@QMBODTT IUNMDTTIBMM@P⒏DJBMDTT IUNMDTTIBMM@GBJSDTT IUNMDTTIBMM@CFOFpUTDTT UFNQMBUF@XXX@DPOTUQUYU UFNQMBUF@XXX@JOD@IUNMUYU IUNMDTTIBMM@BLJXBLVDTT UFNQMBUF@XXX@TZTUFN BLJXBLVBLJXBLV1MBDF-JTUIUNM UFNQMBUF@XXX@TZTUFN BLJXBLVBLJXBLV%FUBJMIUNM IUNMKTIBMMQIPUP7JFXKT UFNQMBUF@XXX@TZTUFNIBMM @QMBDFNBJMTFOEIUNM UFNQMBUF@XXX@IUNMTNU TQFDJBMQPTJUJWFJOEFYIUNM UFNQMBUF@XXX@IUNMTNU TQFDJBMQPTJUJWFGPPEIUNM UFNQMBUF@CJ[@TZTUFN P⒏DJBM$POpHIUNM UFNQMBUF@CJ[@TZTUFN QSFWJFXIBMM0⒏DJBM@QDIUNM UFNQMBUF@CJ[@TZTUFN QSFWJFXIBMM-JTU5PQ@QDIUNM UFNQMBUF@CJ[@JOD@IUNMUYU UFNQMBUF@XXX@TZTUFN TQFDJBMLPEBXBSJ LE@QMBO@MJTUIUNM UFNQMBUF@XXX@TZTUFN TQFDJBMLPEBXBSJ LE@JNH@MJTUIUNM UFNQMBUF@XXX@TZTUFNCJ[ GBWPSJUFGBW'BJS-JTUIUNM UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM3FW4FBSDIIUNM UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM1MBO4FBSDI"SFBIUNM UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM0⒏DJBMIUNM UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM-JTU"VUPIUNM UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM4FBSDI#MPDLIUNM UFNQMBUF@XXX@TZTUFNTNU IBMMIBMM-JTU5PQ IBMM-JTU5PQIUNM IUNMJCIBMMJDPOTUBSQOH IUNMJCIBMMIBMMJDPOQOH IUNMJCIBMMIBMM@JNH@CHQOH IUNMJCIBMM IBMM@JNH@DPVOUQOH IUNMJCIBMM IBMM@JNH@DPVOUQOH IUNMJCIBMM IBMM@JNH@DPVOUQOH IUNMJCIBMMJDP1WQOH IUNMJCIBMMJDP(PPEQOH IUNMJCIBMMJDP$JSDMFQOH IUNMJCIBMMJDP5FYUQOH IUNMJCIBMM JDP$PNQBSJTPOQOH IUNMJCIBMMJDP.BJMQOH IUNMJCIBMM JDP,VDIJLPNJQOH IUNMJCIBMMJDP.BJMQOH IUNMJCIBMMJDP1SPGQOH IUNMJCIBMMpYBDUJPOQOH IUNMJCIBMMCUO@GBW@GQOH IUNMJCIBMMCUO@GBW@G@PQOH IUNMJCIBMMCUO@GBWQOH IUNMJCIBMMCUO@GBW@PQOH IUNMJCIBMM CUO$PTU@TIJUBNJQOH IUNMJCIBMM CUO&WBM@TIJUBNJQOH IUNMJCIBMMNPSF@TQOH IUNMJCIBMMCUO@GBWQOH IUNMJCIBMMNPSFQOH IUNMJCIBMM QSFG@BE@UJUMFQOH IUNMJCIBMM CUO1PTU@OFXKQH IUNMJCIBMMCUO@SFT@TQOH IUNMJCIBMMCUO@SFT@T@PQOH IUNMJCIBMM CUO@GBJS@T@PQOH IUNMJCIBMMCUO@GBJS@TQOH IUNMJCIBMMCUO@DBU@T@PQOH IUNMJCIBMMCUO@DBU@TQOH IUNMJCIBMMCUO@JOR@T@QOH IUNMJCIBMM CUO@JOR@T@@PQOH IUNMJCIBMMCUO@GBW@PQOH  IUNMJCIBMM IBMM@JNH@EPOFQOH IUNMJCIBMM IBMM@JNH@TUJMMQOH IUNMJCIBMMI@SBOLJOHKQH IUNMJCIBMMMFUUFSQOH IUNMJCIBMM IBMM@TQ@QMBOQOH IUNMJCIBMM IBMM@JNH@HVFTUQOH IUNMJCIBMM IBMM$PTU*OQVU@I@KQH IUNMJCIBMM UPQ@FWBM@EPOFQOH IUNMJCIBMM UPQ@FWBM@TUJMMQOH IUNMJCIBMM IBMM@TUBNQ@EPOFQOH IUNMJCIBMM CH@IBMMOBNFQOH IUNMJCIBMM UPQ@FWBM@HVFTUQOH IUNMJCIBMMJDP@DSPXOQOH IUNMJCIBMM FWBM@TFBSDI@CHQOH IUNMJCIBMMUFMQOH IUNMJCIBMM IBMM@TQ@TQFDJBMQOH IUNMJCIBMM UPLVUFO@TFJZBLVQOH IUNMJCIBMM UPLVUFO@SBJLBOQOH
  23. w มߋϑΝΠϧͷϦετΛ࡞ΓखಈͰσϓϩΠ͍ͯͨ͠ w NBTUFSϒϥϯνʹϚʔδ͞ΕΔͱεςʔδϯά؀ڥ ʹࣗಈσϓϩΠ͞ΕΔΑ͏ʹͨ͠ w ຊ൪؀ڥ΁ͷσϓϩΠ͸$IBU0QTʹͨ͠
 ʢ4MBDL 3VCPUZ "84$PEF%FQMPZʣ

    σϓϩΠπʔϧͷมߋ
  24. ͳʹ͕࣮ݱ͞Εͨͷ͔ʁ

  25. ϓϧϦΫΤετͷϚʔδ਺     ݄ ݄ ݄ ݄ ݄

    ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ ݄ .PCB4J' 3BJMT w ໿೥Ͱ1VMM3FRVFTUͷNFSHF͸ഒ w ͲΜͲΜՁ஋͕ੜ·Ε͍ͯΔঢ়ଶ
  26. σϓϩΠճ਺ͷมԽ 1 d a y 5 times 1 d a

    y 9 times
  27. ·ͱΊ

  28. w Ձ஋Λɺര଎Ͱಧ͚Δ͜ͱ͕Ͱ͖ΔΑ͏ʹͳ͖ͬͯͨ w ϑϨʔϜϫʔΫΛҠߦ͢Δ͜ͱࣗମ͕໨తͰ͸ͳ͍ w ϑϨʔϜϫʔΫͷҠߦ͸ɺͭͭ՝୊ͱ޲͖߹͍ଓ ͚ͯ΍͍ͬͯ͘ ·ͱΊ