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
1.6k
2
Share
gRPC Server with golang
golang.tokyo # 24 の資料です。
https://golangtokyo.connpass.com/event/129067/
abemotion
May 20, 2019
More Decks by abemotion
See All by abemotion
『Go言語による並行処理』 を読んで
abemotion
1
1.3k
Go Modules
abemotion
2
870
Other Decks in Technology
See All in Technology
ファインディの事業拡大を支える 拡張可能なデータ基盤へのリアーキテクチャ
hiracky16
0
810
AWS Transform CustomでIaCコードを自由自在に変換しよう
duelist2020jp
0
240
拝啓、あの夏の僕へ〜あなたも知っているApp Runnerの世界〜
news_it_enj
0
200
Modernizing Your HCL Connections Experience: Visual Report to chain, Profile Enhancements, and AI Integration
wannesrams
0
260
カオナビに Suspenseを導入するまで / The Road to Suspense at kaonavi
kaonavi
1
220
『生成AI時代のクレデンシャルとパーミッション設計 — Claude Code を起点に』の執筆企画
takuros
2
2.1k
【技術書典20】OpenFOAM(自宅で深める流体解析)流れと熱移動(2)
kamakiri1225
0
360
20260428_Product Management Summit_tadokoroyoshiro
tadokoro_yoshiro
15
18k
(きっとたぶん)人材育成や教育のような何かの話
sejima
0
390
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (後半)
oracle4engineer
PRO
2
200
「誰一人取り残されない」 AIエージェント時代のプロダクト設計思想 Product Management Summit 2026
mizushimac
1
2.7k
巨大プラットフォームを進化させる「第3のROI」
recruitengineers
PRO
2
2.3k
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
140
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
130
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
4 Signs Your Business is Dying
shpigford
187
22k
The SEO Collaboration Effect
kristinabergwall1
1
440
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
330
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
100
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Chasing Engaging Ingredients in Design
codingconduct
0
180
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͖ʂָ͍͠ʂ͡Όͳ͖Ό͍͠ த·ͰݟͯڍಈΛͬͯΔͱ҆৺ײ͕ҧ͏