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

YATTA!! MOB PROGRAMMING #jjug_ccc #モブプロ

TAKAKING22
November 17, 2017

YATTA!! MOB PROGRAMMING #jjug_ccc #モブプロ

2017年11月18日(土)に開催されたJJUG CCC 2017 FALLにて。モブプログラミングワークショップの導入資料です。

TAKAKING22

November 17, 2017
Tweet

More Decks by TAKAKING22

Other Decks in Technology

Transcript

  1. !5",",*/(
    :"55"
    .0#130(3"..*/(
    !5",",*/(5BLBP0ZPCF

    View Slide

  2. !5",",*/(
    5","00:0#&
    ✓ ָఱגࣜձࣾՎͬͯགྷΕΔΤϯδχΞ
    ✓ Ұൠࣾஂ๏ਓΞδϟΠϧνʔϜΛࢧ͑Δձ
    ✓ ΞδϟΠϧϞϯελʔ
    ✓ Ϟϒϓϩάϥϛϯά͓͡͞Μ
    ✓ ਪ͠ϝϯɿࢁຊ࠼

    View Slide

  3. !5",",*/(
    Ϟϒͷਓ
    IUUQTTQFBLFSEFDLDPNUBLBLJOHNPCVQVSPHVSBNJOHVUPJVEPOHLJGBOHOVNCFSEFWMPWF
    $ISJT-VDJBO
    !)VOUFS*OEVTUSJFT

    View Slide

  4. !5",",*/(
    Ϟϒϓϩάϥϛϯάͱ͸

    View Slide

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

    View Slide

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

    View Slide

  7. !5",",*/(
    IUUQTXXXZPVUVCFDPNXBUDI [email protected]&*
    "EBZPG.PC1SPHSBNNJOH
    )VOUFS*OEVTUSJFTͷݱ৔Ͱ
    ࣮ࡍʹϞϒϓϩάϥϛϯάΛ
    ͍ͯ͠Δ೔ΛਨΕྲྀͯ͠ࡱӨ͠ɺ
    ૣૹΓͰ෼ఔ౓ʹ·ͱΊͨಈըͰ͢ɻ

    View Slide

  8. !5",",*/(
    "EBZPG.PC1SPHSBNNJOH
    લͷಈը͔Β೥΄Ͳܦͬͯɺ
    Ϟϒ͕ෳ਺ʹ֦େ͠ɺ
    ͦΕͧΕͷϞϒͰਓ͕ߦ͖ަͬͯ
    ಇ͍͍ͯΔ༷ࢠΛࡱӨͨ͠ಈըͰ͢ɻ
    IUUQTXXXZPVUVCFDPNXBUDI WE7R6D/,7C:H

    View Slide

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

    View Slide

  10. !5",",*/(
    ࢲͨͪͷϞϒϓϩάϥϛϯά
    ͷલʹͳͥϞϒϓϩάϥϛϯάͳͷ͔

    View Slide

  11. !5",",*/(
    *
    %FW
    ΤϯδχΞϦϯά
    େ޷͖
    ϓϩάϥϜ
    ॻ͘ͷָ͍͠

    View Slide

  12. !5",",*/(

    View Slide

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

    View Slide

  14. !5",",*/(
    %FW
    0QT
    #J[

    View Slide

  15. !5",",*/(
    We are all in agreement then.

    View Slide

  16. !5",",*/(

    View Slide

  17. !5",",*/(
    *
    %FW
    νʔϜ͕͏·͍ͬͯ͘ͳ͍ͷʹ
    ΤϯδχΞϦϯά͚ͩʹ
    ूத͍͍ͯͯ͠ͷʁ ໥͔Βͳ͍
    ΤϯδχΞϦϯά
    ͬͯɻɻɻ

    View Slide

  18. !5",",*/(
    IUUQTTQFBLFSEFDLDPNUBLBLJOH
    IUUQTXXXTMJEFTIBSFOFU5BLBP0ZPCFQSFTFOUBUJPOT

    View Slide

  19. !5",",*/(
    ΋ͬͱҰॹʹಇ͜͏

    View Slide

  20. !5",",*/(
    IUUQTXXXTMJEFTIBSFOFUBOESFGBSJBNPCQSPHSBNNJOH

    View Slide

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

    View Slide

  22. !5",",*/(

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. !5",",*/(
    ࢲͨͪͷνʔϜ

    View Slide

  27. !5",",*/(
    ݸਓ࣌ؒ
    Ϟϒϓϥϯχϯά
    ϞϒϞϯΩʔςετ
    ϞϒϫʔΫ
    Ϟϒϥϯν
    ϞϒϫʔΫ
    Ϟϒ;Γ͔͑Γ
    ೔ͷεέδϡʔϧ

    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. 1IPUPCZ*XBO(BCPWJUDID IUUQTHPPHMLH7ZP

    ੜ࢈ੑΛഁյ͢Δ΋ͷͨͪ
    ✓ ఻ݴήʔϜ
    ✓ ϛείϛϡχέʔγϣϯ
    ✓ ҙࢥܾఆ
    ✓ ڊେͳϫʔΫϑϩʔ
    ✓ ݫ֨ͳϧʔϧ
    ✓ ͨ͘͞ΜͷϛʔςΟϯά

    View Slide

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

    View Slide

  37. !5",",*/(
    ఻ݴήʔϜΛపఈతʹഉআ
    1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN

    View Slide

  38. !5",",*/(
    #J[ %FW
    ཁ݅
    ϓϩμΫτ
    Boss Boss
    OPS
    User

    View Slide

  39. !5",",*/(
    ϓϩμΫτ
    .PC
    Boss Boss
    User
    ఻ୡ͢ΔͷΛ΍Ίͯ৘ใΛूΊΔ
    د͔ͬͯͨͬͯϑϧϘοίʹ͢Δ

    View Slide

  40. !5",",*/(
    ✓ τϥϒϧͳͲͷۓٸࣄଶʹɺ୭͔ͷ੮ʹू·ͬͯνʔϜશһͰ

    ը໘ʹ޲͔͍ͳ͕Β໰୊ղܾͨ͠ܦݧ͕͋Γ·ͤΜ͔ʁ
    ✓ ͳͥͦ͏͢Δͷ͔Λߟ͑ͯΈΔͱɺશһͰ໰୊ΛϑϧϘοίʹ͠ɺ

    ҙࢥܾఆ΋ϨϏϡʔ΋ͦͷ৔Ͱ׬݁ͤͯ͞͠·͏ํ͕

    Ұ൪ޮ཰͕͍͍͔ΒͰ͢
    ✓ ͜ͷ࢓ࣄͷਐΊํ͸ۓٸࣄଶҎ֎ʹ΋

    Ԡ༻Ͱ͖Δ͸ͣͰͦΕʹ໊લ͕͍ͭͨ΋ͷ͕

    Ϟϒϓϩάϥϛϯάͩͱࢲ͸ߟ͍͑ͯ·͢
    τϥϒϧରԠͷ࣌Λࢥ͍ग़ͯ͠Լ͍͞

    View Slide

  41. !5",",*/(
    ෳ਺ਓ͕ू·ͬͯ୆ͷίϯϐϡʔλʔͰ
    ࢓ࣄΛ͢ΔͳΜͯੜ࢈ੑԼ͕ΔΜ͡Όͳ͍ʁ
    ੜ࢈ੑ
    ͓͡͞Μ
    ੜ࢈ྔ͸Լ͕Δ͔΋͠Εͳ͍͚ΕͲ
    ੜ࢈ੑ͸མͪͨؾ͕͠ͳ͍ Ή͠Ζ্͕ͬͨ

    Ϟϒϓϩάϥϛϯά͸Ϧʔϯͩͱ࣮ײ

    View Slide

  42. !5",",*/(
    ϑΟʔυόοΫΛૣ͘Ͱ͖Δ
    มԽΛ͙͢ʹ൓өͰ͖Δ
    ։ൃ͢Δ؀ڥ΋Ϧʔϯʹ

    View Slide

  43. !5",",*/(
    ৺ཧత҆શੑ

    View Slide

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

    View Slide

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

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

    View Slide

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

    View Slide

  47. !5",",*/(
    Ϡολʔʂʂ

    View Slide

  48. !5",",*/(
    8PSLJOH
    4PGUXBSF

    View Slide

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

    View Slide

  50. !5",",*/(
    ࠷ۙͷτϐοΫ
    ✓ Χϯόϯ෮׆ʂʂ
    ✓ ;FSP#VHT
    ✓ Ϟϒϓϩάϥϛϯάʹ͓͚ΔධՁ
    ✓ Ϟϒϓϩάϥϛϯάͷ֦େ
    ✓ ϞϒϓϩάϥϛϯάͰ࠾༻

    View Slide

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

    View Slide

  52. !5",",*/(
    ͳͥ෼୲͢ΔͷͩΖ͏͔
    1IPUPCZ&WBO%FOOJTPO6OTQMBTI
    5PVHI2VFTUJPO

    View Slide

  53. !5",",*/(
    զʑ͸෼୲࡞ۀલఏ೴ʹͳ͍ͬͯͨͷͰ͸ͳ͍͔
    ෼୲͢Δ͜ͱΛલఏͱͯ͠
    ͦΕΛ͍͔ʹ͏·͘΍Δ͔ʹऴ͍࢝ͯͨ͠ʁ

    View Slide

  54. !5",",*/(
    ࢓ࣄͷ࣭ɺνʔϜͷঢ়گͳͲʹ߹Θͤͯ
    ࢖͍෼͚ΒΕΔ͜ͱ͕େࣄ

    View Slide

  55. !5",",*/(
    Ϟϒϓϩάϥϛϯά͸Կ΋໰୊Λղܾͯ͘͠Εͳ͍͠ɺ
    ୭΋͕ϞϒϓϩάϥϛϯάΛؾʹೖΔΘ͚Ͱ͸ͳ͍
    ஫ҙ

    View Slide

  56. !5",",*/(
    1IPUPCZ$ISJT1PUUFS IUUQTHPPHM:7V/

    View Slide

  57. !5",",*/(
    5FBN
    1SPEVDU 1SPDFTT
    #J[ %FW

    View Slide

  58. !5",",*/(
    5FBN
    1SPEVDU
    1
    SPDFTT
    #J[ %FW
    νʔϜʹ޲͖߹Θͣʹ
    ্ลͷ΍Γํ͚ͩਅࣅͯ͠͏·͍͘͘Θ͚͕ͳ͍

    View Slide

  59. !5",",*/(
    Πϝʔδ
    ਓͷಈ͖ ू·ͬͯ͘Δ ूΊΒΕΔ
    ଘࡏ ৔ ਓͷू߹
    ࢓ࣄͷྲྀΕ νʔϜʹߩݙ͢Δ ΞαΠϯ͞Εͯ͜ͳ͢
    ࢟੎ ೳಈత डಈత

    νʔϜ ूஂ

    View Slide

  60. !5",",*/(

    νʔϜʹͳͥਓ͕ू·ͬͯ͘Δͷ͔

    View Slide

  61. !5",",*/(

    νʔϜʹͳͥਓ͕ू·ͬͯ͘Δͷ͔
    ৺ཧతʹ҆શ͔ͩΒ
    ਓ͕ू·ͬͯ͘Δ

    View Slide

  62. !5",",*/(

    ͜ͷߏਤ͕·͞ʹϞϒϓϩάϥϛϯά
    .PC

    View Slide

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

    View Slide

  64. !5",",*/(
    *
    %FW

    View Slide

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

    View Slide

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

    View Slide

  67. !5",",*/(
    ϞϒϓϩάϥϛϯάͷΠϕϯτʹࢀՃ͢Δ
    IUUQTXXXGBDFCPPLDPNHSPVQT.PC-07&
    IUUQTWBMMBCPDPOOQBTTDPN
    .PC1SPHSBNNJOH7BM
    .PC-07&
    ✓ ϞϒϓϩϫʔΫγϣοϓ
    ✓ ฏ೔໷ʹ͓ञΛҿΈͳ͕ΒϞϒϓϩ
    ✓ ϰΝϧݚڀॴ͞ΜͰෆఆظ։࠵த
    ✓ 'BDFCPPLίϛϡχςΟ
    ✓ Ϟϒϓϩʹؔ͢ΔΠϕϯτͳͲͷ৘ใ

    Λ·ͱΊΔΑ͏ʹ͍ͯ͠·͢

    View Slide

  68. !5",",*/(
    Ϟϒϓϩάϥϛϯάͷݱ৔Λݟʹߦ͘
    ✓ ࣋ଓՄೳͳϖʔεͰ࣮ࢪத
    ✓ ࣮ࡍͷϞϒνʔϜʹೖͬͯϞϒΛମݧͰ͖·͢
    ✓ ϊϯΤϯδχΞͰ΋ίʔυॻ͚·͢
    ✓ ମݧޙʹ͸ࣄྫڞ༗ˍٞ࿦͍ͯ͠·͢
    ✓ ීஈͷϞϒݱ৔΋ݟֶ͍ͯͨͩ͘͜͠ͱ͕Ͱ͖
    ·͢
    Ϟϒϓϩݱ৔ମݧπΞʔ
    ڵຯ͕͋Δํ͸͓ؾܰʹ͝࿈བྷԼ͍͞
    'BDFCPPLIUUQTXXXGBDFCPPLDPNUBLBLJOH
    5XJUUFSIUUQTUXJUUFSDPN5",",*/(

    View Slide

  69. !5",",*/(
    Ϟϒϓϩάϥϛϯάͷ࿩Λฉ͖͍ͨ
    ࢲͨͪͷ࿩ͰΑ͚Ε͹ɺ
    ՄೳͳݶΓରԠ͍͖ͤͯͨͩ͞·͢
    ڵຯ͕͋Δํ͸͓ؾܰʹ͝࿈བྷԼ͍͞
    'BDFCPPLIUUQTXXXGBDFCPPLDPNUBLBLJOH
    5XJUUFSIUUQTUXJUUFSDPN5",",*/(
    ๞͖ͯͨΓɺ๩͔ͬͨ͠Γɺձ͔ࣾΒ͍ͳ͘ͳͬͯͨΒ͝ΊΜͳ͍͞ɻɻɻ

    View Slide

  70. !5",",*/(
    IUUQTTQFBLFSEFDLDPNUBLBLJOHNPCQSPHSBNNJOHTUBSUVQNBOVBMOVNCFSNPCQSPHSBNNJOHOVNCFSNPCVQVSP
    ελʔτΞοϓΨΠυ
    ࡞Γ·ͨ͠

    View Slide

  71. !5",",*/(
    -FUTFOKPZ.PC1SPHSBNNJOH

    View Slide