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

GCPのgemにコントリビュートした話

 GCPのgemにコントリビュートした話

Atsushi Tanaka

July 31, 2019
Tweet

More Decks by Atsushi Tanaka

Other Decks in Technology

Transcript

  1. ©2019 Wantedly, Inc.
    ($1ͷHFNʹίϯτϦϏϡʔτͨ͠࿩
    Meguro.rb #29 LT
    31.Jul.2019 - Atsushi Tanaka @bgpat

    View Slide

  2. ©2019 Wantedly, Inc.
    @bgpat / Atsushi Tanaka
    Infrastructure Engineer at Wantedly, Inc.


    ࣾ಺ʹ Google Cloud Pub/Sub Λ޿ΊΑ͏ͱ͍ͯ͠Δਓ

    View Slide

  3. ©2019 Wantedly, Inc.
    w ($1ͷαʔϏε
    w ϚΠΫϩαʔϏεؒͰ

    ඇಉظ௨৴͢ΔͨΊʹಋೖ
    w 3VCZ΋αϙʔτ͍ͯ͠Δ

    HPPHMFDMPVEQVCTVC
    (PPHMF$MPVE1VC4VC
    https://cloud.google.com/pubsub/docs/overview

    View Slide

  4. ©2019 Wantedly, Inc.

    View Slide

  5. ©2019 Wantedly, Inc.
    ($1ͷHFNʹDPOUSJCVUF͠·ͨ͠

    View Slide

  6. ©2019 Wantedly, Inc.
    ϓϧϦΫΛ௨͢·ͰͷܦҢ
    ো֐ରԠ

    ࠓ೔࿩͢͜ͱ

    View Slide

  7. ©2019 Wantedly, Inc.
    ໰୊ൃੜ
    ௐࠪ
    मਖ਼ύονΛग़͢
    ࠓ೔࿩͢͜ͱ

    View Slide

  8. ©2019 Wantedly, Inc.
    ໰୊ൃੜ
    Ϣʔβʔ ਺ඦສਓ
    ʹҰ੪௨஌ΛૹΖ͏ͱ͍ͯͨ͠
    w σΠϦʔͷόονδϣϒͱ࣮ͯ͠ߦ
    w ͳ్͔ͥதͰࢭ·Δ
    w ͍ͭ·Ͱܦͬͯ΋ૹ৴͠ऴΘΒͳ͍
    w Τϥʔ͕ग़͍ͯΔΘ͚Ͱ͸ͳ͍

    View Slide

  9. ©2019 Wantedly, Inc.
    ௐࠪ
    Ͳ͏͍͏৚݅Ͱ໰୊͕ൃੜ͢Δͷ͔஌Δ
    w ૹ৴ΛඇಉظͰߦ͏ͱ్தͰࢭ·Δ
    w HPPHMFDMPVEQVCTVCͰ͸QVCMJTIʢಉظʣͱQVCMJTI@BTZODʢඇಉظʣ͕࢖͑Δ
    w ಺෦ͰDPODVSSFOUSVCZΛ࢖͍ͬͯΔ
    w ϝοηʔδͷ݅਺͕ଟ͍ͱى͜Δ
    w ਺ઍ݅ఔ౓Ͱ͸ಛʹ໰୊ͳ͘ૹ৴Ͱ͖Δ

    View Slide

  10. ©2019 Wantedly, Inc.
    ௐࠪ
    ݪҼͷ੾Γ෼͚
    ࣅͨॲཧΛ͍ͯ͠ΔΞϓϦέʔγϣϯͱൺֱ͢Δ
    w ݅਺Λἧ͑ͯඇಉظͰૹ৴
    ˰ ผͷΞϓϦέʔγϣϯ͸਺ສ݅ॲཧͯ͠΋ࢭ·Βͳ͔ͬͨ
    w ࠩ෼͸Ͳ͜ʹ͋Δʁ
    w ґଘ͢ΔHFNͷόʔδϣϯ͸ಉ͡
    w ૹ৴͢Δ಺༰͸ҟͳΔ
    ˰ ໰୊͕ى͖ͳ͍ΞϓϦέʔγϣϯ͸%#ΞΫηεΛ͍ͯͨ͠

    View Slide

  11. ©2019 Wantedly, Inc.
    ௐࠪ
    ճආࡦ͕൑໌
    %#ΞΫηεͷ͕࣌ؒॏཁʁ
    ʮશମ͕଎͘ͳΔ͜ͱͰσουϩοΫ͕ݦࡏԽ͍ͯ͠Δʁʯ
    TMFFQΛڬΜͰΈͨ
    w ૹ৴ˠඵ଴ͭ
    w ૹ৴͕٧·Δ͜ͱ͸ͳ͘ͳͬͨ

    View Slide

  12. ©2019 Wantedly, Inc.
    ௐࠪ
    ࠓޙͷରࡦͷͨΊʹ͞Βʹௐ΂Δ
    ໰୊͕ى͖Δͱ͖ͷϝτϦΫεͷมԽΛݟΔ
    w ϝοηʔδͷૹ৴ϖʔε
    4UBDLESJWFS.POJUPSJOH͔Β$MPVE1VC4VCͷϝτϦΫε͕ݟΕΔ
    w 3VCZ7.ͷϝτϦΫε
    w /FX3FMJDͷػೳͰऔΕΔʢࣾ಺Ͱ࢖͍ͬͯΔͷͰʣ
    w ϝϞϦ࢖༻཰ɾώʔϓαΠζɾ($ɾεϨου਺ͳͲ

    View Slide

  13. ©2019 Wantedly, Inc.
    ௐࠪ
    %#ΞΫηε͕͋Δ৔߹
    ૹ৴ͷϖʔεΛൺֱ
    %#ΞΫηε͕ͳ͍৔߹

    View Slide

  14. ©2019 Wantedly, Inc.
    ௐࠪ
    %#ΞΫηε͕͋Δ৔߹
    ૹ৴ͷϖʔεΛൺֱ
    %#ΞΫηε͕ͳ͍৔߹

    View Slide

  15. ©2019 Wantedly, Inc.
    ௐࠪ
    3VCZ7.ͷϝτϦΫεΛൺֱ
    %#ΞΫηε͕͋Δ৔߹ %#ΞΫηε͕ͳ͍৔߹

    View Slide

  16. ©2019 Wantedly, Inc.
    ௐࠪ
    %#ΞΫηε͕͋Δ৔߹
    3VCZ7.ͷϝτϦΫεʢεϨου਺ʣΛൺֱ
    %#ΞΫηε͕ͳ͍৔߹

    View Slide

  17. ©2019 Wantedly, Inc.
    ௐࠪ
    %#ΞΫηε͕͋Δ৔߹
    3VCZ7.ͷϝτϦΫεʢεϨου਺ʣΛൺֱ
    %#ΞΫηε͕ͳ͍৔߹

    View Slide

  18. ©2019 Wantedly, Inc.
    ௐࠪ
    εϨου਺ଟ͗͢ͳ͍ʁ
    w ໰୊͕ى͖͍ͯͳͯ͘΋ݸۙ͘࡞ΒΕ͍ͯΔ
    w ໰୊͕ى͖Δ৔߹͸ສݸ࡞ΒΕ͍ͯΔ

    View Slide

  19. ©2019 Wantedly, Inc.
    ௐࠪ
    ϝοηʔδͷૹ৴࣌ʹ͸ճ͔͠εϨου͸࡞ΒΕͳ͍͸ͣ
    https://github.com/googleapis/google-cloud-ruby/blob/7b87b46675ffce0b991f3678bfd4548195f11760/google-cloud-pubsub/lib/google/cloud/pubsub/async_publisher.rb#L79-L80

    View Slide

  20. ©2019 Wantedly, Inc.
    ௐࠪ
    εϨουΛ࡞Δؔ਺ΛϑοΫͯ͠ճ਺Λ਺͑ͨ
    ˰ ճεϨου͕࡞ΒΕ͍ͯΔ

    View Slide

  21. ©2019 Wantedly, Inc.
    ௐࠪ
    ݪҼ൑໌
    ˰DPODVSSFOUSVCZͷ$BDIFE5ISFBE1PPMΛ࢖͍ͬͯͨ
    w NBY@UISFBETΛͰ্ॻ͖͍ͯ͠Δ
    w ݺͼग़͢ଆ͸౉ͤΔ͕࢖༻͞ΕͣΤϥʔ΋ग़ͳ͍
    w ࠷େ஋Λࢦఆ͢ΔͳΒ5ISFBE1PPM&YFDVUPSΛ࢖͏΂͖

    View Slide

  22. ©2019 Wantedly, Inc.
    मਖ਼ύονΛग़͢
    ࠶ݱίʔυΛఴ͑ͯJTTVFͰใࠂ

    View Slide

  23. ©2019 Wantedly, Inc.
    मਖ਼ύονΛग़͢
    ͍ͭͰʹϓϧϦΫ΋࡞੒

    View Slide

  24. ©2019 Wantedly, Inc.
    w 3VCZͰඇಉظॲཧΛ͢Δͷ͸೉͍͠
    w /FX3FMJDͷ3VCZ7.͸ศར
    w 044ʹίϯτϦϏϡʔτͰ͖ͯخ͍͠
    ·ͱΊʢײ૝ʣ

    View Slide