Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
gRPC Server with golang
Search
abemotion
May 20, 2019
Technology
3
1.5k
gRPC Server with golang
golang.tokyo # 24 の資料です。
https://golangtokyo.connpass.com/event/129067/
abemotion
May 20, 2019
Tweet
Share
More Decks by abemotion
See All by abemotion
『Go言語による並行処理』 を読んで
abemotion
1
1.2k
Go Modules
abemotion
2
810
Other Decks in Technology
See All in Technology
MLflowはどのようにLLMOpsの課題を解決するのか
taka_aki
0
120
Oracle Database Technology Night #87-1 : Exadata Database Service on Exascale Infrastructure(ExaDB-XS)サービス詳細
oracle4engineer
PRO
1
220
生成AI×財務経理:PoCで挑むSlack AI Bot開発と現場巻き込みのリアル
pohdccoe
1
800
[OpsJAWS Meetup33 AIOps] Amazon Bedrockガードレールで守る安全なAI運用
akiratameto
1
130
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
920
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
560
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
19k
プロダクト開発者目線での Entra ID 活用
sansantech
PRO
0
100
遷移の高速化 ヤフートップの試行錯誤
narirou
6
1.9k
AWS Well-Architected Frameworkで学ぶAmazon ECSのセキュリティ対策
umekou
2
150
サバイバルモード下でのエンジニアリングマネジメント
konifar
21
6.8k
E2Eテスト自動化入門
devops_vtj
1
120
Featured
See All Featured
It's Worth the Effort
3n
184
28k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Speed Design
sergeychernyshev
27
810
Designing for Performance
lara
605
68k
Visualization
eitanlees
146
15k
The Cult of Friendly URLs
andyhume
78
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Building Adaptive Systems
keathley
40
2.4k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
Transcript
HPMBOHUPLZP H31$4FSWFSXJUIHPMBOH HPMBOHUPLZP !BCFNPUJPO
HPMBOHUPLZP ࣗݾհ !BCFNPUJPO DPDPOBMB 4FSWFS4JEF&OHJOFFS ։ൃج൫νʔϜ (P3BJMT$BLF1)1 5XJUUFSBCFNPUJPO ςχεొࢁ
HPMBOHUPLZP εΩϧͷϑϦʔϚʔέοτ ݸਓͷࣝɾεΩϧɾܦݧΛؾܰʹചങ ొձһສਓ ίίφϥ๏૬ஊ ίίφϥϋϯυϝΠυ
HPMBOHUPLZP ৽ϓϩϑΟʔϧϖʔδ ˠɹϚΠΫϩαʔϏεߏͰ։ൃ ɹɹHPMBOHΞοϓσʔτ ɹɹɹɹɹʢEFQˠ(P.PEVMFTʣ
HPMBOHUPLZP ηογϣϯ༰ ϚΠΫϩαʔϏεߏͷ"1*(BUFXBZΛ H31$4FSWFS$MJFOUͱͯ͠ߏஙͨ͠ܦݧΛݩʹ͠·͢ H31$ͷ֓ཁʙߟྀͨ͠τϐοΫΛղઆ
HPMBOHUPLZP γεςϜߏ "1*(BUFXBZ HPMBOH ɾ1SPpMF4FSWJDF 3BJMT ͷ ઃܭʙ։ൃ·Ͱ୲ /VYU&YQSFTT HPMBOH
3BJMT H31$ H31$ "1*(BUFXBZ 1SPpMF4FSWJDF 1SPpMF8FC
HPMBOHUPLZP ΞδΣϯμ H31$֓ཁ H31$4FSWFS$MJFOU H31$Τϥʔॲཧ HPHSQDNJEEMFXBSF
HPMBOHUPLZP H31$֓ཁ
HPMBOHUPLZP H31$֓ཁ (PPHMF͕։ൃͨ͠31$'SBNFXPSL )551Ͱ௨৴ 1SPUPDPM#VGGFSTͰΠϯλʔϑΣʔεఆٛ ༷ʑͳݴޠʹରԠ $ ɺ+BWBɺ1ZUIPOɺ(Pɺ3VCZɺ$ ๛ͳࣄྫ (PPHMFɺ/&5'-*9ɺ$*4$0
ࠃاۀͷ࠾༻૿͖͍͑ͯͯΔ
HPMBOHUPLZP H31$ϝϦοτ QSPUPϑΝΠϧͰΠϯλʔϑΣΠε༷ΛҰݩཧ QSPUPϑΝΠϧ͕"1*༷ॻΘΓʹ αʔόଆͱҟͳΔ։ൃݴޠ༻ͷΫϥΠΞϯτίʔυࣗಈੜ ෳݴޠʹରԠ͓ͯ͠ΓɺϚΠΫϩαʔϏε͖ ίʔυͷࣗಈੜͰɺຊདྷ࣌ؒΛ͔͚Δ͖ػೳ࣮ʹूத ύϑΥʔϚϯεߴ
HPMBOHUPLZP H31$։ൃͷྲྀΕ QSPUPϑΝΠϧఆٛ ιʔείʔυͷࣗಈੜ αʔόͷ࣮ ΫϥΠΞϯτͷ࣮
HPMBOHUPLZP QSPUPDίϚϯυ QSPUPϑΝΠϧ͔Βɺ֤ݴޠ༻ͷΫϥεɾؔมͨ͠ ϑΝΠϧΛࣗಈੜͯ͘͠ΕΔ$PNQJMFS IUUQTHJUIVCDPNQSPUPDPMCVGGFSTQSPUPCVG QSPUPDQSPUP@QBUI*.1035@1"5)HP@PVU%45@%*3 QBUIUPpMFQSPUP .BLFpMFʹఆٛ͠ɺίϚϯυԽ QSPUPϑΝΠϧϦϙδτϦཧ͠HJUTVCNPEVMF
HPMBOHUPLZP H31$4FSWFS$MJFOU
HPMBOHUPLZP γεςϜߏ /VYU&YQSFTT HPMBOH 3BJMT H31$ H31$ "1*(BUFXBZ 1SPpMF4FSWJDF 1SPpMF8FC
H31$$MJFOU H31$4FSWFS
HPMBOHUPLZP QSPUPఆٛ TZOUBY 1SPUPDPM#VGGFSTόʔδϣϯࢦఆ QBDLBHF ໊લিಥΛආ͚ΔͨΊʹ༻ ֤αʔϏεͰϦϙδτϦ͝ͱʹ͍ͬͯ·͢ PQUJPO ֤ݴޠͰQBDLBHF͕ͲͷΑ͏ʹղऍ͞ΕΔ͔
HPMBOHUPLZP γεςϜߏ /VYU&YQSFTT HPMBOH 3BJMT H31$ H31$ "1*(BUFXBZ 1SPpMF4FSWJDF 1SPpMF8FC
H31$4FSWFS H31$$MJFOU
HPMBOHUPLZP QSPUPఆٛ TFSWJDF 31$Λఆٛɻ Ϧιʔε୯ҐͰϑΝΠϧ໊ͱରԠؔ NFTTBHF ϦΫΤετϨεϙϯεͷσʔλߏఆٛ ֤ϑΟʔϧυ໊લɾܕɾλάΛ࣋ͭ JOUJOUɺTUSJOHɺCPPMɺSFQFBUFE JNQPSU
ଞύοέʔδϑΝΠϧͷσʔλߏΛ༻
HPMBOHUPLZP "1*(BUFXBZ ϑϨʔϜϫʔΫΛ༻͍ͣʹ։ൃ ·ͩσϑΝΫτελϯμʔυͳ͘ɺෛ࠴Խճආ ඪ४ύοέʔδ֎෦ϥΠϒϥϦ ύοέʔδߏ ϨΠϠΞʔΩςΫνϟ-JHIUXFJHIU%%% JOUFSGBDFɿϦΫΤετϋϯυϥ BQQMJDBUJPO͍ΘΏΔϏδωεϩδοΫ EPNBJO͍ΘΏΔϞσϧɻߏମఆٛͳͲ
JOGSBTUSVDUVSFσʔλΞΫηεͷ࣮ ͦͦ૬ޓࢀর͢ΔͱΤϥʔ
HPMBOHUPLZP H31$4FSWFSىಈ
HPMBOHUPLZP JOUFSGBDFT
HPMBOHUPLZP BQQMJDBUJPO
HPMBOHUPLZP H31$Τϥʔॲཧ
HPMBOHUPLZP H31$Τϥʔॲཧ ಠࣗͷΤϥʔίʔυ͕༻ҙ͞Ε͍ͯΔ )551εςʔλείʔυͱͷϚοϐϯά IUUQTHJUIVCDPNHPPHMFBQJT HPPHMFBQJTCMPCNBTUFSHPPHMFSQD DPEFQSPUP
HPMBOHUPLZP 1SPpMF4FSWJDF H31$Τϥʔੜ "1*(BUFXBZ BQQMJDBUJPO ΤϥʔใՃ JOUFSGBDFT H31$Τϥʔʹม ΤϥʔॲཧͷྲྀΕ 3BJMT
H31$ HPMBOH "1*(BUFXBZ 1SPpMF4FSWJDF
HPMBOHUPLZP BQQMJDBUJPOΤϥʔใՃ
HPMBOHUPLZP JOUFSGBDFTΤϥʔม
HPMBOHUPLZP HPHSQDNJEEMFXBSF
HPMBOHUPLZP *OUFSDFQUPS 31$ͷલޙͰॲཧΛΠϯλʔηϓτͰ͖Δ )UUUQ)BOEMFS൛ IUUQTNFEJVNDPN!NBUSZFSXSJUJOHNJEEMFXBSFJOHPMBOHBOEIPXHPNBLFTJUTP NVDIGVODF H31$4FSWFS*OUFSDFQUPS αʔόʔੜ࣌ H31$$MJFOU*OUFSDFQUPS ίωΫγϣϯੜ࣌
H31$͕*OUFSDFQUPS༻ͷύοέʔδΛ༻ҙ͠ɺ༷ʑͳػೳʹରԠ IUUQTHPEPDPSHHJUIVCDPNHSQDFDPTZTUFNHPHSQDNJEEMFXBSF "VUIɺ-PHHJOHɺ.POJUPSJOHɺ3FUSZɺ7BMJEBUPSɺ3FDPWFSZ
HPMBOHUPLZP H31$4FSWFS$MJFOU*OUFSDFQUPS
HPMBOHUPLZP -PHHJOH
HPMBOHUPLZP HJUIVCDPNHSQDFDPTZTUFNHPHSQDNJEEMFXBSFMPHHJOH[BQ IUUQTHJUIVCDPNVCFSHP[BQΛ༻͍ͯ͠·͢ ඪ४MPHύοέʔδශऑ ΤϥʔϨϕϧ͕ͳ͍ ϩάϑΥʔϚοτ͕ͳ͍ɻ·͔͞ͷࣗͰܗʜ Ұํ[BQ 6CFS ߴɻͪΐͬͺɻ
ΤϥʔϨϕϧ͋Γ ग़ྗܗࣜͷબՄ ͍ํɾه๏͕ಛघ
HPMBOHUPLZP H31$4FSWFS$MJFOU-PHHJOH
HPMBOHUPLZP H31$4FSWFS$MJFOU-PHHJOH ্هϝιου͋Δ͕ɺ 1BZMPBE͕ͦͷ··ϩάʹग़ྗ͞ΕΔͷΑΖ͘͠ͳ͍ɻ ϦΫΤετͷϩΪϯά֤ϝιουͰݸผग़ྗ
HPMBOHUPLZP 3FUSZ
HPMBOHUPLZP HJUIVCDPNHSQDFDPTZTUFNHPHSQDNJEEMFXBSFSFUSZ
HPMBOHUPLZP HJUIVCDPNHSQDFDPTZTUFNHPHSQDNJEEMFXBSFSFUSZ $BMM0QUJPOʹ༷ʑͳΦϓγϣϯͷઃఆ͕Մೳ 8JUI#BDLPGG 3FUSZͷִؒ࣌ؒ 8JUI$PEFT 3FUSZ͢ΔΤϥʔίʔυ σϑΥϧτɺ%FBEMJOF&YDFFEFE$BODFMFE 8JUI.BY ࠷େ3FUSZճ
HPMBOHUPLZP H31$Ͱࠔͬͨ͜ͱ /6--ڐ༰Ͱͳ͍ H31$ࣗମ͕/6--Λఆ͍ͯ͠ͳ͍ /6--ͷଘࡏ͠ͳ͍ੈքʂ /6--͍ΘΏΔσϑΥϧτѻ͍ ɺۭจࣈɺGBMTF ˠ্࣮ͦ͜·ͰࠔΒͳ͔͕ͬͨɺࣾͷཧղΛಘΔ·Ͱʹ͕͔͔࣌ؒͬͨ ࣌ࠁܕ
H31$ʹ࣌ࠁܕ͕༻ҙ͞Ε͍ͯΔ DPNHPPHMFQSPUPCVG5JNFTUBNQ ੜม͕େม ϝιουͭͭ࿈݁ͯ͠ɺɺʣ ͪΌΜͱௐͯΈͨΒɺதJOUͩͱ͍͏͜ͱ͕໌ ଞࣾ͞Μͷࣄྫฉ͍ͯ݁ہJOUʹ Τϥʔίʔυʹ׳Ε͕ඞཁ ʮ͕ฦ͖ͬͯͨʂʯʮͩͬͯʂʯˡͳΜͱͳ͘Θ͔Δ ʮΤϥʔ൪ͳΜ͚ͩͲʁʯˡΘ͔Βͳ͍
HPMBOHUPLZP ·ͱΊ ੩తܕ͚HPMBOHʷεΧϥʔܕH31$ ࣄલʹίϯύΠϧՄͩ͠ݎ࿚ʂ૬ੑ࠷ߴʂ 8FC্ͷهࣄͰݟͨ ʮϦϦʔε͔ͯ͠Β΄ͱΜͲόάͳ͍ʯ ˠϗϯτͩͬͨ ࣮ʹΑΔͱࢥ͍·͕͢ (P%PDͷϝιουઆ໌ɺӳจߦͷΈͱ͔βϥ
݁ہιʔεΛಡΉ͜ͱʹͳΔ ͜Ε͕͔ͳΓֶͼʹͳͬͨ HPMBOH͖ʂָ͍͠ʂ͡Όͳ͖Ό͍͠ த·ͰݟͯڍಈΛͬͯΔͱ҆৺ײ͕ҧ͏