$30 off During Our Annual Pro Sale. View Details »

HowtocatchStrangeness.pdf

miwa719
November 01, 2019

 HowtocatchStrangeness.pdf

miwa719

November 01, 2019
Tweet

More Decks by miwa719

Other Decks in Programming

Transcript

  1. ҧ࿨ײͷ͔ͭ·͔͑ͨ
    ૊ΈࠐΈγεςϜͷ։ൃऀʢςελʔʣͱͯ͠΍͍ͬͯΔ͜ͱ
    JaSST Review ’19 / 2019.11.01
    ;͔΍ΈΘ

    View Slide

  2. ෩अͷͻ͖͸͡Ίʹҧ࿨ײΛײͨ͡Β
    ঱ঢ়͕ͻͲ͘ͳΒͳ͍Α͏ߦಈΛม͑
    Δͷͱಉ͡Α͏ʹɺ։ൃͷݱ৔Ͱҧ࿨
    ײΛײͨ͡ΒΑΓྑ͍੡඼Λ࡞ΔͨΊ
    ʹߦಈΛى͜͞ͳ͚Ε͹ͳΒͳ͍ɻ

    View Slide

  3. ͓࿩͢͠Δ͜ͱ
    େࣄͳ͜ͱ
    ԿΛݟͯҧ࿨ײΛ͔ͭ·͍͑ͯΔͷ͔
    ҧ࿨ײʹର͢ΔײੑΛߴΊΔʹ͸ʁ
    ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷίπɾ޻෉
    ҧ࿨ײΛ͔ͭ·͑ͨޙͷ͜ͱ
    ࠓ೔͓࿩͢͠Δ͜ͱ͸͜Μͳײ͡Ͱ͢ɻͲΕ΋ࢲͷܦݧʹج͍ͮͨ΋ͷͰ͋Γɺࢥߟ๏΍ൃ૝๏ͷΑ͏ͳઐ໳తͳ࿩͸ͳ͍ͷͰؾָʹฉ͍ͯͩ͘
    ͍͞ɻ։ൃݱ৔Ͱײ͡Δʮײ͡ʯ΍ʮߟ͍͑ͯΔ͜ͱʯΛͦͷ΋ͷΛ͓఻͑ͨͯ͘͠ɺա౓ͳந৅Խ͸͠ͳ͍͜ͱʹͩ͜ΘΓ·ͨ͠ɻ

    View Slide

  4. ࠓΑΓ΋΋ͬͱҧ࿨ײʹහײʹͳΓ͍ͨ
    ҧ࿨ײΛ΋ͬͱ੡඼։ൃʹ׆͔͍ͨ͠
    ͦΜͳํͷࢀߟʹͳΕ͹͏Ε͍͠Ͱ͢

    View Slide

  5. ࢲʹ͍ͭͯ
    ͋ͷνʔϜɿࢲͨͪͷνʔϜ͸Ұ෦ͷਓ͔ͨͪΒ͸ʮ͋ͷνʔϜʯͱݺ͹Ε͍ͯͯɺ೤ڰతͳϚχΞ͕͍·͢ɻ
    ҩྍػثʢࣗࣾ੡඼ʣͷιϑτ΢ΣΞ։ൃʹैࣄ
    eXtremeͳνʔϜʹॴଐ͢Δ։ൃऀʢςελʔʣ
    ಈ͔ͯ͠ࢼ͢ͷ͕޷͖
    ͱͪ͗RubyͷษڧձʢtoRubyʣ
    ͱͪ͗Rubyձٞ #torubyɺͱͪ͗ςετͷձٞ #totekaɺΦτφͱRuby
    JaSST Kyushuʢ2019.11.29ʣ@ ෱Ԭʢ۝भॳ্཮ʣ
    ୈҰ෦ʮνέοτγεςϜͰཧղ͢Δ͋ͷνʔϜʯ
    ୈೋ෦ʮϑϨʔζͰମݧ͢Δ͋ͷνʔϜʯ
    http://miwa719.hatenablog.com
    ͍͍೑ͷ೔
    http://www.jasst.jp/symposium/jasst19kyushu/query.html
    JaSST ٸਢ
    https://suzuri.jp/miwa719
    νϣοτσΩϧTγϟπ͕ങ͑·͢

    View Slide

  6. ࢲͨͪͷνʔϜ͸։ൃऀͷϩʔϧͱςελʔͷϩʔϧ͕ಛ௃తͳͷͰ঺հ͠·͢ɻ·ͣ͸։ൃऀʢϓϩάϥϚʔʣͷϩʔϧɻʼɹҰ൪Լͷςετ͢
    Δɺ͸CheckingʢઃܭͷҰ෦ͷΑ͏ͳςετʣͱ͍͏ΑΓ͸ɺ·ͩݟ͔͍ͭͬͯͳ͍ະ஌ͷ໰୊Λ୳͠ʹ͍͘ςετͰ͢ɻϓϩάϥϚʔ΋ຖ೔
    Testing͍ͯ͠·͢ɻͦͯ͠ςετ͕͏·͍ɻͦͷόάΑ͘ݟ͚ͭͨͳʔɺૉ੖Β͍͠ʂͱࢥ͏͜ͱ͕͠͹͠͹͋Γ·͢ɻ
    ։ൃऀͷϩʔϧ
    ཉ͍͠΋ͷΛ࣮ݱ͢Δਓͨͪ
    ࢓༷Λ۩ମతʹ͢Δ
    ࣮૷Λߟ͑Δ
    ϓϩάϥϜΛॻ͘ɾ௚͢
    ςετ͢Δ
    miwaϝιουʢࣈນʣ

    View Slide

  7. ςελʔͷϩʔϧ͸͜Μͳײ͡ɻϓϩάϥϜΛॻ͔ͳ͍͚ͩͰಉ͡Ͱ͢ɻϓϩάϥϜΛॻ͔ͳ͍෼ɺ։ൃऀΑΓ΋ʮؾʹ͔͚ΒΕΔྖҬ͕޿͍ɺਂ
    ͍ʯಛ௃͕͋Γ·͢ɻͦͷ݁ՌʮΑ͍੡඼ʯͷج४ΛΠϝʔδ͢Δ͜ͱ͕ಘҙͰ͢ɻςετͷ෦෼͚ͩΛऔΓग़ͯ͠ઐ໳తʹ΍ΔͷͰ͸ͳ͘ɺ͓٬͞
    ·ͷཉ͍͠΋ͷΛ࣮ݱ͢ΔͨΊʹɺ͸͡Ί͔ΒϓϩάϥϚʔͱҰॹʹͳͬͯ࡞͍ͬͯ͘ɻࢲͨͪͷνʔϜͷςελʔ͸ͦ͏͍͏ϩʔϧͰ͢ɻ
    ςελʔͷϩʔϧ
    ཉ͍͠΋ͷΛ࣮ݱ͢Δਓͨͪ
    ࢓༷Λ۩ମతʹ͢Δ
    ࣮૷Λߟ͑Δ
    ϓϩάϥϜΛॻ͘ɾ௚͢ɹˡ͕͜͜ͳ͍
    ςετ͢Δ

    View Slide

  8. ࠓ೔ͷ࡞ઓΛߟ͑Δ
    ேձ
    ςετ
    ༦ձ
    ٳܜ
    ςετ ͓னٳΈ
    ςετ
    ٳܜ
    ςετ
    ٳܜ
    ςετ
    ςετ
    ʢτϫΠϥΠτκʔϯʣ
    ࢲͷ̍೔ͷա͝͠ํɻٳΈ࣌ؒҎ֎͸͍͍ͩͨͣͬͱ։ൃͰ͢ɻԿ͔ؾʹͳΔ͜ͱ͕͋Δͱಉ྅ͷϓϩάϥϚʔ΍ςελʔʹฉ͍ͨΓɺݟͤͨΓɺ
    Ұॹʹߟ͑ͨΓɺࢼͨ͠Γͯ͠·͢ɻଞͷνʔϜͷ։ൃऀͷͱ͜Ζʹߦ͖ɺ࣭໰ͨ͠Γ૬ஊ͢Δͱ͖΋͋Γ·͢ɻ
    ͣͬͱ։ൃ
    ͣͬͱ։ൃ

    View Slide

  9. ͏ͪͷνʔϜɺϨϏϡʔͯ͠ͳ͍
    ຖ೔ͦ͜ΒதͰσΟεΧογϣϯ͸͍ͯ͠Δ
    ໌ࣔతͳϨϏϡʔ͸͠ͳ͘ͳͬͯ͠·ͬͨ
    ࠓ೔͸Reviewͷγϯϙδ΢ϜͰ͕͢ɺ͏ͪͷνʔϜ͸ϨϏϡʔͯ͠ͳ͍ͷͰ͢ɻདྷिͷ݄༵೔ʹϨϏϡʔ͠·͠ΐ͏ͱ͔ɺͦ͏͍͏ձ࿩͸ฉ͍ͨ
    ͜ͱ͕͋Γ·ͤΜɻຖ೔ͦ͜ΒதͰσΟεΧογϣϯ͸͍ͯ͠ΔΜͰ͚͢Ͳɺ͜Ε͕ϨϏϡʔͱݴ͑͹ͦ͏ͳͷ͔΋͠Εͳ͍ɻ͍ͭ΋΍͍ͬͯΔ
    ͔Β໌ࣔతͳϨϏϡʔ͸͠ͳ͘ͳͬͯ͠·ͬͨΜͰ͢Ͷɻ͜Ε͸Ͳ͏͍͏͜ͱͳͷ͔ΛΤΫετϦʔϜϓϩάϥϛϯάͷจ຺Ͱղઆͯ͠Έ·͢ɻ
    ϨϏϡʔ͸͍ͭ͢Δͷ͔ʁ
    ߨԋͷґཔΛ͍͍ͨͩͨ࣌ʹ
    Ұ൪͸͡Ίʹ֬ೝͨ͠

    View Slide

  10. eXtremeͳνʔϜ
    ίʔυϨϏϡʔ͕ྑ͍΋ͷͳΒ͹ɺৗʹίʔυΛϨϏϡʔ͢ΔʢϖΞϓϩάϥϛϯάʣ
    ςετ͕ྑ͍΋ͷͳΒ͹ɺৗʹςετʢ୯ମςετʣΛߦ͍ɺސ٬Ͱ͑͞΋ςετ͢Δʢػೳςετʣ
    ઃܭ͕ྑ͍΋ͷͳΒ͹ɺઃܭΛશһͷ೔ৗͷ࡞ۀͷҰ෦ʹ͢ΔʢϦϑΝΫλϦϯάʣ
    ”࠷ྑͷ։ൃϓϥΫςΟεΛ࠷େݶద༻͢Δ”
    ʢ΋͠ɺP͕ྑ͍΋ͷͰ͋Ε͹ɺͦͷPΛ΋ͬͱ޿ൣғʹɺద༻͠Α͏ʣ
    9.3 ΤΫετϦʔϜϓϩάϥϛϯά ΑΓൈਮ
    ϨϏϡʔ͕ྑ͍΋ͷͳΒ͹ɺৗʹϨϏϡʔ͢Δ
    ͜Εͩʂʂ
    ͜Ε͸ϨϏϡʔҎ֎ʹ΋౰ͯ͸·Γ·͢ɻ։ൃʢ౰વςετ΋ؚΉʣͷܭը΍ܭըͷݟ௚͠΍ௐ੔ɺϖΞϓϩɺϖΞςετɺ;Γ͔͑Γ…ɻࣗ෼
    ͨͪʹͱ͍ͬͯͩ͡Ͱ͋Δͱࢥ͍ͬͯΔ͜ͱ͸ಛผʹ΍ΔͷͰ͸ͳ͘ৗʹ΍Δɻ࣮ࡍຖ೔΍͍ͬͯΔͷͰͦΕ͕౰ͨΓલͷ͜ͱʹͳ͍ͬͯ·͢ɻ

    View Slide

  11. ࠓ೔ͷ࿩͸
    ࣗ෼ͨͪͷ੡඼ͷ͓͔͠͞Λ͔ͭ·͑Δ࿩
    ͓͔͠͞ ʹ ҧ࿨ײ ʹ ஫ҙ͢΂͖γάφϧ
    ෩अΛͻ͘ͷ͸ࣗ෼ɺࣗ෼ͨͪͷ੡඼ɺνʔϜ
    ୭͔͕։ൃͯ͠Δ͋ͷ੡඼ΛϨϏϡʔ͢Δ࿩Ͱ͸ͳ͍
    ཱ৔΍ঢ়گ͕טΈ߹Θͳͯ͘ฉ͖ͮΒ͍ਓ͕͍Δ͔΋
    ʼଞͷνʔϜͷϨϏϡʔʹݺ͹ΕΔ͜ͱ͕͋Γ·͕͢ʮࣗ෼ͷ੡඼ͩͱͨ͠Βʯͱ͍͏ͭ΋ΓͰࢀՃ͍ͯ͠·͢ɻ

    View Slide

  12. େࣄͳ͜ͱ

    View Slide

  13. ҧ࿨ײͱ͸Կ͔
    ҧ࿨ײΛײ͡ΔͨΊʹඞཁͳ͜ͱ
    Έͳ͞ΜͱҰॹʹߟ͑ͯΈ͍ͨʂ

    View Slide

  14. ෩अͷͻ͖͸͡Ίʹײ͡Δҧ࿨ײ
    ͳΜͱͳͩ͘Δ͍
    פؾ͕͢Δ
    ೤ͬΆ͍

    View Slide

  15. ंͷӡసதʹײ͡Δҧ࿨ײ
    ΨλΨλͱৼಈ͕͢Δ
    ΧϥΧϥͱԻ͕͢Δ
    มͳχΦΠ͕͢Δ

    View Slide

  16. ҧ࿨ײͱ͸ԿͳͷͰ͠ΐ͏͔ʁ

    View Slide

  17. ҧ࿨ײͱ͸
    ͍ͭ΋ͷঢ়ଶͱࠓͷঢ়ଶͱͷࠩ෼
    Ͱ͋Δ
    ෩अͷͻ͖͸͡Ίʹײ͡Δҧ࿨ײ → ͍ͭ΋ͷঢ়ଶͱࠓͷঢ়ଶͱͷࠩ෼
    ंͷӡసதʹײ͡Δҧ࿨ײ → ͍ͭ΋ͷঢ়ଶͱࠓͷঢ়ଶͱͷࠩ෼

    View Slide

  18. ࢼணࣨͰײ͡Δҧ࿨ײ
    ͋Εʁ
    ͬ͘͠Γ͜ͳ͍ͳ …

    View Slide

  19. ҧ࿨ײͱ͸ԿͳͷͰ͠ΐ͏͔ʁ

    View Slide

  20. ҧ࿨ײͱ͸
    ཧ૝΍ظ଴஋ͱݱ࣮ͱͷࠩ෼
    Ͱ͋Δ
    ࢼணࣨͰײ͡Δҧ࿨ײ → ཧ૝΍ظ଴஋ͱݱ࣮ͱͷࠩ෼

    View Slide

  21. ҧ࿨ײͱ͸
    ͍ͭ΋ͷঢ়ଶͱࠓͷঢ়ଶͱͷࠩ෼
    ཧ૝΍ظ଴஋ͱݱ࣮ͱͷࠩ෼
    Ͱ͋Δ
    ʼҧ࿨ײΛײ͡ΔͨΊʹඞཁͳ͜ͱ͕ݟ͖͑ͯ·ͨ͠Ͷʂ

    View Slide

  22. ҧ࿨ײΛײ͡ΔͨΊʹඞཁͳ͜ͱ
    ᶃ͍ͭ΋ͷঢ়ଶΛ஌Δ
    ᶄཧ૝΍ظ଴஋Λ࣋ͭ
    ͍ͭ΋ͷঢ়ଶΛ஌Βͳ͚Ε͹ҧ࿨ײΛײ͡Δ͜ͱ͸Ͱ͖·ͤΜɻԿ͔͠Α͏ͱͨ͠ͱ͖ʹʮ͜͏ͳΔ͸ͣͩʯͱ͍͏Α͏ͳཧ૝΍ظ଴஋Λ͍࣋ͬͯ
    ͳ͚Ε͹ɺҧ࿨ײΛײ͡Δ͜ͱ͸Ͱ͖·ͤΜɻͦͯ͠ࠓͷঢ়ଶʢݱ࣮ʣΛ஌Δɻ։ൃͷݱ৔ʹల։ͯ͠Έ·͢ɻࣗ෼ͨͪͷ੡඼͕͍·Ͳ͏ͳ͍ͬͯ
    Δͷ͔ɺ࢓ࣄͷਐΊํ΍ܭըɾ࡞ઓ͸ɺࡢ೔ͷ͋ͷ໰୊͸ࠓ೔͸Ͳ͏ͳ͍ͬͯΔͷ͔ɺಉ྅͸͍ͭ΋ͱมΘΒͳ͍ͩΖ͏͔ɻࢲͨͪ͸͏·͍ͬͨ͘
    Βࠓ೔͸Ͳ͏ͳΔͷ͔ɻͲ͜ʹ޲͔ͬͯΏ͜͏ͱ͍ͯ͠Δͷ͔ɻײ͍ͨ͡ͷ͸ࣗ෼ͳͷ͔ͩΒɺࣗ෼ͷ໨Ͱݟͯɺࣗ෼Ͱߟ͑ΔɻͦΕ͕େࣄͰ͢ɻ
    ࣗ෼ͨͪͷ੡඼ ͋ͷ໰୊ ಉ྅ͷ༷ࢠ
    ͏·͍ͬͨ͘Β
    Ͳ͏ͳΔͷʁ
    ࢓ࣄͷਐΊํ
    ܭըɾ࡞ઓ
    × ᶅࠓͷঢ়ଶʢݱ࣮ʣΛ஌Δ

    View Slide

  23. ԿΛݟͯҧ࿨ײΛ͔ͭ·͑ͯ
    ͍Δͷ͔

    View Slide

  24. ͍ͭɺԿΛݟ͍ͯΔͷ͔
    ͍ͭɺԿΛݟͯҧ࿨ײʢ͓͔͠͞ʣΛ͔ͭ·͍͑ͯΔͷ͔Λ঺հ͠·͢ɻҧ࿨ײͦͷ΋ͷ΍ɺҧ࿨ײʹͳΔલͷஹ͠ͷΑ͏ͳ΋ͷ΋͋Γ·͢ɻ஫໨
    ͍ͯ͠Δ΋ͷ΍ɺ࣮ࡍʹ΍ͬͯΔ͜ͱɺͦͷͱ͖ԿΛߟ͍͑ͯΔͷ͔ʢࢥߟଆʣʹ͍ͭͯ΋ݴޠԽ͠·ͨ͠ɻ
    ேձ΍σΟεΧογϣϯͷ৔Ͱ
    ੡඼ΛݟΔ
    νέοτΛݟΔ
    ίϛοτϩάΛݟΔ
    ࣗ෼ࣗ਎ΛݟΔ

    View Slide

  25. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    νʔϜͷΑ͏͢ɺงғؾɺΈΜͳͷଶ౓
    ࢲ͕ேձ΍σΟεΧογϣϯͷ৔ͰԿΛݟ͍ͯΔ͔Λ͓࿩͢͠ΔલʹɺࢲͨͪͷνʔϜͷேձ΍σΟεΧογϣϯͷΑ͏͢ɺงғؾɺΈΜͳͷଶ౓ʹ
    ͍ͭͯ঺հ͠·͢ɻ͜Ε͔Β࿩͢ࢲͷࢥߟ΍ߦಈ͸͜ΕΒͷ࢓ֻ͚΍पΓͷਓͨͪͷ;Δ·͍ʢ৔ʣ͕࡞༻͍ͯ͠Δ͔΋͠Εͳ͍ͱࢥ͔ͬͨΒɻ
    ͜ͷΑ͏ͳ؀ڥ͕ἧΘͳ͍ͱμϝͱ͍͏࿩Ͱ͸ͳ͍ͷͰ͓ؒҧ͑ͳ͘ɻ

    View Slide

  26. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    ேձͷΑ͏͢
    νέοτΛϓϩδΣΫλʔʹө͠ͳ͕Β࢘ձ܎͕Իಡ͢Δ
    ղܾ͠Α͏ͱ͍ͯ͠Δ͜ͱʹڵຯ͕͋Δ
    ࣗ෼ͳΒͲ͏ղ͔͘Λ૝૾͠ͳ͕Βɺ࣮ࡍͱͷࠩ෼Λ୳͍ͯ͠Δ
    ·ͩݟ͔͍ͭͬͯͳ͍໰୊Λݟ͚ͭΑ͏ͱ͍ͯ͠Δ
    ςετͷωλ୳͠
    ຊ౰ʹͦΕ͕΍Γ͍ͨ͜ͱͳͷ͔ʁʢཁ݅ఆٛʹ໭Δͱ͖΋͋Δʣ
    ʼ΍͍ͬͯΔ͜ͱͷҙຯΛߟ͑ͳ͕Β࡞͍ͬͯΔͷΛײ͡·͢ɻ࡞͍ͬͯ͘͏ͪʹͣͭ͢͜͠ζϨ͍ͯͬͯ͠·͏͜ͱ͕͋ΔΜͰ͢Ͷɻ͓٬͞·͸
    ຊ౰͸ԿΛ͍ͨ͠ͷ͔ɺԿʹࠔ͍ͬͯΔͷ͔ɺͦΕ͕࣮ݱ͞ΕΔͱԿ͕خ͍͠ͷ͔͕Α͘࿩୊ʹͳΓ·͢ɻ࡞͍ͬͯΔ࠷தʹ΋৽ͨͳٙ໰΍՝୊͕
    ग़͖ͯ·͢ɻ͜Εͩͱผͷ͋ͷػೳͷ΍Γ͍ͨ͜ͱͱໃ६ͯ͠ͳ͍ʁͱ͔ɻΈΜͳͰೲಘ͍͘·Ͱ࿩͍ͯ͠·͢ɻ

    View Slide

  27. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    ேձͷΑ͏͢
    ΈΜͳͷ೴Λຖேಉظ
    ೴͕ϓϥΠϚϦʢ஌ࣝɺܦݧɾ܇࿅ͯ֫͠ಘͨ͠΋ͷʣ
    νέοτ΍υΩϡϝϯτ͸ηΧϯμϦʢண૝Λॿ͚Δ΋ͷʣ
    ೱີͰೱॖ͞Ε͕ͨ࣌ؒྲྀΕ͍ͯΔ
    ʮேձͷ͜ͱʯhttps://druby.hatenablog.com/entry/20150816/p1
    ʮேձʹ͍ͭͯʯhttp://vestige.hateblo.jp/entry/2019/02/16/000118
    ʼνέοτۦಈ։ൃͱ͍͏ݴ༿͕͋Δ͚Ͳνέοτ͕։ൃΛۦಈ͍ͯ͠Δײ֮͸ͳ͍Ͱ͢ɻνέοτ͸͋͘·Ͱ΋ิॿత
    ͳ΋ͷͰɺओ͸ਓؒͷ೴ଆɻேձޙ͸͔ͳΓർΕ͍ͯ·͢ɻٯʹർΕ͍ͯͳ͍ͱ͖͸಄Λ࢖͍ͬͯͳ͍ͱ͍͏͜ͱ͔ͩΒҟ
    ৗͳঢ়ଶɻ͏ͪͷνʔϜͷਓ͕ͨͪேձʹ͍ͭͯͦΕͧΕͷࢹ఺ͰهࣄΛॻ͍ͯ·͢ɻΑ͔ͬͨΒಡΜͰΈͯͶɻ

    View Slide

  28. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    σΟεΧογϣϯͷΑ͏͢
    ೔ʑͦ͜ΒதͰಉ࣌ଟൃ
    શһಉ੮ʢϓϩάϥϚʔ΋ςελʔ΋ʣ
    ੡඼ɺίʔυɺςετΛݟͳ͕Βɺ৮Γͳ͕Βɺॻ͖ͳ͕Β
    ର࿩Λେ੾ʹ͍ͯ͠Δ
    ͦΜͳʹ؆୯ʹ͸఻ΘΒͳ͍ͩΖ͏ͱࢥ͍ͬͯΔ
    σΟεΧογϣϯ͸೔ʑͦ͜ΒதͰಉ࣌ଟൃ͍ͯ͠·͢ɻࢲͨͪͷνʔϜ͕શһಉ͡৔ॴͰ։ൃͯ͠Δͱ͍͏؀ڥ΋͋Δͱࢥ͍·͢ɻϓϩάϥϚʔ͕
    ϖΞϓϩͯ͠ΔྡͰςελʔ͕ҙ஍ѱͳςετΛ͍ͯ͠Δͱ͍͏ঢ়گͰ͢ɻυΩϡϝϯτΛݟͳ͕ΒσΟεΧογϣϯ͸͠·ͤΜɻΈΜͳͷࢹઢͷઌ
    ʹ͸੡඼ɺίʔυɺςετ͕͋Γ·͢ɻͦΕ͔Βର࿩Λେ੾ʹ͍ͯ͠·͢ɻ఻͑Δ͜ͱ͸Ή͔͍ͣ͠Ͱ͢ɻͱΓ͋͑ͣυΩϡϝϯτʹॻ͍͔ͨΒOK
    ͱ͔ɺϝʔϧ͔ͨ͠Βେৎ෉ͷΑ͏ͳײ֮͸ͳ͍Ͱ͢ɻඇಉظͷσΟεΧογϣϯ͸ࢲͨͪͷνʔϜͰ͸ت͹Ε·ͤΜɻ

    View Slide

  29. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    ͲͷΑ͏ͳ͜ͱΛࢼ͍͔ͨ͠Λߟ͍͑ͯΔ
    ࡞Γ͍ͨ΋ͷʹରͯ͠ԿΛ֬ೝͨ͠ΒͦΕ͕ਖ਼͘͠࡞Εͨ
    ͱݴ͑Δͷ͔
    ؾʹͳΔ͜ͱ͸ͦͷ৔Ͱ࿩୊ʹ͢Δ
    ࢼͯ͠Έ͍ͨ͜ͱΛ࿩͢ʢग़͠੯͠Έ͠ͳ͍ʣ
    ઃܭɺ࣮૷͕มΘΔ͜ͱ͕͋Δ
    ேձ΍σΟεΧογϣϯ͕ͲͷΑ͏ͳ৔ͳͷ͔Λ঺հ͠·ͨ͠ɻ͜ͷΑ͏ͳதͰࢲ͕ԿΛߟ͍͑ͯΔ͔Λ঺հ͠·͢ɻʼ
    ؾʹͳΔ͜ͱΛͦͷ৔Ͱ࿩୊ʹ͢Δͷ͸ͱͯ΋ྑ͍͜ͱͰ͢ɻऔΓӽۤ͠࿑Έ͍ͨͳͱ͖΋͋Δ͚ͲɺͦΕ͸ͦΕͰΑͯ͘ɺͱ͍͏ͷ͸ɺগͳ͘ͱ
    ΋ࣗ෼͸Կ͔Λ஌Δ͜ͱ͕Ͱ͖·͢ɻࢼͯ͠Έ͍ͨ͜ͱ΋ग़͠੯͠Έ͠ͳ͍Ͱ࿩͠·͢ɻͦͷ݁Ռɺઃܭ΍࣮૷͕มΘΔ͜ͱ΋͋Γ·͢ɻςετ͸
    ໰୊Λݕग़͢Δೳྗ͕ඇৗʹߴ͍ͷͰɺ࣮ࡍʹϞϊ͕Ͱ͖ͨޙ͚ͩʹςετΛ࢖͏ͷ͸΋͍ͬͨͳ͍ɻ
    ग़͠੯͠Έ͠ͳ͍͸ɺΘ͟ͱॻ͖·ͨ͠ɻ݁ߏΉ͔ͣͯ͘͠ࢲ΋࿅शͯ͠Ͱ͖ΔΑ͏ʹͳΓ·ͨ͠ɻ

    View Slide

  30. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    Ͳ͏΍ͬͨΒյͤΔ͔Λߟ͍͑ͯΔ
    ͲͷΑ͏ͳ໰୊Λݟ͚͍ͭͨͷ͔Λ೴಺Ͱඳ͘
    ى͖ͨΒݏͳ͜ͱɺ͕ৗʹ಄ͷதʹ͋Δ
    ۩ମతʹԿΛͨ͠Βͦͷ໰୊͕ग़ͤͦ͏͔
    ΤΞςετʢ೴಺Ͱςετ࣮ߦɺΧδϡΞϧͳςετઃܭʣ
    ͜Ε͔Β࡞Ζ͏ͱࢥ͍ͬͯΔϞϊʹର͠ɺͲ͏΍ͬͨΒյͤΔ͔Λߟ͍͑ͯ·͢ɻͦΕΛߟ͑ΔͨΊʹͲͷΑ͏ͳ໰୊Λݟ͚͍ͭͨͷ͔Λ಄ͷதͰ
    ඳ͖·͢ɻલఏͱͯ͠ʮى͖ͨΒݏͳ͜ͱʯ͕ৗʹ಄ͷதʹ͋Γ·͢ɻྫ͑͹ɺࡱӨͨ͠ը૾ͷࠨӈ͕൓ରʹදࣔ͞ΕΔͷ͸େ໰୊ͳΜͰ͕͢ʢҩ
    ྍࣄނʹͭͳ͕ΔՄೳੑ͕͋Δʣ۩ମతʹԿΛͨ͠Βͦͷ໰୊͕ग़ͤͦ͏͔Λߟ͍͑ͯ·͢ɻૢ࡞ͩͬͨΓɺ૷ஔͷঢ়ଶͩͬͨΓɺσʔλͷόϦ
    ΤʔγϣϯͩͬͨΓɻςετ͢Δͱ͖ͷσʔλ͕ࠨӈରশͩͱؒҧ͍ͬͯͯ΋ؾ͕͔ͭͳ͍͔ΒɺࠨӈඇରশͳσʔλΛ࢖Θͳ͍ͱʂͱ͔ɻ಄ͷத
    Ͱςετͯ͠͠·͏ͱ͖΋͋Γ·͢ɻΤΞςετͰ͢ͶɻϓϩάϥϚʔ͕಄ͷதͰίʔσΟϯά͢Δͷͱࣅ͍ͯΔ͔΋͠Ε·ͤΜɻ
    ͜Ε΋ग़͠੯͠ΈͤͣϞϊ͕ग़དྷ্͕Δલʹ࿩͠·͢ɻϓϩάϥϚʔ͸ͦΕʹ଱͑ΒΕΔΑ͏ͳίʔυ΍ςετΛॻ͍͖ͯ·͢ɻ͋Γ͕͍ͨʔɻ

    View Slide

  31. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    ࿩୊ʹͳ͍ͬͯͳ͍͜ͱ͸Կ͔Λߟ͍͑ͯΔ
    Ͱ͖Δ͜ͱˠͰ͖ͳ͍͜ͱɺͰ͖ͳ͍͜ͱˠͰ͖Δ͜ͱ
    ࣅͨΑ͏ͳػೳɺಉ࣌ʹಈ͖ͦ͏ͳଞͷػೳ͸ʁ
    ੡඼શମͱͯ͠Կ͕มΘΔʗมΘΒͳ͍ͷ͔ɺͲ͜ʹ࡞༻͢Δͷ͔
    ࢥߟͷ࣠Λม͑ͳ͕ΒͲΜͲΜ޿͍͛ͯ͘
    ଞͷνʔϜ͕࡞ͬͨ෦෼
    ઀ଓՄೳͳଞͷ૷ஔɺγεςϜͷ͜ͱ
    ੡඼ͷผγϦʔζɺաڈͷόʔδϣϯɺΦϓγϣϯ…
    ேձͰ΋ϨϏϡʔͰ΋ձٞͰ΋େ఍͸ςʔϚ͕͋ͬͯͦΕʹ஫໨ͯ͠࿩͠߹͍·͢ΑͶɻࢲ͸ͦΕΛฉ͖ͳ͕Βɺ࿩୊ʹͳ͍ͬͯͳ͍͜ͱ͸Կ͔Λ
    ߟ͍͑ͯ·͢ɻ͋Δػೳʹ͍ͭͯԿ͕Ͱ͖Δͷ͔Λ࿩͍ͯ͠Δͱ͖͸ɺͦͷػೳ͕Ͱ͖ͳ͍͜ͱ΍ɺͦͷػೳ͕ಈ͘ͱ͖ʹͰ͖ͳ͍͜ͱʢͰ͖ͨΒ
    ࠔΔ͜ͱʣΛߟ͑·͢ɻ͜Ε͔Β࡞Ζ͏ͱͯ͠Δػೳʹࣅͨػೳʹ͸Կ͕͔͋ͬͨͳͱ͔ɺಉ࣌ʹಈ͖ͦ͏ͳଞͷػೳʹ͸Կ͕͋Δͷ͔ͳͱ͔ɻʼ

    View Slide

  32. ேձ΍σΟεΧογϣϯͷ৔Ͱ
    ಉ྅ͷ༷ࢠ΍ݴಈΛ؍࡯͍ͯ͠Δ
    ʰಉ྅Λ؍࡯͍ͯ͠Δ࣌ɺಉ྅΋·͓ͨલΛ؍࡯͍ͯ͠Δͷͩʱ
    إ৭ɺ੠ͷτʔϯɺർΕͯͦ͏ɺ໨͕ӭ͍Ͱ͍Δ
    ࿩͍ͯ͠Δ಺༰͕෼͔ΓͮΒ͍
    ͍ͭ΋͸෼͔ΓͮΒ͍ͷʹɺࠓ೔͸΍͚ʹྲྀெ
    ࣭໰ʹରͯ͠ͷճ౴͕௚ٿͰฦͬͯ͜ͳ͍
    ਖ਼ͦ͠͏ͳ͜ͱɺྑͦ͞͏ͳ͜ͱΛݴ͍ͬͯΔ
    ͏·͍͖͍͗ͯ͘͢Δ
    αϥοͱྲྀΕͯ͠·ͬͨ΋ͷɺ࿩͞ͳ͔ͬͨ͜ͱ͸Կ͔
    ʮͦ͏͍͏࢓༷Ͱ͢ʯ
    ʮͣͬͱલ͔Βͦ͏ͳ͍ͬͯ·͢ʯ
    ʮେͨ͜͠ͱͳ͍มߋʯ
    ʮࠓճ͸Ϛʔδ͢Δ͚ͩͳͷͰʯ
    ʮશ෦΍Γ·ͨ͠ʯ
    ʮલ౗͠Ͱ΍Γ·͢ʯ
    ಉ྅ͷ༷ࢠ΍ݴಈ͔Β΋ҧ࿨ײΛײ͡Δ͜ͱ͕Ͱ͖·͢ɻձ࿩ͷதͰ͜ͷϑϨʔζ͕ग़͖ͯͨΒཁ஫ҙͱ͍͏΋ͷ΋͋Γ·͢ɻ
    ͦͷ৔Ͱ΋͏͢͜͠ৄ͘͠ฉ͍ͨΓɺேձͷ͋ͱɺಉ྅ͷςελʔͱʮ୭ͦΕͷ͋ͷνέοτ͸༷ࢠ͕มͩͬͨͶɻ͜Μͳ͜ͱ΋ࢼͨ͠΄͏͕͍͍
    ΑͶʯͱ࿩ͨ͠ΓʢΧδϡΞϧͳςετઃܭʣϝϞ͓͍ͯͯ͠ɺίϛοτ͞ΕͨΒ͍ͭ΋ΑΓ࣌ؒΛͱͬͯஸೡʹςετͨ͠Γ͍ͯ͠·͢ɻ

    View Slide

  33. ੡඼ΛݟΔ
    ࡢ೔ͷ੡඼ͱൺ΂ͯͲ͏ͳͷ͔
    ࣗ෼ͷظ଴͢Δಈ͖ɺ༧૝ͱൺ΂ͯͲ͏ͳͷ͔
    ։ൃதͷ੡඼Λ࣮ࡍʹಈ͔ͯ͠ݟ͍ͯΔͱ͖ͷ࿩Ͱ͢ɻʼਖ਼ৗܥ͸਎ମʹછΈ͍ͭͯΔ͘Β͍ݟͯ·͢ɻ͏ͪͷνʔϜͷਓͨͪ͸ΈΜͳͦ͏͡Όͳ
    ͍͔ͳɻຖ೔੡඼Λ৮͍ͬͯΔͷͰࡢ೔ͱͷҧ͍ΛΘ͟Θ͟ൺֱ͢Δͱ͍͏ΑΓ͸ɺख৮ΓͰͦΕΛײ͡·͢ɻ੡඼Λ৮Δͱ͖͸͜͏ಈ͔ͨ͠Β͜
    ͏ͳΔͩΖ͏ͱ༧૝ͨ͠Γɺ͜͏ಈ͍ͯཉ͍͠ɺ͜͏ͳΒͳ͍Ͱཉ͍͠ͱ͍͏Α͏ͳظ଴͕͋Γ·͢ɻͦͷࢥߟࣗମ͕ؒҧ͍ͬͯΔͱ͖΋͋Δ͚
    ͲɺͦΕ͸ஏ͔͍ͣ͜͠ͱ΍ѱ͍͜ͱͰ͸ͳ͘ɺΉ͠Ζྑ͍͜ͱɻͩͬͯؒҧ͍ͬͯͨ͜ͱ͕෼͔ͬͯਖ਼͍͜͠ͱ͕஌ΕΔͷͰɻ͜͜ʹྻڍͨ͠ͷ
    ͸੡඼Λಈ͔͍ͯ͠Δͱ͖ʹ੡඼ࣗ਎͕ڭ͑ͯ͘ΕΔҧ࿨ײͷஹ͠ͷྫͰ͢ɻఔ౓ʹΑͬͯ͸ҧ࿨ײͰ͸ͳ͘໌Β͔ʹ໰୊ʹͳΔ΋ͷ΋͋Γ·͢ɻ
    Ұॠ͚ͩͲԠ౴͕஗͘ͳͬͨ
    Ұॠ͚ͩͲද͕ࣔνΧοͱͨ͠
    ἧ͍͍͗ͯ͢Δ਺஋ɺ͍ͭ΋ಉ݁͡ՌʹͳΔ
    σΟεΫΞΫηεϥϯϓ͕νΧνΧ͍ͯ͠Δ
    ஗͗͢Δɺ଎͗͢Δɺ΋ͬ͞Γ͍ͯ͠ΔɺΧΫΧΫಈ͘
    ͏Δ͍͞ʢԻɺݟͨ໨ɺ௨஌ʣ
    ૢ࡞Λؒҧ͑ͯ͠·͏
    ෼͔ΓͮΒ͍
    Ϧιʔεͷ࢖͍ํ͕આ໌͔ͭͳ͍

    View Slide

  34. νέοτΛݟΔ
    ॻ͍ͯ͋Δ಺༰ʢ։ൃ೔هɺςετʣʹ͍ͭͯ
    ஌Γ͍ͨ͜ͱ͕ॻ͍ͯ͋Δ͔ʁ
    ͦΕͰྑ͍ͱͨ͠ཧ༝ɺࠜڌ͕ಡΈऔΕͳ͍
    ϓϩάϥϜͷஅย΍ίϛοτͨ͠ϑΝΠϧ໊͔͠ॻ͍ͯͳ͍
    ࡞ۀͷ໊લʢ࣮૷தʣ͔͠ॻ͍ͯͳ͍
    BugνέοτͳΒ
    Ͳ͕͜Ͳ͏μϝͩͬͨͷ
    ͲͷνέοτͰόά͕ೖͬͨͷ͔
    Ͳ͜ΛͲ͏௚͢ͷ͔ɺ௚ͨ͠ͷ͔
    νέοτΛͲ͏ݟ͍ͯΔͷ͔ͷ࿩Ͱ͢ɻνέοτʹ͸೔ʑͷ۩ମతͳ࡞ۀ಺༰ʢ։ൃ೔هʣ΍ςετ΍ςετͷཤྺͳͲ͕ॻ͍ͯ͋Γ·͢ɻࣗ෼ͷ
    ஌Γ͍ͨ͜ͱ͕ॻ͍ͯ͋Δ͔ʁͱ͍ͬͨࢹ఺Ͱݟ͍ͯΔΑ͏Ͱ͢ɻॻ͍ͯͳ͍ͱͦΕ͕ҧ࿨ײͱͳΓ·͢ɻݱࡏ։ൃதͷνέοτ͸΋ͪΖΜɺؔ࿈
    ͢Δ૬౰ݹ͍νέοτ΋ಡΈ·͢ɻࢲ͕஌Βͳ͍։ൃ͸νέοτΛಡΈͳ͕ΒͲͷΑ͏ͳ։ൃͩͬͨͷ͔Λ಄ͷதͰߏங͍͖ͯ͠·͢ɻ

    View Slide

  35. ஌Γ͍ͨ͜ͱΛڭ͑ͯ΋Β͏ͱ͖
    ʮͳͥͦΕΛ஌Γ͍ͨͷ͔ʯ΋ηοτͰ࿩͢
    ྫ͑͹ɺ͋Δॲཧͷঢ়ଶભҠʹ͍ͭͯ஌Γ͍ͨͱͯ͠ɺͦͷ஌Γ͍ͨͱࢥͬͨ࣌ʹ͸ɺࢲ͸Կ͔Λ৺഑͍ͯͯ͠ɺͦΕ͕ى͖ͳ͍͜ͱΛ͔֬ΊΑ͏
    ͱ͍ͯ͠ΔΜͰ͚͢Ͳɺͦͷ৺഑ͯ͠Δ͜ͱͦͷ΋ͷ΍ɺࢼͦ͏ͱͯ͠Δ͜ͱ΋࿩͠·͢ɻ͜͏͢Δ͜ͱͰɺࢲ͕ԿΛ஌Γ͕͍ͨͬͯΔͷ͔͕૬खʹ
    ΑΓ఻ΘΓ·͢ɻ஌Γ͔ͨͬͨҎ্ͷ͜ͱΛڭ͑ͯ΋Β͏࣌΋͋Γ·͢ɻͦΕͰ͏·͍࣮͘͘૷ͷൿີͱ͔ɺͳͥͦ͏ͳ͍ͬͯΔͷ͔ʢઃܭͷҙਤʣ
    ͱ͔ɻͦΕΛฉ͍ͯ͠·ͬͨΒɺࠓ౓͸ͦΕΛ౿·্͑ͨͰ͏·͍͔͘ͳ͘ͳΓͦ͏ͳέʔεΛ୳࢝͠ΊΔΜͰ͚͢Ͳ΋ɻ

    View Slide

  36. νέοτΛݟΔ
    ॻ͍ͯ͋Δ಺༰ʢ։ൃ೔هɺςετʣʹ͍ͭͯ
    ͨ͘͞Μॻ͍ͯ͋Δ͚ͲಡΊͳ͍
    ॻ͖ख΋෼͔ͬͯͳ͍ͷ͔΋͠Εͳ͍
    νέοτͷཻ͕େ͖͗͢Δɺ࢓༷͔Βઃܭʹམͱ͢ͱ͜Ζ͕͏·͘ͳ͍
    ࡞Δ΋ͷʹରͯ͠ςετέʔε͕গͳ͗͢Δʢ଍Γͳ͍ʣʗଟ͗͢Δ
    ͳͥ͜ͷςετέʔε͕ඞཁͳͷ͔͕෼͔Βͳ͍
    ࡞Γ͍ͨ΋ͷΛޡղ͍ͯ͠Δͷ͔΋͠Εͳ͍ʢϓϩάϥϚʔɺࣗ෼΋ʣ
    ͜Μͳʹͨ͘͞ΜಡΊͳ͍Αʔͱײ͡Δͷ΋γάφϧͰ͢Ͷɻ΋͔ͨ͠͠Βॻ͖ख΋෼͔ͬͯͳ͍ͷ͔΋͠Εͳ͍ɻͦͷνέοτͰ΍Ζ͏ͱ͍ͯ͠
    Δ͜ͱͷཻ͕େ͖͗͢Δͷ͔΋͠Εͳ͍͠ɺ࢓༷͔Βઃܭʹམͱ͢ͱ͜Ζ͕͏·͘ͳ͍ͷ͔΋͠Εͳ͍ɻ͍ͣΕʹͤΑΈΜͳͷ໰୊Ͱ͢ɻ
    ࢲͨͪͷνʔϜͰ͸ͦͷνέοτͰ࣮ݱ͠Α͏ͱ͍ͯ͠Δ͜ͱʹରͯ͠ʮͰ͖ͨ͜ͱ͕͔֬ΊΒΕΔςετʯ΋ॻ͖·͢ɻςετ͸ϓϩάϥϚʔ͕
    ॻ͘ΜͰ͚͢Ͳɺͦͷςετʹ͍ͭͯ΋ݟ·͢ɻ͜ͷνέοτͰ͸͜Μͳ͜ͱΛ֬ೝ͢ΔͩΖ͏ͱ͍͏ن໛ײ͕͋Δఔ౓಄ʹ͋ΔͷͰɺςετΛݟ
    ͨॠؒʹ͋Εʁগͳ͗͢ͳ͍ʁଟ͗͢ͳ͍ʁΛײ͡·͢ɻͦͯ͠ςετͷ಺༰ΛҰͭҰͭಈ͔͠ͳ͕Βࡉ෦·Ͱݟ͍ͯ͘ͱ͍͏ײ͡Ͱ͢ɻ

    View Slide

  37. νέοτΛݟΔ
    ঢ়گʹ͍ͭͯ
    ͳΜͲ΋࢓੾Γ௚͞ΕΔ
    ͻͱΓͰෳ਺ͷνέοτʹखΛ͚͍ͭͯΔ
    ͳ͔ͳ͔खΛ͚ͭͳ͍νέοτ͕͋Δʢޙճ͠ʹ͞ΕΔʣ
    νέοτͷঢ়گ͔Β΋͓͔͠͞Λײ͡Δ͜ͱ͕Ͱ͖·͢ɻࢲͨͪͷνʔϜͰͨ·ʹݟΔͷ͸ʮͳΜͲ΋࢓੾Γ௚͞ΕΔʯͰ͢ɻԿ͔Λ΍Γ࢝ΊΔͱ
    ͖͸͜ΕͰ͏·͍͘͘͸ͣͩͱ͋Δఔ౓ͷݟ௨͠ΛཱͯΔͷͰɺͦͷ༧૝͕֎Ε͍ͯΔͱ͍͏͜ͱͰ͢Ͷɻݩʑͷ࡞Γ͕࣮͸΋ͬͱෳࡶͳͷ͔΋͠
    Εͳ͍Ͱ͢ɻಉ྅ͷςελʔͱɺ·ͩݟ͑ͯͳ͍ͱ͜Ζ͕͋ΔΑͶɺ͜ͷύλʔϯ͸ࢥ͍΋ΑΒ͵ͱ͜ΖͰόά͕ݟ͔ͭΔ΍ͭͩΑͶɺͱةͳ͞ͷ
    ౓߹͍Λ࿩ͨ͠Γ͠·͢ɻͻͱΓͰෳ਺ͷνέοτʹखΛ͚͍ͭͯͨΓɺͳ͔ͳ͔खΛ͚ͭͳ͍νέοτ͕͋Δͷ͸ɺ੡඼ͱͯ͠૊Έ߹Θͤͨ֬ೝ
    ͕͍ͭ·Ͱ΋Ͱ͖ͳ͍ͱ͍͏͜ͱɻࢥͬͨΑ͏ʹ੡඼͕࡞Εͳ͍ঢ়گ͸ɺݸਓͰ͸ͳ͘ΈΜͳͷ໰୊ɻ༷ࢠݟ͠ͳ͍ͰͲ͏ʹ͔͠·͢ɻ

    View Slide

  38. νέοτΛݟΔ
    20೥෼͘Β͍͋ΔνέοτΛಡΉͷ͕೔՝
    ࠓ೔ͷؾʹͳΔΩʔϫʔυͰશจݕࡧ
    Bugνέοτ͸಄ʹ͖ͨͨࠐΉ੎͍ͰಡΈࠐΜͰ͍Δ
    ͜Ε͔Β࡞Δ΋ͷʹಉ͡Α͏ͳόά͕ೖΔ͔΋͠Εͳ͍
    ΄΅೔खாʹϝϞ͢Δʢςετͷωλாʣ
    খ͞ͳ஌ࣝΛੵΈॏͶΔʢࣗ෼΁ͷ౤ࢿʣ
    XPࡇΓ2019ʮνέοτγεςϜͷઃܭͱ࣮૷ɺʰ͋ͷνʔϜʱͷӡ༻ʯhttp://xpjug.com/xp2019-session-a4/
    ʼಡΜͩ͋ͱؾʹͳΔ΋ͷ͸͙͢ʹ۩ମతͳςετʹల։ͯ͠Testing͢Δ͜ͱ΋͋ΔΜͰ͚͢Ͳɺ͜͜Ͱ࢓ೖΕͨ৘ใʢখ͞ͳ஌ࣝʣΛ
    ੵΈॏͶͯະདྷͷςετʹ׆͔ͦ͏ͱ͍ͯ͠·͢ɻࣗ෼΁ͷ౤ࢿͰ͢Ͷɻ׆͔͍ͤͯΔ࣮ײ͕͋Δ͔Β΍Ίͳ͍Μͩͱࢥ͏ɻ

    View Slide

  39. ίϛοτϩάΛݟΔ
    ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷख͕͔Γʹ͠Α͏ͱ͍ͯͨ͠
    มߋ͢Δ಺༰ʹରͯ͠มߋͨ͠ϑΝΠϧ͕ଟ͗͢Δ
    ಉ͡ϑΝΠϧΛ̍೔ʹԿճ΋ίϛοτ͍ͯ͠Δ
    ؾʹͳΔ΋ͷ͸มߋલͱมߋޙͷίʔυͷࠩ෼΋ݟ͍ͯͨ
    ͍·͸΍͍ͬͯͳ͍
    ͏ͪͷνʔϜʹରͯ͠͸໢໨͕ૈ͗ͯ͢Ҿ͔͔ͬΒͳ͍
    ୹࣌ؒͰίʔυΛ͋Δఔ౓ಡΊΔ͘Β͍Ͱͳ͍ͱμϝͦ͏ʢ͜Ε͕େ͖͍ʣ
    ͍·Ͱ΋஫໨͍ͯ͠Δͷ͸ɺ࿈ٳͷલ೔ʹίϛοτͨ͠΋ͷ
    ίϛοτϩά΋ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷख͕͔ΓͷҰͭʹ͠Α͏ͱ͍ͯ͠·ͨ͠ɻຖே̍̌෼͘Β͍࣌ؒΛͱΓɺલ೔ʹͲͷνέοτʹؔ͢Δ΋
    ͷ͕ίϛοτ͞Ε͔ͨΛ֬ೝͯ͠ɺؾʹͳΔ΋ͷ͸ίʔυͷࠩ෼΋ݟͨΓ͍ͯͨ͠ΜͰ͚͢Ͳɺ۩ମతʹ໾ཱͭ΋ͷ͕औΕͳ͔ͬͨͷͰ΍Ί·͠
    ͨɻ͏ͪͷνʔϜʹରͯ͠͸໢໨͕ૈ͗ͯ͢Ҿ͔͔ͬΒͳ͍ײ͡ɻ୹࣌ؒͰίʔυΛ͋Δఔ౓ݟΕΔ͘Β͍͡Όͳ͍ͱμϝͦ͏ɻ
    ͍·Ͱ΋ؾʹ͍ͯ͠Δͷ͸࿈ٳͷલ೔ʹίϛοτͨ͠΋ͷͰ͢ɻ࿈ٳ໌͚ʹ͍ͭ΋ΑΓஸೡʹ֬ೝ͢ΔΑ͏ʹ͍ͯ͠·͢ɻ

    View Slide

  40. ࣗ෼ࣗ਎ΛݟΔ
    ײ৘ͷมԽ΍਎ମͷঢ়ଶΛγάφϧͱͯ͠࢖͏
    ୀ۶ɺͭ·Βͳ͍
    ຾͍
    ർΕΔ
    য͍ͬͯΔ
    ໘౗͍͘͞
    ؾ͍͍࣋ͪ
    ։ൃதʹΘ͖͕͋Δࣗ෼ࣗ਎ͷײ৘ͷมԽ΍਎ମͷঢ়ଶ΋γάφϧͱͯ͠࢖͏͜ͱ͕Ͱ͖·͢ɻ͜͏ͳͬͯ͠·͏ݪҼ͕Ͳ͜ʹ͋Δͷ͔ߟ͑·͢ɻ
    ୀ۶ͳͷ͸଴͕ͪ࣌ؒ௕͗͢Δͱ͍ͬͨॲཧܥͷ໰୊͔΋͠Εͳ͍͠ɺࣗ෼ͷςετʢࢥߟʣ͕୯ௐʹͳͬͯ͠·͍ͬͯΔͷ͔΋͠Ε·ͤΜɻർΕ
    Δͷ͸จࣈͷαΠζ͕খ͗͢͞ΔɺࢹઢͷҠಈྔ͕ଟ͗͢Δͱ͍ͬͨUI΍UXͷ໰୊͔΋͠Εͳ͍͠ɺϓϥΠϕʔτͰͷ৺഑ࣄ͕͋ͬͯલ೔͏·͘
    ຾Εͳ͔ͬͨͷ͔΋͠Ε·ͤΜͶɻؾ͍͍࣋ͪͱ͖͸΍͍ͬͯΔ͜ͱΛ֎͍ͯ͠Δ৔߹͕͋Γ·͢ɻ
    ͜͏ͳͬͯ͠·͏ݪҼΛߟ͑Δ
    ʢ੡඼ɺ࢓ࣄͷ΍Γํɺࣗ෼ࣗ਎ ???ʣ

    View Slide

  41. ࣗ෼ࣗ਎ΛݟΔ
    ߦಈύλʔϯΛγάφϧͱͯ͠࢖͏
    աڈʹ͋͛ͨόάνέοτΛ·ͨ͋͛ͯ͠·͏
    Ͳ͏͋Δ΂͖͔Λ࠶ߟ͢Δͱ͖͕͖ͨ߹ਤ
    ͳΜͲ΋ฉ͍ͯ͠·͏
    ֮͑ΒΕͳ͍͘Β͍ෳࡶͳ࢓༷ɺखॱͰ͋Δʢ໰୊ͷݪҼΛਓͷ͍ͤʹ͠ͳ͍ʣ
    ޙճ͠ʹͨ͜͠ͱ͕͋Δ
    ࣌ؒΛ๨Εͯςετ͍ͯ͠Δ
    ࣗ෼ͷߦಈύλʔϯ΋͓͔͠͞Λ͔ͭΉͨΊͷγάφϧͱͯ͠࢖͏͜ͱ͕Ͱ͖·͢ɻաڈʹ͋͛ͨόάνέοτΛ·ͨ͋͛ͯ͠·͏ͷ͸ɺલճΈΜ
    ͳͰ࿩͠߹ͬͨ݁ՌݟૹΓʹͳ͚ͬͨͲɺ΍ͬͺΓࣗ෼͸͓͔͍͠ͱࢥ͍ͬͯΔΜͰ͢Ͷɻ͋ͷ࣌͸ೲಘͯ͠ݟૹΓʹ͚ͨ͠Ͳࠓ΋ݟૹΓͰ͍͍͔
    Ͳ͏͔͸·ͨผͷ࿩Ͱ͢ɻͲ͏͋Δ΂͖͔Λ࠶ߟ͢Δͱ͖͕͖ͨͱଊ͑Δ͜ͱ͕Ͱ͖·͢ɻͳΜͲ΋ฉ͍ͯ͠·͏ͷ͸ɺ֮͑ΒΕͳ͍͘Β͍ෳࡶͳ
    ࢓༷Ͱ͋Δɺςετखॱ͕Ή͔ͣ͗͢͠ΔՄೳੑ͕͋Δɻ֮͑Δؾ͕ͳ͍ɺͨΔΜͰ͍Δͱ͔ࣗ෼ʢਓؒʣͷ͍ͤʹ͠ͳ͍ɻ੡඼΍ςετ΍࢓ࣄͷ
    ΍Γํͷ՝୊΍໰୊ͱͯ͠ߟ͑Δ͖͔͚ͬʹ͠·͢ɻʢ͜ΕΒͷߦಈ͸ࣗવମͰ͍ͳ͍ͱग़ͤͳ͍͔΋ʣ

    View Slide

  42. ɹࠓճͷΑ͏ͳεϥΠυʢ΍ͬͯΔ͜ͱ΍ߟ͑ͯΔ͜ͱΛͣ
    ΒͬͱՕ৚ॻ͖ʣΛ࢖͏ͱʮνΣοΫϦετʹͯ͠ӡ༻ͯ͠
    ͍ΔͷͰ͠ΐ͏͔ʁʯͱ࣭໰͞ΕΔ͜ͱ͕͋Γ·͢ɻ౴͑͸
    ϊʔͰɺ୭͔ʹ఻͑ΔͨΊʹݴޠԽ͚ͨͩ͠ͰνΣοΫϦε
    τʹ͸ͯ͠·ͤΜɻ։ൃͷมԽ΍΍Γ͍ͨ͜ͱͷ଎౓ʹશવ
    ߹Θͳ͍ͱ͍͏ͷ΋͋Γ·͢͠ɺຖ೔͜͏͍͏͜ͱΛߟ͑ͳ
    ͕Β࢓ࣄΛ͍ͯ͠ΔͷͰɺ͍͍ͩͨ಄ͷதʹೖͬͯ͠·ͬͯ
    ͍·͢ɻंΛӡస͢Δͱ͖ʹڭशॴ͔Β΋ΒͬͨςΩετΛ
    ಡΜͰ͍͍ͪͪ֬ೝ͠ͳ͍ͷͱಉ͡ײ֮Ͱ͢ɻ
    ɹͨͩɺͦ͏͍͏ঢ়ଶʹͳΔ·Ͱʹ͸νΣοΫϦετΛ܁Γ
    ฦ͠ݟͯ͸खΛಈ͔͠ɺ಄ͷதʹ͖ͨͨࠐΉஈ֊͕͋Δͷ͔
    ΋͠Ε·ͤΜͶɻ·ͨهԱͨ͠ͱͯ͠΋ਓؒͷ೴͸๨ΕΔΑ
    ͏ʹઃܭ͞Ε͍ͯΔͷͰɺͨ·ʹݟͯ఺ݕ͢Δͷ͸ྑ͍͜ͱ
    ͩͱࢥ͍·͢ɻ
    ɹνΣοΫϦετ͸࢖͍ํʹΑͬͯ͸ʮ͜Ε͚ͩ΍͍ͬͯΕ
    ͹Α͍ʯͱࢥߟఀࢭΛଅ͢΋ͷʹ΋ͳΓ·͢ɻࢲͨͪΛऔΓ
    νΣοΫϦετʹ͍ͭͯ
    ר͘ঢ়گ͸೔ʑมԽ͍ͯ͠·͔͢ΒɺͦΕʹ߹ΘͤͯνΣο
    ΫϦετ΋ݟ௚ͯ͠Ξοϓσʔτ͢Δඞཁ͕͋Γ·͢Ͷɻ
    νΣοΫϦετΛ࢖ͬͯ΍Γ͍ͨ͜ͱ͸ͳΜͰ͠ΐ͏ɻͦΕ
    ͸ຊ౰ʹ΍Γ͍ͨ͜ͱͰ͠ΐ͏͔ɻຊ౰ʹͦΕ͕Ͱ͖ͯ·͢
    ͔ɻιϑτ΢ΣΞ։ൃͬͯνΣοΫϦετͰνΣοΫͰ͖Δ
    ఔ౓ͷ؆୯ͳ࢓ࣄͰ͸ͳ͍ΑͶɺͱ͍͏ؾ࣋ͪ΋͋Γ·͢ɻ
    ૝૾͍ͯ͠ΔνΣοΫϦετ͕ҧ͏ͷ͔ͳʁ
    ɹνΣοΫϦετࣗମ͸ѱ͍΋ͷͰ͸ͳ͍ͷͰͳ͓͞Β໽հ
    ͳΜͰ͢Αɻ͔ͩΒʮνΣοΫϦετʯͱ͍͏ݴ༿Λฉ͍ͨ
    ͱ͖͸਎ߏ͑ͯ͠·͍·͢ɻࢲʹͱͬͯ஫ҙ͢΂͖୯ޠɺγ
    άφϧͷҰͭͰ͢ɻ
    ҩྍػثʢࣗࣾ੡඼ʣͷιϑτ΢ΣΞ։ൃʹैࣄɻ
    ϓϩάϥϚʔྺ18೥ɻςελʔྺ10೥͘Β͍ɻ

    ݱࡏ͸eXtremeͳνʔϜʹॴଐ͢Δςελʔɻಈ͔
    ͯ͠ࢼ͢ͷ͕޷͖ɻTwitter ID : @miwa719
    JaSST Review '19 ॻ͖ԼΖ͠ΤοηΠ ᶃ

    View Slide

  43. ҧ࿨ײʹର͢ΔײੑΛߴΊΔʹ͸ʁ

    View Slide

  44. ײੑΛߴΊΔʁ
    ҧ࿨ײ͸͍ͭ΋໨ͷલʹ͋ΓɺͦΕΛײ͡Δ͔ײ͡
    ͳ͍͔ͷࠩͩͱͨ͠Β
    ΑΓྑ͍੡඼Λ࡞ΔͨΊʹҧ࿨ײΛ׆͔͢ͱͯ͠ɺͦͷײੑΛߴΊΔʹ͸Ͳ͏ͨ͠ΒΑ͍ͷͰ͠ΐ͏͔ɻࢲ͸ײੑΛߴΊΔͨΊͷಛผͳτϨʔχϯ
    ά͸ͯ͠·ͤΜɻͰ͢ͷͰɺීஈԿؾͳ͘΍͍ͬͯΔ͜ͱʹώϯτ͕͋ΔͷͰ͸ͳ͍͔ͱߟ͑·ͨ͠ɻҧ࿨ײ͸͍ͭ΋໨ͷલʹ͋ΓɺͦΕΛײ͡Δ
    ͔ײ͡ͳ͍͔ͷࠩͰ͋Δͱͨ͠Βɺͳͥײ͡Δ͜ͱ͕Ͱ͖ͨͷ͔ʁΛ໌Β͔ʹ͍ͯ͘͜͠ͱͰԿ͔͕ݟ͖͑ͯͦ͏Ͱ͢ɻ͜͜਺ϲ݄ؒɺҧ࿨ײΛײ
    ͨ͡ͱ͖ʹࣗ෼ʹ໰͍͔͚ͯΈ·ͨ͠ɻ
    ͳͥɺײ͡Δ͜ͱ͕Ͱ͖ͨͷ͔ͳʁ

    View Slide

  45. ͳͥɺײ͡Δ͜ͱ͕Ͱ͖ͨͷ͔ʁ
    ੡඼Λ஌͍ͬͯΔ͔Βͦ͜ײ͡Δ͜ͱ͕ѹ౗తʹଟ͍
    Α͍੡඼ɺΘΔ͍੡඼ͷΠϝʔδΛ͍࣋ͬͯͨ
    ઃܭͷෳࡶͳͱ͜Ζɺؒҧ͍΍͍͢ͱ͜ΖΛ஌͍ͬͯͨ
    աڈͷෆ۩߹Λ஌͍ͬͯͨʢݱ৅΍࠶ݱखॱɺݪҼ΋ʣ
    ݪҼΛ஌Δ͜ͱ͸ɺઃܭ΍࣮૷Λ஌Δ͜ͱʹͭͳ͕Δ
    ى͖ͨΒݏͳ͜ͱΛ஌͍ͬͯͯɺྨਪ͍ͯͨ͠
    ੡඼Λ஌͍ͬͯΔ͔Βͦ͜ײ͡Δҧ࿨ײ͕ѹ౗తʹଟ͔ͬͨͰ͢ɻ੡඼Λ஌Ε͹ҧ࿨ײ͸ࣗͣͱ͍ͭͯ͘Δͱ͍͏͜ͱͩͱࢥ͍·͢ɻ͔ͩΒΈΜͳ
    ҆৺ͯ͠΋ͬͱ΋ͬͱ੡඼ͷ͜ͱΛ஌Ζ͏ʂεϥΠυʹهࡌͨ͠ͷ͸ɺ੡඼Λ࡞Δ্Ͱ஌Βͳ͍ͱͳΒͳ͍࠷্Ґͷ͜ͱʢͲͷΑ͏ͳ΋ͷΛɺͲΜ
    ͳ෩ʹ࡞͍ͬͯ͜͏ͱ͍ͯ͠Δͷ͔ɺͦΕ͕ཉ͍͠ཧ༝͸Կ͔ʣҎ֎ͰʮԿΛҙ͍ࣝͯͨ͠ͷ͔ɺԿΛ஌͍ͬͯͨͷ͔ʯΛݴޠԽ͠·ͨ͠ɻʼ

    View Slide

  46. ͳͥɺײ͡Δ͜ͱ͕Ͱ͖ͨͷ͔ʁ
    श׳ʹͳ͍ͬͯΔ͜ͱ
    ࣗ෼ͳΒͲ͏࡞Δͷ͔Λ૝૾͍ͯ͠Δʢ਺ʑͷࣦഊܦݧʣ
    ͖͋ΒΊͳ͍ʢ͍ͭ͜͠ʣ
    ͍ٙਂ͘ɺ͍͍ͩͨѱ͍΄͏΁౗͢ʢ൵؍తࢥߟʣ
    ଞऀͷҧ࿨ײΛऔΓೖΕ͍ͯΔ
    ࣗ෼ͷײ৘ʹ໨Λ޲͚ɺͳͥͦ͏ײ͡Δͷ͔Λߟ͍͑ͯΔ
    श׳ʹͳ͍ͬͯΔ͜ͱ͕͖͔͚ͬͰײ͡Δ͜ͱ͕Ͱ͖ͨ΋ͷ΋͋Γ·͢ɻࣗ෼ͳΒͲ͏࡞Δͷ͔Λ૝૾Ͱ͖Δͷ͸ϓϩάϥϚʔͷܦݧ͔ΒདྷΔ΋ͷ
    ͔ͳɻ͖͋ΒΊͳ͍ͷ͸ɺಉ྅ͷςελʔ΋͖͋ΒΊͳ͍ͯ͘͢͝ɻͦ͏΍͖ͬͯ͋ΒΊͳ͔ͬͨͱ͜Ζ͔Β΄ͭΕʢ͓͔͠͞ʣ͕ݟ͔ͭͬͨΓ
    ͢Δɻͦ͏͍͏ͷΛྐʢࣗ෼Λฃཱ͍ͨͤΔ΋ͷʣʹ͍ͯ͠·͢ɻ͍ٙਂ͍ͷ͸ςελʔͳΒͰ͸ͷಛੑʁָ؍తʹߟ͍͑ͨਓʹରͯ͠൵؍తͳҙ
    ݟΛݴΘͳ͖ΌͳΒͳ͍ͱ͖΋͋ͬͯɺຊ౰͸ݴ͍ͨ͘ͳ͍Μ͚ͩͲ࢓ํͳ͘ݴͬͯ·͢ɻԼͷೋͭʼʹ͍ͭͯ͸ɺ͜ͷ͋ͱ঺հ͠·͢ɻ

    View Slide

  47. ͳͥɺײ͡Δ͜ͱ͕Ͱ͖ͨͷ͔ʁ
    ͓·͚ɿ͍ͭ΍ͬͯ͠·͏͜ͱ
    ଞࣾͷγεςϜɺΞϓϦέʔγϣϯΛಈ͔ͯ͠ɺࢼ͢
    ໝ૝͢Δ
    ੈքͰى͖ͨόάΛݕࡧ͢Δɺݱ৅͔ΒݪҼΛໝ૝͢Δ
    ࣌ࣄωλΛ࢖ͬͯ͜Ε͔Βى͖ͦ͏ͳτϥϒϧΛໝ૝͢Δ
    ϓϩάϥϚʔ΍ςελʔ͕ॻ͍ͨจষΛಡΉɺໝ૝͢Δ
    iOS / watchOS App Λ࡞ͬͯ༡Ϳ
    ͜Ε͸͓·͚Ͱࡌͤ·ͨ͠ɻ࢓ࣄҎ֎Ͱීஈ͍ͭ΍ͬͯ͠·͏͜ͱͰ͢ɻʼؾ͕͍ͭͨΒςετΈ͍ͨͳ͜ͱ͍ͯ͠ΔɻࣅͨΑ͏ͳ͜ͱΛͯ͠Δํ
    ΋͍ΔͷͰ͸ͳ͍Ͱ͠ΐ͏͔ɻ৬ۀϓϩάϥϚʔ͕ٳ೔΋झຯͰίʔυΛॻ͍ͯ͠·͏ͷͱࣅͯΔʁےτϨΈ͍ͨͳ΋ͷͳͷ͔΋ɻ͋ͱໝ૝บ͕͋
    Γ·͢ɻʼΞϓϦ࡞੒͸ࣗڅࣗ଍Έ͍ͨͳ΋ͷͰ͢ɻ࢓ࣄͰѻ͍ͬͯΔ੡඼͕ͱͯ΋େ͖͍ͷͰࣗ෼ઐ༻ͷ࣮ػ΁ͷಌΕ͕͋Γ·͢ɻࣗ෼Ͱ࡞ͬͯ
    ࣗ෼ͰςετͰ͖Δͷ͕͍͢͝Μ͚ͩͲɺࣗ෼ͷςετʹࣗ෼ͷϓϩάϥϛϯά͕ͥΜͥΜ௥͍͔ͭͳ͍ͷ͕͍͢͝ɻ

    View Slide

  48. ͳͥɺײ͡Δ͜ͱ͕Ͱ͖ͨͷ͔ʁ
    श׳ʹͳ͍ͬͯΔ͜ͱ
    ࣗ෼ͳΒͲ͏࡞Δͷ͔Λ૝૾͍ͯ͠Δʢ਺ʑͷࣦഊܦݧʣ
    ͖͋ΒΊͳ͍ʢ͍ͭ͜͠ʣ
    ͍ٙਂ͘ɺ͍͍ͩͨѱ͍΄͏΁౗͢ʢ൵؍తࢥߟʣ
    ଞऀͷҧ࿨ײΛऔΓೖΕ͍ͯΔ
    ࣗ෼ͷײ৘ʹ໨Λ޲͚ɺͳͥͦ͏ײ͡Δͷ͔Λߟ͍͑ͯΔ

    View Slide

  49. ଞऀͷҧ࿨ײΛ࢖͍໰୊Λݟ͚͍ͭͯΔ
    ۮવͱ͸ࢥ͑ͳ͍ճ਺
    ͜ͷݱ৅͕ى͖͍ͯΔͷ͸ɺࢲ͚ͩͰ͸ͳ͍
    ίετύϑΥʔϚϯε͕ߴ͍ʂ
    ΍ΓํΛ఻त͍ͨ͠
    ΫϩʔυɾϞω͸ҹ৅೿ͷதͰ΋࠷΋ͻͨΉ͖Ͱɺ࣌ؒ΍قઅͱͱ΋ʹҠΓΏ͘ޫͱ৭࠼ͷมԽΛੜ֔ʹ౉Γ௥ٻͨ͠ըՈͱݴΘΕ͍ͯ·͢ɻҹ৅
    ೿ͷըՈͨͪ͸ޫͷมԽ΍ۭؾͷ೏͍ɺॏ͞ɺ༳Β͗ͱ͍ͬͨҰॠͷҹ৅Λදݱ͠Α͏ͱ͠·ͨ͠ɻͳΜ͔ͩҧ࿨ײΛͱΒ͑ΔͷͱͪΐͬͽΓࣅͯ
    ͍·ͤΜ͔ʁɹ൴͕ϧϊΞʔϧɺγεϨʔɺϐαϩͱ͍ͬͨܳज़஥ؒͱޓ͍ʹܹࢗ͠߹͍ͳ͕ΒͦͷײੑΛຏ͍͍ͯͬͨͷͱಉ͡Α͏ʹɺࢲ΋ಉ྅
    ͱҧ࿨ײΛަ׵͍ͯ͠·͢ɻ
    ଞऀͷҧ࿨ײΛऔΓೖΕΔ
    https://www.artic.edu/highlights/5/impressionism-highlights

    View Slide

  50. ΍Γํ
    ୭͔͕໰୊ʢόάʣΛݟ͚ͭͨ࣌ʹ
    ͳͥͦΕΛ΍ͬͯΈΑ͏ͱࢥͬͨͷ͔Λฉ͘
    ͳͥͦͷ໰୊ʢόάʣʹؾ͚ͮͨͷ͔Λฉ͘
    ࣗ෼͔Β΋ੵۃతʹ࿩͢
    ΈΜͳʹۭؾײછ͢Δ
    ҧ࿨ײͱ·Ͱ͸͍͔ͳ͍͚ͲؾʹͳΔ͜ͱ΋࿩͍ͯ͠Δ
    ଞऀͷҧ࿨ײΛऔΓೖΕΔ
    https://www.artic.edu/highlights/5/impressionism-highlights
    ʼؾ͖ͮͷલʹײͨ͡ҧ࿨ײ͕ͳΜͩͬͨͷ͔Λڭ͑ͯ΋Β͏Ͱ͢Ͷɻಛʹฉ͘ͷ͸ɺͳΜͰͦΜͳૢ࡞Λͯ͠Έͨͷ͔ɺͳΜͰͦΕʹؾ͕͚ͭͨ
    ͷ͔ࢲʹ͸༧૝͕͔ͭͳ͍όάͰ͢ɻΘ͔Γ΍͍͘͢͏ͱɺͳΜͰࢲʹ͸ݟ͚ͭΒΕͳ͍ͩΖ͏ͳͱࢥ͏ͪΐͬͱչ͍͠΍ͭɻͦͷҧ࿨ײΛײ͡Δ
    ͨΊͷԿ͔͕ࢲʹ͸ෆ଍͍ͯ͠ΔΜͰ͢Ͷɻ

    View Slide

  51. ަ׵͢Δ͜ͱ͕໨తͰ͸ͳ͍
    ࣗ෼ͷ΋ͷʹ͢Δ·Ͱҙࣝͯ͠࢖͏ʢͳΓ͖Γςετʣ
    ΋ͱ΋ͱࣗ෼ʹ͸ແ͍ײ֮ͳͷͰ࢖Θͳ͚Ε͹๨ΕΔ
    ૬৐ޮՌ
    ଞऀͷҧ࿨ײ × ࣗ෼ͷࢥߟ → ৽͍͠ҧ࿨ײͷ૑ग़
    ଞऀͷҧ࿨ײΛऔΓೖΕΔ
    https://www.artic.edu/highlights/5/impressionism-highlights
    ʼ૬৐ޮՌͷྫɿTwitterͷλΠϜϥΠϯͰʮ৯ཉ͕ࢭ·Βͳ͍ɻ෩अΛͻ͘༧ஹ͔΋͠Εͳ͍ʯͱ͍͏ͷΛݟͯɺੈͷதʹ͸͜͏͍͏ਓ΋͍ΔΜ
    ͩʂͱڻ͍ͨ͜ͱ͕͋Γ·ͨ͠ɻࢲʹ͸ແ͍ײ֮Ͱ͢ɻ΋͠୭͔͕ٸʹόΧ৯͍࢝͠ΊͨΒʢ͜ͷਓ͸෩अΛͻ͘ͷ͔΋͠Εͳ͍ʣͱࢥ͏͜ͱ͕Ͱ
    ͖ΔΑ͏ʹͳΓ·͢ɻ·ͨ͜ΕΛ஌ͬͨͱ͖ʹ෩अΛͻ͘લʹ৯ཉ͕ࢭ·Βͳ͍ਓ͕͍ΔͷͳΒɺ෩अΛͻ͘લʹಛఆͷ৯΂෺Λ৯΂ͨ͘ͳΔਓ΋
    ͍Δ͔΋͠Εͳ͍ͱࢥ͍·ͨ͠ɻ

    View Slide

  52. ࣗ෼ͷײ৘ʹ໨Λ޲͚Δ
    ײ৘͕ڭ͑ͯ͘ΕΔ΋ͷ͸ҙ֎ʹଟ͍
    ͳͥͦ͏ײ͡Δͷ͔ɺԿ͕ͦ͏͍ͤͯ͞Δͷ͔Λߟ͑Δ
    ͍ͭͰ΋Ͳ͜Ͱ΋ߟ͑Δ
    ͸͡Ί͸ҙࣝͯ͠΍Δͷ͔΋͠Εͳ͍ʢͦͷ͏ͪบʹͳΔʣ
    ൓෮͢Δ͜ͱͰ൓ࣹਆܦ͕஁͑ΒΕ͍ͯ͘
    ࣗ෼ͷײ৘ʹහײʹͳΓɺΑΓখ͞ͳมԽʹؾ͖ͮ΍͘͢ͳΔ
    ͖͞΄Ͳ΋ʮࣗ෼ࣗ਎ΛݟΔʯͱ͜ΖͰ΋͓࿩͠͠·͕ͨ͠ɺࣗ෼ͷײ৘͕ڭ͑ͯ͘ΕΔ΋ͷ͸ҙ֎ʹଟ͍Ͱ͢ɻ໘ന͍ɺָ͍͠ɺඒຯ͍͠ɺਏ͍ɺ
    ΠϥΠϥ͢Δɺخ͍͠ɺײಈͨ͠…ͳͲͳͲɻײ৘Ͱ͸ͳ͍͚ΕͲɺԿͱͳ͘ؾʹͳΔɺݏͳ༧ײ͕͢ΔͳͲ΋ͦ͏Ͱ͢ɻͦͷײ৘Λͦͷ··ʹ͠
    ͳ͍Ͱɺͳͥͦ͏ࢥ͏ͷ͔ɺԿ͕ͦ͏͍ͤͯ͞Δͷ͔Λߟ͍͑ͯ·͢ɻ൓෮͢Δ͜ͱͰ൓ࣹਆܦ͕஁͑ΒΕ͍͖ͯɺͦͷ݁Ռɺࣗ෼ͷײ৘ʹහײʹ
    ͳΓɺΑΓখ͞ͳมԽʹؾ͖ͮ΍͘͢ͳ͍ͬͯͦ͏ɻͦ͏͍͏͜ͱ͕࢓ࣄதʹ΋࡞༻͍ͯ͠ΔͷͰ͸ͳ͍͔ͱࢥ͍·ͨ͠ɻ

    View Slide

  53. ͍͢͝Λߟ͍͑ͯΔ
    ͳͥͦ͏ײ͡Δͷ͔ʁΛߟ͍͑ͯΔ࣮ྫɻຊਓ͸ਅ໘໨ʹߟ͍͑ͯΔΜ͚ͩͲɺ͜͏ฒ΂ͯΈΔͱͪΐͬͱ಄͕͓͔͍͠ײ͡ͳͷ΋͋Δɻ

    View Slide

  54. ޷͖Λߟ͍͑ͯΔ
    ͳͥͦ͏ײ͡Δͷ͔ʁΛߟ͍͑ͯΔ࣮ྫͰ͢ɻ

    View Slide

  55. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷ
    ίπɾ޻෉

    View Slide

  56. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷίπ
    ࢲ͕͔ͭ·͍͑ͨҧ࿨ײ
    ·ͩ୭΋͔ͭ·͑ͯͳ͍ɺͳ͔ͳ͔͔ͭ·͑ΒΕͳ͍΋ͷ
    ϓϩάϥϚʔ΋ςελʔ΋ҧ࿨ײΛ͔ͭ·͑Δͷ͕͏·͍
    ͍͍ͨͯͷ͓͔͠͞͸୭͔͕͔ͭ·͑ͯ͠·͏
    ࣗ෼ͷҙࣝͷ͍͖͔࣋ͬͯͨΛڲਖ਼͍ͯ͠Δ
    ࢲ͕͔ͭ·͍͑ͨͱࢥ͍ͬͯΔͷ͸ɺ·ͩ୭΋͔ͭ·͑ͯͳ͍ɺΈΜͳ͕ʢࣗ෼΋ʣͳ͔ͳ͔͔ͭ·͑ΒΕͳ͍ҧ࿨ײͰ͢ɻ͜Ε͸͏ͪͷνʔϜͷ
    ϓϩάϥϚʔ΍ςελʔ͕ҧ࿨ײΛ͔ͭ·͑Δͷ͕͏·͍ঢ়گ͕ͦ͏͍ͤͯ͞·͢ɻେ఍ͷ͓͔͠͞͸୭͔͕͔ͭ·͑ͯ͠·͏ɻݶΒΕͨ࣌ؒͷத
    Ͱ໰୊ʹͭͳ͕Γͦ͏ͳ༧ஹΛ1೔Ͱ΋൒೔Ͱ΋ૣ͘Ωϟον͍ͨ͠ͷͰ͢ɻͦͷͨΊʹࣗ෼ͷҙࣝͷ͍͖͔࣋ͬͯͨΛڲਖ਼͍ͯ͠·͢ɻ
    ʰ͏ͪͷνʔϜͷϓϩάϥϚʔ͸ͳͥςετ͕͏·͍ͷ͔ʱhttp://miwa719.hatenablog.com/entry/daily20190624

    View Slide

  57. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷίπ
    ୭΋ʢࣗ෼΋ʣߟ͑ͦ͏΋ͳ͍͜ͱ͸Կ͔Λߟ͑Δ
    ݟ͑ͳ͍΋ͷɺॻ͍ͯͳ͍͜ͱʹ஫໨͢Δ
    ࿩୊ʹͳ͍ͬͯͳ͍͜ͱ͸ԿͩΖ͏ʁ
    ҆৺͍ͯ͠Δ͜ͱ͸ԿͩΖ͏ʁ
    ୭΋ߟ͑ͦ͏΋ͳ͍͜ͱ͸Կ͔Λߟ͑Α͏ͱ͍ͯ͠·͢ɻνʔϜͷΈΜͳ͕ߟ͑ͦ͏΋ͳ͍͜ͱɺࣗ෼͕ߟ͑ͦ͏΋ͳ͍͜ͱΛࣗ෼Ͱߟ͑Δͷ͸ͱ
    ͯ΋೉͍͠ͱࢥ͍·͢ɻയવͱߟ͑ͯ΋ࢥ͍ු͔͹ͳ͍ͷͰߟ͑ํͷύλʔϯΛ࢖͍·͢ɻᾇΈΜͳͰ͋Δػೳʹ͍ͭͯͲ͏࣮૷͢Δ͔Λ࿩ͯ͠Δ
    ࣌ɺ੠͸ࣗಈతʹೖͬͯ͘ΔͷͰͦΕΛฉ͖ͳ͕Βݟ͑ͯͳ͍΋ͷɺྫ͑͹ͦͷػೳ͸ɺաڈͷόʔδϣϯͰಛผͳॲཧ͕͚͋ͬͨͲɺ͋Ε͸ࠓ
    ճͲ͏ͳΔΜͩʁͱ͔Ͷɻ(2)࿩୊ʹͳͬͯͳ͍͜ͱΛߟ͑Δͷ͸ேձͷ࿩Ͱ΋ग़͖ͯ·ͨ͠Ͷɻ(3)ΈΜͳ͕҆৺͖͍ͬͯ͠Δ͜ͱ͔Β໰୊͕ݟͭ
    ͔Δ͜ͱ͕͋Γ·͢ɻ҆৺͍ͯ͠Δ͜ͱ͸ͳΜͰ͔͢ʁͦΕ͸ਖ਼҆͘͠৺͍ͯ͠ΔΜͩΖ͏͔ʁ

    View Slide

  58. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷίπ
    ؒҧ͍ͬͯΔ͔΋͠Εͳ͍ͧɺͱࢥ͏
    ܾ·ͬͨ࢓༷ɺաڈʹͦΕͰΑ͠ͱͨ͠΋ͷ
    ࣗ෼ͷ͜ͱ΋ٙ͏
    ؒҧ͍ͬͯͳ͍͜ͱͱͦΕͰྑ͍͔Ͳ͏͔͸ผ
    ͦΕ͕ؒҧ͍ͬͯͳ͍ͱͳͥݴ͑Δͷ͔
    ͦΕͰྑ͍ͱͳͥݴ͑Δͷ͔
    ؒҧ͍ͬͯΔ͔΋͠Εͳ͍ͧɺͱࢥ͏Α͏ʹ͠·͢ɻܾ·ͬͨ࢓༷Ͱ΋ϧʔϧͰ΋ͳΜͰ΋͍͍ͷͰ͕͢ɺͦΕ͕ຊ౰ʹཉ͔ͬͨ͠΋ͷͳͷ͔ʁ
    ͦ͏ͨ͠ཧ༝ʢҙਤʣ͸ʁ̍೥લ͸ͦΕͰΑ͔͚ͬͨͲࠓ΋ͦΕͰ͍͍ΜͩΖ͏͔ɻࣗ෼ͷ͜ͱ΋ٙ͏ɻઌೖ؍ʹͱΒΘΕ͍ͯͳ͍ͩΖ͏͔ɻ৴
    ͍ͨ͡΋ͷΛ৴͍ͯ͡ͳ͍ͩΖ͏͔ɻݟ͍ͨ΋ͷ͔͠ݟ͍ͯͳ͍Μ͡Όͳ͍͔ͬͯɻؒҧ͍ͬͯͳ͍͜ͱͱͦΕͰྑ͍͔Ͳ͏͔͸ผͰ͢Ͷɻਖ਼͠
    ͍͜ͱ͕ɺ͍ͭͰ΋ͲΜͳͱ͖Ͱ΋࠷ྑͷղͰ͸ͳ͍͜ͱͱಉ͡Ͱ͢ͶɻͦΕ͕ؒҧ͍ͬͯͳ͍ͱͳͥݴ͑Δͷ͔ɻͦΕͰྑ͍ͱͳͥݴ͑Δͷ
    ͔ɻͦ͜Λߟ͑ͨΓɺΈΜͳʹ໰͍͔͚·͢ɻࣗ෼Ͱ΋෼͔Βͳ͍͜ͱ͕ଟ͍ΜͰ͢Αɻ

    View Slide

  59. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷίπ
    ૝ఆ֎ͷ໰୊Λݟ͚ͭΔͷͰ͸ͳ͘૝ఆΛͻΖ͛Δ
    ؾʹ͢ΔൣғΛͻΖ͛Δ
    ͋ͱҰาɺ૬खͷྖҬʹ౿ΈࠐΜͰΈΔ
    ͜Ε͚ͩ΍͍ͬͯΕ͹͍͍ɺ͸ة͏͍
    ૝ఆ֎ͷ໰୊Λݟ͚ͭΔˠ૝ఆΛͻΖ͛ΔΑ͏ʹͨ͠΄͏͕͍͍Έ͍ͨɻݴ༿༡ͼͷΑ͏͚ͩͲɺ૝ఆ֎ͷ໰୊Λݟ͚ͭΑ͏ͱ͍ͯ͠Δͱ͖͸ɺ
    ·ͩࣗ෼ͷ࿮ʹ͜΋͍ͬͯΔײ͕͡͠·͢ɻʢ૝ఆ֎ͷ໰୊͸૝ఆͨ͠Βͦͷॠؒʹ૝ఆ֎Ͱ͸ͳ͘ͳΔͷͰ૝ఆ֎ͷ໰୊ͱ͍͏ͷ͸ݟ͚ͭΒΕ
    ͳ͍ͱ͔ͦ͏͍͏ሪཧ۶͸ݴΘͳ͍Α͏ʹ͢Δ͜ͱɿࣗ෼΁ͷ஫ҙʣؾʹ͢ΔൣғΛ޿͛Δͱ͍͍Ͱ͢ͶɻΈͳ͞Μ΋ࣗ෼ͨͪͷ࢓ࣄͷൣғ͸͜
    ͜·Ͱͱ͍͏΋ͷ͕͋Δͱࢥ͏ͷͰ͕͢ɺ͋ͱҰาɺ૬खͷྖҬʹ౿ΈࠐΜͰΈΔɻ͜Ε͚ͩ΍͍ͬͯΕ͹͍͍ͱࢥͬͨ࣌͸ʮةͳ͍ͧʯͱࢥͬ
    ͨํ͕͍͍Ͱ͢ɻ

    View Slide

  60. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷ޻෉
    ർΕͳ͍Α͏ʹ͢Δ
    ർΕ͍ͯΔͱ͖͸ҧ࿨ײΛ͔ͭ·͑ΒΕͳ͍
    ࢓ࣄத͸̍࣌ؒʹ̍ճ͸ٳܜΛऔΔʢApple Watchͷελϯυػೳʣ
    ஫ҙྗͷ࣋ଓ࣌ؒ͸10෼͕ݶ౓ͱ͍͏ใࠂ΋͋Δ
    جຊతʹ౔೔͸͔ͬ͠ΓٳΜͰ·͢
    ʼ͜Ε͸ݸਓ͕ࠩ͋Δ͚Ͳɺҧ࿨ײ͕Ͳ͏ͷͱ͔Ͱ͸ͳ͘ർΕ͍ͯΔͱ͖͸ٳΈ·͠ΐ͏ɻ

    View Slide

  61. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷ޻෉
    ࣗ෼ࣗ਎ͷόά΋γάφϧͱͯ͠࢖͏
    Typical bug of miwaOS
    աूதʢ೤๫૸ʣ
    ৸๥͢Δʢsleep͔Βͷճ෮ʹࣦഊʣ
    ຤ͬࢠ໰୊ʢࣥணͯ࣌ؒ͠Λ༹͔͢ɺݱ࣮ಀආʣ
    ํ޲Իஒʢۭؒೝࣝೳྗͷܽ೗ʣ
    ҧ࿨ײͷஹ͠͸͍ΖΜͳݪҼͰ͔ͭ·͑ΒΕͳ͍ΜͰ͚͢Ͳɺࣗ෼ࣗ਎ͷόά΋ݪҼʹͳΔ͜ͱʹؾ͍͔ͮͯΒҙࣝ͢ΔΑ͏ʹͳΓ·ͨ͠ɻ୅ද
    తͳόάͷաूதόάɿςετʹ೤த͠ա͗Δෆ۩߹͕͋Δʢ͜Ε͸΋͏ࣗ෼ͱͯ͠͸࠷ߴʹؾ͍͍࣋ͪঢ়ଶͳͷͰ΍ΊͮΒ͍ʣաूதͱ͍͏͜
    ͱ͸ཪΛฦ͢ͱͦΕҎ֎ͷ͜ͱʹ͍ͭͯ͸ࢄອʹͳΔͱ͍͏͜ͱͳΜͰ͢ͶɻԿ͔Λݟಀ͍ͯ͠ΔՄೳੑ͕͋Γ·͢ɻ๫૸ͯ͠Δ࢟Λݟͯʮ΋͏
    ΍ΊͳΑʔʯͱݴͬͯ͘ΕΔਓ΋͍ͯौʑ΍ΊΔɻ৸๥͸਎ମ͕ർΕ͍ͯΔͱ͍͏γάφϧɻແཧͯ͠ձࣾʹߦͬͯ΋͍ͭ΋ͷύϑΥʔϚϯε͕ग़
    ͳ͍Α͏ͳΒޕલத͸ٳΈ·͢ɻ೥ʹ̏ճ͘Β͍༧ࠂ΋ͳ͘ޕલதٳΉͷ͸େ఍ͦΕͰ͢ɻٳΜͰόάΛमਖ਼ͯ͠Δɻ

    View Slide

  62. ҧ࿨ײΛ͔ͭ·͑ΔͨΊͷ޻෉
    ࠩ෼͕ඍྔͰҧ࿨ײΛ͔ͭ·͑ͮΒ͍͜ͱ͕͋Δ
    ͔ͭ·͍͑ͨ΋ͷʹ߹Θͤͯࠩ෼͕େ͖͘ͳΔΑ
    ͏ʹࡉ޻͢Δʢप೾਺Λ߹Θͤʹ͍͘ʣ
    ໰୊͕ى͖ͨͱ͖ʢݟ͚ͭΒΕͳ͔ͬͨͱ͖ʣ͸ߟ͑Δνϟϯε
    ͸͡Ίʹʮࠩ෼͕ҧ࿨ײʯͱ͍͏͜ͱΛ࿩͠·͕ͨ͠ɺࠩ෼͕ඍྔͰҧ࿨ײΛ͔ͭ·͑ͮΒ͍৔߹͕͋Γ·͢ɻͦ͜ͰɺΘ͟ͱࠩ෼͕େ͖͘ͳΔ
    Α͏ʹࡉ޻͔ͯͭ͠·͑΍͘͢͢Δ͜ͱ͕͋Γ·͢ɻ໰୊͕ى͖ͨͱ͖ʢνʔϜ΍ࣗ෼͕໰୊Λݟ͚ͭΒΕͳ͔ͬͨͱ͖ʣ͸νϟϯεͰ͢ɻ͜ͷ࣍
    ͸Ͳ͏΍ͬͨΒݟ͚ͭΒΕΔͷ͔Λߟ͑·͢ɻࣗ෼ͷ஌͕ࣝ଍Γͯͳ͔ͬͨ৔߹΋͋Γ·͢͠ɺTestingͷ΍ΓํΛ͢͜͠ม͑Δͱʢ޻෉͢Δͱʣ
    ࣍͸͓͔͠͞ʹؾ͚ͮΔͧɺͱͳΔ΋ͷ΋ग़ͯ͘ΔΘ͚Ͱ͢Ͷɻ

    View Slide

  63. ͔ͭ·͍͑ͨ΋ͷʹप೾਺Λ߹ΘͤΔ
    ஗͍PCͰಈ͔͢ʢ௿εϖοΫͷ΋ͷʣ
    ͍ͭ΋ͱҧ͏ॱ൪Ͱىಈ͢Δ
    ىಈ௚ޙ͸ಛผͳঢ়ଶͰ͋ΔΛҙࣝ
    Կ೔ؒ΋ిݯΛམͱ͞ͳ͍Ͱಈ͔͢
    PCͷγεςϜ೔࣌Λ23࣌55෼ʹมߋ͢Δ
    յΕͨσʔλΛ࢖͏
    յΕͨϝσΟΞΛ࢖͏
    ϑΝΠϧ͕͍ͭ΋ಡΊΔͱ͸ݶΒͳ͍
    Ϧιʔε͸్தͰރׇ͢Δ͔΋͠Εͳ͍
    ͨ͘͞ΜσʔλΛొ࿥ͨ͠ঢ়ଶͰಈ͔͢
    ͻͱͭ΋σʔλ͕ͳ͍ঢ়ଶͰಈ͔͢
    ݹ͍૷ஔͰੜ੒ͨ͠σʔλΛ࢖͏
    ৽͍͠૷ஔͰੜ੒ͨ͠σʔλΛ࢖͏
    ͍ͭ΋࢖͍ͬͯΔσʔλΛ࢖͏
    ͍ͭ΋࢖͍ͬͯͳ͍σʔλΛ࢖͏
    ༏लσʔλΛ࢖͏
    ಈ͔ͤΔ΋ͷ͸શ෦ಈ͔͢
    Ϧιʔεঢ়گΛݟͳ͕Βಈ͔͢
    ϞχλͷిݯΛOFF→ON͢Δ
    μΠΞϩάɺଞΞϓϦͷը໘Λ͔ͿͤΔ
    ઀ଓ͍ͯ͠Δ΋ͷΛ֎͢
    μΠΞϩάϘοΫεʢॻ͖͖Εͳ͍লུʣ
    ςΩετϘοΫεͰʢॻ͖͖Εͳ͍লུʣ
    ϥδΦϘλϯΛ̎ͭҎ্બ΅͏ͱ͢Δ
    υϩοϓμ΢ϯϦετ͸Լ͔ΒબͿ
    Ϛ΢εͷ࢖͍ํʢॻ͖͖Εͳ͍লུʣ
    ์ஔ͢Δ
    Կ΋ͳ͍ͱ͜ΖΛΫϦοΫ͍ͯ͠Δ
    ͓ͱͳ͘͠଴͍ͬͯͳ͍
    ੍ݶΛಥഁ͠Α͏ͱ͢Δ
    ேҰʢىಈ௚ޙʣͷૢ࡞͸શਆܦΛूத
    ॳճͱॲཧ଎౓Λൺ΂Δ
    ϑΝʔετΠϯϓϨογϣϯ͍ͩ͡
    Ώͬ͘Γૢ࡞͢Δ
    ૉૣ͘ૢ࡞͢Δ
    Կ౓Կ౓΋܁Γฦ͢
    ྆खΛ࢖͏
    खͱ଍Λಉ࣌ʹ࢖͏
    γϣʔτΧοτΩʔΛԡ͢
    ը໘ͷղ૾౓Λม͑Δ
    ϩάϑΝΠϧΛݟΔ
    ϩάϑΝΠϧΛશ෦࡟আ͔ͯ͠Βಈ͔͢
    ΠϕϯτϩάΛݟΔ
    ઃఆϑΝΠϧΛ్தͰফ͢ɺมߋ͢Δ
    ཕ͕໐͍ͬͯΔ࣌͸ॠిΛظ଴͠ͳ͕
    Βɺॠి͕ݏͦ͏ͳػೳΛ৮Δ
    Τϥʔ͕ى͖ͨ࣌͞ΒʹผͷΤϥʔΛ
    ىͦ͜͏ͱ͢Δ
    Testingͷ࣌ʹ΍͍ͬͯΔ͔ͭ·͍͑ͨ΋ͷʹप೾਺Λ߹ΘͤΔྫɻ܁Γฦ͠΍͍ͬͯΔͱश׳ʹͳΓΑΓҧ࿨ײΛ͔ͭ·͑΍͘͢ͳΓ·͢ɻ

    View Slide

  64. ҩྍػثʢࣗࣾ੡඼ʣͷιϑτ΢ΣΞ։ൃʹैࣄɻ
    ϓϩάϥϚʔྺ18೥ɻςελʔྺ10೥͘Β͍ɻ

    ݱࡏ͸eXtremeͳνʔϜʹॴଐ͢Δςελʔɻಈ͔
    ͯ͠ࢼ͢ͷ͕޷͖ɻTwitter ID : @miwa719
    ੡඼։ൃͷͲ͕͜໘ന͍ͷ͔
    ɹ࣌ؒΛ๨ΕΔ΄ͲͷΊΓࠐΉͷ͸ miwaOS ͷόάͰ͕͢ɺ
    ͦΕΛҾ͖ىͯ͜͠͠·͏ͷ͸ʮ໘ന͍͔ΒͰ͸ͳ͍͔ʯͱ͍
    ͏͜ͱͰ͢Ͷɻ͸͍ɻ੡඼։ൃ͸໘ന͍Ͱ͢ɻࠓͰ͸ͦͷ໘ന
    ͞ʹ͔ͬ͢Γັྃ͞ΕͯΔײ΋͋Γ·͢ɻͰ΋։ൃݱ৔Ͱ࢛࿡
    ࣌தʮ໘ന͞ʯΛײ͍ͯ͡Δ͔ͱ͍͏ͱͦ͏Ͱ΋ͳ͍ΜͰ͢
    ͶɻࢲͷπΠʔτ΍ϒϩάΛಡΜͰ͍ͭ΋ָͦ͠͏ɺ໘നͦ͏
    ʹݟ͑Δͱͨ͠Βɺͦ͏͍͏෩ʹݟ͑Δͱ͜ΖΛಛผʹ੾Γग़
    ͯ͠ॻ͍͍ͯΔ͔ΒͰ͢ɻΑ͍ػձͳͷͰͲ͕͜໘ന͍ͷ͔Λ
    ॻ͘લʹʮ໘ന͞ʯͱ͸͕ͪ͢͜͠͏ײ৘ͷ͜ͱ΋ॻ͖هͯ͠
    ͓͜͏ͱࢥ͍·͢ɻ
    ɹࢲͷ੡඼։ൃʹର͢Δࢥ͍͸ʮࢠҭͯʯʹࣅ͍ͯ·͢ɻ໘ന
    ͍͔Βࢠҭͯ͢Δɺʹ͸ͳΒͳ͍ͷͱಉ͡Α͏ʹ੡඼։ൃ΋
    ੹೚ͷΑ͏ͳ΋ͷ͕൐ͬͯॏ͍΋ͷͰ͢ɻͦ͹ʹ͍ͯ΋͍ͳ͘
    ͯ΋਌͕ࢠͷ͜ͱΛࢥͬͯ৺഑͢ΔΑ͏ʹɺ͍ͭ΋੡඼ͷ͜ͱ
    ͕ؾʹͳΓ·͢ɻࢠ͸਌ͷࢥͬͨΑ͏ʹ͸ҭͨͳ͍ͱ͔ҭͯͨ
    Α͏ʹࢠ͸ҭͭͱ͔ॾઆ͋Γ·͕͢ɺ੡඼͸ࣗ෼͕ͨͪ࡞ͬ
    ͨΑ͏ʹಈ͘ΜͰ͢Αɻʢଓ͖͸͋ͱͰ͔͘ʣ
    JaSST Review '19 ॻ͖ԼΖ͠ΤοηΠ ᶄ

    View Slide

  65. ҧ࿨ײΛ͔ͭ·͑ͨޙͷ͜ͱ

    View Slide

  66. ҧ࿨ײΛ͔ͭ·͑ͨͷʹɺͦͷ··ʹ
    ͯ͠͠·ͬͨ͜ͱ͋Γ·ͤΜ͔ʁ
    ͦ͏͍͏΋ͷͳͷ͔΋͠Εͳ͍
    ؾʹ͸ͳΔ͚Ͳ໰୊ʢόάʣͱ͸ݴ͍͖Εͳ͍
    ͣͬͱલ͔Βͦ͏ͳ͍ͬͯΔ͠ɺɺɺ
    ؾͷ͍͔ͤ΋ʢ΋͏༷͢͜͠ࢠΛݟΑ͏ʣ
    ʼݴ͍ͮΒ͍ͱ͖΋͋Γ·͢Ͷɻ͍͍ͪͪ͏Δ͍͞ਓͩͱࢥΘΕΔͷ΍ͩͳɻ։ൃͷऴ൫Ͱ͜Μͳ͜ͱΛݴͬͨΒʢ͍·ͦΕݴ͏ʁʣͱࢥΘΕΔ
    ͔ͳɻલʹ΋ݴͬͨΜͩΑͳͱ͔ɻͳΜͱͳ͘දʹग़ͤͳ͍ঢ়گ΍৺ڥ͸Α͘Θ͔Γ·͢ɻ͋ͱ͔Β໰୊͕ൃ֮ͯ͠ʢ͋͋ɺ͋ͷͱ͖ͷҧ࿨ײ͕
    ͦ͏ͩͬͨΜͩɺΈΜͳʹ࿩͓͚ͯ͠͹Α͔ͬͨʣͬͯࢥ͏ΜͰ͢ΑͶɻ΋͍ͬͨͳ͍Ͱ͢Ͷɻҧ࿨ײʹਃ͠༁ͳ͍ɻ͔ͩΒݴ͍ͮΒ͍ҧ࿨ײ΄
    Ͳ୭͔ʹ఻͑ΔΑ͏ʹ͍ͯ͠·͢ɻͦ͏ͦ͏ʮݴ͍ͮΒ͍ʯ΋ࣗ෼Ͱ෼͔ΔγάφϧͰ͢Ͷɻ
    ༷ࢠݟɿ༷ࢠΛݟͳ͍ͱ͖ʹ࢖͏ݴ༿

    View Slide

  67. ܦݧଇͰ͕͢ςετ͍ͯͯ͠ʢؾͷ͍͔ͤͳʁʣͱࢥ͏͜ͱͷ΄ͱΜͲ͸ؾͷ͍ͤͰ͸͋Γ·ͤΜɻؾͷ͍ͤʹ͍ͨ࣌͠ʹؾͷ͍͔ͤͳʁͬͯࢥ
    ͏Μͩͱࢥ͏ɻਓྨͷόάͰ͸ͳ͍Ͱ͠ΐ͏͔ɻྫʣอଘϘλϯΛԡͨͭ͠΋Γͩͬͨͷʹอଘॲཧ͕࢝·Βͳ͍ɻ͋Εʁͱࢥͬͯ΋͏Ұ౓Ϙλ
    ϯΛԡͨ͠Βࠓ౓͸ͪΌΜͱอଘॲཧ͕࢝·ͬͨɻ͖ͬ͞͸ԡͨͭ͠΋ΓͰԡͯ͠ͳ͔ͬͨͷ͔΋ɻԡͨ͠ͷ͸ؾͷ͍͔ͤͳʁ೦ͷͨΊ΋͏Ұ౓
    ಉ͡ૢ࡞Λͯ͠ΈͨΒͪΌΜͱಈ͍ͨɻ͜Μͳͱ͖ɺ͋ͳͨͳΒͲ͏͠·͔͢ʁʢγεςϜىಈޙɺॳճͷอଘ͔࣌͠ग़ͳ͍όάͩͬͨʣ

    View Slide

  68. ݴ͍ͮΒ͍ͱ͖ʹͲ͏ͯ͠Δ͔
    ͜Ε͸࢓ࣄ͔ͩΒ࢓ํͳ͍ͱࢥͬͯݴ͍ͬͯΔ
    ͜ͷؾ࣋ͪͷ࣋ͪΑ͏͸͍ΖΜͳͱ͜ΖͰ࢖͑ΔͷͰศར
    ࿅श͢Δͱݴ͑ΔΑ͏ʹͳΔ
    ʰϩʔϧϓϨΠϯάήʔϜʱhttps://druby.hatenablog.com/entry/20101202/p1
    ʼ࿅श͢Δͱݴ͍ͮΒ͕͞ͳ͘ͳΔͷ͔ʁͱ͍͑͹ͦΕ͸ͳ͘ͳΒͳ͍Ͱ͢ɻݴ͑ΔΑ͏ʹͳΔ͚ͩɻຖճݴ͍ͮΒ͍͚Ͳ࢓ࣄ͔ͩΒ
    ࢓ํͳ͍ͱࢥͬͯݴ͍ͬͯ·͢ɻϓϩͷແ৬ @m_seki ͷ༗໊ͳ୆ࢺʮͩͬͯɺ࢓ࣄͰ͠ΐʁʯΛ࣮ફ͍ͯ͠Δɻ

    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