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

業務で使えるGolang

katryo
November 03, 2014

 業務で使えるGolang

ヒカルのgo #3 http://connpass.com/event/9175/ で話した内容です

https://github.com/katryo/go_fanfare

katryo

November 03, 2014
Tweet

More Decks by katryo

Other Decks in Technology

Transcript

  1. ۀ຿Ͱ࢖͑ΔGolang
    katryo

    View Slide

  2. ໨࣍
    1. Golang෍ڭͷͨΊͷIDEಋೖ
    2. ۀ຿Ͱ࢖͑ΔCLIΞϓϦΛGolangͰ࡞ͬͨ

    View Slide

  3. 1.Golang෍ڭͷͨΊͷ

    IDEಋೖ

    View Slide

  4. GolangΛࣾ಺Ͱ޿ΊΔʹ͸?

    View Slide

  5. ։ൃ؀ڥͷ࡞ΓํΛ

    ڭ͓͑͋͏

    View Slide

  6. Golang։ൃ؀ڥ
    • GoΛΠϯετʔϧ
    • GopathΛઃఆ
    • ͨΊ͠ʹgo runͰHello worldͯ͠ΈΔ

    View Slide

  7. IDE
    • ੩తܕ෇͚ݴޠͰ͋Δ͜ͱͷར఺Λੜ͔͢
    • ΠϯετʔϧͷޙɺGOPATHΛઃఆ
    • ϝχϡʔόʔͷදࣔ(View)͔Β”Manage
    GOPATH…”Λબ୒

    View Slide

  8. GOPATHઃఆ
    • Manage GOPATHͰɺࣗ෼ͷઃఆͨ͠GOPATH
    Λॻ͘

    View Slide

  9. ΧϥʔεΩʔϚ
    • ݸਓతʹSublime text෩ͷΧϥʔεΩʔϚ͕޷͖

    View Slide

  10. 2.ۀ຿Ͱ࢖͑ΔCLIΞϓϦΛ

    GolangͰ࡞ͬͨ

    View Slide

  11. Golangͷ࢖్͍
    • CLI
    • γΣϧεΫϦϓτͷ͔ΘΓ
    • ……ͦΕ͚ͩʁ

    View Slide

  12. ͳΜͱ͔ͯ͠GoΛ

    ۀ຿Ͱ࢖͍͍ͨ

    View Slide

  13. ࢥ͍͍ͭͨ

    View Slide

  14. ςετ࣮ߦͷ଴ͪ࣌ؒ໰୊
    • ςετΛ࣮ߦ͢Δͱɺ਺ेඵʙ਺෼ͷ଴ͪ࣌
    ͕ؒൃੜ͢Δ
    • ୀ۶
    • GoͷྗͰ଴ͪ࣌ؒΛָ͘͢͠Δ
    • ԻָΛྲྀͤ͹ָ͘͠ͳΔͷͰ͸ͳ͍͔ʁ

    View Slide

  15. γΣϧεΫϦϓτΛ

    ࢧԉ͢ΔϓϩμΫτΛ
    GoͰ࡞Ζ͏

    View Slide

  16. ૝ఆ͢ΔγνϡΤʔγϣϯ
    • ./heavy_task ͸ɺॏ͍ॲཧΛ࣮ߦ͢ΔγΣϧ
    εΫϦϓτ
    • ςετɺը૾ॲཧɺetc
    • ./heavy_taskΛ࣮ߦ͢Δؒʹۓഭͨ͠ԻָΛ
    ྲྀ͠ɺ׬ྃͨ͠ΒϑΝϯϑΝʔϨΛྲྀ͍ͨ͠

    View Slide

  17. ࢖ͬͨϥΠϒϥϦ
    • portaudio-go
    • portaudioͷgoόΠϯσΟϯά
    • Իָ࠶ੜͷίʔυ͸αϯϓϧΛ΄΅ͦͷ··
    ࢖ͬͨ
    • αϯϓϧͷίʔυ͸aiffΛ࠶ੜ͢Δ΋ͷͩͬͨͷ
    ͰɺaiffͷԻָϑΝΠϧΛ࢖͏͜ͱʹͨ͠

    View Slide

  18. ͳͥԻָͱGoͳͷ͔
    • Go͸ฒߦॲཧ͕ಘҙ
    • ChannelΛ࢖͑͹ɺൺֱత؆୯ʹฒߦॲཧ͕
    ॻ͚Δ
    • ʮԿ͔ͷλεΫΛ࣮ߦ͠ͳ͕Βɺಉ࣌ʹԻָ
    Λ࠶ੜ͠ɺλεΫ͕ऴྃͨ͠ΒɺԻָΛ੾Γ
    ସ͑Δʯͷ͸ɺͪΐͬͱ໘౗ͳฒߦॲཧ

    View Slide

  19. νϟϯωϧ
    • ผͷGoroutineؒͰϝοηʔδΛ΍ΓͱΓͰ͖Δ
    • λεΫ։࢝ɾλεΫ׬ྃͳͲΛɺνϟϯωϧΛ࢖ͬͯ௨஌ͨ͠

    View Slide

  20. WEB+DB vol.82
    • Golangͷॳ৺ऀ޲͚ྑ
    هࣄ
    • jxck͞Μ͕ࣥච
    • Goroutineʹ͍ͭͯ΋ॻ
    ͍ͯ͋Δ

    View Slide