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

Rails 移行を支える コードレビュー #finc_mw /support_to_rails_from_code_review

matsuhisa
February 16, 2017

Rails 移行を支える コードレビュー #finc_mw /support_to_rails_from_code_review

2017年2月15日に行われた「Railsを使ってサービスの成長を継続させるぞ!(FiNC×みんなのウェディング)」の発表資料です

matsuhisa

February 16, 2017
Tweet

More Decks by matsuhisa

Other Decks in Business

Transcript

  1. גࣜձࣾΈΜͳͷ΢ΣσΟϯά 3BJMTҠߦΛࢧ͑Δ ίʔυϨϏϡʔ ೥݄೔দٱߒ৳

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

  3. w ΈΜͳͷ΢ΣσΟϯάʹ͍ͭͯ w αʔϏε w ։ൃͷྲྀΕ w αʔϏεΛࢧ͑ΔͭͷϨϏϡʔ w ίʔυϨϏϡʔͷ՝୊ͱղܾํ๏

    w ৽ͨͳ՝୊ ͓࿩͢͠Δࣄ
  4. ΈΜͳͷ΢ΣσΟϯά

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

  6. αʔϏε εϚʔτϑΥϯ൛ ύιίϯ൛

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

  8. ։ൃͷྲྀΕ

  9. 1FSM͔Β3VCZʹҠߦத IUUQTTQFBLFSEFDLDPNNBUTVIJTBNPCBTJGUPSVCZPOSBJMT

  10. w ։ൃ։࢝ w ίʔυϨϏϡʔΛ͏͚Δ w Ϛʔδ w εςʔδϯάʹࣗಈͰσϓϩΠ w ຊ൪؀ڥʹσϓϩΠ

    ։ൃ͔ΒσϓϩΠ·ͰͷྲྀΕ
  11. w NBTUFS΁ͷϚʔδʹ͸ίʔυϨϏϡʔඞਢ w ΤϯδχΞ͕ίʔυϨϏϡʔΛ͢Δ w ϚʔΫΞοϓ$44ͷΈͷ৔߹͸σβΠφʔͰ΋Մ w σβΠϯมߋ͕͋Ε͹ɺσβΠϯνΣοΫΛσβΠφʔ ʹͯ͠΋Β͏ ։ൃϧʔϧ

  12. αʔϏεΛࢧ͑ΔେϨϏϡʔ

  13. w εϓϦϯτϨϏϡʔ w σβΠϯϨϏϡʔ w ίʔυϨϏϡʔ αʔϏεΛࢧ͑ΔେϨϏϡʔ

  14. w िؒʢεϓϦϯτʣʹճɺશ෦ॺΛूΊ࣮ͯࢪ w ੒Ռ෺ɺ༧ఆΛڞ༗͢Δ w ෦ॺʢνʔϜʣҎ֎͔ΒͷϨϏϡʔΛड͚Δ w νʔϜ֎΁੒Ռ෺Λઆ໌ʢࣗຫʣ͢Δ w νʔϜ֎͔ΒͷࢦఠΛड͚ೖΕΔɺઆ໌͢Δ

    εϓϦϯτϨϏϡʔ
  15. FTBʹ֤νʔϜͷͰ͖ͨ͜ͱɺͰ͖ͳ͔ͬͨ͜ͱɺདྷि ͷݟ௨͠Λॻ͘ εϓϦϯτϨϏϡʔ

  16. w ໨తΛ໌֬ʹ͠໨తΛୡ੒͍ͯ͠Δ͔ʁΛϨϏϡʔ w ओʹHJUIVC্Ͱߦͳ͍ͬͯΔʢର໘΋͋Δʣ w ΤϯδχΞɺσΟϨΫλʔ΋ࢀՃͰ͖Δ w υοΫϑʔσΟϯά͠ʹ͍͘αʔϏεͳͷͰϨϏϡʔ Ͱɺิ͏ w

    ΤϯδχΞ͔Β͓ئ͍͢Δ͜ͱ΋͋Δ σβΠϯϨϏϡʔ
  17. σβΠϯͷ໨తͳͲΛॻ͍ͨJTTVF1VMM3FRVFTUΛ༻ ҙͯ͠σβΠφʔ͔ΒϨϏϡʔΛड͚Δ σβΠϯϨϏϡʔ

  18. w εϓϦϯτϨϏϡʔ w σβΠϯϨϏϡʔ w ίʔυϨϏϡʔ αʔϏεΛࢧ͑ΔେϨϏϡʔ ࠓճ͸ʮίʔυϨϏϡʔʯʹ͍ͭͯͰ͢

  19. ՝୊

  20. w ίʔυελΠϧ͕όϥόϥ w ίʔυͷଐਓԽ w ίʔυϨϏϡʔʹͳΕͳ͍ w ίʔυϨϏϡʔ͕ऴΘΒͳ͍ w ඼࣭ͷ޲্

    ՝୊
  21. ίʔυελΠϧ͕όϥόϥ

  22. w 1FSM͔Β3VCZʹҠͬͨͷͰɺ3VCZ3BJMTͬΆ͍͕ Θ͔Βͳ͍ w ϋογϡϩέοτΛ࢖͏PS࢖Θͳ͍ w 5JNFOPXʁ5JNF[POFOPXʁ5JNFDVSSFOUʁ w \^͍Δͷʁ͍Βͳ͍ͷʁ w

    ॳΊͯͷ͜ͱͩΒ͚Ͱɺӈԟࠨԟ ՝୊
  23. w πʔϧΛಋೖ͠ɺઌਓͷ஌ܙΛआΓΔ w 3VCPDPQɺIBNMMJOUɺFTMJOUɺCSBLFNBO w $*Ͱ࣮ߦ͍ͯ͠ΔʢFTMJOUΛআ͘ʣ ղܾɿπʔϧͷಋೖ

  24. ίʔυͷଐਓԽ

  25. w ʮ͋ͷਓʯ͡Όͳ͍ͱΘ͔Βͳ͍ίʔυઃܭ w ಠࣗϑϨʔϜϫʔΫ͔Β3BJMT΁ͷҠ২࣌ʹฉ͍ͯҠ ২Λ࣮ߦ w ݁Ռɺࣗ෼͕ʮ͋ͷਓʯʹͳͬͯ͠·͏ w ෆ۩߹ͷԹচʹͳΓ΍͍͢ ՝୊

  26. w ࠷ॳɺίʔυϨϏϡʔ͸ϥϯμϜͰIVCPU͕ࢦ໊ w ϥϯμϜ͗ͯ͢ϨϏϡʔͰ͖ͳ͍࣌΋ʢ3BJMTͷϞϯ Ωʔύονͱ͔ʣ w νʔϜ಺ͰϨϏϡʔΛ͢ΔΑ͏ʹͳͬͨ w ෳ਺ਓ͕ίʔυΛݟΔ͜ͱʹͳΓɺଐਓԽΛݮΒ͢ ղܾɿνʔϜͰϨϏϡʔ

  27. ίʔυϨϏϡʔʹͳΕͳ͍

  28. w ίʔυϨϏϡʔΛ͓ئ͍͢Δɺͩͱʜ w ʮਃ͠༁ͳ͍ʯײ͕ͰΔ w ਓͷ࣌ؒΛ࢖ͬͯ͠·͏ w ίʔυͷؒҧ͍Λࢦఠ͞Εͯؾ෼͕΁͜Ή ՝୊

  29. w CPX!Λ࢖Θͳ͍ w ϨϏϡʔ͸ϓϩμΫτΛ࡞Δ্Ͱେ੾ͳ͜ͱɻؾ෼Λ ্͛Δײ͡ʹ͍͖͍ͯͨ͠ w ͓ئ͍͢Δ࣌ʹɺͦͷਓʹ߹ΘͤͨֆจࣈΛ࢖ͬͨΓɺ ؾ෼Λ্͛ΔΑ͏ʹͨ͠ w EBOHP"CSFBE#LJNPOP$IFBSU♥

    ͳͲ ղܾɿֆจࣈΛ࢖Θͳ͍࢖͏
  30. w ࢥ͍΍ΓΛ΋ͬͯɺࢦఠ Λ͢Δ w ݠڏ )VNJMJUZ  w ଚܟ 3FTQFDU

     w ৴པ 5SVTU ղܾɿ)35
  31. w ྑ͍ߦಈΛ΄ΊΔɻྑ͍ߦಈΛܧଓ͍ͤͨ͞ɻ ղܾɿߦಈΛ΄ΊΔ

  32. ϓϧϦΫΤετʹؾ͔ͮͳ͍

  33. w HJUIVCͷ௨஌͕ଟ͗ͯ͢ಡΊͳ͍ w ϝʔϧ͸ݏ͍ʢݸਓͷײ૝Ͱ͢ʣ w 4MBDLͷNFTTBHFͰʮ͓ئ͍CPXʯ͞ΕΔ w ݟͨΒिؒલͷϓϧϦΫΤετͩͬͨʂ w ࣮͸ɺ࠷ॳ͸ผͳਓ͕͓ئ͍͞Εͯͨ

    ՝୊
  34. w ேձͰ఻͑Δɺٸ͗ͷ࣌͸௚઀ݴ͏ w +BTQFSΛ࢖͏ʂ ղܾ

  35. ϓϧϦΫΤετ͕
 Θ͔Γʹ͍͘

  36. w ϓϧϦΫΤετΛϚʔδ͢ΔͱԿ͕ى͖Δͷ͔Θ͔Βͳ ͍ w ໨త͕Θ͔Βͳ͍ w ஫ҙ఺͸͋Δʁ w ͙͢ʹϚʔδͯ͠΋͍͍ͷʁ ՝୊

  37. w ྑ͍ϓϧϦΫΤετͷॻ͖ํΛFTBʹ༻ҙͨ͠ w ϨϏϡʔ͢Δ࣌ʹɺϓϧϦΫΤετͷॻ͖ํΛ఻͑ͨ ղܾ

  38. w ϓϧϦΫΤετͷ໨తɺ׎͑ΒΕΔ͜ͱΛॻ͘ w ද্ࣔͷࠩ෼͸ɺεΫϦʔϯγϣοτΛషΔ w ϨϏϡʔ͢Δਓ͕خ͍͠ɺ͓΋ͯͳ͕͋͠ΔϓϧϦΫΤ ετ͕ཧ૝ ղܾ

  39. ඼࣭ͷ޲্

  40. w ಠࣗϑϨʔϜϫʔΫ͔Β3BJMTʹҠΓɺΦϒδΣΫτࢦ ޲ΞϓϦέʔγϣϯͱͯ͠ద੾ͳίʔυ͔ʁ w ςʔϒϧઃܭ͕࢒೦ w 42-Ξϯνύλʔϯ͕৭ʑ w δΣΠ΢ΥʔΫɺϚϧνΧϥϜΞτϦϏϡʔτɺ࿦ཧ ࡟আ

    ՝୊
  41. w ΦϒδΣΫτࢦ޲ʹ͍ͭͯৄ͍͠ਓ͔ΒͷϨϏϡʔΛ΋ Β͑ͨ w ؾ͖ͮΛಘΔ͜ͱ͕Ͱ͖ͨ w 4DIFNB͕HJUͰ؅ཧ͞ΕͯϨϏϡʔՄೳʹ w 42-Ξϯνύλʔϯʹؾͮ͘͜ͱ͕Ͱ͖Δ w

    ύϑΥʔϚϯεΛؾ෇͖΍͘͢ͳΓɺϨϏϡʔͰࢦఠ Ͱ͖ΔΑ͏ʹͳͬͨ ղܾʁ
  42. ίʔυϨϏϡʔͰ࣮ݱͰ͖ͨ ͜ͱ

  43. w ίʔυελΠϧ͕੔ཧ͞Ε͖ͯͨ w ίʔυͷଐਓԽ͕ݮ͖ͬͯͨ w ඼࣭ͷ޲্ʢ௿ԼΛ๷͙ʣ w ৽͍͜͠ͱΛֶͿ͜ͱ͕Ͱ͖ͨ ࣮ݱͰ͖ͨ͜ͱ

  44. w νʔϜʹKPJOͨ͠ਓʹ৽͍͜͠ͱʢ1FSM͔Β3VCZ ͱ͔ʣΛ఻͑Δػձ͕Ͱ͖Δ w ஌Βͳ͍͜ͱΛνʔϜͰֶशͰ͖ΔػձͱͳΔ w ஌͍ͬͯΔਓ͔ΒֶͿػձɻڭ͑Δ͜ͱͰڧԽ͞ΕΔ w ΄ΊΔจԽͰ৺ཧత҆શΛ࡞Δ ༧ظ͠ͳ͔ͬͨ͜ͱ

  45. ৽ͨͳ՝୊

  46. w ඼࣭ͷ޲্ʢৗʹʣ w ίʔυϨϏϡʔ׬ྃ·Ͱͷ࣌ؒ w ϓϧϦΫΤετ͕ͨ·ΓɺαʔϏεͷՁ஋͕ಧ͚ΒΕ ͍ͯͳ͍ w ϨϏϡʔ͢ΔਓͷภΓ w

    ͭͷγεςϜͷଘࡏ ৽ͨͳ՝୊
  47. ·ͱΊ

  48. w 3BJMTҠߦΛ͢͢ΊΔͱ͖ʹɺίʔυϨϏϡʔΛऔΓೖ Εͨ͜ͱͰ w ඼࣭ͷ௿ԼΛ๷͙͜ͱ͕Ͱ͖ͨ w ։ൃνʔϜʹֶश͢Δػձ͕Ͱ͖ͨ w ίʔυϨϏϡʔʹ͔͔Δ࣌ؒ͸վળΛ͍͖͍ͯͨ͠ ·ͱΊ