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

Be lazy!!でいこう - モブプログラミングWS

Be lazy!!でいこう - モブプログラミングWS

よちよち.rb 第139回で講師をさせていただいた際のスライドです。
https://yochiyochirb.doorkeeper.jp/events/82932

エンジニアの美徳に「Be lazy!!」という言葉があります。
ストレスなく楽しむことに重点を置いている言語である Ruby をもとに、皆で楽しくコーディングする「モブプログラミング」を通して、エンジニアにとって大切なことを少しでもお伝えするという内容のWSを行いました。
是非皆さんも今より楽しく楽に開発してみませんか?

kenichi sonoda

November 26, 2018
Tweet

Other Decks in Programming

Transcript

  1. #FMB[ZͰ͍͜͏ʂ
    ΑͪΑͪSCճ
    ΑͪΑͪSCճ
    έϯ

    View Slide

  2. ࣗݾ঺հ
    w έϯ
    w ϰΝϧݚڀॴʹ̎೥൒ॴଐ
    w 8FCΤϯδχΞ΍ͬͯͨΓ
    w ৽نࣄۀ1+ʹࢀՃͨ͠Γ
    w ৽ଔݚमʹإͩͨ͠Γ
    w େࣄʹ͍ͯ͠Δ͜ͱɿ

    ʰ͓٬༷ʹ࣮֬ʹՁ஋Λಧ͚Δ͜ͱʱ

    View Slide

  3. ͓ྱ
    ࣮͸͜ͷ84ɺ

    େֶ0#ʹΑΔ84ͱͯ͠اը͍ͯͨ͠ͷͰ͕͢ɺ

    ͦͷษڧձ͕ઌ೔୆෩ͰྲྀΕͯ͠·͍·ͨ͠ʢ൵ʣ
    ࣦҙͷதɺΏ͔͓͞Μͱ΀Ά͞Μͷ͝ްҙͰ

    ࠓճ͜ͷΑ͏ͳૉ੖Β͍͠ػձΛ͍͖ͨͩ·ͨ͠ɻ

    ͜ͷ৔ΛआΓͯײँਃ্͛͠·͢ʜʂ

    View Slide

  4. ࠓ೔ͷ໨ඪ
    ࠓճ͸ͦΜͳ84಺༰Λগ͠ϦϑΝΠϯ͠ɺ

    ΤϯδχΞʹͱͬͯେ੾ͳࢹ఺Λগ͠Ͱ΋

    ͓఻͑Ͱ͖Ε͹ͱߟ͍͑ͯ·͢ɻ
    3VCZJTUͰ΋Ϟϒϓϩ఻ಓࢣͰ΋ͳ͍ͷͰɺ

    ੿͍෦෼͕͋Δ͔΋͠Ε·ͤΜ͕ɺ

    ͜͜ʹ͍Δօ͞Μͱָ͘͠ษڧͰ͖ͨΒͱࢥ͍·͢ʂ
    ୹͍࣌ؒʹͳΓ·͕͢Ұॹʹָ͠Έ·͠ΐ͏ɺ

    ԿଔΑΖ͓͘͠ئ͍͠·͢ʂ

    View Slide

  5. ૣ଎Ͱ͕͢ɺ෼΄Ͳ
    લஔ͖ʹ͓෇͖߹͍͍ͩ͘͞

    View Slide

  6. ࠓ೔ͷ84Λ௨ͯ͠
    ࡞Δ΋ͷ͸ͪ͜ΒͰ͢

    View Slide

  7. ʘʘࣗಈൢചػʗʗ

    View Slide

  8. ʮͦΕͰ͸ૣ଎࡞ͬͯΈ͍ͯͩ͘͞ʂʯ

    ͬͯݴΘΕͨΒօ͞Μ·ͣԿΛ͠·͔͢ʁ

    View Slide

  9. ͜ΜͳҙݟͰ·ͨ͠ʁ
    w ͱΓ͋͑ͣϓϩάϥϜΛॻ͍ͯΈΔ
    w Կ͔Β͢Ε͹͍͍Ͱ͔࣭ͬͯ͢໰ͯ͠ΈΔ
    w ۙ͘ͷࣗಈൢചػΛݟʹߦ͘
    w ࢓༷ઃܭॻΛ΋Β͏
    w ઃܭਤΛඳ͘
    w ࢴͰద౰ʹͭ͘Δ
    w ʮࣗಈൢചػɹ࡞ΓํʯͰάάΔʢ:BIPP஌ܙାͱ͔ʣ
    w ੍࡞ձࣾʹి࿩Ͱ͖͘
    w ࣗಈൢചػ੍࡞ձࣾʹൃ஫͢Δ
    w ҿΈ෺Λ༻ҙ͢Δʢࣗ෼͕ࣗಈൢചػʹͳΔʣ
    w ΞϧϛΛͱͬͯ͘Δ
    w ࿉ۚज़Λशಘͯ͠ੜΈग़͢
    ಛผڠྗ
    ಉظͷօ༷

    View Slide

  10. ৭ʑͱҙݟ͕ग़͍ͯΔͱࢥ͏ͷͰ͕͢ɺ
    ͻͱ·ͣ͸ʮͲΜͳػೳ͕͋Δ͔ʯ
    ͜ΕΛ͸͖ͬΓͤͯ͞Έ·͠ΐ͏

    View Slide

  11. ͯ͞ɺં֯Ͱ͢͠ɺ
    ۙ͘ʹ͋ΔࣗಈൢചػΛݟʹߦͬͯ
    ͲΜͳػೳ͕͋Δ͔؍࡯ͯ͠Έ·͠ΐ͏

    View Slide

  12. ʢҠಈɾ؍࡯தʣ

    View Slide

  13. ͓ർΕ༷Ͱͨ͠ʂ
    ҙ֎ͱڧ͘ͳ͍Ͱ͔͢ʁ
    ʻͲ΍

    View Slide

  14. ࣗಈൢചػͷػೳ
    w ͓͕ۚ౤ೖ͞ΕΔͱ൑அ͢Δ͜ͱ͕Ͱ͖Δ
    w ͔͠ೖΕΒΕͳ͍
    w ͦΕҎ֎ͷߗ՟ɾࢴฎ͸͓ฦ͠͠·͢
    w ԁࡳ͸̍ຕ͔͠ೖΕΒΕͳ͍
    w ԁۄ͸ຕɺԁۄ͸ຕ·Ͱ͔͍͠ΕΔ͜ͱ͕Ͱ͖ͳ͍
    w ͓௼ΓόʔΛͻͶΔͱฦۚ͞ΕΔ
    w ֹۚΛ̓ηάϝϯτදࣔ͢Δ
    w ౤ೖ͞ΕֹͨۚʹΑͬͯങ͑Δ঎඼Λ൑அ
    w ങ͑Δ঎඼Ͱ͋Ε͹ҿྉΛഉग़
    w ങ͑ͳ͍঎඼͸બ୒Ͱ͖ͳ͍
    w ചΓ੾Εͨ঎඼΋બ୒Ͱ͖ͳ͍
    w ௼Γમ͕੾Ε͍ͯͨΒͪΐ͏ͲͷֹۚͰͳ͚Ε͹ߪೖͰ͖ͳ͍

    View Slide

  15. ࣗಈൢചػͷػೳ
    w ͞Βʹར༻ऀࢹ఺͡Όͳ͘؅ཧऀࢹ఺ͳΒʁ
    w ྉۚઃఆػೳ
    w Թ౓ઃఆػೳʢ)05$00-ʣ
    w ࡏݿ؅ཧػೳʢചΕے঎඼͔Βઃஔ঎඼ΛܾΊΔࡐྉʹʣ
    w ूۚਫ਼ࢉػೳ
    w ௼Γમิॆػೳ
    w ಛघͳࣗಈൢചػ
    w ϧʔϨοτػೳɺϙΠϯτΧʔυػೳɺ

    *$Χʔυࢧ෷͍ػೳɺۓٸ࣌ҿྉఏڙػೳ

    View Slide

  16. ΊͬͪΌػೳ͋Δ͡ΌΜʂ
    ϚδύωΣࣗಈൢചػʂ
    ૣ଎࣮૷͠·͠ΐ͏ʂ
    ʻͲ΍

    View Slide

  17. ʜ
    ʜʁ

    View Slide

  18. ͪΐͬͱ଴͍ͬͯͩ͘͞
    ʻͳΜ΍

    View Slide

  19. ͦͷػೳ
    શ෦ඞཁͰ͔͢ʁ
    ʻ͑ͬ

    View Slide

  20. ͦͷػೳ
    શ෦ʹՁ஋͋Γ·͔͢ʁ
    ʻ͑ͬ

    View Slide

  21. ·ͣ͸ԿΛ͢΂͖͔
    w ඞཁͳػೳΛ͸͖ͬΓͤ͞·͠ΐ͏
    w ར༻ऀࢹ఺ͷ࠷େͷՁ஋͸ͳΜͰ͠ΐ͏͔ʁ
    w ʮδϡʔε͕ങ͑Δ͜ͱʯ
    w ϧʔϨοτΛճͤ͹޴ͷׇ͖͸५ͤΔͰ͠ΐ͏͔ʁ
    w ؅ཧऀࢹ఺ͷ࠷େͷՁ஋͸ͳΜͰ͠ΐ͏͔ʁ
    w ʮδϡʔεΛങͬͯ΋Β͑Δ͜ͱʯ
    w ྫྷ͍ͨঢ়ଶʹ͔͠Ͱ͖ͳ͍ࣗൢػΛౙʹཉ͍͠Ͱ͔͢ʁ
    w ͜ͷػೳ͕͋Ε͹୭͕ຬ଍͢ΔͰ͠ΐ͏͔ʁ

    View Slide

  22. ·ͣ͸ԿΛ͢΂͖͔
    w ࠓճ͸օ͞ΜͰ๻Λຬ଍͍ͤͯͩ͘͞͞
    w ๻͸ԿΑΓ΋ʮδϡʔε͕ཉ͍͠ʯͰ͢

    View Slide

  23. ͯ͞ɺͦΕͰ͸͓଴͔ͪͶ
    ϓϩάϥϛϯάͷ࣌ؒͰ͢ʂ

    View Slide

  24. ࠓճ࢖༻͢Δٕज़
    w 3VCZ
    w Ϟϒϓϩάϥϛϯά
    w BUPN
    w (JU
    w (JU)VC

    View Slide

  25. 3VCZ
    w ΋͏ݴΘͣ΋͕ͳSC
    w ͜ͷ84Ͱ3VCZΛ࢖͏ཧ༝
    w ։ൃऀͷ·ͭ΋ͱΏ͖ͻΖ͞Μᐌ͘

    ʮ3VCZͷݴޠࡦఆʹ͓͍ͯ࠷΋ॏཁࢹ͍ͯ͠Δͷ͸ε
    τϨεͳ͘ϓϩάϥϛϯάΛָ͠Ή͜ͱͰ͋Δʯ
    w 5IJTJTਆ

    View Slide

  26. Ϟϒϓϩάϥϛϯά
    w ΈΜͳͰָ͘͠ϓϩάϥϛϯάΛ͠·͢
    w ໾ׂ͕̎ͭ͋Γ·͢
    w υϥΠόʔ
    w Ұਓ͕ӡస੮ʹ͢ΘΓӡస͠·͢
    w φϏήʔλʔ
    w ଞશһ͕ಓҊ಺Λ͠·͢

    View Slide

  27. Ϟϒϓϩάϥϛϯά
    w ϧʔϧઆ໌
    w υϥΠόʔͷ໾໨
    w ӡస͢Δਓ͸ࣗ෼ͷߦ͖͍ͨํ޲ʹߦ͘ͷͰ͸ͳ͘ɺ

    ඞͣφϏήʔλʔͷࢦࣔʹै͍ͬͯͩ͘͞
    w ௕࣌ؒͷӡస͸ةݥͳͷͰ̐෼Ͱަ୅͠·͢
    w φϏήʔλʔͷ໾໨
    w ࣋ͯΔྗɾ࢖͑Δ΋ͷΛશͯ࢖ͬͯಓҊ಺Λ͍ͯͩ͘͠͞
    w ਖ਼ղͷϧʔτ͸͋Γ·ͤΜɻͲΜͳಓΛ௨ͬͯ΋ߏ͍·ͤΜɻ
    w શһ
    w ػೳ͕Ͱ͖Δ౓ʹΈΜͳͰഥख͠·͠ΐ͏

    View Slide

  28. ੍ݶ࣌ؒ·Ͱʹ΍Δ͜ͱ
    w ੍ݶ࣌ؒ͸
    w ͦΕ·Ͱʹ੒Ռ෺ͱͯ͠13Λ࡞੒͍ͯͩ͘͠͞
    w IUUQTHJUIVCDPNLFOJDIJTPOPEB
    WFOEJOH@NBDIJOF
    w ͦͷޙɺ͓ޓ͍νʔϜͰൃද͍͋͠·͠ΐ͏

    View Slide

  29. ʢνʔϜ෼͚தʣ

    View Slide

  30. ʢ࣮शதʣ

    View Slide

  31. ͓ർΕ༷Ͱͨ͠ʂ

    View Slide

  32. ͦΕͰ͸͓ޓ͍ͷνʔϜͷ
    ϓϧϦΫΤετΛ
    ֬ೝ͍͖ͯ͠·͠ΐ͏ʂ

    View Slide

  33. ஫ҙͯ͠ཉ͍͜͠ͱ
    w ʮޙͰඞཁʹͳΓͦ͏ʯͳ΋ͷΛॻ͘ͷ͸΍Ί·͠ΐ͏
    w :"(/*ʢϠάχʣ
    w ʮ:PVBJO`UHPOOBOFFEJUʯ

    ʮͦΕ͸͖ͬͱඞཁʹͳΒͳ͍ʯ
    w ࣮૷͍ͯ͠Δͱʮ͋Ε΋Ͱ͖ͦ͏ͩͳʯʮ͓ɺ͜Ε΋Ͱ
    ͖ͦ͏ͩͳʯͱ໨త͔Β֎Εͨ΋ͷΛ࡞Ζ͏ͱ͠·͢
    w ݁ہͦΕ͸࢖ΘΕͳ͍͜ͱͷ΄͏͕ଟ͍Ͱ͢

    View Slide

  34. ·ͱΊ

    View Slide

  35. #F-B[Z
    w ࠓճͷߨٛςʔϚͰ΋͋Γ·ͨͪ͜͠Β
    w ௚༁͢Δͱʮͳ·͚ΖʯͰ͕͢ɺ

    ͨͩʮͳ·͚Ζʯͱ͍͏ҙຯͰ͸΋ͪΖΜ͋Γ·ͤΜ

    View Slide

  36. #F-B[Z
    w ҙ༁͢Δͱʮ࠷খͷ޻਺Ͱɺ࠷େͷΠϯύΫτΛग़͢ʯ
    w ʁʮ΍Βͳͯ͘ྑ͍͜ͱ͸΍Βͳ͍ɺ

    ɹɹ΍Βͳ͚Ε͹͍͚ͳ͍͜ͱ͸ख୹ʹʯ
    w 3VCZͬͯศརͳϝιου͕਺ଟ͋͘Γ·͢ΑͶ
    w (JU࢖͏ͱ؆୯ʹηʔϒϙΠϯτΛ࡞Ε·͢ΑͶ
    w Ϟϒϓϩ͢ΔͱΈΜͳͰڞ௨ೝࣝ࣋ͯ·͢ΑͶ
    w ৗࣝͩͱࢥ͍ͬͯΔΊΜͲ͘͘͞ਏ͍࡞ۀɺ

    վળͬͯͰ͖ͳ͍Ͱ͠ΐ͏͔ʁ΍Δඞཁ͋ΔΜͰ͠ΐ͏͔ʁ

    View Slide

  37. ࣌ؒΛ͔͚Δ͜ͱ͕ඒಙͰ͸͋Γ·ͤΜ
    ԿͷՁ஋΋ͳ͍ػೳΛ։ൃ͢Δ͜ͱ͸ѱͰ͋Γ
    ָ͘͠ૣ͘Ձ஋ΛੜΉ͜ͱ͕ΤϯδχΞ`Tඒಙʂ

    View Slide

  38. ͯ͞௕͍ΜͰ͕͢

    ΋͏Ұ͚ͭͩ

    ఻͍͑ͤͯͩ͘͞͞ɻ

    View Slide

  39. ࠓ೔঺հͨ͠3VCZ΍BUPN΋Φʔϓϯιʔεͱͳ͍ͬͯͯɺ

    ೥ྸ΍ಘҙ෼໺͕ҧ͏ਓʑ͕ڠྗͯ͠࡞͍ͬͯ·͢ɻ
    ͋Δਓ͕ػೳΛఏىͯͦ͠Εʹରͯ͠৹ٞΛॏͶͯɺ

    ࣮૷͞ΕͨΓϦδΣΫτ͞ΕͨΓɺ͞ΒͳΔվળҊ͕

    ੜ·ΕͨΓͯ͠͞Βʹྑ͍ϓϩμΫτͱͳ͍͖ͬͯ·͢ɻ
    ஥ؒɾϥΠόϧΛ࡞Ζ͏

    View Slide

  40. ͔ͩΒͦ͜ࠓ೔ͷ͜ͱ΋ੋඇ͍ΖΜͳਓʹڞ༗ͯ͠ɺ

    ͍ΖΜͳਓͱ઀఺Λங͖͔͚ͬ͘ʹͯ͠௖͚Δͱ޾͍Ͱ͢ʂ


    ΋ͬͱ͍ΖΜͳ΋ͷΛ࡞ͬͯ

    ৭Μͳਓʹݟͯ΋Βͬͯٞ࿦ΛॏͶͯ

    ࣗ෼͕େࣄʹ͍ͯ͠ΔՁ஋؍Λ࿩ͤΔΑ͏ʹͳͬͯ


    ࣗ෼ͷՁ஋؍΋౿·͑ͭͭ΋૬खͷՁ஋؍΋ଚॏͰ͖Δ

    ͦΜͳΤϯδχΞʹΈΜͳͰͳΕΔͱ

    ͜ΕҎ্ແ͍޾ͤͩͳͱࢥ͍·͢ɻ
    ஥ؒɾϥΠόϧΛ࡞Ζ͏

    View Slide

  41. ஥ྑ͍ͯͩ͘͘͠͞ɺԿଔΑΖ͓͘͠ئ͍͠·͢ˑ
    5XJUUFS!,&/&9&
    (JU)VCɿLFOJDIJTPOPEB
    ͭ·Γ

    View Slide

  42. ͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ

    View Slide

  43. ͓·͚

    View Slide

  44. 3VCZͷࢀߟॻ
    w θϩ͔ΒΘ͔Δ3VCZ௒ೖ໳
    w ࠓ͔Β࢝ΊΔਓ΁
    w ϓϩΛ໨ࢦ͢ਓͷͨΊͷ3VCZೖ໳
    w ଞͷݴޠΛ৮ͬͯΔਓ͕վΊͯ3VCZΛ஌ΔͳΒ
    w ޒेཛྷ͞Μͷ͓͢͢Ίॻ੶εϥΠυʢ!ۜ࠲3BJMTʣ

    View Slide