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
Go言語をほぼ毎日書いている話 (序) / Daily coding in Go
Search
Yuuki Tsubouchi (yuuk1)
April 29, 2017
Programming
4
7.5k
Go言語をほぼ毎日書いている話 (序) / Daily coding in Go
そうだ、Go京都。
Yuuki Tsubouchi (yuuk1)
April 29, 2017
Tweet
Share
More Decks by Yuuki Tsubouchi (yuuk1)
See All by Yuuki Tsubouchi (yuuk1)
博士論文公聴会: Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining / PhD Defence
yuukit
0
19
博士学位論文予備審査 / Scaling Telemetry Workloads in Cloud Applications: Techniques for Instrumentation, Storage, and Mining
yuukit
1
1.7k
MetricSifter:クラウドアプリケーションにおける故障箇所特定の効率化のための多変量時系列データの特徴量削減 / FIT 2024
yuukit
2
190
工学としてのSRE再訪 / Revisiting SRE as Engineering
yuukit
19
13k
Cloudless Computingの論文紹介
yuukit
2
480
#SRE論文紹介 Detection is Better Than Cure: A Cloud Incidents Perspective V. Ganatra et. al., ESEC/FSE’23
yuukit
3
1.8k
エンジニアのためのSRE論文への招待 / Introduction to SRE Papers for Engineers
yuukit
2
11k
博士課程での研究まとめ 2023年1月版 / Summary of my research in the PhD course
yuukit
1
280
AI時代に向けたクラウドにおける信頼性エンジニアリングの未来構想 / DICOMO2022 6A-1
yuukit
7
3k
Other Decks in Programming
See All in Programming
Serverless Rust: Your Low-Risk Entry Point to Rust in Production (and the benefits are huge)
lmammino
1
140
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3k
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
670
昭和の職場からアジャイルの世界へ
kumagoro95
1
420
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
40
16k
技術を改善し続ける
gumioji
0
110
新宿駅構内を三人称視点で探索してみる
satoshi7190
2
110
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
250
第3回関東Kaggler会_AtCoderはKaggleの役に立つ
chettub
3
1.1k
Software Architecture
hschwentner
6
2.1k
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
1
360
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
290
Featured
See All Featured
Scaling GitHub
holman
459
140k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Facilitating Awesome Meetings
lara
52
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
A designer walks into a library…
pauljervisheath
205
24k
Unsuck your backbone
ammeep
669
57k
It's Worth the Effort
3n
184
28k
Side Projects
sachag
452
42k
4 Signs Your Business is Dying
shpigford
182
22k
Producing Creativity
orderedlist
PRO
344
40k
Transcript
GoݴޠΛ ΄΅ຖॻ͍͍ͯΔ (ং) ͯͳ id:y_uuki
id:y_uuki / @y_uuk1 Yuuki Tsubouchi https://yuuk.io גࣜձࣾͯͳ WebΦϖϨʔγϣϯΤϯδχΞ / γχΞΤϯδχΞ
Goྺ • 2013͙Β͍͔ΒWatch • 2014ʹ·ͱʹॻ͖࢝Ίͨ • ࠷ॳTour of Go •
Go Kyotoͱ͍͏Jxck ͞ΜʹΑΔϋϯζΦϯʹࢀՃ • mkr / mackerel-client-go ͳͲΛॻ͍ͨ • 2015~2016લ ͍͔ͭ͘ΦϖϨʔγϣϯπʔϧͭͬͨ͘ • grabeni / droot / gokc ͳͲ
http://developer.hatenastaff.com/entry/golang-for-ops
None
ͳΜͰ ຖॻ͖࢝Ίͨͷ͔
ͳΜͰຖॻ͖࢝Ίͨͷ͔ • ΦϖϨʔγϣϯ͢ΔΑΓɺιϑτΣΞͱ͔จষΛॻ ͍ͯΔͱ͖ͷ΄͏͕࣮͖ • ϒϩά͍͍͚Ͳ͍͔ͭදతϓϩμΫτΛ࡞ͬͯΈ ͍ͨ • ͔͠͠ɺιϑτΣΞΛॻ͘εΩϧͱɺॻ্͖͛Δମ ྗ͕Γͳ͍
=> ຖίʔυॻ͜͏
Site Reliability Engineering HOW GOOGLE RUNS PRODUCTION SYSTEMS Photo by
O’reilly Media / CC by 3.0 http://shop.oreilly.com/product/0636920041528.do https://creativecommons.org/licenses/by/3.0/deed
ͳʹΛ ຖॻ͍͍ͯΔͷ͔
DiamonDB https://github.com/yuuki/diamondb
write datapoints Kinesis Streams Lambda read datapoints ElastiCache DynamoDB Lambda
TTL expired flush write Web App (Golang) S3 read read read
write datapoints Kinesis Streams Lambda read datapoints ElastiCache DynamoDB Lambda
TTL expired flush write Web App (Golang) S3 read read read AWSͷෳͷσʔλετΞΛ Έ߹Θͤͨ Go ΣϒΞϓϦέʔγϣϯ
ͳʹΛຖॻ͍͍ͯΔͷ͔ • DiamonDB • ͍͍ͩͨಉ͡ΞʔΩςΫνϟͷͷΛۀͰ։ൃத • ίʔυϕʔεۀͷͱผ • ͜Ε·Ͱͭͬͨ͘πʔϧͷϝϯςφϯε •
ۀͰ͍ͬͯΔͷͰɺमਖ਼ػೳՃ • Pull RequestରԠ
ຖॻͨ͘Ίʹ Δ͜ͱ
ຖॻͨ͘ΊʹΔ͜ͱ • ʮຖʯࣗମʹҙຯͳ͘ɺܧଓతʹίʔυΛॻ͚Δ͔͕େࣄ • 1 commit / day ͰΑ͍ •
Ͳ͏͚ͯ͠͠Εɺgit commit —date Ͱ͔͖͔͑ • ͜ΕͰϞνϕʔγϣϯ͕ଓ͘ͳΒͦΕͰΑ͍ • ฏ͋·Γॻ͚ͳ͍ͷͰɺͷ͏ͪʹΠγϡʔΛ༻ҙ • ۀͱ݁ͼ͚ͭΔ • ෳͷϓϩδΣΫτΛͭ
ຖॻ͍͍ͯͯ Θ͔ͬͨ͜ͱ
ຖॻ͍͍ͯͯΘ͔ͬͨ͜ͱ • ຖίʔυॻͨ͘ΊͷϦζϜ͕Ͱ͖Δ • ϝϞϦʹͷͬͯΔͷͰɺ࣍ʹॻ͘ͱ͖ʹ·ͳ͍ • ͍͖ͳΓେ͖͘มߋ͢ΔͷͰͳ͘ɺখ͞ͳมߋΛੵ ΈॏͶΔΑ͏ʹͳΔ • ʹແཧ͠ͳ͘ͳΔ
• ແཧΛ͢Δͱ݁ہଓ͔ͳ͍
Go tips
https://github.com/yuuki/yuuki/blob/master/golang/http-api-server-stack.md GoͰHTTP APIαʔόॻ͘ͱ͖ͷελοΫ GoͰHTTP APIαʔόॻ͘ ͱ͖ͷελοΫ
https://medium.com/@haya14busa/idiomatic-go-readability-f0b42ef381dc
https://github.com/golang/go/wiki/CodeReviewComments
;ͩΜΈ͍ͯΔ Gophers • @deeeet • @mattn • @motemen • @Songmu
• @haya14busa • @davecheney • @dgryski
Πϯϓοτ ͱ Ξτϓοτ
ΠϯϓοτͱΞτϓοτ • Πϯϓοτ: ຊΛಡΉɺϒϩάΛಡΉͳͲ • Ξτϓοτ: ٕज़ஊٛɺൃදɺϒϩάɺίʔυͳͲ • ݺٵͷΑ͏ͳͷ •
Πϯϓοτ͢ΔͱΞτϓοτͨ͘͠ͳΔɻΞτϓο τ͢Δͱ·ͨΠϯϓοτΛͱΊΔ • ΞτϓοτҰݟແବʹΈ͑Δ͕ɺఆظతʹΞτϓο τ͢Δ͜ͱͰΠϯϓοτ૿͍͑ͯ͘
GoݴޠΛ ΄΅ຖॻ͍͍ͯΔ (ং) ͯͳ id:y_uuki