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

MySQLで画像 を扱うメリット・デメリットと障害・解決事例/Advantages_and_disadvantages_of_handling_images_with_MySQL_and_special_patterns

MySQLで画像 を扱うメリット・デメリットと障害・解決事例/Advantages_and_disadvantages_of_handling_images_with_MySQL_and_special_patterns

PHPカンファレンス福岡 2018 でお話ししました
「MySQLで画像 を扱うメリット・デメリットと障害・解決事例」
の登壇スライトです。

3c9c5f9a91cac73073db8bb2903bd968?s=128

mamy1326

June 16, 2018
Tweet

Transcript

  1. .Z42-Ͱը૾Λѻ͏ ϝϦοτɾσϝϦοτͱ ো֐ɾղܾࣄྫ ·Έ΍ͳ͓͖ !NBNZ  +VO!QIQDPOGVL

  2. ࣦഊମݧͱ ղܾख๏Λղઆ

  3. ϝϦοτ " σϝϦοτ $

  4. ద੾ʹը૾Λ ѻ͏ํ๏Λ ͓࿩͠͠·͢

  5. ͓࿩͢Δ͜ͱ ▶︎ ࣗݾ঺հ ▶︎ τϥϒϧࣄྫͱղܾํ๏ ▶︎ ϝϦοτɾσϝϦοτ ▶︎ Կ͕ϕετͳͷ͔ ▶︎

    ͓ΘΓʹ
  6. ͓࿩͢Δ͜ͱ ▶︎ ࣗݾ঺հ ▶︎ τϥϒϧࣄྫͱղܾํ๏ ▶︎ ϝϦοτɾσϝϦοτ ▶︎ Կ͕ϕετͳͷ͔ ▶︎

    ͓ΘΓʹ
  7. ࣗݾ঺հ Name ɿ·Έ΍ͳ͓͖ ॴଐɹ ɿInnovator Japan Inc. Twitterɿ@mamy1326ʢ·Έʔʣ - ීஈ͸PHPॻ͍ͯ·͢

    - 2017೥1݄ʹॳΊͯmy.cnfΛ৮Δ - 2017೥ MySQL͕झຯ - 2018೥ DNSͱωοτϫʔΫ͕झຯ
  8. ͱ͜ΖͰ Έͳ͞Μ

  9. ը૾Λ3%#ʹ ೖΕͨ͜ͱ ·ͨ͸ʜ

  10. ϓϩδΣΫτܦݧ ͋Γ·͔͢ʁ ڍख✋

  11. ΋ͪΖΜʁ ๻΋͋Γ·͢ʂ

  12. ௞ି؅ཧγεςϜ ෺݅ը૾Λશ෦ ΧϥϜʹೖΕΔ

  13. ͭΒ͍

  14. ͓࿩͢Δ͜ͱ ▶︎ ࣗݾ঺հ ▶︎ τϥϒϧࣄྫͱղܾํ๏ ▶︎ ϝϦοτɾσϝϦοτ ▶︎ Կ͕ϕετͳͷ͔ ▶︎

    ͓ΘΓʹ
  15. None
  16. %#͔Β ը૾Λ4&-&$5 ʢ֎؍ɺ಺૷ɺؒऔɺपลʣ

  17. ಥવͷ ͓٬͞·͔Βͷ ͓໰͍߹Θͤ

  18. ͋Δ೔ͷ͓໰͍߹Θͤ ☎ɿ෺݅σʔλΞοϓϩʔυͨ͠Βɺ ɹɹը໘͕ਅͬനʹͳΔΜͰ͚͢Ͳ ɿը໘Ωϟϓνϟૹͬͯ௖͍ͯ΋ ɹɹΑΖ͍͠Ͱ͔͢ʁ

  19. ͋Δ೔ͷ͓໰͍߹Θͤ ը໘ ਅͬന

  20. ͋Δ೔ͷ͓໰͍߹Θͤ ը໘ ਅͬന λΠϜΞ΢τ

  21. ࣮ࡍʹى͖ͨτϥϒϧ ⾣େ͖ͳαΠζͷը૾ΛΞοϓϩʔυ ɹˠεϚϗɺσδΧϝαΠζ ⾣ෳ਺ຕΛҰ౓ʹΞοϓϩʔυ ɹˠ෺݅ͷը૾਺͕ଟ͍ ⾣ϦΫΤετ͕ଟൃ ɹˠൟ๩ظʹूதɺෳ਺ళฮͰൃੜ

  22. ͸ͯ  ςʔϒϧߏ੒ݟΔ͔ʜ

  23. mysql> show create table bukken\G *************************** 1. row *************************** Table:

    bukken Create Table: CREATE TABLE `bukken` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `gaikan_01` mediumblob NOT NULL, `gaikan_02` mediumblob, `gaikan_03` mediumblob, `gaikan_04` mediumblob, `gaikan_05` mediumblob, `gaikan_06` mediumblob, `gaikan_07` mediumblob, `gaikan_08` mediumblob, `gaikan_09` mediumblob, `gaikan_10` mediumblob, `madori_01` mediumblob NOT NULL, `naiso_01` mediumblob NOT NULL, `naiso_02` mediumblob, `naiso_03` mediumblob, `naiso_04` mediumblob, `naiso_05` mediumblob, `naiso_06` mediumblob, `naiso_07` mediumblob, `naiso_08` mediumblob, `naiso_09` mediumblob, `naiso_10` mediumblob, `syuhen_01` mediumblob NOT NULL, `syuhen_02` mediumblob, `syuhen_03` mediumblob, `syuhen_04` mediumblob, `syuhen_05` mediumblob, `syuhen_06` mediumblob, `syuhen_07` mediumblob, `syuhen_08` mediumblob, `syuhen_09` mediumblob, `syuhen_10` mediumblob, `panorama` mediumblob, `gaikan_s_01` mediumblob NOT NULL, `gaikan_s_02` mediumblob, `gaikan_s_03` mediumblob, `gaikan_s_04` mediumblob, `gaikan_s_05` mediumblob, `gaikan_s_06` mediumblob, `gaikan_s_07` mediumblob, `gaikan_s_08` mediumblob, `gaikan_s_09` mediumblob, `gaikan_s_10` mediumblob, `madori_s_01` mediumblob NOT NULL, `naiso_s_01` mediumblob NOT NULL, `naiso_s_02` mediumblob, `naiso_s_03` mediumblob, `naiso_s_04` mediumblob, `naiso_s_05` mediumblob, `naiso_s_06` mediumblob, `naiso_s_07` mediumblob, `naiso_s_08` mediumblob, `naiso_s_09` mediumblob, `naiso_s_10` mediumblob, `syuhen_s_01` mediumblob NOT NULL, `syuhen_s_02` mediumblob, `syuhen_s_03` mediumblob, `syuhen_s_04` mediumblob, `syuhen_s_05` mediumblob, `syuhen_s_06` mediumblob, `syuhen_s_07` mediumblob, `syuhen_s_08` mediumblob, `syuhen_s_09` mediumblob, `syuhen_s_10` mediumblob, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 1 row in set (0.00 sec)
  24. mysql> show create table bukken\G *************************** 1. row *************************** Table:

    bukken Create Table: CREATE TABLE `bukken` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, `gaikan_01` mediumblob NOT NULL, `gaikan_02` mediumblob, `gaikan_03` mediumblob, `gaikan_04` mediumblob, `gaikan_05` mediumblob, `gaikan_06` mediumblob, `gaikan_07` mediumblob, `gaikan_08` mediumblob, `gaikan_09` mediumblob, `gaikan_10` mediumblob, `madori_01` mediumblob NOT NULL, `naiso_01` mediumblob NOT NULL, `naiso_02` mediumblob, `naiso_03` mediumblob, `naiso_04` mediumblob, `naiso_05` mediumblob, `naiso_06` mediumblob, `naiso_07` mediumblob, `naiso_08` mediumblob, `naiso_09` mediumblob, `naiso_10` mediumblob, `syuhen_01` mediumblob NOT NULL, `syuhen_02` mediumblob, `syuhen_03` mediumblob, `syuhen_04` mediumblob, `syuhen_05` mediumblob, `syuhen_06` mediumblob, `syuhen_07` mediumblob, `syuhen_08` mediumblob, `syuhen_09` mediumblob, `syuhen_10` mediumblob, `panorama` mediumblob, `gaikan_s_01` mediumblob NOT NULL, `gaikan_s_02` mediumblob, `gaikan_s_03` mediumblob, `gaikan_s_04` mediumblob, `gaikan_s_05` mediumblob, `gaikan_s_06` mediumblob, `gaikan_s_07` mediumblob, `gaikan_s_08` mediumblob, `gaikan_s_09` mediumblob, `gaikan_s_10` mediumblob, `madori_s_01` mediumblob NOT NULL, `naiso_s_01` mediumblob NOT NULL, `naiso_s_02` mediumblob, `naiso_s_03` mediumblob, `naiso_s_04` mediumblob, `naiso_s_05` mediumblob, `naiso_s_06` mediumblob, `naiso_s_07` mediumblob, `naiso_s_08` mediumblob, `naiso_s_09` mediumblob, `naiso_s_10` mediumblob, `syuhen_s_01` mediumblob NOT NULL, `syuhen_s_02` mediumblob, `syuhen_s_03` mediumblob, `syuhen_s_04` mediumblob, `syuhen_s_05` mediumblob, `syuhen_s_06` mediumblob, `syuhen_s_07` mediumblob, `syuhen_s_08` mediumblob, `syuhen_s_09` mediumblob, `syuhen_s_10` mediumblob, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 1 row in set (0.00 sec) ͑ʁ
  25. ςʔϒϧߏ੒  mysql> show create table bukken\G ****************** 1. row

    ****************** Table: bukken Create Table: CREATE TABLE `bukken` ( `id` int(10) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL, ⾣ʮͪΌΜͱʯ֬ೝͯ͠ΈΔ
  26. ςʔϒϧߏ੒  `gaikan_01` mediumblob NOT NULL, `gaikan_02` mediumblob, `gaikan_03` mediumblob,

    `gaikan_04` mediumblob, `gaikan_05` mediumblob, `gaikan_06` mediumblob, `gaikan_07` mediumblob, `gaikan_08` mediumblob, `gaikan_09` mediumblob, `gaikan_10` mediumblob,
  27. ςʔϒϧߏ੒  `madori_01` mediumblob NOT NULL, `naiso_01` mediumblob NOT NULL,

    `naiso_02` mediumblob, `naiso_03` mediumblob, `naiso_04` mediumblob, `naiso_05` mediumblob, `naiso_06` mediumblob, `naiso_07` mediumblob, `naiso_08` mediumblob, `naiso_09` mediumblob, `naiso_10` mediumblob,
  28. ςʔϒϧߏ੒  `syuhen_01` mediumblob NOT NULL, `syuhen_02` mediumblob, `syuhen_03` mediumblob,

    `syuhen_04` mediumblob, `syuhen_05` mediumblob, `syuhen_06` mediumblob, `syuhen_07` mediumblob, `syuhen_08` mediumblob, `syuhen_09` mediumblob, `syuhen_10` mediumblob, `panorama` mediumblob,
  29. ςʔϒϧߏ੒  `gaikan_s_01` mediumblob NOT NULL, `gaikan_s_02` mediumblob, `gaikan_s_03` mediumblob,

    `gaikan_s_04` mediumblob, `gaikan_s_05` mediumblob, `gaikan_s_06` mediumblob, `gaikan_s_07` mediumblob, `gaikan_s_08` mediumblob, `gaikan_s_09` mediumblob, `gaikan_s_10` mediumblob,
  30. ςʔϒϧߏ੒  `madori_s_01` mediumblob NOT NULL, `naiso_s_01` mediumblob NOT NULL,

    `naiso_s_02` mediumblob, `naiso_s_03` mediumblob, `naiso_s_04` mediumblob, `naiso_s_05` mediumblob, `naiso_s_06` mediumblob, `naiso_s_07` mediumblob, `naiso_s_08` mediumblob, `naiso_s_09` mediumblob, `naiso_s_10` mediumblob,
  31. ςʔϒϧߏ੒  `syuhen_s_01` mediumblob NOT NULL, `syuhen_s_02` mediumblob, `syuhen_s_03` mediumblob,

    `syuhen_s_04` mediumblob, `syuhen_s_05` mediumblob, `syuhen_s_06` mediumblob, `syuhen_s_07` mediumblob, `syuhen_s_08` mediumblob, `syuhen_s_09` mediumblob, `syuhen_s_10` mediumblob, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7687528 DEFAULT CHARSET=utf8mb4 1 row in set (0.00 sec)
  32. ςʔϒϧߏ੒  `syuhen_s_01` mediumblob NOT NULL, `syuhen_s_02` mediumblob, `syuhen_s_03` mediumblob,

    `syuhen_s_04` mediumblob, `syuhen_s_05` mediumblob, `syuhen_s_06` mediumblob, `syuhen_s_07` mediumblob, `syuhen_s_08` mediumblob, `syuhen_s_09` mediumblob, `syuhen_s_10` mediumblob, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=7687528 DEFAULT CHARSET=utf8mb4 1 row in set (0.00 sec) όΠφϦσʔλ อଘ༻ΧϥϜ
  33. ͳΜͱը૾ શ෦3%#ʹ ͋ΔΜͰ͢Αʢ਒͑੠

  34. ࣮ࡍͷͱ͜Ζ ͲΜͳ։ൃ͔ͩͬͨ

  35. ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ ͏Μɺେৎ෉ʂ ⾣։ൃ͍ͯͨ͠؀ڥ 8FC %# ։ൃऀ

  36. ⾣࣮ࡍͷ؀ڥ 8FC %# ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ

  37. ⾣࣮ࡍͷ؀ڥ ❌ ωοτϫʔΫ 8FC %# ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ

  38. ⾣࣮ࡍͷ؀ڥ ϓϩηε 8FC %# ❌ ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ

  39. ⾣࣮ࡍͷ؀ڥ ❌ λΠϜΞ΢τ 8FC %# ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ

  40. ӡ༻Λ૝ఆ͍ͯ͠ͳ͍ ɾେ͖ͳը૾͸Ξοϓ͠ͳ͍ͩΖ͏ ɾ͍ͬ΃ΜʹΞοϓ͠ͳ͍ͩΖ͏ ɾେ੎ͰΞοϓ͠ͳ͍ͩΖ͏ ɾ༰ྔ͸͙͢ʹᷓΕͳ͍ͩΖ͏ ɾ৑௕Խ͠ͳ͍͍ͯͩ͘Ζ͏ ɾࠔͬͨΒεέʔϧΞοϓ͢Ε͹ʁ

  41. ӡ༻Λ૝ఆ͍ͯ͠ͳ͍ ɾେ͖ͳը૾͸Ξοϓ͠ͳ͍ͩΖ͏ ɾ͍ͬ΃ΜʹΞοϓ͠ͳ͍ͩΖ͏ ɾେ੎ͰΞοϓ͠ͳ͍ͩΖ͏ ɾ༰ྔ͸͙͢ʹᷓΕͳ͍ͩΖ͏ ɾ৑௕Խ͠ͳ͍͍ͯͩ͘Ζ͏ ɾࠔͬͨΒεέʔϧΞοϓ͢Ε͹ʁ ❌

  42. Ͱ͸ Ͳ͏΍ͬͯ ղܾ͢Δ͔

  43. ղܾࡦ ⾣ॲཧͰ͖ΔσʔλྔΛ੍ݶ ɹˠׂͱ͙͢ରԠͰ͖Δ͕࢑ఆత ⾣Ϣʔβʔ਺Λ੍ݶ ɹˠαʔϏεͰ͋ΔҎ্೉͍͠ ⾣؂ࢹ͢Δ ɹˠେ੾͕ͩࠜຊղܾͰ͸ͳ͍ ⾣%#ॲཧΛվળ͢Δ ɹˠ໌Β͔ͳωοΫΛࠜຊղܾ

  44. ղܾࡦ ⾣ॲཧͰ͖ΔσʔλྔΛ੍ݶ ɹˠׂͱ͙͢ରԠͰ͖Δ͕࢑ఆత ⾣Ϣʔβʔ਺Λ੍ݶ ɹˠαʔϏεͰ͋ΔҎ্೉͍͠ ⾣؂ࢹ͢Δ ɹˠେ੾͕ͩࠜຊղܾͰ͸ͳ͍ ⾣%#ॲཧΛվળ͢Δ ɹˠ໌Β͔ͳωοΫΛࠜຊղܾ

  45. ࠜຊղܾ·Ͱͷ ಓͷΓ

  46. ࠜຊղܾ·ͰͷಓͷΓ ⾣ը૾Λ3%#͔Β੾Γ཭͢ ⾣3%#΁ͷόΠφϦొ࿥ഇࢭ ⾣׬શҠߦ·Ͱͷ࢓૊ΈߟҊ

  47. ಓͷΓᶃ ⾣ը૾Λ3%#͔Β੾Γ཭͢ ɾը૾ϑΝΠϧ໊Λอଘ͢Δςʔϒϧ༻ҙ ɾ3%#Ҏ֎ʹը૾อଘ͢ΔॲཧΛ௥Ճʢᶄʣ ɾϑΝΠϧ໊Λ3%#ʹอଘ͢Δॲཧ௥Ճ ৽نొ࿥ɾมߋը૾Λ 3%#Ҏ֎ʹ഑ஔ͢Δ४උ

  48. ಓͷΓᶄ ⾣3%#΁ͷόΠφϦొ࿥ॲཧΛഇࢭ ɾը૾อଘϧʔϧΛܾΊΔʢJEJEOBJTPKQHʣ ɾॲཧ੾Γସ͑ͷͨΊϝϯςφϯε ɾ3%#ʹొ࿥͍ͯͨ͠ॲཧΛ׬શʹഇࢭ 3%#Ͱͷ ը૾૿ՃΛఀࢭ

  49. ಓͷΓᶅ ⾣׬શҠߦ·Ͱͷ࢓૊ΈߟҊ ɾ3%#ը૾ΛόονͰετϨʔδ΁ ɾετϨʔδʹແ͚Ε͹3%#͔ΒಡΉ ɾ׬શʹҠߦ͕ऴΘΔ࣌ؒΛܭࢉ ܭըతʹը૾Λ ׬શʹҠߦ

  50. ⾣අ༻ͱظ͕ؒ๲େʹ͔͔Δ ⾣αʔϏε͕ఀࢭ͢Δ ⾣ӡ༻ޙͰࣦഊ͕ڐ͞Εͳ͍ ⾣৴༻͕ࣦ௢͢Δ ղܾ·ͰʹΘ͔ͬͨ͜ͱ

  51. ͍ͬͨΜղܾ ͔ͨ͠Βͦ͜ ྐʹ͠Α͏ʂ

  52. ͓࿩͢Δ͜ͱ ▶︎ ࣗݾ঺հ ▶︎ τϥϒϧࣄྫͱղܾํ๏ ▶︎ ϝϦοτɾσϝϦοτ ▶︎ Կ͕ϕετͳͷ͔ ▶︎

    ͓ΘΓʹ
  53. ϝϦοτ

  54. ϝϦοτ ▶︎ τϥϯβΫγϣϯͷԸܙ ▶︎ ҉߸ԽͱηΩϡϦςΟ ▶︎ όοΫΞοϓͷू໿ੑ ▶︎ ؂ࠪʢཤྺʣͷ౷߹తͳ࣮૷

  55. τϥϯβΫγϣϯͷԸܙ ⾣ϑΝϯτϜϑΝΠϧͷճආ ɹˠSPMMCBDLͰҰൃͰͳ͔ͬͨ͜ͱʹ ϑΝΠϧͱ%#͕ ಉ͡τϥϯβΫγϣϯͰ੍ޚ

  56. ҉߸ԽͱηΩϡϦςΟ ⾣ඇৗʹηϯγςΟϒͳը૾ ɹˠΧϧςʹఴ෇͢Δը૾ͳͲ ҉߸ԽɾηΩϡΞʹ औΓѻ͏

  57. όοΫΞοϓͷू໿ੑ ⾣%#όοΫΞοϓͱಉ࣌ʹ ɹˠը૾΋όοΫΞοϓ͞ΕΔ %#ϦετΞ΍ผγεςϜͱͯ͠ͷ ؀ڥߏஙָ͕

  58. ؂ࠪ ཤྺ ͷ౷߹తͳ࣮૷ ⾣ը૾ͷߋ৽ཤྺΛऔΓ͍ͨ ɹˠόʔδϣϯ؅ཧ΋͍ͨ͠ ύϑΥʔϚϯεΛ٘ਜ਼ʹͯ͠΋ ࣮૷͍ͨ͠ͳΒ0,

  59. σϝϦοτ

  60. σϝϦοτ ▶︎ ύϑΥʔϚϯε௿Լ ▶︎ DBͷετϨʔδѹഭ ▶︎ ωοτϫʔΫΛѹഭ ▶︎ ো֐఺ͷ૿Ճ ▶︎

    ͓·͚ɿը૾ΛDB͔Β෼ׂ࣌ͷฐ֐
  61. ύϑΥʔϚϯε௿Լ ⾣ը૾σʔλΛϨίʔυʹؚΉ ɹˠಡΈॻ͖͢Δσʔλྔ૿Ճ σΟεΫ*0͕ ஗͘ͳΔ

  62. %#ͷετϨʔδѹഭ ⾣૝ఆΛ௒͑ͨσʔλ૿Ճ ɹˠཁ݅௥Ճ΍ӡ༻ઃܭ΋Ε কདྷతʹ ετϨʔδΛѹഭ

  63. ωοτϫʔΫΛѹഭ ⾣ը૾Λ%#͔Βऔಘ ɹˠωοτϫʔΫѹഭ 8FC%#ؒ  8FC%#ؒͷϨΠςϯγ͕ߴ͘ Ϩεϙϯε͕௿Լ

  64. ো֐఺ͷ૿Ճ ⾣ը૾ߋ৽ॲཧ͕ෳࡶ ɹˠ༨ܭͳϓϩάϥϜɺ42-Λ௨͢ ো֐఺͕૿͑Δ

  65. ⾣੩తϑΝΠϧΛઐ༻αʔόʔ΁ ɹˠશϨίʔυҠߦɺϑΝΠϧ໊௥Ճ ؆୯ʹ෼ׂɺҠಈͰ͖ͣ σʔλྔ࣍ୈͰ͕͔͔࣌ؒΔ ʲ͓·͚ʳը૾Λ%#͔Β෼ׂ࣌ͷฐ֐

  66. ͓࿩͢Δ͜ͱ ▶︎ ࣗݾ঺հ ▶︎ τϥϒϧࣄྫͱղܾํ๏ ▶︎ ϝϦοτɾσϝϦοτ ▶︎ Կ͕ϕετͳͷ͔ ▶︎

    ͓ΘΓʹ
  67. Կ͕ϕετͳͷ͔ ⾣ಛघͳཁ݅ͷ৔߹ʹ࢖͏ ɹɹˠָ͔ͩΒ҆қʹಥͬࠐ·ͳ͍ ⾣ύϑΥʔϚϯεɾίετ ɹͱͷτϨʔυΦϑ ɹɹˠ։ൃ޻਺ɺӡ༻ίετΛਂ͘ߟྀ ⾣ઃܭɾ࣮૷Λ͔ͬ͠Γܭը ɹɹˠޙͰࠔΔ͜ͱ͕͘͢͝ଟ͍ ⾣3%#ͷຊདྷͷ੹຿Λߟྀ ɹɹˠϦϨʔγϣφϧσʔλϕʔεͬͯͳΜ͚ͩͬʁ

  68. ͓࿩͢Δ͜ͱ ▶︎ ࣗݾ঺հ ▶︎ τϥϒϧࣄྫͱղܾํ๏ ▶︎ ϝϦοτɾσϝϦοτ ▶︎ Կ͕ϕετͳͷ͔ ▶︎

    ͓ΘΓʹ
  69. γεςϜɾαʔϏε͸

  70. ཁ݅ͱϦιʔεͷ τϨʔυΦϑ

  71. ͋ͪΒΛཱͯΕ͹ ͪ͜Βཱ͕ͨ͵͕

  72. ϝϦοτɾσϝϦοτ ಛघύλʔϯΛ Α͘ߟ͑ͯ

  73. க໋తʹ ࠔΒͳ͍Α͏ʹ

  74. ӡ༻Λߟ͑ͨ ઃܭΛ͠·͠ΐ͏ʂ

  75. σʔλͷण໋͸ ΞϓϦΑΓ௕͍ͧ

  76. ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ