Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Go言語をほぼ毎日書いている話 (序) / Daily coding in Go
Yuuki Tsubouchi (yuuk1)
April 29, 2017
Programming
4
7.1k
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)
AI時代に向けたクラウドにおける信頼性エンジニアリングの未来構想 / DICOMO2022 6A-1
yuukit
6
1.6k
AIOps研究録―SREのための システム障害の自動原因診断 / SRE NEXT 2022
yuukit
7
8.9k
Interactive AIOps
yuukit
0
1.3k
Meltria: マイクロサービスにおける 異常検知・原因分析のための データセットの動的生成システム / Meltria in IOTS2021
yuukit
1
1k
AIOpsの研究動向と AIOps向けデータセットの動的生成の研究 / Introducing AIOps and A Dynamic Datasets Generating System
yuukit
1
420
分散アプリケーションの高信頼化のための 運用技術に関する研究 / A Study on Operation Technology for High Reliability of Distributed Applications
yuukit
1
560
ネットワークサービスの依存発見に向いた TCP/UDP通信の低負荷なトレース手法 / Low Overhead TCP-UDP Tracing in Kernel
yuukit
5
3.2k
クラウドのシステム運用技術に機械学習を応用する研究 / CLOUD AI
yuukit
4
2.6k
TSifter: マイクロサービスにおける性能異常の迅速な診断に向いた時系列データの次元削減手法 / TSifter in proceedings of IOTS2020
yuukit
1
1.8k
Other Decks in Programming
See All in Programming
Remix + Cloudflare Pages + D1 で ポケモン SV のレンタルチームを検索できるアプリを作ってみた
kuroppe1819
4
1.4k
OIDC仕様に準拠した Makuake ID連携基盤構築の裏側
ymtdzzz
0
590
xarray-Datatree: Hierarchical Data Structures for Multi-Model Science
tomnicholas
0
230
AWSにおける標的型Bot対策
hacomono
0
440
ECS Service Connectでマイクロサービスを繋いでみた
xblood
0
750
Micro Frontends with Module Federation @MicroFrontend Summit 2023
manfredsteyer
PRO
0
620
Azure Functionsをサクッと開発、サクッとデプロイ/vscodeconf2023-baba
nina01
1
350
How to Fight Production Incidents?
asatarin
0
230
Refactor with using `available` and `deprecated`
417_72ki
3
380
Swift Observation
shiz
4
290
Enumを自動で網羅的にテストしてみた
estie
0
1.4k
そうだ、10Gを引こう
mattenn
0
100
Featured
See All Featured
The Web Native Designer (August 2011)
paulrobertlloyd
76
2.2k
Why You Should Never Use an ORM
jnunemaker
PRO
49
7.9k
No one is an island. Learnings from fostering a developers community.
thoeni
12
1.5k
Robots, Beer and Maslow
schacon
154
7.3k
For a Future-Friendly Web
brad_frost
166
7.8k
Designing with Data
zakiwarfel
91
4.2k
Code Review Best Practice
trishagee
50
11k
Support Driven Design
roundedbygravity
88
8.9k
The Brand Is Dead. Long Live the Brand.
mthomps
48
2.9k
StorybookのUI Testing Handbookを読んだ
zakiyama
8
3.2k
Building Flexible Design Systems
yeseniaperezcruz
314
35k
Adopting Sorbet at Scale
ufuk
65
7.8k
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