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

golangでツールを作ってみた(開発合宿)

 golangでツールを作ってみた(開発合宿)

開発合宿 201709 土善旅館の発表スライド

Shoichiro Nagai(shnagai)

October 05, 2017
Tweet

More Decks by Shoichiro Nagai(shnagai)

Other Decks in Technology

Transcript

  1. Ո଒ͷຖ೔Λ΋ͬͱসإʹɻ
    ։ൃ߹॓JO౔ળཱྀؗ
    $POOFIJUPJODӬҪউҰ࿠
    HPMBOHͰπʔϧΛ࡞ͬͯΈͨ

    View Slide

  2. ΞδΣϯμ
    w Ϟνϕʔγϣϯͱࠓճͷΰʔϧ
    w πʔϧͷ঺հ
    w HPMBOHͰϋϚͬͨϙΠϯτ
    w ͜Ε͔Β
    w ·ͱΊ

    View Slide

  3. Ϟνϕʔγϣϯͱࠓճͷΰʔϧ

    View Slide

  4. w ๻͕ೖ͔ͬͯΒͷπʔϧ͸΄΅શͯ4IFMMͰॻ͍ͯΔ
    w ͦΖͦΖ4IFMMଔۀ͍ͨ͠Ͱ͢Ͷͬͯ࿩
    w ͕ͬͭΓ࣌ؒΛ࢖͑Δ։ൃ߹॓ͰHPMBOH͚ͩΛߟ͑Δ
    ೔ؒΛա͢͝
    ಈػ Ϟνϕʔγϣϯ

    View Slide

  5. w HPMBOHΛ࢖ͬͯɺBXTTELΛ࢖͏πʔϧΛԿ͔͠Β࡞Δ

    ౡా͞ΜͱͦΕͧΕ࠷௿Ұͭ͸ಈ͘΋ͷΛ࡞Δ

    Ұͭ࡞ͬͯײ৮Λ͔ͭΊ͹ɺࠓͷTIFMMͰ΍͍ͬͯΔ΋ͷΛஔ͖׵͍͚͑ͯΔɻ
    w ·ͱ·ͬͨ࣌ؒͰHPMBOHͷجૅͷج͘Β͍͸ཧղग़དྷΔ
    Α͏ʹ͢Δ
    ։ൃ߹॓ͷࣗ෼ͷதͷΰʔϧ

    View Slide

  6. πʔϧͷ঺հ

    View Slide

  7. BCBZP

    View Slide

  8. w &$3ͷաڈΠϝʔδΛҰؾʹফͯ͘͠ΕΔπʔϧʂʂ

    5"(ͳ͠Πϝʔδ ݹ͍࢖ͬͯͳ͍΋ͷ
    ͷJNBHF*ETΛऔಘͯ͠ɺҰׅ࡟আ͢Δ

    ˞&$3ɾɾ"84Ͱ؅ཧ͢Δ%PDLFSΠϝʔδͷϦϙδτϦ

    &$3աڈΠϝʔδ͓૟আπʔϧ BCBZP

    View Slide

  9. w ೔ʑͷ&$4σϓϩΠͰɺNBTUFSϚʔδͷ౓ʹ৽͍͠Π
    ϝʔδ͕࡞ΒΕ͍ͯΔɻ
    w ϦϙδτϦݸ·Ͱͷ্ݶ͕͋ΔͷͰɺ͜ͷπʔϧ
    ͕ͳ͍ͱ੍͍͔ͭݶʹୡ͠σϓϩΠ͕ग़དྷͳ͘ͳΔɻɻ

    खಈͰফͤ͹͍͍ΜͰ͚͢ͲɺΊΜͲ͍͘͞͠๨Ε·͢ΑͶɻɻ
    Կ͕͏Ε͍͠ͷ͔

    View Slide

  10. σϞ

    View Slide

  11. ಈ࡞Πϝʔδ

    View Slide

  12. HPMBOHͰϋϚͬͨϙΠϯτ

    View Slide

  13. w BXT΁ͷηογϣϯΛ࡞Δ࣌ʹɺSFHJPOࢦఆͳ͍ͧͱౖ
    ΒΕΔɻɻ

    ͍ͭ΋ͷ"$$&44@,&: 4&$3&5@,&: 3&(*0/͕ඞཁ

    "84@3&(*0/͍ͬͯ͏؀ڥม਺ΛಡΉͱެࣜϦϑΝϨϯεʹॻ͍ͯ͋ΔͷʹಡΜͰ
    ͘Εͳ͍ɻɻ

    ݁ہɺTFTTJPO࡞ΔλΠϛϯάͰɺఆ਺ͷ"Q/PSUIFBTU3FHJPO*%Λ٧ΊࠐΉܗʹ
    BXTTELͷ࢖͍ํ SFHJPO

    View Slide

  14. w ඞͣYY*OQVUͱ͍͏ߏ଄ମʹ஋Λ٧Ί͔ͯΒɺॲཧ͢Δ
    ϝιουͷύϥϝʔλͱͯ͠౉͢

    ˞ϝιου໊ͷTVGGJYʹ*OQVUΛ͚ͭΔ

    BXTTELͷ࢖͍ํ YY*OQVU

    View Slide

  15. w GJMUFSͷ࢖͍ํ͕บ͋Δɻ

    ˞ϦΫΤετʹGJMUFS͢Δ͜ͱͰϨεϙϯεΛཉ͍͠΋ͷ͚ͩʹߜΔɻ

    ˞BXTDMJͰ͍͏͜ΕAGJMUFSl/BNFJOTUBODFTUBUFOBNF 7BMVFTSVOOJOHA

    ˞࠷ॳϨεϙϯεͷKTPOʹରͯ͠ɺΰχϣΰχϣͱߟ͑ͨɻɻ

    BXTTELͷ࢖͍ํ GJMUFS

    View Slide

  16. w *NBHF*ET໰୊ʂʂ

    &$3ܥͷૢ࡞ʹ͸ඞͣ*NBHF*ET ϋογϡ
    Λࢦఆ͠ͳ͍ͱμϝ UBH໊Ͱ͸ແཧ

    *NBHF*ETΛऔಘ͢Δʹ͸ɺUBH໊΍UBH༗ແͰϑΟϧλͯ͠ཉ͍͠*NBHF*ETΛऔಘ
    ͠ͳ͍ͱμϝ ໘౗͗͢Δ

    *NBHF*ETΛऔಘ͢ΔͨΊͷॲཧΛॻ͘ඞཁ͕͋Δɻ -JTU*NBHFT

    BXTTELFDS͸͕ͭ͜͜Β͍

    View Slide

  17. JUPTIP͞Μ·͡Ͱ͋Γ͕ͱ͏͍͟͝·ͨ͠

    ˞ࠓճ͸݁ہ࢖Θͳ͔͚ͬͨͲ͜ͷઌ࢖͏ͱࢥ͍·͢ʂʂ
    +40/Λύʔε͢Δ

    View Slide

  18. w ίϝϯτ͕ͱ͔຤ඌʹ Λଟ༷͢Δͱ͔׳Εͳ͔ͬͨɻ
    w TUSVDUͷ࢖͍ํ
    w GPSSBOHF࢖͏ͱɺ͍͍ײ͡ʹϨεϙϯεͷKTPOΛղੳ
    ग़དྷΔ

    ˞ͭΊ͸JOEFY஋ೖΔ͔ΒɺGPS@ SFTSBOHFͷ@ʹͨͲΓண͘ͷ͕େม
    w GMBHͱͯ΋ศརͩ

    ҰʑҾ਺ͷΤϥʔॲཧ͠ͳ͍͍ͯ͘͠ϔϧϓ΋ͭ͘
    จ๏ܥ

    View Slide

  19. w όΠφϦͰಈ͖ɺ࣮ߦ଎౓΋ߴ଎

    ϚϧνϓϥοτϑΥʔϜͩ͠Ͷɻ
    w Ϗϧυ΋.BLFGJMF࡞Ε͹NBLFͱଧͯ͹ɺ͸͍ऴྃ

    USBWJTͰ΋EPDLFSͰ΋Ͳͷ؀ڥͰ΋ଈόΠφϦ࡞࣮ͬͯߦग़དྷΔ
    HPMBOH͜Ε͸Α͔ͬͨ

    View Slide

  20. ͜Ε͔Β

    View Slide

  21. w جૅֶशͤͣʹɺ࡞Γͳ͕Β৭ʑ͍֮͑ͯͬͨͷͰɺΈ
    Μͳͷ(PͰ΋ಡΜͰجૅྗ͚ͭΔɻ
    w طଘͷTIFMMΛHPMBOHʹஔ͖׵͍͑ͯ͘
    w ৽͘͠πʔϧ࡞Δ࣌͸ɺHPMBOHͰߦ͖·͢

    View Slide

  22. ·ͱΊ

    View Slide

  23. w ։ൃ߹॓͸࠷ߴʹָ͔ͬͨ͠

    اըͯ͘͠Εͨμν͞Μɺౡా͞Μ͋Γ͕ͱ͏͍͟͝·ͨ͠
    w HPMBOHͷͳΜͱͳ͘ͷഽײ͕௫Ί͖ͯͨͷͰɺTIFMM͸΋
    ͏ॻ͔ͳ͍Α͏ʹ͠Α͏ɻ

    View Slide