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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
880
Other Decks in Technology
See All in Technology
地元にいないローカルオーガナイザーの立ち回り
uvb_76
1
440
TypeScript Compiler APIとPHP-Parserを活用し、TypeScriptとPHPで型を共有する
shuta13
0
320
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
660
React、まだ楽しくて草
uhyo
7
3.9k
Databricks における 生成AIガバナンスの実践
taka_aki
1
240
大学生が本気でDatabricksを活用してDiscordサークルをデータ駆動させてみた
phantomjuju
1
330
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.1k
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
120
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
190
個人の発見を、組織の知恵に 〜生成AI活用を"探索"から"組織の仕組み"へ〜
kintotechdev
2
600
はじめてのDatadog
kairim0
0
260
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
200
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Unsuck your backbone
ammeep
672
58k
The SEO identity crisis: Don't let AI make you average
varn
0
480
Deep Space Network (abreviated)
tonyrice
0
160
KATA
mclloyd
PRO
35
15k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
220
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
190
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͖ʂָ͍͠ʂ͡Όͳ͖Ό͍͠ த·ͰݟͯڍಈΛͬͯΔͱ҆৺ײ͕ҧ͏