Save 37% off PRO during our Black Friday Sale! »

RDB anti-pattern that Java engineer wants to know

RDB anti-pattern that Java engineer wants to know

JJUG CCC 2017 spring での登壇資料です。

http://www.java-users.jp/ccc2017spring/

88f4e84b94fe07cddbd9e6479d689192?s=128

soudai sone

May 20, 2017
Tweet

Transcript

  1. JavaΤϯδχΞʹ஌ͬͯ΄͍͠ RDBΞϯνύλʔϯ ++6($$$4QSJOH

  2. What is it? ࠓ೔Έͳ͞Μʹ࣋ͬͯؼͬͯ΄͍͜͠ͱ

  3. What is it? σʔλϕʔεͷण໋͸ ΞϓϦέʔγϣϯΑΓ΋௕͍

  4. What is it? ͦΜͳ௕͍෇͖߹͍ʹͳΔσʔλϕʔε ͷେ੾ͳࣄΛ͓఻͑͠·͢

  5. What is it? ର৅ͷσʔλϕʔειϑτ΢ΣΞ

  6. What is it? PostgreSQL 9.6ͱMySQL 5.7(InnoDB)ʹݶΔ ଞͷRDBͷ࿩͸͠·ͤΜ

  7. What is it? RDBΞϯνύλʔϯ

  8. What is it? RDBΞϯνύλʔϯ ↓ ޙʑʹۤ͠ΈΛੜΉ

  9. What is it? RDBΞϯνύλʔϯΛ஌Δ

  10. What is it? RDBΞϯνύλʔϯΛ஌Δ ↓ ಉ͡աͪΛ܁Γฦ͞ͳ͍

  11. What is it? ࠓ೔͸RDBͷࣦഊྫΛ͝঺հ͠·͢

  12. ͋͐͡Μͩ ̍ɹࣗݾ঺հ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍໿ ̐ɹ؂ࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ

  13. ͋͐͡Μͩ ̍ɹࣗݾ঺հ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍໿ ̐ɹ؂ࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ

  14. ࣗݾ঺հ ໊લɿીࠜɹ૖େʢͦͶɹ͚ͨͱ΋ʣ ೥ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͸ͯͳʢMackerelνʔϜʣ ɹɹɹ೔ຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦௕ ɹɹٕज़తʹ͸LLܥݴޠͱ͔RDB͕޷͖Ͱ͢

  15. ࣗݾ঺հ ໊લɿીࠜɹ૖େʢͦͶɹ͚ͨͱ΋ʣ ೥ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͸ͯͳʢMackerelνʔϜʣ ɹɹɹ೔ຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦௕ ɹɹٕज़తʹ͸LLܥݴޠͱ͔RDB͕޷͖Ͱ͢

  16. Mackerel

  17. Mackerel

  18. ͸ͯͳ͸஥ؒΛ୳ͯ͠·͢ curl -sIL mackerel.io | grep engineer

  19. ࣗݾ঺հ ໊લɿીࠜɹ૖େʢͦͶɹ͚ͨͱ΋ʣ ೥ྸɿ32ࡀʢࡾਓͷࢠڙ͕͍·͢ʣ ৬ۀɿηʔϧεΤϯδχΞ ॴଐɿגࣜձࣾ ͸ͯͳʢMackerelνʔϜʣ ɹɹɹ೔ຊPostgreSQLϢʔβձ ɹɹɹɹɹதࠃࢧ෦ ࢧ෦௕ ɹɹٕज़తʹ͸LLܥݴޠͱ͔RDB͕޷͖Ͱ͢

  20. ͋͐͡Μͩ ̍ɹࣗݾ঺հ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍໿ ̐ɹ؂ࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ

  21. None
  22. σʔλϕʔεͷ໎ٶ 4PGUXBSF%FTJHOΛಡΜͰ͘Εʂʂ Ҏ্οʂʂʂʂ

  23. σʔλϕʔεͷ໎ٶ σʔλϕʔεͷઃܭͷ࿩

  24. σʔλϕʔεͷ໎ٶ demo=# SELECT delete_falg AS delete_flag FROM users GROUP BY

    delete_flag delete_flag ------------- 1 2 0 9 99 NULL (6 ߦ)
  25. σʔλϕʔεͷ໎ٶ ▪࢓༷ॻ_20170513(1).xls 0: ະ࡟আ 1: ࡟আࡁΈ 2: ؅ཧऀʹΑΔڧ੍࡟আ 9: ຣফ

    99: Α͘Θ͔Βͳ͍ NULL: όάͰೖΔ
  26. σʔλϕʔεͷ໎ٶ NFNP NFNP NFNP

  27. σʔλϕʔεͷ໎ٶ NFNP NFNP NFNP NFNPͰ͸ͳ͘NFNPͷͱ͜Ζ͕ྺ࢙Λײͤ͡͞Δ

  28. σʔλϕʔεͷ໎ٶ σʔλϕʔεͷ໎ٶͷ໰୊

  29. σʔλϕʔεͷ໎ٶ w ෆద੾ͳ໊લͰ͸σʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ΍ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕൑அग़དྷͳ͍ w

    ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ
 औΓग़ͤ͹͍͍͔Θ͔Βͳ͍
  30. σʔλϕʔεͷ໎ٶ w ෆద੾ͳ໊લͰ͸σʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ΍ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕൑அग़དྷͳ͍ w

    ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ
 औΓग़ͤ͹͍͍͔Θ͔Βͳ͍
  31. σʔλϕʔεͷ໎ٶ w ෆద੾ͳ໊લͰ͸σʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ΍ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕൑அग़དྷͳ͍ w

    ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ
 औΓग़ͤ͹͍͍͔Θ͔Βͳ͍
  32. σʔλϕʔεͷ໎ٶ w ෆద੾ͳ໊લͰ͸σʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ΍ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕൑அग़དྷͳ͍ w

    ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ
 औΓग़ͤ͹͍͍͔Θ͔Βͳ͍
  33. σʔλϕʔεͷ໎ٶ w ෆద੾ͳ໊લͰ͸σʔλϕʔεͷςʔϒϧͷؔ࿈ੑ ΍ҙਤ͕ཧղͰ͖ͳ͍ w ϦϨʔγϣφϧϞσϧΛج͍ͮͨઃܭ͍ͯ͠ͳ͍ͱ طଘͷศརͳπʔϧΛར༻ग़དྷͳ͍ w อଘ͞Εͨσʔλ͕ਖ਼͍͔͠Ͳ͏͔͕൑அग़དྷͳ͍ w

    ͲͷΑ͏ͳσʔλΛอଘ͠ɺͲͷΑ͏ͳσʔλΛ
 औΓग़ͤ͹͍͍͔Θ͔Βͳ͍
  34. σʔλϕʔεͷ໎ٶ ࿦ཧ*%

  35. σʔλϕʔεͷ໎ٶ ࿦ཧ*% ˣ ձһ*%Λྫʹ͠·͢

  36. σʔλϕʔεͷ໎ٶ 

  37. σʔλϕʔεͷ໎ٶ  ͔Β࢝·Δͷ͸ҰൠϢʔβ ͔Β࢝·Δͷ͸؅ཧϢʔβ

  38. σʔλϕʔεͷ໎ٶ  Ϣʔβͷ౎ಓ෎ݝΛද͢

  39. σʔλϕʔεͷ໎ٶ  ຊ౰ͷձһ*%

  40. σʔλϕʔεͷ໎ٶ σʔλʹϩδοΫΛຒΊࠐΉͳͬʂ

  41. σʔλϕʔεͷ໎ٶ σʔλʹϩδοΫΛຒΊࠐΉͳͬʂ ˣ σʔλΛσʔλͱͯ͠ಡΈऔΕͳ͍

  42. σʔλϕʔεͷ໎ٶ ॲํᝦ w ΧϥϜΛਖ਼໊͘͠લΛ͚ͭΔ w σʔλͷ੹຿Λ෼͚Δ w มԽʹ߹ΘͤͯϦϑΝΫλϦϯά͢Δ

  43. σʔλϕʔεͷ໎ٶ ॲํᝦ w ΧϥϜΛਖ਼໊͘͠લΛ͚ͭΔ w σʔλͷ੹຿Λ෼͚Δ w มԽʹ߹ΘͤͯϦϑΝΫλϦϯά͢Δ

  44. σʔλϕʔεͷ໎ٶ ϦϑΝΫλϦϯάͷྫ

  45. σʔλϕʔεͷ໎ٶ JE ໊લ ೥ྸ  ીࠜɹ૖େ   ીࠜɹኽָ 

     ીࠜɹᗅָ   ીࠜɹࡣָ  ݱঢ়
  46. σʔλϕʔεͷ໎ٶ ձһJE ໊લ ೥ྸ ݖݶJE ౎ಓ෎ݝJE  ીࠜɹ૖େ  

      ીࠜɹኽָ     ીࠜɹᗅָ     ીࠜɹࡣָ    ཧ૝
  47. σʔλϕʔεͷ໎ٶ JE ձһJE ໊લ ೥ྸ ݖݶJE ౎ಓ෎ݝJE  /6-- ીࠜɹ૖େ

     /6-- /6--  /6-- ીࠜɹኽָ  /6-- /6--  /6-- ીࠜɹᗅָ  /6-- /6--  /6-- ીࠜɹࡣָ  /6-- /6-- ର৅ͷΧϥϜΛ௥Ճ
  48. σʔλϕʔεͷ໎ٶ JE ձһJE ໊લ ೥ྸ ݖݶJE ౎ಓ෎ݝJE   ીࠜɹ૖େ

         ીࠜɹኽָ      ીࠜɹᗅָ      ીࠜɹࡣָ    ର৅ͷΧϥϜΛ௥Ճ
  49. σʔλϕʔεͷ໎ٶ Ͳ͏΍ͬͯ࿦ཧ*%Λ ৽͍͠ΧϥϜʹೖΕΔ͔

  50. σʔλϕʔεͷ໎ٶ ϦϑΝΫλϦϯάख๏ͷྫ w */4&35΍61%"5&ͷ࣌ʹΞϓϦ͕ೖΕΔ w */4&35΍61%"5&ͷ࣌ʹτϦΨʔΛ࢖͏ w Ծ૝ྻ΍7JFXΛ࢖͏

  51. σʔλϕʔεͷ໎ٶ ձһJE ໊લ ೥ྸ ݖݶJE ౎ಓ෎ݝJE  ીࠜɹ૖େ  

      ીࠜɹኽָ     ીࠜɹᗅָ     ીࠜɹࡣָ    ཧ૝ͷ7JFXΛ࡞Δ
  52. σʔλϕʔεͷ໎ٶ αʔϏεͷੑ࣭ʹ߹Θͤͯ ख๏ΛબͿ

  53. ͋͐͡Μͩ ̍ɹࣗݾ঺հ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍໿ ̐ɹ؂ࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ

  54. ڧ͗͢Δ੍໿ σʔλϕʔε͸ αʔϏεʹ༩͑ΔӨڹൣғ͕޿͍

  55. ڧ͗͢Δ੍໿ ༩͑ΔӨڹൣғͷྫ w %#Λఀࢭ͢ΔͱαʔϏε͕ࢭ·Δ w มߋ͢Δͱෳ਺αʔϏεͷվम͕ඞཁ w σʔλ͸ৗʹ஝ੵ͞Ε͍ͯ͘

  56. ڧ͗͢Δ੍໿ ࣌ؒܦաͰσʔλ͕੒௕͢Δ

  57. ڧ͗͢Δ੍໿ ͭ·Γมߋ͕େม

  58. ڧ͗͢Δ੍໿ ͭ·Γมߋ͕େม ˣ ͕࣌ؒܦͯ͹ܦͭ΄Ͳঢ়گ͕ѱԽ

  59. ڧ͗͢Δ੍໿ ͔ͩΒͦ͜ਖ਼͍͠ઃܭʹҭͯΔ΂͖

  60. ڧ͗͢Δ੍໿ ͦͷͨΊʹ3%#ͷػೳΛ׆༻͢Δ

  61. ڧ͗͢Δ੍໿ ͦͷͨΊʹ3%#ͷػೳΛ׆༻͢Δ ˣ ͔ͦ͠͠Ε͕ཪ໨ʹग़Δ͜ͱ΋

  62. ڧ͗͢Δ੍໿ 3%#ͷػೳʹґଘ͗͢͠Δͱ ͦΕ͸ڧ͗͢Δ੍໿ʹͳΔ

  63. ڧ͗͢Δ੍໿ ڧ͗͢Δ੍໿ͷྫ w τϦΨʔ͕ଟ͘ͷ5"#-&ʹӨڹΛ༩͑Δ w ετΞυ͕ϩδοΫΛ࣋ͪ͗͢Δ w ϚςϏϡʔ΍%#-JOLͷଟ༻͗͢͠Δ

  64. ڧ͗͢Δ੍໿ 3%#ͷػೳ͸ͱͯ΋ศར

  65. ڧ͗͢Δ੍໿ 3%#ͷػೳ͸ͱͯ΋ศར ˣ ͔ۜ͠͠ͷ஄ؙͰ͸ͳ͍

  66. ڧ͗͢Δ੍໿ ઃܭͷόϥϯεײ͕֮େࣄ

  67. ڧ͗͢Δ੍໿ ॲํᝦ w ͦͷػೳΛར༻͢ΔظؒΛݕ౼͢Δ w ͦͷػೳͷӨڹൣғΛཧղ͢Δ w ຊ౰ʹ࠷దͳΞϓϩʔν͔໰͍௚͢

  68. ڧ͗͢Δ੍໿ ॲํᝦ w ͦͷػೳΛར༻͢ΔظؒΛݕ౼͢Δ w ͦͷػೳͷӨڹൣғΛཧղ͢Δ w ຊ౰ʹ࠷దͳΞϓϩʔν͔໰͍௚͢

  69. ڧ͗͢Δ੍໿ ਓ͸աڈͷ੒ޭମݧͷ όΠΞε͕͔͔Δ

  70. ڧ͗͢Δ੍໿ ਓ͸աڈͷࣦഊମݧ΋ όΠΞε͕͔͔Δ

  71. ڧ͗͢Δ੍໿ ઃܭͷόϥϯεײ͕֮େࣄ

  72. ڧ͗͢Δ੍໿ ઃܭͷόϥϯεײ͕֮େࣄ ˣ ଟ͘ͷઃܭΛݟͯཆ͏͜ͱ͕େࣄ

  73. ͋͐͡Μͩ ̍ɹࣗݾ঺հ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍໿ ̐ɹ؂ࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ

  74. ؂ࢹ͞Εͳ͍σʔλϕʔε ؂ࢹͱϞχλϦϯά

  75. ؂ࢹ͞Εͳ͍σʔλϕʔε

  76. ؂ࢹ͞Εͳ͍σʔλϕʔε

  77. ؂ࢹ͞Εͳ͍σʔλϕʔε ͳΜͰςετॻ͘ͷʹ ϞχλϦϯά͠ͳ͍ΜͰ͔͢ʁ

  78. ؂ࢹ͞Εͳ͍σʔλϕʔε ؂ࢹ͸ࡾஈ֊͋Δ

  79. ؂ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘ো֐ൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰ؂ࢹ͢Δ͜ͱͰ Ϧιʔε؅ཧ΍ো֐ͷ༧ஹͷ೺Ѳ͢Δ

  80. ؂ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘ো֐ൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰ؂ࢹ͢Δ͜ͱͰ Ϧιʔε؅ཧ΍ো֐ͷ༧ஹͷ೺Ѳ͢Δ ࢮ׆؂ࢹ

  81. ؂ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘ো֐ൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰ؂ࢹ͢Δ͜ͱͰ Ϧιʔε؅ཧ΍ো֐ͷ༧ஹͷ೺Ѳ͢Δ νΣοΫ؂ࢹ

  82. ؂ࢹ͞Εͳ͍σʔλϕʔε w͍ͪૣ͘ো֐ൃੜΛ֬ೝ͢Δ w෮چͷͨΊͷݪҼΛ֬ೝ͢Δ wঢ়گͷมԽΛ࣌ܥྻͰ؂ࢹ͢Δ͜ͱͰ Ϧιʔε؅ཧ΍ো֐ͷ༧ஹͷ೺Ѳ͢Δ ϞχλϦϯά؂ࢹ

  83. ؂ࢹ͞Εͳ͍σʔλϕʔε

  84. ؂ࢹ͞Εͳ͍σʔλϕʔε

  85. ؂ࢹ͞Εͳ͍σʔλϕʔε Πϯϑϥ͸ੜ͖෺

  86. ؂ࢹ͞Εͳ͍σʔλϕʔε Πϯϑϥ͸ੜ͖෺ ˣ ೔ʑͷ੒௕ه࿥ΛݟΔ

  87. ؂ࢹ͞Εͳ͍σʔλϕʔε աڈΛ஌Δ͜ͱͰ ࠓͷ৔ॴ͕Θ͔Δ

  88. ؂ࢹ͞Εͳ͍σʔλϕʔε ࠓͱաڈͷࠩ෼

  89. ؂ࢹ͞Εͳ͍σʔλϕʔε ࠓͱաڈͷࠩ෼ ˣ ະདྷΛ஌ΔͨΊͷࡐྉ

  90. ؂ࢹ͞Εͳ͍σʔλϕʔε ؂ࢹ͢΂͖߲໨ w ౷ܭ৘ใ΍04ϦιʔεͳͲ3%#ͷঢ়ଶ w εϩʔΫΤϦϩά΍ΤϥʔϩάͳͲ w ෳ਺ͷ%#ΛॏͶͨൺֱ

  91. ؂ࢹ͞Εͳ͍σʔλϕʔε ϞχλϦϯά͸վળͷҰา໨

  92. ؂ࢹ͞Εͳ͍σʔλϕʔε ॲํᝦ w ద੾ʹϞχλϦϯάΛ͢Δ w ϞχλϦϯάπʔϧΛ׆༻͢Δ w վળͷͨΊͷҰา໨Λ౿Έग़͢

  93. ͋͐͡Μͩ ̍ɹࣗݾ঺հ ̎ɹσʔλϕʔεͷ໎ٶ ̏ɹڧ͗͢Δ੍໿ ̐ɹ؂ࢹ͞Εͳ͍σʔλϕʔε ̑ɹ·ͱΊ

  94. ·ͱΊ ۪ऀ͸ܦݧʹֶͿ ݡऀ͸աڈʹֶͿ

  95. ·ͱΊ ΞϯνύλʔϯΛ஌Δ

  96. ·ͱΊ

  97. ·ͱΊ SQLΞϯνύλʔϯ͸ݫબ͞Εࣦͨഊू

  98. ·ͱΊ SQLΞϯνύλʔϯ͸ݫબ͞Εࣦͨഊू ↓ DBͷϊ΢ϋ΢͕٧·໊ͬͨஶ

  99. ·ͱΊ Ұ౓࡞ͬͨ%#͸ফͤͳ͍

  100. ·ͱΊ Ұ౓࡞ͬͨ%#͸ফͤͳ͍ ˣ ઃܭ͕େࣄ

  101. ·ͱΊ σʔλϕʔεͷࢮ͸αʔϏεͷࢮ

  102. ·ͱΊ σʔλϕʔεͷࢮ͸αʔϏεͷࢮ ˣ ղܾͰ͖Δਓ͸ӳ༤

  103. ·ͱΊ %#ͷ໰୊͸๨Εͨࠒʹ΍ͬͯ͘Δ

  104. ·ͱΊ

  105. ·ͱΊ αʔϏε΍νʔϜΛकΔ

  106. ·ͱΊ αʔϏε΍νʔϜΛकΔ ˣ ͦͷͨΊʹֶͿ

  107. ·ͱΊ पғͷܦݧஊ͔ΒֶͿ

  108. ·ͱΊ पғͷܦݧஊ͔ΒֶͿ ˣ ੵۃతʹίϛϡχςΟΛར༻͢Δ

  109. ࢀߟࢿྉ ɾQPTUHSFTRMKQ4MBDL νϟοτϧʔϜ  IUUQTQPTUHSFTRMIBDLFSTKQIFSPLVBQQDPN ɾNZTRMDBTVBM4MBDL νϟοτϧʔϜ  IUUQTNZTRMDBTVBMTMBDLJOIFSPLVBQQDPN

  110. ·ͱΊ 3%#ͷ஌ࣝ͸ण໋͕௕͍

  111. ·ͱΊ 3%#ͷ஌ࣝ͸ण໋͕௕͍ ˣ ֮͑Ε͹࢓ࣄͰ௕͍ؒ໾ʹཱͭ

  112. ·ͱΊ lखΛಈ͔ͨ͠ਓ͚͕ͩੈքΛม͑Δz Š:BTVIJSP0OJTIJ

  113. ·ͱΊ ΑΓྑ͍ઃܭΛ Ұॹʹߟ͑ͯߦ͖·͠ΐ͏

  114. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ