$30 off During Our Annual Pro Sale. View Details »

ぼくがかんがえたさいきょうのぷるりくえすと / saikyo-no-pull-request

Hiromi Kimura
August 28, 2017
100k

ぼくがかんがえたさいきょうのぷるりくえすと / saikyo-no-pull-request

Hiromi Kimura

August 28, 2017
Tweet

More Decks by Hiromi Kimura

Transcript

  1. ໦ଜ޿ւ(.01FQBCP *OD

    ΅͕͔͘Μ͕͍͖͑ͨ͞ΐ͏ͷ
    1VMM3FRVFTU
    ʢΘͨ͠ͷܦݧஊ͔Βͷ͓࿩Ͱ͢ʣ

    View Slide

  2. ໦ଜ޿ւ!LJNSPNJ
    ϗεςΟϯάࣄۀ෦ɹϜʔϜʔυϝΠϯνʔϜΤϯδχΞ
    IUUQTLJNSPNJHJUIVCJP
    ೥த్ೖࣾ෱Ԭࢧࣾ

    View Slide

  3. վΊͯ1VMM3FRVFTUͬͯʁ

    View Slide

  4. ͳΜͷͨΊʁ
    wෆ۩߹͕ࠞೖ͍ͯ͠ͳ͍͔νΣοΫ͢Δ
    wٕज़తෛ࠴͕૿͍͑ͯͳ͍͔νΣοΫ͢Δ
    wٕज़ڞ༗Λ͠ɺεΩϧΞοϓ͢ΔͨΊʹϨϏϡʔΛ͢Δ
    wϦϦʔεͷྺ࢙ʹͳΔ

    View Slide

  5. ͡Ό͋࠷ߴͷ1VMM3FRVFTUͱ͸ʁ

    View Slide

  6. ଎ϚʔδͰ͖Δ
    1VMM3FRVFTU
    ૉૣ͘ੈͷதʹߩݙͰ͖Δ

    View Slide

  7. ࠷ѱͷ1VMM3FRVFTUͱ͸ʁ

    View Slide

  8. ͍ͭ·Ͱ΋ϚʔδͰ͖ͣ
    ։͖ͬͺͳ͠Ͱ์ஔʜ
    मਖ਼͢Δ࣌ؒ͸࢖ͬͨͤ͘ʹԿ΋ੈʹߩݙͯ͠ͳ͍

    View Slide

  9. Ͳ͏͍͏1VMM3FRVFTU͕
    ଎ϚʔδͰ͖Δʁ

    View Slide

  10. ͙͢ʹཧղͰ͖ΔλΠτϧɺઆ໌

    View Slide

  11. मਖ਼ൣғ͕খ͍͞

    View Slide

  12. ྑ͍ίʔυͰॻ͔Ε͍ͯΔ

    View Slide

  13. ࣗಈςετ $*
    ͕௨͍ͬͯΔ

    View Slide

  14. Ϛʔδ͢ΔΜ΍ʂͱ͍͏೤ҙ ʁ

    View Slide

  15. ཁ͢Δʹ

    View Slide

  16. ϨϏϡʔΞ͕ٙ໰ʹࢥ͏͜ͱ͕
    શ෦આ໌͞Ε͓ͯΓ
    ಉҙ͠"QQSPWFͰ͖Δ
    BQQSPWFʜೝΊΔɺࢍ੒͢Δ

    View Slide

  17. શͯઆ໌Ͱ͖Δࠜڌ͕ඞཁ

    ྑͦ͞͏ͩͬͨͷͰ͜ͷϥΠϒϥϦೖΕ·ͨ͠
    wͲ͏΍ͬͯ࢖͏ͷ͔ʁ
    wଞͷϥΠϒϥϦͱൺ΂ͯͲ͏ྑ͔ͬͨͷ͔ʁ
    w͜ͷϥΠϒϥϦΛೖΕΔͱ୭͕Ͳ͏޾ͤʹͳΔͷ͔ʁ
    w೥ޙɺ೥ޙɺ೥ޙɺ೥ޙ΋࢖͑ͦ͏ͳ΋ͷ͔ʁ
    ೥ޙʹݟฦͨ͠ͱ͖΋मਖ਼ͷഎܠͱࠜڌ͕Θ͔Δ େࣄ

    View Slide

  18. ̍ͭͷ1VMM3FRVFTU͸
    ՄೳͳݶΓখ͍͞΄͏͕͍͍

    View Slide

  19. ࠜڌΛઆ໌͠΍͍͢ɺೲಘ͠΍͍͢

    View Slide

  20. 1VMM3FRVFTU͕େ͖͍ͱ
    wमਖ਼ʹର͢Δࠜڌͷઆ໌͕ଟ͘ͳΔ
    wϨϏϡʔΞͷूத͕ଓ͔ͳ͍ɺݟಀ͢
    wؤுͬͯ΋ͷ͍͢͝ྔͷϨϏϡʔΛ͠ɺͦΕʹରͯ͠मਖ਼
    wͳ͔ͳ͔ϚʔδͰ͖ͳ͍
    wͦͷ͏ͪʹ1VMM3FRVFTUʹର͢Δ೤ҙ͕Լ͕Δ
    wϦϦʔεޙʹෆ۩߹͕ى͖΍͍͢

    View Slide

  21. খ͍͞1VMM3FRVFTU
    w1VMM3FRVFTUͰ͸ͭͷ͜ͱ͚ͩΛ΍Δ
    wίϛοτ਺ɺϑΝΠϧ਺΋গͳ͍
    wϨϏϡʔΞ΋ϨϏϡʔൣғ͕ڱ͍ͷͰݟ΍͍͢
    w1VMM3FRVFTU্Ͱͷձ࿩͕ݮΔ
    wϚʔδ·Ͱͷ͕࣌ؒૣ͍
    wӨڹൣғ͕ڱ͘ϦϦʔεޙʹෆ۩߹͕ग़ʹ͍͘

    View Slide

  22. େ͖͍λεΫͷमਖ਼ͷ৔߹Ͳ͏͢Δʁ
    wେ͖͍मਖ਼ͷ৔߹΋খ͍͞मਖ਼ʹࡉ෼ԽͰ͖Δ
    wࡉ෼Խͨ͠मਖ਼༻ʹ͝ͱʹϒϥϯνΛ੾Δ
    w·ͱΊϒϥϯν
    wͭͷ1VMM3FRVFTUͰશͯ΍Ζ͏ͱ͠ͳ͍ʂ

    View Slide

  23. ͜͜·Ͱͷ·ͱΊ
    w଎ϚʔδͰ͖Δ1VMM3FRVFTU͕࠷ߴͩ
    w1VMM3FRVFTUͷ಺༰ʹର͢Δࠜڌ͕શ෦આ໌Ͱ͖ΔΑ͏ʹ͠Α͏
    wͦͷͨΊʹ1VMM3FRVFTU͸Ͱ͖Δ͚ͩখ͘͞͠Α͏

    View Slide

  24. Ͳ͏ͨ͠Β఻ΘΓ΍͍͢
    1VMM3FRVFTUʹͳΔ͔ʁ

    View Slide

  25. 1VMM3FRVFTUΛߏ੒͢Δཁૉ
    w5JUMF
    w#PEZ $PNNFOU

    w$PNNFOU
    w#SBODI
    w$PNNJU
    w3FWJFXFST
    w3FWJFX$PNNFOU
    w"TTJHOFFT
    w-BCFMT
    w1SPKFDUT
    w.JMFTUPOF

    View Slide

  26. 1VMM3FRVFTUΛग़ཱ͢৔͔Β
    ͦΕͧΕͰ͜͏͢ΔͱΑͦ͞͏
    ͱ͍͏ͷΛઆ໌͍͖ͯ͠·͢

    View Slide

  27. 5JUMF

    View Slide

  28. 5JUMFλΠτϧ
    wԿΛ͢Δ1VMM3FRVFTUͳͷ͔Λද͢
    wഎܠ΍લఏ͸ඞཁͳ͚Ε͹ॻ͔ͣʹ؆ܿʹ
    wΤϯδχΞҎ֎ͷਓ͕ݟͯ΋Θ͔ΔΑ͏ͳ
    w͋ͱͰݕࡧ͞ΕΔ͜ͱ΋ߟ͑Δ
    w<'JY>ͱ͔෇͚͓ͯ͘ͱϚʔδ࣌ʹؔ࿈JTTVF͕ด͡ΒΕΔ

    #PEZͰ΋$PNNJU.FTTBHFͰ΋0,

    View Slide

  29. #PEZ DPNNFOU

    View Slide

  30. #PEZ಺༰
    w1VMM3FRVFTUͰमਖ਼ͨ͜͠ͱΛৄࡉʹॻ͘Ұ൪ॏཁͳ৔ॴ
    w8)Λҙࣝ͢Δ 8IZɺ8IBUɺ8IPɺ8IFOɺ8IFSFɺ)PXʣ
    wൈ͚͍ͯΔ΋ͷ͕͋ΔͱϨϏϡʔΞ͕֬ೝ͢Δख͕ؒੜ͡Δ
    wͳͥमਖ਼͕ඞཁͳΜ͚ͩͬʁ
    w͍ͭ·ͰʹϦϦʔε͢Δͷʁ
    w͜ͷमਖ਼ํ๏͸Ͳ͏͍͏ࠜڌ͕͋Δͷʁ

    View Slide

  31. #PEZ಺༰8IZ
    wͳͥमਖ਼͕ඞཁͩͬͨͷ͔ɺલఏΛॻ͘
    wෆ۩߹मਖ਼Ͱ͋Ε͹ෆ۩߹಺༰
    wػೳ௥ՃͰ͋Ε͹ͳͥ͜ͷػೳ௥Ճ͕ඞཁͳͷ͔
    w਺஋తࠜڌ͕͋Δͱͳ͓ྑ͍

    View Slide

  32. #PEZ಺༰8IBU
    wԿΛ࣮ݱ͢Δ1VMM3FRVFTUͳͷ͔Λॻ͘
    w͜ͷ1VMM3FRVFTUΛϚʔδ͢ΔͱͲ͏ྑ͘ͳΔͷ͔

    View Slide

  33. #PEZ಺༰8IP
    w୭ʹϨϏϡʔͯ͠΄͍͔͠

    View Slide

  34. #PEZ಺༰8IFO
    w͍ͭϦϦʔε༧ఆ͔
    w͍ͭ·ͰʹϨϏϡʔΛͯ͠΄͍͔͠

    View Slide

  35. #PEZ಺༰8IFSF
    wͲ͜ʹӨڹ͕ग़Δͷ͔
    w8ͩͬͨΒͲ͜ͷϖʔδ͔
    w"1*ͩͬͨΒͲͷ&OEQPJOU͔

    View Slide

  36. #PEZ಺༰)PX
    wͲ͏͍͏ํ๏Ͱमਖ਼ͨ͠ͷ͔Λॻ͘
    wઃܭ࣌ʹߟྀͨ͠఺ͳͲ

    View Slide

  37. #PEZςϯϓϨʔτ
    wHJUIVC16--@3&26&45@5&.1-"5&NE
    w1VMM3FRVFTUΛ࡞Δͱ͖ʹඞཁͳ৘ใ͕࿙Εͳ͍Α͏ʹ
    w֤νʔϜͰߟ͑ΒΕͯ࡞͍ͬͯΔͷͰݟͯΈΔͱࢀߟʹͳΔ

    View Slide

  38. $PNNFOUT

    View Slide

  39. $PNNFOUTίϝϯτ
    w1VMM3FRVFTU͸ٞ࿦Λߦ͏৔Ͱ΋͋ΔɺͲΜͲΜٞ࿦͠Α͏
    w௕Ҿ͖ͦ͏ͩͬͨΒ௚઀࿩ͨ͠Γɺ࣌ؒΛͱͬͯϛʔςΟϯά
    wࣗ෼༻ϝϞʹ΋࢖͑Δʢࣗ෼Ҏ֎ʹ΋ݟ͑Δʣ
    wը໘ίϐʔͳͲͷΤϏσϯεΛషͬͯ΋Α͠
    wٙ໰఺ɺෆ໌఺΋ԕྀͳ͘ίϝϯτ

    View Slide

  40. $PNNFOUTίϝϯτ
    w'JMFTDIBOHFEͷํʹࣗΒίϝϯτ͢Δʢ݁ߏศརʣ
    wͦͷߦͷ௥Ճઆ໌͕Ͱ͖Δ

    View Slide

  41. #SBODI

    View Slide

  42. #SBODIϒϥϯν໊
    wਓʹݟΒΕͯԿ͔Өڹ͕͋Δ΋ͷͰ͸ͳ͍
    wࣗ෼͕Θ͔Γ΍͍͢Α͏ʹ͓ͯ͘͠
    wԿΛ͢Δ1VMM3FRVFTUͳͷ͔Λ̍୯ޠͰදͤΔݴ༿ΛνϣΠε
    w·ͱΊϒϥϯν΁Ϛʔδ͢ΔϒϥϯνͳΒ

    ઌ಄ʹ·ͱΊϒϥϯνͷϒϥϯνΛ෇͚͓ͯ͘ͱΘ͔Γ΍͍͢


    NBUPNFVQEBUFHFN

    View Slide

  43. $PNNJU

    View Slide

  44. $PNNJUίϛοτ
    w1VMM3FRVFTU͸$PNNJUͷू߹
    w$PNNJU΋Ͱ͖Δ͚ͩখ͞ͳ୯ҐͰ

    View Slide

  45. $PNNJUίϛοτϝοηʔδ
    wػೳͱͯ͠Ͳ͏มΘͬͨͷ͔Λॻ͘ͱྑ͍
    wʮࢦఠ఺ͷमਖ਼ʯ%
    wʮ<ࢦఠ఺मਖ਼>UPLFOൃߦͷϩδοΫมߋʯ
    wߦͰදͤͳ͍৔߹͸ߦ໨Ҏ߱ʹৄࡉΛॻ͚Δ
    wઆ໌͠ͳ͍ͱཧղͰ͖ͳ͍ͱࢥͬͨ৔߹͸ίʔυʹίϝϯτͰ

    ॻ͘ͷ΋ख

    View Slide

  46. 3FWJFXFST

    View Slide

  47. 3FWJFXFSTϨϏϡʔΞ
    wϨϏϡʔΞΛࢦఆ͢Δ
    wϨϏϡʔΞ͕"QQSPWF͠ͳ͍ͱϚʔδͰ͖ͳ͍ϧʔϧʹ͢Δ
    wIUUQTHJUIVCDPNTFUUJOHTCSBODIFTNBTUFSͰઃఆ
    wϨϏϡʔΞࢦఆʹ΋͍Ζ͍Ζͳϧʔϧ
    wϥϯμϜͰਓ
    wमਖ਼ͨ͠ιʔεϑΝΠϧʹίϛοτ͕ଟ͍ʢৄ͍͠ʣΤϯδχΞɹͳͲ

    View Slide

  48. 3FWJFXFSTίʔυϨϏϡʔ
    wίʔυϨϏϡʔ΋ඇৗʹԞ͕ਂ͍ʜʢ͜͜Ͱ͸આ໌͠ͳ͍ʣ

    View Slide

  49. "TTJHOFFT

    View Slide

  50. "TTJHOFFT୲౰ऀ
    wجຊ͸1VMM3FRVFTUΛग़ͨ͠ਓ͕୲౰ऀͰ͕͢ɺଞͷਓΛ

    ר͖ࠐΜͰ։ൃ͢Δͱද໌Ͱ͖Δ
    w1VMM3FRVFTUҰཡͰϓϩϑΟʔϧࣸਅ͕ग़ΔͷͰ୭୲౰͔͙͢Θ͔Δ
    w͋Μ·Γ࢖Θͳ͍ʜ

    View Slide

  51. -BCFMT

    View Slide

  52. -BCFMTϥϕϧ
    w1VMM3FRVFTU͕Ͳ͏͍͏ঢ়ଶͳͷ͔͓஌ΒͤͰ͖Δ
    w8*1
    wϨϏϡʔ଴ͪ
    wϦϦʔε଴ͪͳͲ
    w/FFETIFMQͱ͔5IJOLJOHͱ͔࡞͓ͬͯ͘ͱࠔͬͯΔ͜ͱΛ

    ΞϐʔϧͰ͖Δ

    View Slide

  53. 1SPKFDUTɺ.JMFTUPOF

    View Slide

  54. 1SPKFDUTɺ.JMFTUPOF
    w͜͜Ͱ͸লུ

    View Slide

  55. Πϝʔδ͖ͭ·ͨ͠ʁ

    View Slide

  56. ͍ΖΜͳνʔϜͷ
    ͍ΖΜͳ1VMM3FRVFTUΛ
    ΈͯΈΑ͏

    View Slide

  57. ྑ͍ͱࢥͬͨ΋ͷ͸
    ͙͢ʹਅࣅ͍ͯ͜͠͏

    View Slide

  58. ͦͷଞ͜ͷ࢖͍ํྑ͍ͳͱ
    ࢥ͍ͬͯΔͱ͜

    View Slide

  59. Πϯσϯτͷमਖ਼͸ߦΘͳ͍
    w%J⒎͕ݟʹ͘͘ͳͬͯϨϏϡʔͮ͠Β͍
    wߏจमਖ਼πʔϧʹ೚ͤΔ
    w3VCPDPQ
    w1)1$4'JYFS
    wमਖ਼΋͠ͳͯ͘ྑ͍͠ɺ༨ܭͳϨϏϡʔ΋͠ͳͯ͘ྑ͍

    View Slide

  60. 1VMM3FRVFTUͷίʔυΛࣗ෼ͰݟΔ
    w1VMM3FRVFTUΛ࡞ͬͨޙʹϨϏϡʔΞͷࢹ఺ͰݟͯΈΔ
    wࣗ෼͕मਖ਼ͨ͠ίʔυΛ٬؍తʹ၆ᛌͰ͖Δ
    w͜͏ͨ͠ํ͕Θ͔Γ΍͍͢ͳͲͷΞΠσΞ͕Ͱͯ͘Δ

    View Slide

  61. ֆจࣈΛ࢖͏
    wςΩετ͚ͩͰ͸ྫྷͨ͘ΈΒΕ΍͍͢
    wʮ͸͍ɻʯͱʮ͸͍ʯ
    wϦΞΫγϣϯͲΜͲΜ࢖͍ͬͯ͜͏

    View Slide

  62. Ͱ͖Δ͚ͩૣ͘Ϩεϙϯε͢Δ
    wϨϏϡʔΞ΁ͷܟҙ
    w͙͢Ϩεϙϯεͨ͠΄͏͕ૣ͘ϚʔδͰ͖Δ
    w࣭໰ͷҙਤ͕Θ͔Βͳ͍ͱ͖͸ૉ௚ʹΘ͔Βͳ͍ͱฉ͘ʂ େࣄ

    View Slide

  63. ࠷ߴͷ1VMM3FRVFTUΛ

    ग़͍͖ͯ͠·͠ΐ͏ʂ
    dpOd

    View Slide