Go言語をほぼ毎日書いている話 (序) / Daily coding in Go
by
Yuuki Tsubouchi (yuuk1)
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
GoݴޠΛ ΄΅ຖॻ͍͍ͯΔ (ং) ͯͳ id:y_uuki
Slide 2
Slide 2 text
id:y_uuki / @y_uuk1 Yuuki Tsubouchi https://yuuk.io גࣜձࣾͯͳ WebΦϖϨʔγϣϯΤϯδχΞ / γχΞΤϯδχΞ
Slide 3
Slide 3 text
Goྺ • 2013͙Β͍͔ΒWatch • 2014ʹ·ͱʹॻ͖࢝Ίͨ • ࠷ॳTour of Go • Go Kyotoͱ͍͏Jxck ͞ΜʹΑΔϋϯζΦϯʹࢀՃ • mkr / mackerel-client-go ͳͲΛॻ͍ͨ • 2015~2016લ ͍͔ͭ͘ΦϖϨʔγϣϯπʔϧͭͬͨ͘ • grabeni / droot / gokc ͳͲ
Slide 4
Slide 4 text
http://developer.hatenastaff.com/entry/golang-for-ops
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
ͳΜͰ ຖॻ͖࢝Ίͨͷ͔
Slide 7
Slide 7 text
ͳΜͰຖॻ͖࢝Ίͨͷ͔ • ΦϖϨʔγϣϯ͢ΔΑΓɺιϑτΣΞͱ͔จষΛॻ ͍ͯΔͱ͖ͷ΄͏͕࣮͖ • ϒϩά͍͍͚Ͳ͍͔ͭදతϓϩμΫτΛ࡞ͬͯΈ ͍ͨ • ͔͠͠ɺιϑτΣΞΛॻ͘εΩϧͱɺॻ্͖͛Δମ ྗ͕Γͳ͍ => ຖίʔυॻ͜͏
Slide 8
Slide 8 text
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
Slide 9
Slide 9 text
ͳʹΛ ຖॻ͍͍ͯΔͷ͔
Slide 10
Slide 10 text
DiamonDB https://github.com/yuuki/diamondb
Slide 11
Slide 11 text
write datapoints Kinesis Streams Lambda read datapoints ElastiCache DynamoDB Lambda TTL expired flush write Web App (Golang) S3 read read read
Slide 12
Slide 12 text
write datapoints Kinesis Streams Lambda read datapoints ElastiCache DynamoDB Lambda TTL expired flush write Web App (Golang) S3 read read read AWSͷෳͷσʔλετΞΛ Έ߹Θͤͨ Go ΣϒΞϓϦέʔγϣϯ
Slide 13
Slide 13 text
ͳʹΛຖॻ͍͍ͯΔͷ͔ • DiamonDB • ͍͍ͩͨಉ͡ΞʔΩςΫνϟͷͷΛۀͰ։ൃத • ίʔυϕʔεۀͷͱผ • ͜Ε·Ͱͭͬͨ͘πʔϧͷϝϯςφϯε • ۀͰ͍ͬͯΔͷͰɺमਖ਼ػೳՃ • Pull RequestରԠ
Slide 14
Slide 14 text
ຖॻͨ͘Ίʹ Δ͜ͱ
Slide 15
Slide 15 text
ຖॻͨ͘ΊʹΔ͜ͱ • ʮຖʯࣗମʹҙຯͳ͘ɺܧଓతʹίʔυΛॻ͚Δ͔͕େࣄ • 1 commit / day ͰΑ͍ • Ͳ͏͚ͯ͠͠Εɺgit commit —date Ͱ͔͖͔͑ • ͜ΕͰϞνϕʔγϣϯ͕ଓ͘ͳΒͦΕͰΑ͍ • ฏ͋·Γॻ͚ͳ͍ͷͰɺͷ͏ͪʹΠγϡʔΛ༻ҙ • ۀͱ݁ͼ͚ͭΔ • ෳͷϓϩδΣΫτΛͭ
Slide 16
Slide 16 text
ຖॻ͍͍ͯͯ Θ͔ͬͨ͜ͱ
Slide 17
Slide 17 text
ຖॻ͍͍ͯͯΘ͔ͬͨ͜ͱ • ຖίʔυॻͨ͘ΊͷϦζϜ͕Ͱ͖Δ • ϝϞϦʹͷͬͯΔͷͰɺ࣍ʹॻ͘ͱ͖ʹ·ͳ͍ • ͍͖ͳΓେ͖͘มߋ͢ΔͷͰͳ͘ɺখ͞ͳมߋΛੵ ΈॏͶΔΑ͏ʹͳΔ • ʹແཧ͠ͳ͘ͳΔ • ແཧΛ͢Δͱ݁ہଓ͔ͳ͍
Slide 18
Slide 18 text
Go tips
Slide 19
Slide 19 text
https://github.com/yuuki/yuuki/blob/master/golang/http-api-server-stack.md GoͰHTTP APIαʔόॻ͘ͱ͖ͷελοΫ GoͰHTTP APIαʔόॻ͘ ͱ͖ͷελοΫ
Slide 20
Slide 20 text
https://medium.com/@haya14busa/idiomatic-go-readability-f0b42ef381dc
Slide 21
Slide 21 text
https://github.com/golang/go/wiki/CodeReviewComments
Slide 22
Slide 22 text
;ͩΜΈ͍ͯΔ Gophers • @deeeet • @mattn • @motemen • @Songmu • @haya14busa • @davecheney • @dgryski
Slide 23
Slide 23 text
Πϯϓοτ ͱ Ξτϓοτ
Slide 24
Slide 24 text
ΠϯϓοτͱΞτϓοτ • Πϯϓοτ: ຊΛಡΉɺϒϩάΛಡΉͳͲ • Ξτϓοτ: ٕज़ஊٛɺൃදɺϒϩάɺίʔυͳͲ • ݺٵͷΑ͏ͳͷ • Πϯϓοτ͢ΔͱΞτϓοτͨ͘͠ͳΔɻΞτϓο τ͢Δͱ·ͨΠϯϓοτΛͱΊΔ • ΞτϓοτҰݟແବʹΈ͑Δ͕ɺఆظతʹΞτϓο τ͢Δ͜ͱͰΠϯϓοτ૿͍͑ͯ͘
Slide 25
Slide 25 text
GoݴޠΛ ΄΅ຖॻ͍͍ͯΔ (ং) ͯͳ id:y_uuki