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

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

TAKAKING22
September 10, 2017

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

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

TAKAKING22

September 10, 2017
Tweet

More Decks by TAKAKING22

Other Decks in Technology

Transcript

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

    View Slide

  2. !5",",*/(
    !5",",*/(
    ٴ෦ܟ༤
    ָఱגࣜձࣾΠϯΩϡϕʔγϣϯ։ൃ෦
    Ұൠࣾஂ๏ਓΞδϟΠϧνʔϜΛࢧ͑ΔձΛࢧ͑Δձ

    ۭલઈޙͷΞδϟΠϧϞϯελʔ
    ௒ઈౖ౭ͷے೑୲౰
    ਪ͠ϝϯɿࢁຊ࠼

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  7. !5",",*/(
    IUUQTXXXZPVUVCFDPNXBUDI [email protected]&*
    "EBZJOUIF)VOUFS*OEVTUSJFTMJGFJO

    View Slide

  8. !5",",*/(
    )VOUFS*OEVTUSJFTͷϞϒϓϩάϥϛϯά
    ✓ ͭͷ෦ॺʢ໿ਓʣ͕ಋೖΛ͍ͯ͠Δ
    ✓ ͭͷϞϒʹࢀՃ͍ͯ͠Δͷ͸ʙਓ͕ଟ͍
    ✓ ৗʹϞϒϓϩάϥϛϯάΛ͍ͯ͠Δ
    ✓ Ϟϒ΁ͷग़ೖΓ͸ࣗ༝
    ✓ ߩݙͰ͖ͳ͔ͬͨΒྡͷϞϒʹҠಈͯ͠΋Α͍

    View Slide

  9. !5",",*/(
    ࢲͨͪͷϞϒϓϩάϥϛϯά

    View Slide

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

    View Slide

  11. !5",",*/(

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. !5",",*/(
    ✓ ϛείϛϡχέʔγϣϯ
    ✓ ߹ҙܗ੒্ͷ໰୊
    ✓ ڊେͳϫʔΫϑϩʔ
    ✓ ݫ֨ͳϧʔϧ
    ✓ ͨ͘͞ΜͷϛʔςΟϯά
    ੜ࢈ੑΛഁյ͢Δ΋ͷͨͪ
    FUD

    View Slide

  27. !5",",*/(
    ✓ ேྱ
    ✓ ίϛϡχέʔγϣϯͷͨΊͷϛʔςΟϯά
    ✓ ߹ҙܗ੒ͷͨΊͷυΩϡϝϯτ
    ✓ ϨϏϡʔશൠʢιʔείʔυɺυΩϡϝϯτʣ
    ✓ (JU'MPX
    ✓ Χϯόϯ
    ✓ ݟੵ΋Γ
    ϞϒΛ࢝Ίͯͳ͘ͳͬͨ΋ͷ

    View Slide

  28. !5",",*/(
    ✓ ૝ఆϢʔβʔɾϏδωεϝϯόʔʹ

    εϐʔυͰڻ͖Λ༩͑ΒΕͨ
    ✓ ٕज़తʹϋϚΔ͕࣌ؒ࠷খݶʹͳΔ
    ✓ ޙ௥͍ίϛϡχέʔγϣϯ͕ෆཁʹͳΔ
    ✓ ಇ͘͜ͱʹूதͰ͖Δ
    ੜ࢈ੑɾ։ൃεϐʔυ

    View Slide

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

    View Slide

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

    View Slide

  31. !5",",*/(
    ✓ ͓ޓ͍ͷಘҙ෼໺Λิ׬͠߹͑Δ
    ✓ Θ͔Βͳ͍͜ͱΛڭ͑߹͑Δ
    ✓ ॻ͖ํ΍ਐΊํʹର͢Δߟ͑ํ΍૝͍Λ

    ৗʹ͢Γ߹ΘͤΔ͜ͱ͕Ͱ͖Δ
    ✓ શһͰμϝͳΒ͠ΐ͏͕ͳ͍ͱࢥ͑Δ
    ✓ ୡ੒ײΛڞ༗Ͱ͖Δ
    ৺ཧత҆શੑ

    View Slide

  32. !5",",*/(
    ʮ΍ͬͨʔʂʂʯΛڞ༗Ͱ͖Δ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    #͞ΜʹϨϏϡʔͯ͠
    ΋Βͬͨ৔߹ͷΈ
    ϑΥϩʔՄೳ
    "͞Μͷ஌ࣝൣғ֎Ͱɺ
    $͞ΜʹϨϏϡʔͯ͠
    ΋Βͬͨ৔߹ͷΈ
    ϑΥϩʔՄೳ

    View Slide

  37. !5",",*/(
    νʔϜͷ஌ࣝൣғͱͯ͠ͷϕετ
    #͞Μ $͞Μ
    "͞Μ
    Ϟϒͷ৔߹
    ରԠՄೳ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  43. !5",",*/(
    IUUQBHJMFNBOJGFTUPPSHJTPKBNBOJGFTUPIUNM

    View Slide

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

    View Slide

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

    IUUQTXXXFWFOUCSJUFDPNFIVOUFSSFHJTUSBUJPO

    View Slide

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


    IUUQTUFDISBLVUFODPKQ

    View Slide

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

    View Slide

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

    View Slide

  49. !5",",*/(
    ϞϒϓϩͱϖΞϓϩͷҧ͍͸ʁ
    ਐΊΔྲྀΕ΍஫ҙ఺͸ڞ௨఺͕ଟ͍Ͱ͢ɻ
    lಉظzΛ͢Δ͔͠ͳ͍͔͕ҧ͏ͱࢥ͍·͢ɻ
    ϖΞϓϩͷ৔߹͸ଞͷϖΞ΋͍ΔͷͰ

    ࡞ۀͷಉظ͸ඞཁͰ͕͢ɺ

    Ϟϒϓϩͷ৔߹͸࢓ࣄʹਓ͕ू·ΔΠϝʔδ

    ͳͷͰಉظ͸ඞཁ͋Γ·ͤΜɻ

    View Slide

  50. !5",",*/(
    ΍ͬͯΈ͚ͨͲ͏·͍͔͘ͳ͔ͬͨ
    ͏·͍͔͘ͳ͍͜ͱ͕ൃݟͰ͖ͯΑ͔ͬͨ

    Ͱ͢Ͷɻ
    ͦͷ͏·͍͔͘ͳ͔ͬͨཧ༝͸Ϟϒϓϩ͕

    ݪҼͰ͸ͳͯ͘νʔϜʹજࡏతʹଘࡏͯ͠

    ͍ͨ໰୊͔΋͠Ε·ͤΜɻ

    View Slide

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

    ͳͲΛ΍ΒΕ͍ͯΔํ΋͍ΔΑ͏Ͱ͢ɻ

    View Slide

  52. !5",",*/(
    εΩϧʹ͹Β͖͕ͭ͋Δ৔߹͸ʁ
    ʮࠓͷΘ͔Βͳ͔ͬͨʯ΋ॏཁͳ৘ใͰ͢ɻ
    ͨͩɺ͔ͳΓ͍͍νʔϜͰͳ͍ͱݴ͍ग़͠

    ʹ͍͘͜ͱ΋͋ΔͷͰɺ׶͑ͯෆ׳Εͳਓʹ

    υϥΠόʔΛ୲౰ͯ͠΋Βͬͯ

    ʮϒϨʔΩΛ౿ΉݖརʯΛ্खʹ׆༻͢

    Δ͜ͱΛ͓͢͢Ί͠·͢ɻ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    ✓ νʔϜʹ৔
    ✓ νʔϜʹߩݙ͢Δ
    ✓ ೳಈతͳ࢟੎
    lू·ͬͯ͘Δz lूΊΒΕΔz

    View Slide

  63. !5",",*/(

    νʔϜͱ৺ཧత҆શੑͷؔ܎
    ৺ཧతʹ҆શ͔ͩΒ
    ਓ͕ू·ͬͯ͘Δ

    View Slide

  64. !5",",*/(

    Ϟϒϓϩάϥϛϯά͸·͞ʹ͜ͷߏਤ
    Ϟϒ

    View Slide

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

    View Slide

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

    View Slide