磯野、モブプログラミングやろうぜ!! #モブの宮 #mobnomiya

95aaab3d693889550fd2e7ae02f2f789?s=47 TAKAKING22
September 10, 2017

磯野、モブプログラミングやろうぜ!! #モブの宮 #mobnomiya

2017年9月10日(日)モブの宮にて。

95aaab3d693889550fd2e7ae02f2f789?s=128

TAKAKING22

September 10, 2017
Tweet

Transcript

  1. !5",",*/( ү໺ɺϞϒϓϩάϥϛϯά΍Ζ͏ͥ 2017/09/10 Ϟϒͷٶ Takao Oyobe (@TAKAKING22) Rakuten, Inc.

  2. !5",",*/( !5",",*/( ٴ෦ܟ༤ ָఱגࣜձࣾΠϯΩϡϕʔγϣϯ։ൃ෦ Ұൠࣾஂ๏ਓΞδϟΠϧνʔϜΛࢧ͑ΔձΛࢧ͑Δձ  ۭલઈޙͷΞδϟΠϧϞϯελʔ ௒ઈౖ౭ͷے೑୲౰ ਪ͠ϝϯɿࢁຊ࠼

  3. !5",",*/( Ϟϒϓϩͷਓ IUUQTTQFBLFSEFDLDPNUBLBLJOHNPCVQVSPHVSBNJOHVUPJVEPOHLJGBOHOVNCFSEFWMPWF

  4. !5",",*/( ࠓ೔ͷ͓࿩ ࣮ࡍʹϞϒϓϩάϥϛϯάΛମݧ͢Δલʹɺ Ϟϒϓϩάϥϛϯάͱ͍͏ಇ͖ํΛ օ͞ΜΑΓͪΐͬͱઌʹݱ৔Ͱ࢝ΊͯΈͨܦݧ΍ ͦ͜Ͱಘֶͨͼʹ͍͓ͭͯ࿩͠·͢ɻ ମݧΛ͢Δ࣌ʹࣗ෼ͷݱ৔ͩͬͨΒʜ Λࢥ͍ු͔΂ΒΕΔΑ͏ʹΠϝʔδΛ๲Β·ͯ͠ΈͯԼ͍͞ʂʂ

  5. !5",",*/( Ϟϒϓϩάϥϛϯάͱ͸ɺ νʔϜશһͰ ✓ ಉ͡࢓ࣄΛ ✓ ಉ࣌ؒ͡ʹ ✓ ಉ͡৔ॴͰ ✓

    ಉ͡ίϯϐϡʔλʔͰ ͢Δ͜ͱ
  6. !5",",*/( Ϟϒϓϩάϥϛϯά ✓ ೥ࠒʹ)VOUFS*OEVTUSJFT͕࢝Ίͨ ✓ "HJMFͰ8PPEZ;VJMM͕঺հͨ͠ ✓ ೥݄ʹ͸ॳΊͯͷ.PC1SPHSBNNJOH $POGFSFODF͕։࠵͞Εͨ

  7. !5",",*/( IUUQTXXXZPVUVCFDPNXBUDI WQ@QWTM4H&* "EBZJOUIF)VOUFS*OEVTUSJFTMJGFJO

  8. !5",",*/( )VOUFS*OEVTUSJFTͷϞϒϓϩάϥϛϯά ✓ ͭͷ෦ॺʢ໿ਓʣ͕ಋೖΛ͍ͯ͠Δ ✓ ͭͷϞϒʹࢀՃ͍ͯ͠Δͷ͸ʙਓ͕ଟ͍ ✓ ৗʹϞϒϓϩάϥϛϯάΛ͍ͯ͠Δ ✓ Ϟϒ΁ͷग़ೖΓ͸ࣗ༝

    ✓ ߩݙͰ͖ͳ͔ͬͨΒྡͷϞϒʹҠಈͯ͠΋Α͍
  9. !5",",*/( ࢲͨͪͷϞϒϓϩάϥϛϯά

  10. !5",",*/( )VOUFS*OEVTUSJFTͷ൴Β͸ɺ ϓϥΫςΟεͱͯ͠Ͱ͸ͳ͘ ಇ͖ํͱͯ͠Ϟϒϓϩάϥϛϯά Λ΍͍ͬͯΔײ͡ )VOUFS*OEVTUSJFTΛ๚໰ͨ͠઒ޱ͞Μᐌ͘ɺ ͳͥϞϒϓϩάϥϛϯάΛ࢝Ίͨͷ͔ ʘͳʹͦΕɺΊͬͪΌ໘നͦ͏ʗ

  11. !5",",*/(

  12. !5",",*/( σΟεϓϨΠ 1$

  13. !5",",*/( υϥΠόʔ φϏήʔλʔ φϏήʔλʔ φϏήʔλʔ φϏήʔλʔ (6&45

  14. !5",",*/( ϓϩςΠϯ ).#

  15. !5",",*/( ࢲͨͪͷϞϒϓϩάϥϛϯά ✓ ৗʹϞϒϓϩάϥϛϯά ✓ Ϟϒ΁ͷग़ೖΓ͸ࣗ༝ ✓ ϧʔϧ͸ࡉ͔ܾ͘Ίͣʹ΍Γͳ͕Βม͍͑ͯ͘ ಇ͖ํͱͯ͠ͷϞϒϓϩάϥϛϯάΛ࢝ΊͯΈΔ

  16. !5",",*/( ࢲͨͪͷνʔϜ ✓ ਓνʔϜ ✓ ৽نαʔϏεͷ্ཱͪ͛Λ10$͔Β࣮ࢪ ✓ ΰʔϧ͸ৗʹมԽ͢Δ ✓ ϓϩμΫτ΋։ൃ΋Ӧۀ΋ͳΜͰ΋΍Δ

    اۀ಺ϦʔϯελʔτΞοϓνʔϜ
  17. !5",",*/( ݸਓࣗ༝࣌ؒ Ϟϒελʔτηογϣϯ Ϟϒϓϩάϥϛϯά Ϟϒϥϯν Ϟϒϓϩάϥϛϯά Ϟϒ;Γ͔͑Γ Ұ೔ͷྲྀΕ

  18. !5",",*/( Ϟϒϓϩάϥϛϯάʹ͍ͭͯ;Γ͔͑ͬͯΈͨ

  19. !5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊ΢ϋ΢ɾεΩϧ఻ൖ

  20. !5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊ΢ϋ΢ɾεΩϧ఻ൖ

  21. !5",",*/( ਺ਓ͕ू·ͬͯ୆ͷίϯϐϡʔλʔͰ ࢓ࣄΛ͢ΔͳΜͯੜ࢈ੑԼ͕ΔΜ͡Όͳ͍ͷʁ ͜͏͍͏ٙ໰Λ͍࣋ͬͯ·ͤΜ͔ʁ

  22. !5",",*/( ෼୲࡞ۀͷ৔߹ ࢲୡͷීஈͷ࢓ࣄΛ෼ੳͯ͠ΈΔͱʜ ࣮͸ಉظͷͨΊͷ͕࣌ؒଟ͘ɺ ࣮ࡍʹ࡞ۀΛ͍ͯ͠Δ࣌ؒ͸ҙ֎ͱগͳ͍ ˰෼୲͢ΔͨΊͷಉظɾ࡞ۀΛϚʔδ͢ΔͨΊͷಉظ FYேྱɺઃܭɺΩοΫΦϑɺೝࣝ߹Θͤʜ FYϨϏϡʔɺঝೝɺ;Γ͔͑Γʜ

  23. !5",",*/( ෼୲࡞ۀͷ৔߹ ΋ͪΖΜϛείϛϡχέʔγϣϯʹΑͬͯ ख໭ΓΛ͢Δͱ༨ܭʹ͕͔͔࣌ؒΔ ࢲୡͷීஈͷ࢓ࣄΛ෼ੳͯ͠ΈΔͱʜ

  24. !5",",*/( Ϟϒͷ৔߹ ৗʹҰॹʹ࢓ࣄΛ͍ͯ͠ΔͷͰɺ ಉظͷͨΊͷ࡞ۀ͸Ұ੾ඞཁͳ͍ ࢲୡͷීஈͷ࢓ࣄΛ෼ੳͯ͠ΈΔͱʜ

  25. !5",",*/( Ϟϒͷ৔߹ ʮ΍ͬͯͳ͍ʯͰ͸ͳͯ͘ৗʹʮ΍͍ͬͯΔʯ ઃܭɺϨϏϡʔɺઃܭɺ߹ҙɺܭըɺݟੵ΋Γʜ ࢲୡͷීஈͷ࢓ࣄΛ෼ੳͯ͠ΈΔͱʜ

  26. !5",",*/( ✓ ϛείϛϡχέʔγϣϯ ✓ ߹ҙܗ੒্ͷ໰୊ ✓ ڊେͳϫʔΫϑϩʔ ✓ ݫ֨ͳϧʔϧ ✓

    ͨ͘͞ΜͷϛʔςΟϯά ੜ࢈ੑΛഁյ͢Δ΋ͷͨͪ FUD
  27. !5",",*/( ✓ ேྱ ✓ ίϛϡχέʔγϣϯͷͨΊͷϛʔςΟϯά ✓ ߹ҙܗ੒ͷͨΊͷυΩϡϝϯτ ✓ ϨϏϡʔશൠʢιʔείʔυɺυΩϡϝϯτʣ ✓

    (JU'MPX ✓ Χϯόϯ ✓ ݟੵ΋Γ ϞϒΛ࢝Ίͯͳ͘ͳͬͨ΋ͷ
  28. !5",",*/( ✓ ૝ఆϢʔβʔɾϏδωεϝϯόʔʹ
 εϐʔυͰڻ͖Λ༩͑ΒΕͨ ✓ ٕज़తʹϋϚΔ͕࣌ؒ࠷খݶʹͳΔ ✓ ޙ௥͍ίϛϡχέʔγϣϯ͕ෆཁʹͳΔ ✓ ಇ͘͜ͱʹूதͰ͖Δ

    ੜ࢈ੑɾ։ൃεϐʔυ
  29. !5",",*/( ਺ਓ͕ू·ͬͯ୆ͷίϯϐϡʔλʔͰ ࢓ࣄΛ͢ΔͳΜͯੜ࢈ੑԼ͕ΔΜ͡Όͳ͍ͷʁ ͜͏͍͏ٙ໰Λ͍࣋ͬͯ·ͤΜ͔ʁ ࢲͨͪ͸ੜ࢈ੑͷ͜ͱ͸ߟ͍͑ͯͳ͍͚Ͳɺ Ϟϒϓϩάϥϛϯά͸Ϧʔϯͩͱ࣮ײ͍ͯ͠Δ

  30. !5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊ΢ϋ΢ɾεΩϧ఻ൖ

  31. !5",",*/( ✓ ͓ޓ͍ͷಘҙ෼໺Λิ׬͠߹͑Δ ✓ Θ͔Βͳ͍͜ͱΛڭ͑߹͑Δ ✓ ॻ͖ํ΍ਐΊํʹର͢Δߟ͑ํ΍૝͍Λ
 ৗʹ͢Γ߹ΘͤΔ͜ͱ͕Ͱ͖Δ ✓ શһͰμϝͳΒ͠ΐ͏͕ͳ͍ͱࢥ͑Δ

    ✓ ୡ੒ײΛڞ༗Ͱ͖Δ ৺ཧత҆શੑ
  32. !5",",*/( ʮ΍ͬͨʔʂʂʯΛڞ༗Ͱ͖Δ

  33. !5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊ΢ϋ΢ɾεΩϧ఻ൖ

  34. !5",",*/( ✓ ৗʹશһ͕஌͍ͬͯΔঢ়ଶΛ࡞ΕΔ ✓ ݁Ռ͚ͩ͡Όͳ͘աఔɾܦҢ͕Θ͔Δ ✓ ํ਑Λৗʹ͢Γ߹ΘͤΒΕΔ ϊ΢ϋ΢ɾεΩϧ఻ൖ

  35. !5",",*/( νʔϜͷ஌ࣝൣғͱͯ͠ͷϕετ #͞Μ $͞Μ "͞Μ ࢓ࣄ ஌ࣝൣғ

  36. !5",",*/( νʔϜͷ஌ࣝൣғͱͯ͠ͷϕετ #͞Μ $͞Μ "͞Μ ෼୲࡞ۀͷ৔߹ "͞Μͷ஌ࣝൣғ ͳͷͰରԠՄೳ "͞Μͷ஌ࣝൣғ֎Ͱɺ
 #͞ΜʹϨϏϡʔͯ͠

    ΋Βͬͨ৔߹ͷΈ ϑΥϩʔՄೳ "͞Μͷ஌ࣝൣғ֎Ͱɺ $͞ΜʹϨϏϡʔͯ͠ ΋Βͬͨ৔߹ͷΈ ϑΥϩʔՄೳ
  37. !5",",*/( νʔϜͷ஌ࣝൣғͱͯ͠ͷϕετ #͞Μ $͞Μ "͞Μ Ϟϒͷ৔߹ ରԠՄೳ

  38. !5",",*/( ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ ϊ΢ϋ΢ɾεΩϧ఻ൖ

  39. !5",",*/( ✓ ৗʹνʔϜʹର࿩͕ੜ·Ε͍ͯΔ ✓ ಈ͘ϓϩμΫτ͕νʔϜͷத৺ʹ͋Δ ✓ िϖʔεͰސ٬ʹ௚઀ձ͍͑ͯΔ ✓ ܭը͸ৗʹมԽ͍ͯ͠Δ ϓϩμΫτ։ൃ

  40. !5",",*/( ͦ΋ͦ΋ৗʹର࿩Λ͠ͳ͍ͱ࢓ࣄ͕ਐ·ͳ͍

  41. !5",",*/( ಈ͘ϓϩμΫτ ϝλϑΝͱͯ͠ಈ͘ϓϩμΫτ͕ৗʹνʔϜͷத৺ʹ͋Δ

  42. !5",",*/( ✓ ৗʹνʔϜʹର࿩͕ੜ·Ε͍ͯΔ ✓ ಈ͘ϓϩμΫτ͕νʔϜͷத৺ʹ͋Δ ✓ िϖʔεͰސ٬ʹ௚઀ձ͍͑ͯΔ ✓ ܭը͸ৗʹมԽ͍ͯ͠Δ ϓϩμΫτ։ൃ

    ͜Εͬͯɾɾɾʂʁ
  43. !5",",*/( IUUQBHJMFNBOJGFTUPPSHJTPKBNBOJGFTUPIUNM

  44. !5",",*/( ͓·͚

  45. !5",",*/(  ۚ IUUQTXXXFWFOUCSJUFDPNFIVOUFSSFHJTUSBUJPO

  46. !5",",*/( )VOUFS*OEVTUSJFT ͷΫϦε΋དྷ·͢  ౔ IUUQTUFDISBLVUFODPKQ

  47. !5",",*/( IUUQTXXXGBDFCPPLDPNHSPVQT.PC-07& Ϟϒϓϩؔ࿈ͷ ৘ใ͕ू·͖ͬͯ·͢

  48. !5",",*/( IUUQTHJUIVCDPNZBUUPN.PC1SPHBNNJOH1BUUFSOTXJLJ

  49. !5",",*/( ϞϒϓϩͱϖΞϓϩͷҧ͍͸ʁ ਐΊΔྲྀΕ΍஫ҙ఺͸ڞ௨఺͕ଟ͍Ͱ͢ɻ lಉظzΛ͢Δ͔͠ͳ͍͔͕ҧ͏ͱࢥ͍·͢ɻ ϖΞϓϩͷ৔߹͸ଞͷϖΞ΋͍ΔͷͰ
 ࡞ۀͷಉظ͸ඞཁͰ͕͢ɺ
 Ϟϒϓϩͷ৔߹͸࢓ࣄʹਓ͕ू·ΔΠϝʔδ
 ͳͷͰಉظ͸ඞཁ͋Γ·ͤΜɻ

  50. !5",",*/( ΍ͬͯΈ͚ͨͲ͏·͍͔͘ͳ͔ͬͨ ͏·͍͔͘ͳ͍͜ͱ͕ൃݟͰ͖ͯΑ͔ͬͨ
 Ͱ͢Ͷɻ ͦͷ͏·͍͔͘ͳ͔ͬͨཧ༝͸Ϟϒϓϩ͕
 ݪҼͰ͸ͳͯ͘νʔϜʹજࡏతʹଘࡏͯ͠
 ͍ͨ໰୊͔΋͠Ε·ͤΜɻ

  51. !5",",*/( ަ୅ͷλΠϛϯά͸ʁ ࢲୡ͸ΩϦ͕͍͍λΠϛϯάͰมΘΔ ʮมΘΕʯʢզ͕ՈํࣜʣͰ͢ɻ λΠϚʔͰ࣌ؒΛܭͬͯ෼ຖʹมΘΔ
 ͳͲΛ΍ΒΕ͍ͯΔํ΋͍ΔΑ͏Ͱ͢ɻ

  52. !5",",*/( εΩϧʹ͹Β͖͕ͭ͋Δ৔߹͸ʁ ʮࠓͷΘ͔Βͳ͔ͬͨʯ΋ॏཁͳ৘ใͰ͢ɻ ͨͩɺ͔ͳΓ͍͍νʔϜͰͳ͍ͱݴ͍ग़͠
 ʹ͍͘͜ͱ΋͋ΔͷͰɺ׶͑ͯෆ׳Εͳਓʹ
 υϥΠόʔΛ୲౰ͯ͠΋Βͬͯ
 ʮϒϨʔΩΛ౿ΉݖརʯΛ্खʹ׆༻͢
 Δ͜ͱΛ͓͢͢Ί͠·͢ɻ

  53. !5",",*/( ·ͱΊ

  54. !5",",*/( ✓ ͳͥ࢓ࣄΛ෼୲͢Δඞཁ͕͋ΔͷͩΖ͏͔ ✓ ࢓ࣄΛ෼୲͢Δํ͕ޮ཰తͳͷͩΖ͏͔ ✓ ͳͥಉظ͢Δඞཁ͕͋ΔͷͩΖ͏͔ ✓ ͳͥϒϥϯνΛ࢖͏ඞཁ͕͋ΔͷͩΖ͏͔ ઌೖ؍ʹ͍࣋ͬͯͳ͍ͩΖ͏͔ʁ

  55. !5",",*/( IUUQTTQFBLFSEFDLDPNUBLBLJOH IUUQTXXXTMJEFTIBSFOFU5BLBP0ZPCFQSFTFOUBUJPOT ࠷ऴతʹʮ΋ͬͱҰॹʹಇ͚͹͍͍ʯ ͱ͍͏݁࿦ʹͳΔ͜ͱ͕ଟ͍

  56. !5",",*/( ιϑτ΢ΣΞ։ൃ্ͷ໰୊ͷଟ͘͸ɺ ٕज़తͱ͍͏ΑΓࣾձֶతͳ΋ͷͰ͋Δ τϜɾσϚϧίςΟϞγʔɾϦελʔʢϐʔϓϧ΢ΣΞʣ

  57. !5",",*/( ෼୲͢Δ͜ͱΛલఏʹɺ ͦͷͨΊͷίϛϡχέʔγϣϯΛ ͏·͘΍Ζ͏ͱ͍͗ͯ͢͠ͳ͔ͬͨͩΖ͏͔

  58. !5",",*/( ϓϩμΫτ͕ಈ͍ͨ࣌ɺ ϓϩμΫτΛ࢖͓ͬͨ٬͞Μ͕تΜͰ͘Εͨ࣌ɺ ஥ؒͱҰॹʹʮ΍ͬͨʔʂʂʯͱݴ͍ͬͯ·͔͢ʁ

  59. !5",",*/( ࢥ͍ग़ͤͯ͘͞Εͨͷ͕Ϟϒϓϩάϥϛϯάͩͬͨ

  60. !5",",*/( ୭΋͕͜ͷಇ͖ํΛؾʹೖΔΘ͚Ͱ͸ͳ͍ ஫ҙ

  61. !5",",*/( ϞϒϓϩάϥϛϯάΛɺ ΍ͬͯΈͯ΋ ΍ͬͯΈͳͯ͘΋ ΍ͬͯΈͯ͏·͍͔͘ͳͯ͘΋ ͳΜ͍͍ͩͬͯ

  62. !5",",*/( ूஂ ✓ ूஂʹਓͷू߹ ✓ ΞαΠϯ͞Εͯ͜ͳ͢ ✓ ड͚਎ͳ࢟੎ νʔϜ ৔

    ✓ νʔϜʹ৔ ✓ νʔϜʹߩݙ͢Δ ✓ ೳಈతͳ࢟੎ lू·ͬͯ͘Δz lूΊΒΕΔz
  63. !5",",*/( ৔ νʔϜͱ৺ཧత҆શੑͷؔ܎ ৺ཧతʹ҆શ͔ͩΒ ਓ͕ू·ͬͯ͘Δ

  64. !5",",*/( ৔ Ϟϒϓϩάϥϛϯά͸·͞ʹ͜ͷߏਤ Ϟϒ

  65. !5",",*/( ࣗ෼ͷνʔϜʹ͍ͭͯɺ ໨ࢦ͢νʔϜʹ͍ͭͯߟ͑Δ͖͔͚ͬ ʹͳΔ͔΋͠Εͳ͍

  66. !5",",*/( -FUT.PC !5",",*/(