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

95aaab3d693889550fd2e7ae02f2f789?s=47 TAKAKING22
November 17, 2017

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

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

95aaab3d693889550fd2e7ae02f2f789?s=128

TAKAKING22

November 17, 2017
Tweet

Transcript

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

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

    ✓ ਪ͠ϝϯɿࢁຊ࠼
  3. !5",",*/( Ϟϒͷਓ IUUQTTQFBLFSEFDLDPNUBLBLJOHNPCVQVSPHVSBNJOHVUPJVEPOHLJGBOHOVNCFSEFWMPWF $ISJT-VDJBO !)VOUFS*OEVTUSJFT

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

  5. !5",",*/( νʔϜશһͰ ✓ ಉ͡࢓ࣄΛ ✓ ಉ࣌ؒ͡ʹ ✓ ಉ͡৔ॴͰ ✓ ಉ͡ίϯϐϡʔλʔͰ

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

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

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

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

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

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

  12. !5",",*/(

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

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

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

  16. !5",",*/(

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

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

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

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

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

  22. !5",",*/(

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

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

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

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

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

  28. !5",",*/( ✓ ;Γ͔͑Γ ✓ ӦۀˍσϞ ि࣍ͷεέδϡʔϧ

  29. !5",",*/( ✓ Ϟϒϓϩݱ৔ݟֶπΞʔ ϥϯμϜͳεέδϡʔϧ

  30. !5",",*/( ෳ਺ਓ͕ू·ͬͯ୆ͷίϯϐϡʔλʔͰ ࢓ࣄΛ͢ΔͳΜͯੜ࢈ੑԼ͕ΔΜ͡Όͳ͍ʁ ੜ࢈ੑ ͓͡͞Μ

  31. !5",",*/( λεΫΞαΠϯܕ

  32. !5",",*/( λεΫΞαΠϯܕ

  33. !5",",*/( ϞϒϫʔΫ

  34. !5",",*/( ϞϒϫʔΫ

  35. 1IPUPCZ*XBO(BCPWJUDID IUUQTHPPHMLH7ZP ੜ࢈ੑΛഁյ͢Δ΋ͷͨͪ ✓ ఻ݴήʔϜ ✓ ϛείϛϡχέʔγϣϯ ✓ ҙࢥܾఆ ✓

    ڊେͳϫʔΫϑϩʔ ✓ ݫ֨ͳϧʔϧ ✓ ͨ͘͞ΜͷϛʔςΟϯά
  36. !5",",*/( ϞϒΛ࢝Ίͯͳ͘ͳͬͨ΋ͷ ✓ ேྱ ✓ ίϛϡχέʔγϣϯͷͨΊͷϛʔςΟϯά ✓ ߹ҙܗ੒ͷͨΊͷυΩϡϝϯτ ✓ ϨϏϡʔશൠʢιʔείʔυɺυΩϡϝϯτʣ

    ✓ (JU'MPX ✓ Χϯόϯ ✓ ݟੵ΋Γ
  37. !5",",*/( ఻ݴήʔϜΛపఈతʹഉআ 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN

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

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

  40. !5",",*/( ✓ τϥϒϧͳͲͷۓٸࣄଶʹɺ୭͔ͷ੮ʹू·ͬͯνʔϜશһͰ
 ը໘ʹ޲͔͍ͳ͕Β໰୊ղܾͨ͠ܦݧ͕͋Γ·ͤΜ͔ʁ ✓ ͳͥͦ͏͢Δͷ͔Λߟ͑ͯΈΔͱɺશһͰ໰୊ΛϑϧϘοίʹ͠ɺ
 ҙࢥܾఆ΋ϨϏϡʔ΋ͦͷ৔Ͱ׬݁ͤͯ͞͠·͏ํ͕
 Ұ൪ޮ཰͕͍͍͔ΒͰ͢ ✓ ͜ͷ࢓ࣄͷਐΊํ͸ۓٸࣄଶҎ֎ʹ΋


    Ԡ༻Ͱ͖Δ͸ͣͰͦΕʹ໊લ͕͍ͭͨ΋ͷ͕
 Ϟϒϓϩάϥϛϯάͩͱࢲ͸ߟ͍͑ͯ·͢ τϥϒϧରԠͷ࣌Λࢥ͍ग़ͯ͠Լ͍͞
  41. !5",",*/( ෳ਺ਓ͕ू·ͬͯ୆ͷίϯϐϡʔλʔͰ ࢓ࣄΛ͢ΔͳΜͯੜ࢈ੑԼ͕ΔΜ͡Όͳ͍ʁ ੜ࢈ੑ ͓͡͞Μ ੜ࢈ྔ͸Լ͕Δ͔΋͠Εͳ͍͚ΕͲ ੜ࢈ੑ͸མͪͨؾ͕͠ͳ͍ Ή͠Ζ্͕ͬͨ  Ϟϒϓϩάϥϛϯά͸Ϧʔϯͩͱ࣮ײ

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

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

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

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

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

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

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

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

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

    ✓ ϞϒϓϩάϥϛϯάͰ࠾༻
  51. !5",",*/( ·ͱΊ

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

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

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

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

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

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

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

  59. !5",",*/( Πϝʔδ ਓͷಈ͖ ू·ͬͯ͘Δ ूΊΒΕΔ ଘࡏ ৔ ਓͷू߹ ࢓ࣄͷྲྀΕ νʔϜʹߩݙ͢Δ

    ΞαΠϯ͞Εͯ͜ͳ͢ ࢟੎ ೳಈత डಈత ৔ νʔϜ ूஂ
  60. !5",",*/( ৔ νʔϜʹͳͥਓ͕ू·ͬͯ͘Δͷ͔

  61. !5",",*/( ৔ νʔϜʹͳͥਓ͕ू·ͬͯ͘Δͷ͔ ৺ཧతʹ҆શ͔ͩΒ ਓ͕ू·ͬͯ͘Δ

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

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

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

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

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

  67. !5",",*/( ϞϒϓϩάϥϛϯάͷΠϕϯτʹࢀՃ͢Δ IUUQTXXXGBDFCPPLDPNHSPVQT.PC-07& IUUQTWBMMBCPDPOOQBTTDPN .PC1SPHSBNNJOH7BM .PC-07& ✓ ϞϒϓϩϫʔΫγϣοϓ ✓ ฏ೔໷ʹ͓ञΛҿΈͳ͕ΒϞϒϓϩ

    ✓ ϰΝϧݚڀॴ͞ΜͰෆఆظ։࠵த ✓ 'BDFCPPLίϛϡχςΟ ✓ Ϟϒϓϩʹؔ͢ΔΠϕϯτͳͲͷ৘ใ
 Λ·ͱΊΔΑ͏ʹ͍ͯ͠·͢
  68. !5",",*/( Ϟϒϓϩάϥϛϯάͷݱ৔Λݟʹߦ͘ ✓ ࣋ଓՄೳͳϖʔεͰ࣮ࢪத ✓ ࣮ࡍͷϞϒνʔϜʹೖͬͯϞϒΛମݧͰ͖·͢ ✓ ϊϯΤϯδχΞͰ΋ίʔυॻ͚·͢ ✓ ମݧޙʹ͸ࣄྫڞ༗ˍٞ࿦͍ͯ͠·͢

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

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

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