花束問題をDDDで考える

 花束問題をDDDで考える

2015.4.25 第40回 IT勉強宴会 スライド
https://atnd.org/events/64593

Ba8ecb9f1d269e44056ff4e7dca4c5e0?s=128

hidenorigoto

April 25, 2015
Tweet

Transcript

  1. Ֆଋ໰୊Λ %%%ʢυϝΠϯۦಈઃܭʣ Ͱߟ͑Δ 1)1ϝϯλʔζɹޙ౻लએ ୈճ*5ษڧԅձ υϝΠϯɺҙਤɺϢʔεέʔε

  2. ࣗݾ঺հ w ޙ౻लએʢ͝ͱ͏ͻͰͷΓʣ
 UXJUUFS!IJEFOPSJHPUP w ٱอ͞Μͱͱ΋ʹ1)1ϝϯλʔζͱͯ͠׆ಈ w ϓϩάϥϚʔ޲͚τϨʔχϯά౳ʢ%%%ؚΉʣ w *5ษڧԅձୈճʢʣ


    ʮυϝΠϯۦಈઃܭΛ஌Ζ͏ʯߨࢣ୲౰ 
  3. ϞσϦϯάݪଇ w ຊ࣭ʢFTTFOUJBMTʣΛϞσϧԽͤΑ w େہ؍ʢQFSTQFDUJWFʣΛఏڙͤΑ w ޮՌతͳ఻ୡʢF⒎FDUJWFDPNNVOJDBUJPOTʣΛਤΕ
 ιϑτ΢ΣΞΤϯδχΞϦϯάجૅ஌ࣝମܥ48&#0,7Q 

  4.  ಈ͘ϞσϧͰ͋Ε

  5. γεςϜͱ͸ʁ

  6. QIPUPCZ/BLBUBOJ:0TIJGVNJ$$#: QIPUPCZ%JDL5IPNBT+PIOTPO$$#:

  7. None
  8. ճస൘ͱ͍͏໊ͷγεςϜ w ίοΫʹͱͬͯख࣋ͪΦʔμͷهԱ૷ஔ w ಥવͷଟ਺ͷདྷ٬ʹର͢Δ؇ি૷ஔ w ଴ػ૷ஔ w ະॲཧ஫จҰཡද w

    ্هͷػೳΛඋ͑ͨʮγεςϜʯ ࢀߟɿ٢ݪݡ࣏ஶʰઓུ৘ใγεςϜͷண؟఺441ͷݯྲྀʱQʙ 
  9. શମΛγεςϜͱͯ͠ݟΔͱ 

  10. ճస൘ͷಋೖʹઃܭ 

  11. ʮઃܭʯͷʮҙਤʯ ԿͷͨΊʁ 

  12. ౉ล͞ΜͷϞσϧͰ ౉ล޾ࡾ͞ΜʮϞσϦϯάͷඪ४໰୊͔Βֶ΂Δ͜ͱʯ
 IUUQXBUBOBCFLDPDPMPHOJGUZDPNCMPHQPTUEIUNM 

  13. 

  14. ۀ຿ϑϩʔ ड஫ʙग़ՙͷྲྀΕ ൃ஫ʙೖՙͷྲྀΕ ࡏݿ؅ཧͷྲྀΕ 

  15. σʔλϞσϧ ౷ܭσʔλ؅ཧ ߪೖσʔλ؅ཧ ঎඼σʔλ؅ཧ ൢചσʔλ؅ཧ 

  16. Ϟσϧ͔Βݟ͑ͨ΋ͷ ड෷༧ఆ ୯඼ ग़ՙϩοτ໌ࡉ ൃ஫໌ࡉ ୯඼ϩοτ ঎඼؅ཧ ൢച؅ཧ ࡏݿ؅ཧ ߪೖ؅ཧ

    
  17. Ͳ͏΍ͬͯʁ

  18. υϝΠϯۦಈઃܭ %PNBJO%SJWFO%FTJHO 

  19. υϝΠϯͱ͸ w ྖҬ w ʮݱ৔ʯʮݱ৔ͷ෦ॺʯͰ͸ͳ͍  ੵۃతʹݟग़͍ͯ͘͠

  20. υϝΠϯͷγεςϜ w ʮυϝΠϯͷγεςϜʯͱ͍͏υϝΠϯ  ໰୊ͷυϝΠϯ ໰୊Λղܾ͢Δ γεςϜͷυϝΠϯ γεςϜͷ࡞Γํ ͷυϝΠϯ ղܾʹ࢖͏

    ղܾʹ࢖͏ ಓ۩ͷ໨ઢͰ ໰୊Λཧղ ಓ۩ͷ໨ઢͰ ໰୊Λཧղ
  21. औΓ্͛Δύλʔϯ w ڥք͚ͮΒΕͨίϯςΩετ
 #06/%&%$0/5&95  w ੹຿ͷϨΠϠ
 3&410/4*#*-*5:-":&34  ͦͷଞ͍͔ͭ͘

    ࢥߟͷϑϨʔϜϫʔΫ
  22. Ֆଋ໰୊Λߟ͑Δ 

  23. ࠷ॳʹॻ͍ͨਤ 

  24. ͜͜·Ͱͷաఔ w υϝΠϯείʔϐϯάʢυϝΠϯͷೝࣝʣ w ԿΒ͔ͷʮઢʯΛҾ͘ w ʮྖҬʯʹ෼͚Δ w υϝΠϯϞσϦϯάʢυϝΠϯͷཧղʣ w

    ௐ΂Δ 
  25. ໰୊υϝΠϯ෼ੳ w Ֆ԰ͷۀ຿Ͱ໰୊ʹͳ͍ͬͯΔ͜ͱͳͲ w ʲҴ֞ੜՖళʳੜՖͷϩε཰௿ݮͰձࣾ΋ސ٬΋ ʮΦʔϧεϚΠϧʯ ϩεɺࡏݿ͕໰୊  IUUQXXXULDKQDMJFOUDPNQBOZNJMMJPOTDBMFCVTJOFTTIUNM

  26. ଞͷ৘ใ w ੨ࢁϑϥϫʔϚʔέοτ͸ɺͳͥࢢՁͷ൒ֹͰՖΛ ചͬͯ΋Ṷ͔Δͷ͔ʙޙฤʙ w ҰൠతͳՖ԰ͷϩε཰͸ɺ࠾༻ͨ͠ˋఔ౓͕ී ௨Ͱɺͦͷ෼ɺ୯Ձ͕ߴ͘ͳ͍ͬͯ·͢  IUUQEJBNPOEKQBSUJDMFT

  27. ଞͷ৘ใ w IUUQXXXLPTVLFPHBXBDPN FJE w ઱౓؅ཧΛపఈ͢Δ͜ͱͰϩε͸ݮΒͤ·͢ɻ͋Δ͓ Ֆ԰͞ΜͰ͸ɺʰ͓٬͞Μ͕͓ՖΛങͬͯ೔Ҏ಺ʹ ރΕͯ͠·ͬͨΒɺ৽઱ͳ͓Ֆͱަ׵͢Δʱͱ͍͏೔ ࣋ͪอূΛ࢝Ί·ͨ͠ɻަ׵͕ଟ͍ͱଛ͢ΔͷͰɺૣ ͘࢓ೖΕͨ΋ͷ͔Βॏ఺తʹചΔ͜ͱΛపఈͨ͠ͱ͜

    Ζɺϩε཰͕ܹݮɻ࢓ೖΕΛݮΒͯ͠ϩεΛͳ͘͢Α Γɺ઱౓؅ཧΛ΍ͬͨ΄͏͕͸Δ͔Ṷ͔ͬͨͷͰ͢ 
  28. ελʔτ w ֓೦ΛऔΓग़͢ w ʮ໊ࢺʯʹͩ͜ΘΒͳ͍ɻ w Ή͠Ζɺʮಈࢺʢৼ෣ɾॲཧɾಈ࡞ʣʯʹΑΓଟ͘ ͷ஫ҙΛ෷͏

  29. ໰୊͔ΒࡶଟʹϐοΫΞοϓ ϩοτ ࡏݿਪҠ ड஫૿Ճ ৽઱ͳՖ ه೦೔ Ֆଋ ഇغ ࡏݿ རӹ৳ͼ೰Έ

    ঎඼ ୯඼ ࢓ೖઌ ඼࣭ҡ࣋Մೳ೔਺ ݁ଋ ग़ՙ ୯඼ൢച͸ແ ͠ Ϧϐʔλ ಘҙઌ ಧ͚ઌ ग़ՙ೔ ग़ՙ೔͸͓ಧ ͚೔ͷલ೔ ग़ՙ೔ͷมߋ ൃ஫Ϧʔυλ ΠϜ ೖՙ ߪೖ୯Ґ਺ 
  30. େߏ଄ΛݟΔ w ύʔεϖΫςΟϒ w ந৅ w Կา΋Ҿ͍ͯݟΔ

  31. ॎʹ੾Δ ϩοτ ࡏݿਪҠ ड஫૿Ճ ৽઱ͳՖ ه೦೔ Ֆଋ ഇغ ࡏݿ རӹ৳ͼ೰Έ

    ঎඼ ୯඼ ࢓ೖઌ ඼࣭ҡ࣋Մೳ೔਺ ݁ଋ ग़ՙ ୯඼ൢച͸ແ ͠ Ϧϐʔλ ಘҙઌ ಧ͚ઌ ग़ՙ೔ ग़ՙ೔͸͓ಧ ͚೔ͷલ೔ ग़ՙ೔ͷมߋ ൃ஫Ϧʔυλ ΠϜ ೖՙ ߪೖ୯Ґ਺ ঎඼؅ཧ ߪೖ؅ཧ ࡏݿ؅ཧ ൢച؅ཧ 
  32. ڥք͚ͮΒΕͨίϯςΩετ ঎඼؅ཧ ߪೖ؅ཧ ࡏݿ؅ཧ ൢച؅ཧ ঎඼ ୯඼ ϩοτ ࢓ೖઌ ൃ஫Ϧʔυλ

    ΠϜ ೖՙ ߪೖ୯Ґ਺ ࡏݿਪҠ ഇغ ඼࣭ҡ࣋Մೳ೔਺ ग़ՙ ಘҙઌ 
  33. ڥք͚ͮΒΕͨίϯςΩετ ঎඼؅ཧ ߪೖ؅ཧ ࡏݿ؅ཧ ൢച؅ཧ ঎඼ ୯඼ ϩοτ ࢓ೖઌ ൃ஫Ϧʔυλ

    ΠϜ ೖՙ ߪೖ୯Ґ਺ ࡏݿਪҠ ഇغ ඼࣭ҡ࣋Մೳ೔਺ ग़ՙ ಘҙઌ ൃ஫ ސ٬؅ཧ ड஫ 
  34. ॳظͷίϯςΩετ෼ׂ w ίϯςΩετʢαϒυϝΠϯʣΛݟग़͢ࢼΈ w தʹଐ͍ͯ͠Δ΋ͷʢ֓೦ʣͷऩ·Γ۩߹ΛΈΔ w ίϯςΩετ͕ҧ͑͹ɺݴ༿͕มΘΓɺ৘ใͷ୯Ґ ΋มΘΔʢม͑ΒΕΔʣ
 ɹɹˠίϯςΩετϚοϓʢม׵ʣ

  35. ڥքͷʮ͋ͪΒʯͱʮͪ͜Βʯ ࡏݿ؅ཧ ൢച؅ཧ ࡏݿਪҠ ड஫ ड஫ॲཧͰ ࡏݿΛνΣοΫ͢Δ 

  36. ڥքͷʮ͋ͪΒʯͱʮͪ͜Βʯ ࡏݿ؅ཧ ൢച؅ཧ ࡏݿਪҠ ࡏݿ༧ఆ ໰͍߹Θͤ ड஫ ࡏݿ֓೦͸ ͪ͜Βʹ͸ ग़ͯ͜ͳ͍

    ड஫Մೳ ֬ೝ ൢച֓೦͸ ͪ͜Βʹ͸ ग़ͯ͜ͳ͍ ίϯςΩετϚοϓ ίϯςΩετؒͰΤϯςΟςΟΛม׵ 
  37. ৚݅Λ໌ࣔԽ ൢച؅ཧ ड஫ ड஫Մೳ֬ೝ ࡏݿ ؅ཧ ࡏݿ͕͋Δ͜ͱ ΦʔόʔϒοΩϯά ϙϦγʔʁ ސ٬

    ঎඼ Ωϟϯϖʔϯ ౳ ҉໧తͳ֓೦Λ ໌ࣔతʹ͢Δ ʢ࢓༷ύλʔϯʣ 
  38. ੹຿ͷϨΠϠ w Ϗδωεͷ੹຿ͷ֊૚ʹରԠͤͨ͞ߏ଄ ҙࢥܾఆࢧԉ ϙϦγʔ ۀ຿ જࡏೳྗ ֬໿ 

  39. ࡏݿϩεͷ໰୊ ࡏݿਪҠ ඼࣭ҡ࣋Մೳ೔਺ ഇغ ϩοτ ೖՙ ҙࢥܾఆࢧԉ ϙϦγʔ ۀ຿ જࡏೳྗ

    ֬໿ ϩεΛݮΒ͍ͨ͠ Ͳ͏͢Ε͹ʁ 
  40. ࡏݿϩεͷ໰୊ ҙࢥܾఆࢧԉ ϙϦγʔ ۀ຿ જࡏೳྗ ֬໿ ࡏݿਪҠ ඼࣭ҡ࣋Մೳ೔਺ ഇغ ϩοτ

    ೖՙ ࡏݿϩε཰ ϩε਺ ΰʔϧͷ֬ೝ ൃ஫఺ ൃ஫ ৽઱ͳՖ ઱౓؅ཧ ड஫૿ ൢചػձଛࣦ਺ ύϥϝʔλͷ ൃݟ 
  41. શ෦ඞཁͳΘ͚Ͱ͸ͳ͍ w ໰୊ͷߏ଄Λ೺Ѳ͢ΔͨΊ

  42. ΠςϨʔγϣϯ̍ 

  43. ΫϥεΛߟ͑Δ w ͜Ε·Ͱݟग़ͨ͠΋ͷΛΫϥεʹམͱ͢ w ੩తɹˡˠɹಈత w ࠓճ͸ಈతͳํ͔Β

  44. 

  45. 

  46. 

  47. 

  48. 

  49. 

  50. ར༻ͨ͠ύλʔϯ w ΤϯςΟςΟ w Ϣʔεέʔε w αʔϏε w ࢓༷ w

    υϝΠϯΠϕϯτ υϝΠϯϞσϦϯάʹ࢖͏ ϏϧσΟϯάϒϩοΫ  ͲΕ΋ͦͷ·· ΫϥεʹରԠ
  51. ͜Ε͸ಈ͘ͷ͔ʁ w ͜ͷϞσϧ͸ɺಈ͔͘Ͳ͏͔ݕূ͞Ε͍ͯͳ͍ɻ w ࣮૷ͨ͠ΓɺϞσϧͷݴ༿Ͱ࿩ͨ͠Γͯ͠ɺϞσϧ ͕੒Γཱ͍ͬͯΔͷ͔ϑΟʔυόοΫΛಘͭͭɺϞ σϧΛमਖ਼ɾ੒௕͍ͤͯ͘͞ɻ 

  52. ΠςϨʔγϣϯ̎

  53. ࣮૷ʁ ࣮૷ɹʹɹϞσϧ

  54. ίʔυΛॻ͘ ϞσϦϯά׆ಈͱͯ͠ͷ࣮૷ *NQMFNFOUJOHBTBQBSUPG.PEFMJOH

  55. (JU)VC IUUQTHJUIVCDPNQIQNFOUPSTKQqPXFSTIPQ

  56. ঎඼୯඼

  57. ঎඼஫จ

  58. ୯඼ࡏݿਪҠɾൃ஫ɾഇغ

  59. ୯඼ࡏݿਪҠɾൃ஫ɾഇغ

  60. ൃ஫Մೳͳೖՙ༧ఆ೔ w ϦʔυλΠϜʹΑΔ ୯඼ϦʔυλΠϜ ର৅೔෇ ܭࢉج४೔෇ ୯඼

  61. ৚݅Λม͑ͯΈΔ

  62. None
  63. ࣮૷Ͱཧղɾݕূ ಈ͘Ϟσϧ ਤࣔͳͲͰཧղɾ ݕূ

  64. None
  65. None
  66. ϩοτͷࡏݿΛ Ͳ͏؅ཧ͢Δ͔ʁ

  67. ϩοτผࡏݿਪҠϞσϧ ϩοτ ɾೖՙ༧ఆ ɾ඼࣭ظݶ੾Ε೔ ϩοτࡏݿਪҠ ɾ೔෇ ɾ࢒ ϩοτࡏݿਪҠ ɾ೔෇ ɾ࢒

    ϩοτࡏݿਪҠ ɾ೔෇ ɾ࢒ ϩοτࡏݿਪҠ ɾ೔෇ ɾ࢒ ഇغ༧ఆ ɾ೔෇ ɾഇغ਺ ༗ݶͱ֬ఆ͍ͯ͠Δ Լ஍͞Μͷ&3ͱίϯηϓτ͸ಉ͡
  68. None
  69. ೔ผ୯඼ࡏݿ਺ͷ ܭࢉ

  70. ୯඼ࡏݿ਺ܭࢉ ϩοτ ɾೖՙ༧ఆ ɾ඼࣭ظݶ੾Ε೔ ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ

    ϩοτࡏݿਪҠ ɾ ɾ ϩοτ ɾೖՙ༧ఆ ɾ඼࣭ظݶ੾Ε೔ ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ ཁग़ՙ ɾ ɾ ཁग़ՙ ɾ ɾ ࡏݿ ɾ ɾ ࡏݿ ɾ ɾ
  71. ϩοτࡏݿਪҠ ɾ ɾ ϩοτࡏݿਪҠ ɾ ɾ ཁग़ՙ ɾ ɾ ࡏݿ

    ɾ ɾ ୯඼ࡏݿ਺ܭࢉ ద༻ લ೔࢒ ద༻ લ೔࢒
  72. None
  73. ೔ผ୯඼ࡏݿ਺ߋ৽ॲཧ

  74. ೔ผϩοτࡏݿਪҠɹߋ৽ॲཧ

  75. None
  76. ͜͜·ͰͰ w υϝΠϯʹର͢Δཧղ w ಈ͘ɺ࣮૷Ͱ֬ೝ͞ΕͨϞσϧ

  77. ࣮૷ʹϞσϦϯάͷ໨ ໰୊Λղܾ͢Δ γεςϜͷυϝΠϯ γεςϜͷ࡞Γํ ͷυϝΠϯ ղܾʹ࢖͏ ಓ۩ͷ໨ઢͰ ໰୊Λཧղ

  78. ΠςϨʔγϣϯ̏

  79. ಡΈ্͛Δ w ࣮૷ͨ͠Ϋϥε܈ΛɺίʔυΛ཭Εͯʮݴ༿ʯͰݕ ূ͢Δ w ݴޠͷ࿦ཧʹ౰ͯ͸·Δ͔ʁ w Ϣʔεέʔε͕ॏཁ

  80. ·ͱΊ w υϝΠϯۦಈઃܭͷʮࢥߟͷϑϨʔϜϫʔΫʯΛ࢖ͬ ͯυϝΠϯΛೝࣝɾཧղ͢Δաఔ w ϏϧσΟϯάϒϩοΫͰϞσϧΛ૊ΈཱͯΔաఔ w ίʔυ࣮૷ͱʢ࿩͢ʣݴޠʹΑΓɺϞσϧΛݕূɾ मਖ਼͢Δաఔ

  81. %4-ϓϥοτϑΥʔϜ w ʢຊ೔ͷ࿩͸ʮ࿩͠ݴ༿ʯத৺Ͱ͕ͨ͠ʣ w ࿩͠ݴ༿ʹݶΒͳ͍ɺʮυϝΠϯ4QFDJpDͳݴޠʯ ΛฤΈग़͢ɹˠɹͦΕ͕ಈ͘ϓϥοτϑΥʔϜ
 ʢ͜ͷ෦෼͕औΓ૊Ή΂͖υϝΠϯͩʣ

  82. ࢀߟॻ੶ w ΤϦοΫɾΤϰΝϯεஶʰΤϦοΫɾΤϰΝϯεͷ υϝΠϯۦಈઃܭʱ೥ᠳӭࣾ w +BNFT0$PQMJFOஶʰϚϧνύϥμΠϜσβΠϯʱ
 ೥ϐΞιϯ w ٢ݪݡ࣏ஶʰઓུ৘ใγεςϜͷண؟఺441ͷݯ ྲྀʱ೥גࣜձࣾ೔ຊγεςϛοΫε