basebank / gophers-code-reading-party

Gophers Code Reading Party records
18 stars 1 forks source link

20211209 Gophers Code Reading Party #17

Closed budougumi0617 closed 1 year ago

budougumi0617 commented 2 years ago

2021/12/09 15:00~16:00@ Zoom, BASE BANK, Inc.

参加者

@budougumi0617 @daisuzu

お題

ネタ

ネタがなかったら proposal: review meeting minutes をみてみよう!
https://github.com/golang/go/issues/33502

budougumi0617 commented 2 years ago

【Online】GDG DevFest Tokyo 2021 2021/12/11(土) 11:00 〜 20:00 https://gdg-tokyo.connpass.com/event/229935/ 19:10-19:30 | Go 1.18 でやってくる Generics とは by mattn-san

budougumi0617 commented 2 years ago

Deadlocks: the dark side of concurrency

スライド https://www.craig-wood.com/nick/articles/deadlocks-in-go/

budougumi0617 commented 2 years ago

Go Advent Calendar https://golang.christmas/

budougumi0617 commented 2 years ago

mjd...

とは言えdriver呼ぶ前段のstd pkgの段階でキャンセル済みだったらそこで止まるはずなので、やっぱり呼んだほうがいい気がするんだけどな

glassmonkey commented 2 years ago

はえ〜

budougumi0617 commented 2 years ago

Goのruntimeコードリーディングで役立つかもしれない個人的tipsまとめ https://convto.hatenablog.com/entry/2021/12/01/160811

budougumi0617 commented 2 years ago

9日はKyoto.goのluccafort さんが来てくれそうだぞ〜〜

budougumi0617 commented 2 years ago

GopherCon UK 2021 Play list https://www.gophercon.co.uk/schedule/ https://www.youtube.com/watch?list=PLDWZ5uzn69ex0U5MmbKWorsTuVBgUePxw&v=OVVldYFoITo

これは東口パイセンが興味ありそうなタイトルだな Acceptance tests, BDD and Go https://www.youtube.com/watch?v=ZMWJCk_0WrY&list=PLDWZ5uzn69ex0U5MmbKWorsTuVBgUePxw&index=8

Scaling using Go https://www.youtube.com/watch?v=g7mjD7KJy6M&list=PLDWZ5uzn69ex0U5MmbKWorsTuVBgUePxw&index=19

budougumi0617 commented 2 years ago

Property-Based Testing In Go https://earthly.dev/blog/property-based-testing/

budougumi0617 commented 2 years ago

5月のだけどGopherCon Europeのセッションもいくつか挙がっていた。 https://gophercon.eu/schedule/ https://www.youtube.com/watch?v=i_MnJgt0Z6o&list=PLtoVuM73AmsIQv2wba8Hpl424XmWQZu5E

hgsgtk commented 2 years ago

Acceptance tests, BDD and Go

BDDのコラボレーションの側面や正しく作りたいものについて理解するための一つの方法として Example mapping なども紹介した上で、自動テストに落とし込むときは別にtesting packageでいいよね、っていうまじもんの現実に生きるBDD Practionerって感じでよさげでした(はやまわしで聞いた感じ) ❤️

budougumi0617 commented 2 years ago

タイトルの一覧だけ見て中身みてませんでした。。。!ありがとうございます!!

budougumi0617 commented 2 years ago

柴田先生の新作。 https://engineering.mercari.com/blog/entry/20211202-running-tests/

社内で、M1への交換ができるようになって早速交換したところ、この問題に遭遇してしまいました。実際のコードはもう少し複雑なのですが、実際にtime.Now() == time.Now()がtrueになるかを試してみたら、まれに、trueになりました(なぜ、このような現象になるのかは、調査していません)。

そんなことあるのか(M1発注してもらってるので私も来年遭遇するかも…?)

budougumi0617 commented 2 years ago

DynamoDBで分散ロックを実現するsetddblockと現代版アクセスカウンター https://techblog.kayac.com/dynamodb-setddblock

分散ロックは気になりますなあ… https://github.com/mashiike/setddblock コードも小さいのでコードリーディングとしてもよさそう。

budougumi0617 commented 2 years ago

Automate testing of poor network conditions with Shopify's Toxiproxy in Go https://josephwoodward.co.uk/2021/12/automate-testing-poor-network-conditions-shopifys-toxiproxy

Toxiproxy を挟んでおくとlatencyを指定したテストとか簡単に書けるぽい。

daisuzu commented 2 years ago

書きました(Goのコードは全然でてきませんが...

glassmonkey commented 2 years ago

おおー

budougumi0617 commented 2 years ago

偉業だ… ここ最近のdaisuzuさんのブログポスト(HTTPテストとか)の集大成感を感じました!!!

budougumi0617 commented 2 years ago

今日のzoomです。時間になったらよろしくおねがいします https://zoom.us/j/96048293146?pwd=blA2YW9TQ29TMm9JU1lUWDQ5MjBwdz09

budougumi0617 commented 2 years ago

余談 同じ問題を解く?アドベントイベントがあるらしい https://adventofcode.com/2021

https://github.com/mitchellh/advent-2021-sql https://github.com/bwplotka/efficiency-advent-2021

budougumi0617 commented 2 years ago

英語のAdvent Calendar! 4日空いとるで! https://golang.christmas/book

budougumi0617 commented 2 years ago

GopherConUKの発表 https://www.craig-wood.com/nick/articles/deadlocks-in-go/

改めて確認すると全部文字起こししてくれているっぽくって読みやすそう

budougumi0617 commented 2 years ago

https://github.com/basebank/gophers-code-reading-party/issues/17#issuecomment-983150736 database/sql pkg上のもろもろでcontextみているからdriver呼ばれる前に止まる可能性に期待できるからExecContextつかうことに意味はありそう https://cs.opensource.google/go/go/+/refs/tags/go1.17.4:src/database/sql/sql.go;l=1258-1272;drc=refs%2Ftags%2Fgo1.17.4

MySQLと通信中に止まらない問題はあれど、それは結局ExecContext終わった後にキャンセルされても似たような話だし…

budougumi0617 commented 2 years ago

https://github.com/basebank/gophers-code-reading-party/issues/17#issuecomment-983649851

daisuzuさんはmapとかslice makeするときsize指定した方がいいんだっけなみたいなことでruntimeの実装調べたりする。

daisuzu commented 2 years ago

このあたりとか https://github.com/golang/go/blob/c27a3592aec5f46ae18f7fd3d9ba18e69e2f1dcb/src/runtime/map.go#L290-L337

budougumi0617 commented 2 years ago

SLAがないAEについているmemcache使って分散ロックやったときは悲惨なことになった…

budougumi0617 commented 2 years ago

shopifyってこれ全部必要なのかな…

toxiproxy-ruby
toxiproxy-go
toxiproxy-python
toxiproxy.net
toxiproxy-php-client
toxiproxy-node-client
toxiproxy-java
toxiproxy-haskell
toxiproxy-rust
toxiproxy-elixir
budougumi0617 commented 2 years ago

Contextの公式見解でたの今年だったか。 https://go.dev/blog/context-and-structs

budougumi0617 commented 2 years ago

他の言語のcontext https://docs.python.org/ja/3/library/contextvars.html