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

rdb antipattern refactoring

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

rdb antipattern refactoring

Avatar for soudai sone

soudai sone PRO

August 03, 2017
Tweet

More Decks by soudai sone

Other Decks in Technology

Transcript

  1. σʔλϕʔεϦϑΝΫλϦϯάͷ෼ྨ w ߏ଄ ςʔϒϧ΍7JFXͷఆٛ  w σʔλ඼࣭ σʔλͷ஋  w

    ࢀর੔߹ੑ ςʔϒϧͷؔ࿈ੑ  w ϝιου ετΞυϓϩγδϟ  w มߋ ςʔϒϧ΍ΧϥϜͷ௥Ճ  w ΞʔΩςΫνϟ ΞϓϦͱͷΠϯλʔϑΣΠε σʔλϕʔεɾϦϑΝΫλϦϯά
  2. ϚϧνΞϓϦέʔγϣϯ σʔλϕʔε ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ ΞϓϦέʔγϣϯ όονॲཧ σʔλϕʔε ӬଓԽϑϨʔϜϫʔΫ ςετίʔυ ϞχλϦϯά

    ෳ਺ͷΞϓϦέʔγϣϯͷมߋ͕ඞཁͳ৔߹ʹ શͯͷΞϓϦέʔγϣϯ͕ಈ͘ඞཁ͕͋Δ ಉ࣌ʹΞϓϦέʔγϣϯ͕ߋ৽Ͱ͖ͳ͍ ৔߹΋͋ΔͷͰҠߦظ͕ؒඞཁ
  3. σʔλϕʔεϦϑΝΫλϦϯάͷ෼ྨ w ߏ଄ ςʔϒϧ΍7JFXͷఆٛ  w σʔλ඼࣭ σʔλͷ஋  w

    ࢀর੔߹ੑ ςʔϒϧͷؔ࿈ੑ  w ϝιου ετΞυϓϩγδϟ  w มߋ ςʔϒϧ΍ΧϥϜͷ௥Ճ  w ΞʔΩςΫνϟ ΞϓϦͱͷΠϯλʔϑΣΠε σʔλϕʔεɾϦϑΝΫλϦϯά
  4. JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ  

    ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔  ીࠜɹ૖େ   ીࠜɹኽָ   ીࠜɹᗅָ   ીࠜɹࡣָ 
  5. JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ  

    ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔  ીࠜɹ૖େ   ીࠜɹኽָ   ીࠜɹᗅָ   ીࠜɹࡣָ  ຖ೥Ճྸͷ61%"5&͕ඞཁͳͷͰ ੜ೥݄೔ʹมߋ͍ͨ͠
  6. JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ  

    ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔  ીࠜɹ૖େ   ીࠜɹኽָ   ીࠜɹᗅָ   ીࠜɹࡣָ  ੜ೥݄೔͔Β೥ྸΛܭࢉͤ͞Δ ࢓૊Έ͕ඞཁ
  7. JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ  

    ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔  ીࠜɹ૖େ   ીࠜɹኽָ   ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔ ೥ྸ  ીࠜɹ૖େ    ીࠜɹኽָ    ીࠜɹᗅָ    ીࠜɹࡣָ  
  8. JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ  

    ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔  ીࠜɹ૖େ   ીࠜɹኽָ   ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔ ೥ྸ  ીࠜɹ૖େ    ીࠜɹኽָ    ીࠜɹᗅָ    ીࠜɹࡣָ   Ҡߦظؒ͸ඞཁ
  9. JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ  

    ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔  ીࠜɹ૖େ   ીࠜɹኽָ   ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔ ೥ྸ  ીࠜɹ૖େ    ીࠜɹኽָ    ીࠜɹᗅָ    ીࠜɹࡣָ   Ҡߦ͕׬ྃͯ͠ෆཁʹ ͳͬͨΒ࡟আ͢Δ
  10. JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ  

    ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔  ીࠜɹ૖େ   ીࠜɹኽָ   ીࠜɹᗅָ   ીࠜɹࡣָ  JE ໊લ ੜ೥݄೔ ೥ྸ  ીࠜɹ૖େ    ીࠜɹኽָ    ીࠜɹᗅָ    ીࠜɹࡣָ   ͲͷΑ͏ʹ͜ͷςʔϒϧΛ දݱ͢Δ͔
  11. JE ໊લ ੜ೥݄೔ ೥ྸ  ીࠜɹ૖େ    ીࠜɹኽָ

       ીࠜɹᗅָ    ીࠜɹࡣָ   چΞϓϦ ৽ΞϓϦ */4&35࣌ʹ೥ྸ͕ແ͍
  12. JE ໊લ ੜ೥݄೔ ೥ྸ  ીࠜɹ૖େ    ીࠜɹኽָ

       ીࠜɹᗅָ    ીࠜɹࡣָ   چΞϓϦ ৽ΞϓϦ */4&35࣌ʹτϦΨʔͰ೥ྸΛܭࢉͯ͠ೖྗ͢Δ
  13. JE ໊લ ੜ೥݄೔ ೥ྸ  ીࠜɹ૖େ    ીࠜɹኽָ

       ીࠜɹᗅָ    ીࠜɹࡣָ   چΞϓϦ ৽ΞϓϦ औಘ࣌ʹ೥ྸ͕͋ΔͷͰಈ͘