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で画像 を扱うメリット・デメリットと障害・解決事例」
の登壇スライトです。

mamy1326

June 16, 2018
Tweet

More Decks by mamy1326

Other Decks in Programming

Transcript

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

    +VO!QIQDPOGVL

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. ࣗݾ঺հ
    Name ɿ·Έ΍ͳ͓͖
    ॴଐɹ ɿInnovator Japan Inc.
    Twitterɿ@mamy1326ʢ·Έʔʣ
    - ීஈ͸PHPॻ͍ͯ·͢
    - 2017೥1݄ʹॳΊͯmy.cnfΛ৮Δ
    - 2017೥ MySQL͕झຯ
    - 2018೥ DNSͱωοτϫʔΫ͕झຯ

    View Slide

  8. ͱ͜ΖͰ
    Έͳ͞Μ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  13. ͭΒ͍

    View Slide

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

    View Slide

  15. View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  22. ͸ͯ

    ςʔϒϧߏ੒ݟΔ͔ʜ

    View Slide

  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)

    View Slide

  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)
    ͑ʁ

    View Slide

  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,
    ⾣ʮͪΌΜͱʯ֬ೝͯ͠ΈΔ

    View Slide

  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,

    View Slide

  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,

    View Slide

  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,

    View Slide

  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,

    View Slide

  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,

    View Slide

  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)

    View Slide

  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)
    όΠφϦσʔλ
    อଘ༻ΧϥϜ

    View Slide

  33. ͳΜͱը૾
    શ෦3%#ʹ
    ͋ΔΜͰ͢Αʢ਒͑੠

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  37. ⾣࣮ࡍͷ؀ڥ

    ωοτϫʔΫ
    8FC %#
    ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ

    View Slide

  38. ⾣࣮ࡍͷ؀ڥ
    ϓϩηε
    8FC %#

    ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ

    View Slide

  39. ⾣࣮ࡍͷ؀ڥ

    λΠϜΞ΢τ
    8FC %#
    ཧ૝ʢ։ൃʣͱݱ࣮ʢӡ༻ʣ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  53. ϝϦοτ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  59. σϝϦοτ

    View Slide

  60. σϝϦοτ
    ▶︎ ύϑΥʔϚϯε௿Լ
    ▶︎ DBͷετϨʔδѹഭ
    ▶︎ ωοτϫʔΫΛѹഭ
    ▶︎ ো֐఺ͷ૿Ճ
    ▶︎ ͓·͚ɿը૾ΛDB͔Β෼ׂ࣌ͷฐ֐

    View Slide

  61. ύϑΥʔϚϯε௿Լ
    ⾣ը૾σʔλΛϨίʔυʹؚΉ
    ɹˠಡΈॻ͖͢Δσʔλྔ૿Ճ
    σΟεΫ*0͕
    ஗͘ͳΔ

    View Slide

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

    View Slide

  63. ωοτϫʔΫΛѹഭ
    ⾣ը૾Λ%#͔Βऔಘ
    ɹˠωοτϫʔΫѹഭ 8FC%#ؒ

    8FC%#ؒͷϨΠςϯγ͕ߴ͘
    Ϩεϙϯε͕௿Լ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  69. γεςϜɾαʔϏε͸

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide