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

Introduction to Entering Test Design (Japanese)

Introduction to Entering Test Design (Japanese)

Takuya Matsumoto

February 17, 2017
Tweet

More Decks by Takuya Matsumoto

Other Decks in Programming

Transcript

  1. Introduc)on to Entering Test Design Takuya Matsumoto 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔

    1
  2. ࢲ • @upinetree (twi-er, github, qiita) • גࣜձࣾສ༿ • h-ps:/

    /www.wantedly.com/projects/10005 ʹࣸͬͯΔਓ • We are hiring ! 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 2
  3. ·͕͖͑ • ؆୯ʹ࢖͑Δςετٕ๏ͷ঺հͰ͢ • ࣾ಺Ͱͷൃදࢿྉ͔Βࣾ಺޲͚৘ใΛ࡟আͨ͠΋ͷͰ͢ • ಠֶͰษڧͨ͠಺༰ʹج͍͍ͮͯΔͨΊࣗݾղऍؚ͕·Ε·͢ • ؒҧ͍౳͋Γ·ͨ͠ΒTwi%ert౳Ͱ͓஌Β͍͚ͤͨͩΔͱॿ͔Γ ·͢

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 3
  4. ࠓ೔͸ςετʹ͍ͭͯ࿩͠·͢ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 4

  5. όάͷͳ͍ϓϩάϥϜ͸ͳ͍ • όάͷͳ͍࢓༷΋ͳ͍ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 5

  6. Ͱ΋Կ΋͠ͳͯ͘ྑ͍Θ͚Ͱ͸ͳ͘ • ૣ͘ؾ͚ͮΔ͔ʢ༧๷ʣ • ؾ͍ͮͨͱ͖ʹͲ͏͢Δ͔ʢ෼ੳɺରࡦʣ • ࠶ൃ๷ࢭͰ͖Δ͔ʢࣃࢭΊʣ ͪͳΈʹ͜ͷ͋ͨΓ͸޻ۀ෼໺ͷQCʢ඼࣭؅ཧʣͷߟ͑ํ͕݁ߏ ໘ന͍ 2017-02-17

    גࣜձࣾສ༿ ؼࣾ೔ 6
  7. ͍Ζ͍Ζͳํ๏͕͋Δ • ސ٬ͱର࿩͢Δ • ઃܭΛ޻෉͢Δ • ϨϏϡʔ͢Δ • ϋϚΓͲ͜ΖΛWikify͢Δ ςετ͸ͦͷ͏ͪͷҰͭͷํ๏

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 7
  8. ͔͠͠ɺςετΛॻ͘ͷ͸Ή͔͍ͣ͠ • ͜ͷςετͰຊ౰ʹେৎ෉ͳͷͩΖ͏͔ʁ • ςετέʔε͸଍Γ͍ͯΔͩΖ͏͔ʁ • ॻ͖͗ͯ͢͸͍ͳ͍ͩΖ͏͔ʁ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔

    8
  9. ෆ҆ͩΒ͚ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 9

  10. ͦΜͳܦݧ͋Γ·ͤΜ͔ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 10

  11. ςετʹ͸஫ҙ͢΂͖͜ͱ͕ͨ͘͞Μ͋Δ • ϩδοΫͷਖ਼͠͞ΛอূͰ͖Δ͔ʁ • ܽؕΛݕग़͠΍͍͔͢ʁ • ςετํ๏͸ޮՌత͔ʁ • ςετέʔε͸ඞཁे෼͔ʁ •

    ࣮ࢪ࣌ؒ͸ݱ࣮త͔ʁʢࣗಈʗखಈͲͪΒ΋ʣ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 11
  12. ʹ΋ؔΘΒͣɺ͖ͪΜͱ࿩͠߹ΘΕΔ͜ͱ͕গͳ͍ • ܦݧͰॻ͔ΕΔ͜ͱ͕ଟ͍ • ҆৺͢ΔͨΊ͚ͩʹॻ͔ΕΔ͜ͱ͕ଟ͍1 • ޙ෇͚ɺ͓·͚ʹ͞Ε͕ͪ 1 ҆৺͸ςετͷॏཁͳཁૉͷͻͱͭͰ͕͢ɺ඼࣭͸อূͯ͘͠Ε·ͤΜ 2017-02-17

    גࣜձࣾສ༿ ؼࣾ೔ 12
  13. ࠓ͔ͦͬ͜͠ΓجຊΛԡ͑͞Δ͍ͧ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 13

  14. ςετ͸͢Ε͹ྑ͍ͱ͍͏΋ͷͰ΋ͳ͍ • Ϧιʔεʹ͸੍໿͕͋Γɺ͢΂ͯΛςετ͢Δ͜ͱ͸Ͱ͖ͳ͍ • Ͳ͜·Ͱςετ͢Δ͔ɺϓϩμΫτ͕ෛ͑ΔϦεΫͱηοτͰ ݕ౼͢Δඞཁ͕͋Δ • ܽؕΛݕग़͢ΔՄೳੑ͕ߴ͘ͳΔΑ͏ͳςετ͕๬·͍͠ • ͦͷͨΊʹ͸ɺద੾ʹςετΛઃܭ͢Δඞཁ͕͋Δ

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 14
  15. ςετΛઃܭ͢Δ Test Design 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 15

  16. Ͳ͏ઃܭ͢Δʁ • ςετέʔεʹ͸ແݶͷબ୒ࢶ͕͋ΓɺͦΕΒΛ෼ੳ͠ɺܾఆ ͢Δ͜ͱʹͳΔ • Ͳ͏΍ͬͯϦιʔεͷ੍໿͕͋ΔதͰޮՌతͳબ୒͕Ͱ͖Δ͔ Λߟ͑Δ • ޮՌతͱ͸ɺগͳ͍ςετέʔεͰܽؕΛݟ͚ͭ΍͍͢͜ͱͱ Ծఆ͢Δ

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 16
  17. ઃܭʹඞཁͳ΋ͷ͸Կʁ • ର৅ιϑτ΢ΣΞ΍ɺͦͷϏδωεྖҬͷ஌ࣝ • ςετର৅ػೳͷ໌֬ͳ࢓༷ • ςετέʔεΛ࡞ΔͨΊͷςΫχοΫ • → ͜ΕΛҰൠతʹςετٕ๏ͱݺͿ

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 17
  18. ͓࿩͢Δ͜ͱ • ໌೔͔Β࢖͑Δ؆୯ͳςετٕ๏ͷ঺հ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 18

  19. ͓࿩͠ͳ͍͜ͱ • WebΞϓϦͷద੾ͳςετ۠෼ʢControllerςετͷੋඇͱ͔ʣ • ςετۦಈ։ൃͷΑ͏ͳ։ൃϑϩʔ • ςετܭըͷࡦఆํ๏ • ςετΛ͢Δ࣌ؒͷ೧ग़ํ๏ •

    ;Θͬͱͨ͠࢓༷Λ͸͖ͬΓͤ͞Δํ๏ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 19
  20. ໨࣍ 1. ୈҰ෦ ਺஋Λѻ͏ςετٕ๏ 2. ୈೋ෦ ૊Έ߹ΘͤΛѻ͏ςετٕ๏ 3. ·ͱΊ ͦΕͳΓʹར༻ස౓͕ߴͦ͏ͳ΋ͷΛબΜͰΈ·ͨ͠

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 20
  21. ୈҰ෦ ਺஋Λѻ͏ςετٕ๏ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 21

  22. ਺஋ • ೥ྸ • ֹۚ • ೔࣌ • จࣈ σʔλ্࿈ଓతʹදͤΔ΋ͷɻ௨ৗ͸཭ࢄ஋ͱͯ͠ѻ͏ɻ

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 22
  23. ਅཧ஋ʢࢀߟʣ true ͔ false ͔ɻ ࿦ཧԋࢉࢠɺ੍ޚߏจʹΑΓදݱ͞ΕΔ΋ͷɻ • or, and •

    if, else, unless ୈҰ෦Ͱ͸਺஋͕ओ໾ͳͷͰࠓճऔΓѻ͍·ͤΜɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 23
  24. ಉ஋Ϋϥεςετ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 24

  25. ಉ஋Ϋϥεςετ ࠷΋جຊͷςετٕ๏Ͱɺ͍͍ͩͨͷέʔεͰςετΛ؅ཧՄೳ ͳ਺ʹ཈͑Δ͜ͱͷͰ͖ΔςΫχοΫɻ ΄ͱΜͲͷϓϩάϥϚ͕ແҙࣝʹߦ͍ͬͯΔ໛༷ɻ ਺஋Ҏ֎ʹ΋ద༻Ͱ͖Δ͕ɺࠓճ͸਺஋ʹϑΥʔΧεͯ͠঺հɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 25

  26. ಉ஋Ϋϥεςετ ͨͱ͑͹࣍ͷΑ͏ͳ࢓༷͕͋ͬͨͱ͢Δɻ 0ࡀ ʙ 18ࡀ : ޏ༻͠ͳ͍ 19ࡀ ʙ 55ࡀ

    : ޏ༻͢Δ 56ࡀ ʙ : ޏ༻͠ͳ͍ 0, 1, 2, 3, ... ͷશͯͷ೥ྸʹ͓͍ͯςετ͢Δඞཁ͕͋Δ͔ʁ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 26
  27. ಉ஋Ϋϥεςετ • ௚ײతʹNOͱ౴͑Δਓ͕ଟ͍ • ಉ݁͡ՌΛฦ͢σʔλͷू߹ʮಉ஋Ϋϥεʯ ಉ஋ΫϥεͷதͰ͸ςετ͕ඞཁͳͷ͸Ұ͚ͭͩͰɺͲͷ஋Λબ ΜͰ΋ಉ͘͡Β͍༗ޮɻ ઌͷྫͩͱ {10ࡀ, 30ࡀ,

    80ࡀ} ΛબΜͰ΋ {15ࡀ, 40ࡀ, 60 ࡀ} ΛબΜͰ΋ಉ͡ɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 27
  28. ಉ஋Ϋϥεςετ ͱ͸͍͑ɺ࣍ͷΑ͏ʹ࣮૷͞Ε͍ͯͨ৔߹ʹ͸΋ͪΖΜແޮɻ def hirable? if age == 0; return false;

    end if age == 1; return false; end if age == 2; return false; end # ... if age == 19; return true; end if age == 20; return true; end # ... end ͦΜͳ͜ͱ͸ͳ͍ͱئ͍͍ͨ ! 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 28
  29. ਺஋ͷ༗ޮ஋Ϋϥεɺແޮ஋Ϋϥε ༗ޮ஋Ϋϥε1ͭʹରͯ͠ແޮ஋Ϋϥε2ͭɻ๨Εͣʹςετ͢Δ ʢԼਤ͸ʮޏ༻͢ΔʯΛ༗ޮ஋ͱͨ͠ͱ͖ʣ 19歳 55歳 有効値クラス 無効値クラス 無効値クラス 2017-02-17 גࣜձࣾສ༿

    ؼࣾ೔ 29
  30. Ͱ͸ɺಉ஋Ϋϥε͔Βબ୒͢Δ஋͸ Կ͕ྑ͍ʁ 10 Ͱ΋ 11 Ͱ΋ 12 Ͱ΋͍͍ͷ͔ʁ 2017-02-17 גࣜձࣾສ༿

    ؼࣾ೔ 30
  31. Ͱ͖Ε͹Ұ൪͕ܽؕݟ͔ͭΓ΍͍͢ ஋Ͱ͋ͬͯ΄͍͠ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 31

  32. Ͱ͸਺஋ʹ͓͍ͯɺҰ൪͕ܽؕݟͭ ͔Γ΍͍͢஋ͱ͸ʁ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 32

  33. ڥք஋ςετ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 33

  34. ڥք஋ςετ ͨͱ͑͹ɺ࢓༷ͷڥքʹฆΕΔόά… 0ࡀ ʙ 19ࡀ : ޏ༻͠ͳ͍ 19ࡀ ʙ 55ࡀ

    : ޏ༻͢Δ 56ࡀ ʙ : ޏ༻͠ͳ͍ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 34
  35. ڥք஋ςετ ·ͨɺίʔυʹજΉຌϛε… case age when 0...19 false when 19..56 #

    <= missing dot true else false end 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 35
  36. ڥք஋ςετ ͜͏ͨ͠όά͸݁ߏ͋Δ͋Δɻڥքʹ͸ͨ͘͞Μͷ͕ܽؕજΜͰ ͍Δɻ ͋Δಉ஋Ϋϥεͱଞͷಉ஋ΫϥεͷڥքΛʮڥք஋ʯͱ͍͏ɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 36

  37. ڥք஋ςετ ͔ͩΒڥք஋ͱɺͦͷ্͙͢ɺ΋͘͠͸͙͢Լͷ஋ʹண໨͢Δɻ • ڥք஋͕19ࡀͷͱ͖ɺண໨͢΂͖͸ {18, 19, 20} • ڥք஋͕55ࡀͷͱ͖ɺண໨͢΂͖͸ {54,

    55, 56} ҰํͰಉ஋ΫϥεςετΛࢥ͍ग़ͤ͹ɺςετ͢΂͖஋͸ಉ஋Ϋ ϥε಺Ͱͻͱ͚ͭͩͰྑ͍ɻ ͭ·Γ {18, 19, 55, 56} Ͱྑ͍ɺͱͳΔɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 37
  38. ڥք஋ςετ 19 55 有効値クラス 無効値クラス 無効値クラス 18 56 ؆୯ͩͱࢥ͍ͬͯͯ΋ਤʹॻ͍ͯΈΔͱؾ෇͖͕ಘΒΕΔ͜ͱ͕ ͋ΔͷͰ͓͢͢Ίɻ

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 38
  39. ❔ ڥք஋ςετΫΠζʂ ۈ຿࣌ؒͷڥք஋ 8.00hɺখ਺ୈ2Ґ·Ͱѻ͍͍ͨɻ ண໨͢΂͖஋͸ʁ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 39

  40. ❔ ڥք஋ςετΫΠζʂ ۈ຿࣌ؒͷڥք஋ 8.00hɺখ਺ୈ2Ґ·Ͱѻ͍͍ͨɻ ண໨͢΂͖஋͸ʁ {7.99, 8.00, 8.01} 2017-02-17 גࣜձࣾສ༿

    ؼࣾ೔ 40
  41. ❔ ڥք஋ςετΫΠζʂʂ ग़ۈ࣌ؒͷڥք஋͕ 10:30:00ɺඵ୯ҐͰѻ͍͍ͨɻ ண໨͢΂͖஋͸ʁ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 41

  42. ❔ ڥք஋ςετΫΠζʂʂ ग़ۈ࣌ؒͷڥք஋͕ 10:30:00ɺඵ୯ҐͰѻ͍͍ͨɻ ண໨͢΂͖஋͸ʁ {10:29:59, 10:30:00, 10:30:01} 2017-02-17 גࣜձࣾສ༿

    ؼࣾ೔ 42
  43. ର৅ͷ஋ͷ୯Ґ͕େࣄ • ۈ຿࣌ؒͷڥք஋ 8.00hɺখ਺ୈ2Ґ·Ͱ => {7.99, 8.00, 8.01} • ग़ۈ࣌ؒͷڥք஋͕

    10:30:00ɺඵ୯Ґ => {10:29:59, 10:30:00, 10:30:01} 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 43
  44. ͪͳΈʹ: ظؒͷڥք͸΍΍͍͜͠ ΧϨϯμʔΞϓϦͰɺ࣍ͷ2ͭͰσʔλ͸Ͳ͏࣋ͨͤΔʁ • 2/10 ʙ 2/12 ͱͨ͠ͱ͖ɺ2/12 ͸ऴ೔ؚΊ͍ͨ •

    10:00 ʙ 12:00 ͱͨ͠ͱ͖ɺ12:00:00 ͸ؚΊͨ͘ͳ͍ ೔෇ࢦఆͷ৔߹͸಺෦දݱͰ 2/10 ʙ 2/13 ͱ͢Δ౳ɺऴ୺ΛͲͪ Β͔ʹ౷Ұ͢Δ΄͏͕ѻ͍΍ͦ͢͏ɻ2 2 RFC 2445 iCalender Ͱ͸ऴ୺ΛؚΊͳ͍ํʹ౗͍ͯ͠Δ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 44
  45. 2࣠ͷڥք஋ςετ ݱ࣮ʹ͸ɺෳ਺ͷ࣠ͷڥքΛѻ͏έʔε͕΄ͱΜͲɻ ࣍ͷ࢓༷͸Ͳ͏ςετͨ͠Βྑ͍ͩΖ͏ʁ • ෦໳ίʔυ͸ ΞϧϑΝϕοτ[a-c] + ਺ࣈ[1-5] Ͱ͋Δ͜ͱ •

    ্هΛຬͨͨ͠Β trueɺຬͨ͞ͳ͔ͬͨΒ false Λฦ͢͜ͱ • ͨͱ͑͹ a1 ͸ trueɺd5 ͸ false 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 45
  46. 2࣠ͷڥք஋ςετ ڥք஋ͷ૊Έ߹Θͤ͸άϥϑʹϓϩοτ͢Δͱ෼͔Γ΍͍͢ 1 5 a c 0 6 ` d

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 46
  47. 2࣠ͷڥք஋ςετ ϓϩοτ͢΂ͯͰςετΛ͠ͳ͚Ε͹͍͚ͳ͍Θ͚Ͱ͸ͳ͍ɻ ਖ਼ৗܥͷڥք஋͸·ͱΊͯςετͰ͖Δɻ 1 5 a c 0 6 `

    d code valid? a1 ⭕ c5 ⭕ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 47
  48. code valid? `1 ❌ d1 ❌ a0 ❌ a6 ❌

    2࣠ͷڥք஋ςετ ҟৗܥͷڥք஋͸ʁ → ਖ਼ৗܥ΄Ͳ͸·ͱΊͯςετͰ͖ͳ͍ 1 5 a c 0 6 ` d 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 48
  49. 2࣠ͷڥք஋ςετ ϙΠϯτ: ແޮ஋͸ଞͷແޮ஋ΛӅ͢ ྫʣ d6 ͱ͍͏ςετσʔλ false ʹͳΔͷ͸ d ͕ݪҼ͔

    6 ͔͕෼͔Βͳ͍ɻ ΞϧϑΝϕοτͷνΣοΫͱ਺ࣈͷνΣοΫͲͪΒ͕ઌʹߦΘΕ Δ͔͸࣮૷࣍ୈɻ ࣮૷ґଘͷյΕ΍͍͢ςετʹͳΔ͏͑ɺยํͷਖ਼͔͠͞͠อূ Ͱ͖ͳ͍ɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 49
  50. 2࣠ͷڥք஋ςετͷ·ͱΊ • ਖ਼ৗܥ͸ෳ਺ͷ༗ޮڥք஋Λಉ࣌ʹ֬ೝͰ͖Δ • ҟৗܥ͸༗ޮ஋ͱແޮ஋ͷ૊Έ߹ΘͤΛҰͭͣͭ֬ೝ͢Δ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 50

  51. ࣮૷ํ๏͕࣮֬ʹ૝ఆͰ͖Δ΋ͷ͸ྫ֎΋͋Γ RailsͷόϦσʔγϣϯ (ActiveModel::Varidations) ʹݶͬͯ ͸ errors ͔ΒݪҼ͕෼͔ΔͷͰແޮ஋͸ӅΕͳ͍ɻ ͨͩ͠ͻͱͭͷఆٛͰෳ਺ͷແޮ஋͕ݱΕΔ΋ͷ͸আ͘ɻ validates :code,

    format: { with: /[a-c][1-5]/ } # ਺஋ͱਅཧ஋ͷ૊Έ߹Θͤ validates :name, length: { maximum: 30 }, on: :create 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 51
  52. Ͱ΋ςετέʔεΛߜΓࠐΉࢦ਑͕ ΠϚΠνΘ͔ΒΜ ʢ͔͠΋͕࣠͞Βʹ૿͑ͨΒ΋͏ѻ͍͖Εͳ ͦ͞͏…ʣ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 52

  53. υϝΠϯ෼ੳςετ ؔ࿈ͷ͋Δෳ਺ͷ࣠Λಉ࣌ʹςετ͢Δͱ͖ɺςετ͢΂͖஋ͷ ૊Έ߹ΘͤΛޮ཰Α͘෼ੳ͢Δํ๏ ಉ஋Ϋϥεςετɺڥք஋ςετΛn࣍ͷଟ࣍ݩʹ֦ுɾҰൠԽ͠ ͯߟ͑Δ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 53

  54. υϝΠϯ෼ੳςετ: ༻ޠͷ੔ཧ 10 7 in out 9 13 on off

    x >= 10 on: ڥք্ͷ஋ in: ڥք৚݅Λຬ͕ͨ͢ڥք্ʹͳ͍஋ off: ڥք৚݅Λຬͨ͞ͳ͍ɺڥքʹྡ઀͢Δ஋ out: ڥք৚݅Λຬͨ͞ͳ͍஋ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 54
  55. υϝΠϯ෼ੳςετ લड़ͷ෦໳ίʔυΛྫʹ෼ੳͯ͠ΈΔɻ • ෦໳ίʔυ͸ ΞϧϑΝϕοτ[a-c] + ਺ࣈ[1-5] Ͱ͋Δ͜ͱ • ্هΛຬͨͨ͠Β

    trueɺຬͨ͞ͳ͔ͬͨΒ false Λฦ͢͜ͱ ʮυϝΠϯςετϚτϦΫεʯͱ͍͏ͷΛॻ͍ͯ෼ੳ͢Δɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 55
  56. 1 2 3 4 5 6 7 8 [a-c] x

    >= ‘a’ on v off v x <= ‘c’ on v off v 代表値 (in | on) v v v v [1-5] x >= ‘1’ on v off v x <= ‘5’ on v off v 代表値 (in | on) v v v v 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 56
  57. 1 2 3 4 5 6 7 8 [a-c] x

    >= ‘a’ on v off v x <= ‘c’ on v off v 代表値 (in | on) v v v v [1-5] x >= ‘1’ on v off v x <= ‘5’ on v off v 代表値 (in | on) v v v v υϝΠϯ෼ੳςετ • ແޮ஋͸ଞͷແޮ஋ΛӅ͢ • ແޮ஋Λಉ࣌ʹςετ͠ͳ͍Α͏ʹɺ ยํͷม਺Λ୅ද஋ʹݻఆ͠ɺ΋͏ย ํΛมԽͤ͞Δ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 57
  58. 1 2 3 4 5 6 7 8 [a-c] x

    >= ‘a’ on v off v x <= ‘c’ on v off v 代表値 (in | on) v v v v [1-5] x >= ‘1’ on v off v x <= ‘5’ on v off v 代表値 (in | on) v v v v লུͰ͖Δςετέʔε • ಉ͡૊Έ߹Θͤ͸΍Δඞཁ͕ͳ͍ • ਖ਼ৗܥ͸޻෉࣍ୈͰҰ౓ʹςετՄೳ ୅ද஋Λ on ͱ͢Ε͹ɺ1, 3, 5, 7 ͸·ͱΊ ͯલड़ͷදͷΑ͏ʹͳΔɻ code valid? a1 ⭕ c5 ⭕ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 58
  59. ͜͜·Ͱ͕਺஋Λѻ͏ςετٕ๏Ͱ ͨ͠ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 59

  60. ͜͏ͯ͠ߟ͑ͯΈΔͱҎ֎ͱԞ͕ਂ ͍ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 60

  61. ٳܜ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 61

  62. ୈχ෦ ૊Έ߹ΘͤΛѻ͏ςετٕ๏ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 62

  63. ૊Έ߹Θͤςετ • OSXͱWindowsɺFirefoxͱChromeͱSafariɺ͜ΕΒΛ૊Έ߹Θ ͤͯ΋ͪΌΜͱಈ͘ͷ͔ʁ • Ұཡը໘ʹ৽ͨʹιʔτػೳΛ௥Ճͨ͠ɻطଘͷߜࠐػೳʹӨ ڹΛٴ΅͍ͯ͠ͳ͍͔ʁ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔

    63
  64. ૊Έ߹Θͤςετ Ұݟؔ܎ͳ͍ͩΖ͏ͱࢥΘΕΔ૊߹ͤʹόά͸જΉ΋ͷɻ ͦΕΒΛ૊Έ߹Θͤͨͱ͖ʹɺຊ౰ʹ໰୊͕ى͜Βͳ͍͔Λ֬ೝ ͢Δςετɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 64

  65. ૊Έ߹Θͤςετ ͔͠͠૊Έ߹Θͤͷύϥϝʔλ͕૿͍͑ͯ͘ͱɺ૯౰ΓͰ͸๲େ ͳྔʹͳΔɻԿΒ͔ͷ߹ཧతͳϧʔϧͷ΋ͱʹ૊Έ߹ΘͤͷҰ෦ Λςετ͍ͨ͠΋ͷɻ ֤ػೳ͕ʢ࢓্༷ʣ௚ߦ͓ͯ͠Γɺަޓ࡞༻͕গͳ͍͜ͱΛલఏ ʹͰ͖Ε͹ɺʮϖΞߏ੒ςετʯ͕ར༻Ͱ͖Δɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 65

  66. ϖΞߏ੒ςετ • શͯͷ૊Έ߹ΘͤͰ͸ͳ͘ɺύϥϝʔλؒͷϖΞͰςετ • {Android + Chrome + DoCoMo} •

    {iOS + Chrome + SoftBank} • ͜ΕͰ6ͭͷϖΞΛςετͨ͜͠ͱʹͳΔ • ଟ͘ͷόά͸ɺൺֱతগ਺ͷύϥϝʔλؒͷ૬ޓ࡞༻ʹΑΓҾ ͖ى͜͞ΕΔɺͱ͍͏ܦݧଇ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 66
  67. ୅දతͳϖΞߏ੒ςετ • ௚ަද • ϖΞϫΠζ๏ ࠓճ͸͜ͷ2ͭΛ͞Βͬͱ঺հ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 67

  68. ͦͷલʹ: ૊Έ߹Θͤςετͷ஫ҙ఺ ֤ػೳͷؔ࿈ੑ͕ʢ࢓্༷ʣ௿͍͜ͱ͕લఏͷςΫχοΫɻͦ͏ Ͱͳ͍ػೳؒͰ͸ద༻Ͱ͖ͳ͍ɻ ʢ͜ͷલఏ͕ࡌͬͯͳ͍هࣄ͕ͨ·ʹ͋Δʣ ୯ମςετͳͲͰे෼ςετͨ͠͏͑ͰɺͦΕͧΕ͕૊Έ߹Θͤ ͯݺͼग़͍ͤͯΔ͔Λ݁߹ςετʢfeature spec ౳ʣͰ֬ೝ͢Δ ͷ͕ྑͦ͞͏ɻ

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 68
  69. ௚ަද 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 69

  70. 1 2 3 1 1 1 1 2 1 2

    2 3 2 1 2 4 2 2 1 ௚ަද ΦΠϥʔͷ࣌୅ͷϥςϯํ֨Λɺ඼࣭޻ ֶͱͯ͠ൃలͤͨ͞΋ͷɻ Ͳͷ2ྻΛͱͬͯ΋ɺͦͷ஋ͷશͯͷϖΞ ͕ಉ͡਺͚ͩݱΕΔΑ͏ʹ࡞ͬͨදɻ ӈਤ͸ ௚ަදͱݺ͹ΕΔ΋ͷͰɺ3ύ ϥϝʔλ2ਫ४ʹରԠɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 70
  71. ௚ަද͔ΒςετέʔεΛ࡞Δ 1 2 3 1 1 1 1 2 1

    2 2 3 2 1 2 4 2 2 1 OS ブラウザ キャリア 1 Android Chrome DoCoMo 2 Android Firefox SB 3 iOS Chrome SB 4 iOS Firefox DoCoMo 1ߦ໨͸ඞͣ1͕ฒͿɻ1ΛσϑΥϧτͱ͢Δͷ͕ྑ͍ɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 71
  72. ௚ަදͷಛ௃ • ۉߧੑͷ੍໿ • ΋͠ϖΞ͕ॏෳͯ͠ෳ਺ճݱΕΔͳΒɺͲͷϖΞ΋ಉ͡ճ਺ͩ ͚ݱΕΔ • 3ύϥϝʔλҎ্ͷؒͷ૊Έ߹Θͤ΋όϥϯεΑ͘ݱΕΔ 2017-02-17 גࣜձࣾສ༿

    ؼࣾ೔ 72
  73. ௚ަදͷ೉఺ • දͷ࡞੒ίετ͕ߴ͍ • ؾܰʹ࡞Γ௚ͤͳ͍ɻදͷαΠζʹറΒΕɺطଘͷςετͷྲྀ ༻΍ςετͷলུ͕ى͜Γͦ͏ • ௚ަදΛվྑ࣮͠༻తʹͨ͠HAYST๏͕͋Δ͕ɺπʔϧ͸༗ঈ 2017-02-17 גࣜձࣾສ༿

    ؼࣾ೔ 73
  74. ϖΞϫΠζ๏ʢΦʔϧϖΞ๏ʣ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 74

  75. ϖΞϫΠζ๏ 2ύϥϝʔλؒͷ࠷খݶͷ૊Έ߹ΘͤʢϖΞʣ͚ͩΛอূɻ ௚ަදͷۉߧੑͷ੍໿ΛऔΓআ͘͜ͱͰɺ͞ΒʹςετέʔεΛ ݮΒ͢͜ͱ͕Ͱ͖Δɻ πʔϧ͕ଟ͘ެ։͞Ε͍ͯΔɻPICT3 ΍ CIT-BACH4 ͕༗໊ 4 h$p:/

    /www-ise4.ist.osaka-u.ac.jp/~t-tu6ya/CIT 3 h$ps:/ /github.com/Microso4/pict 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 75
  76. ϖΞϫΠζ๏: PICT Microso'͕OSSͰެ։͍ͯ͠Δςετέʔεੜ੒πʔϧɻϖΞͷ ੜ੒ʹରԠ͍ͯ͠Δɻ $ cat model.txt Role: Admin, General,

    Student, Guest Theme: Black, White, Red Login method: Google, ID/PW ૯౰ΓͳΒ 4 * 3 * 2 = 24 ௨Γ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 76
  77. $ pict model.txt Role Theme Login method Student White Google

    Student Black ID/PW Guest Black Google Student Red Google Admin White ID/PW General White ID/PW General Black Google Guest Red ID/PW Admin Red Google Admin Black ID/PW General Red ID/PW Guest White Google 12௨Γ (50%) ʹ཈͑ΒΕͨʂ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 77
  78. ࠓճ͸3ύϥϝʔλ͕ͩͬͨɺ૯౰Γͱͷࠩ͸ύϥϝʔλ͕૿͑Δ ΄Ͳଟ͘ͳΔ5 5 h$ps:/ /msdn.microso1.com/en-us/library/cc150619.aspx 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 78

  79. ϖΞϫΠζ๏ͷ೉఺ • 3ύϥϝʔλҎ্ͷؒͷ໢ཏ཰͸ߟྀ͞Εͳ͍ • πʔϧʹΑͬͯ໢ཏͰ͖Δ͕100%໢ཏɻςετέʔε͸૿͑ Δ • ܦݧతʹ10ʙ40%ͷόάΛݟಀͯ͠͠·͏ͱओு͢Δ࿦จ΋͋ Δ6 6

    h$p:/ /csrc.nist.gov/groups/SNS/acts/index.html 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 79
  80. ݁ہͲͬͪͷํ๏Λ࢖͏ͷ͕͍͍ͷ • ௚ަද͸૊Έ߹Θͤͷόϥϯε͕ྑ͍͕ɺύϥϝʔλ΍ਫ४ͷ ਺ɺදͷେ͖͞ͷ੍໿͋Γ • ઴ਐతʹίʔυΛҭ͍ͯͨͱ͖ɺ࢓༷มߋ͕ଟ͍ͱ͖͸޲͔ͳ ͍ • ΑͬͯࣗಈςετΛॻ͖ͮΒ͍ 2017-02-17

    גࣜձࣾສ༿ ؼࣾ೔ 80
  81. ීஈ࢖͍͸ϖΞϫΠζ๏͕͓͢͢Ί • ίϚϯυϥΠϯπʔϧ΋͋Δ • ௚ަද͸ෆ҆ఆͳର৅ͷ܏޲Λ෼ੳ͢Δͱ͖΍ɺड͚ೖΕςε τΛ͢Δͱ͖ʹ࢖͑ͦ͏ • ͲͪΒͷํ๏΋ϛογϣϯΫϦςΟΧϧͳର৅ʹద༻͢Δ͔Ͳ ͏͔͸ݕ౼͕ඞཁ 2017-02-17

    גࣜձࣾສ༿ ؼࣾ೔ 81
  82. େࣄͳͷ͸ • ͲͷػೳͱҰॹʹ࢖ΘΕͦ͏͔ʁ • Ͳͷػೳͱ૊Έ߹ΘͤͨΒόά͕ग़ͦ͏͔ʁ • ͦΕͧΕͷػೳʹ͸ͲΜͳਫ४͕͋ΓಘΔ͔ʁ ͱ͍͏ߟ͑ํɺ࢓༷ͷཧղɺצɻ ͋΍͍͠ػೳɺਫ४Λݟ͚ͭଛͳͬͨΒɺͲΜͳʹ૊Έ߹ΘͤΑ ͏͕όά͸ݟ͚ͭΒΕͳ͍ɻ

    2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 82
  83. ͪͳΈʹ ϖΞߏ੒ςετ͸ɺՊֶతʹ৴པੑΛূ໌ͨ͠࿦จ͕ࠓͷͱ͜Ζ ͳ͍ɻ ౷ܭɾ࣮੷͔Β࿦ͨ͡΋ͷ͸ଟ͘ग़͓ͯΓɺݱ৔Ͱ޿͘࢖ΘΕͯ ͍Δɻ 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 83

  84. ·ͱΊ • ςετΛઃܭ͢Δ͜ͱͷେ੾͞Λ࿩ͨ͠ • ໌೔͔Β࢖͑Δςετٕ๏Λ঺հͨ͠ • ਺஋ͷςετ • ૊Έ߹Θͤͷςετ 2017-02-17

    גࣜձࣾສ༿ ؼࣾ೔ 84
  85. ٕ๏ʹͱΒΘΕͳ͍͜ͱ ໨త͸ɺແݶͷςετέʔεͷத͔ΒޮՌతͳςετέʔεΛબ ͼग़͢͜ͱͰ͋ͬͯɺςετٕ๏Λ࣮ફ͢Δ͜ͱͰ͸ͳ͍ • ո͍͠ͱࢥͬͨ͜ͱ͸ςετͯ͠ΈΔɻ௚ײΛ৴͡Δ • ͨͱ͑͹ɺԿ΋͠ͳ͔ͬͨΒͲ͏ͳΔͩΖ͏ʁͱࢥͬͨΒԿ΋ ͠ͳ͍͜ͱΛςετͯ͠ΈΔ 2017-02-17 גࣜձࣾສ༿

    ؼࣾ೔ 85
  86. ໌೔͔ΒτϥΠ ! 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 86

  87. Copyrights h"ps:/ /flic.kr/p/gDqtze h"ps:/ /flic.kr/p/9Sgawd h"ps:/ /flic.kr/p/QFzL4S h"ps:/ /flic.kr/p/9P1ebv h"ps:/

    /flic.kr/p/x1qSv h"ps:/ /flic.kr/p/baoynZ h"ps:/ /flic.kr/p/aDPTFx 2017-02-17 גࣜձࣾສ༿ ؼࣾ೔ 87