Go Documentation 輪読会 #15
前回: Go Documentation 輪読会 #14
Scrapboxへの参加リンク
こちら
開催概要
Slack
Gophers Slack の doc-reading-ja チャンネルを使います
Connpass: https://gospecreading.connpass.com/
Google Meet: ConnpassにURLを記載しています
資料
NobishiiさんJamboard:
https://jamboard.google.com/d/1t5ATTRc5X8_zk5jw_C55B3d5me5BWKE4myohR2AtvpM/viewer?f=0
リトマステスト早見表
https://docs.google.com/presentation/d/1LpECC1KE7k5ntIkT_1DqcW66PUZCNfS1P8Qgoh4Fi78/edit#slide=id.g134fe0489da_0_0
メモリモデルホワイトボード Miro
https://miro.com/app/board/uXjVPZRugAU=/?moveToWidget=3458764532870499588&cot=14 by Nobishii
メモリモデル個人メモ by Nobishii
https://docs.google.com/document/d/1Zbg9zclRpAzAcCqgEH9MW955feLyHCFDfnLUSeHxsWc/edit#heading=h.qlnpmtnlf544
タイムテーブル
19:00 ~ 参加準備 (Slackへの登録、Scrapboxへの登録、自己紹介を書く等)、雑談
19:10 ~ 軽めに自己紹介 (1人1分程度)
19:20 ~ 輪読開始
20:20 ~ 10分休憩
20:30 ~ 再開
21:30 終了
お知らせ
The Go Memory Model 入門会(初回)を次回11/2 (水) に開催しました!
https://gospecreading.connpass.com/event/263598/
資料が↑に貼ってあります
https://www.youtube.com/watch?v=5LHm0kA0ANE
自己紹介 (近況報告)
syumai
https://twitter.com/__syumai
https://github.com/syumai
Mastodon 始めました: https://mstdn.jp/@_syumai
意外と人が集まってきてます
たまに浅草で作業 => 飲みと言うのを試し始めてます
昨日で2回目
https://twitter.com/__syumai/status/1591954719102337024?s=20&t=15YfuBQIQoMn-Y0CQRKloA
magicpro
Go Spec 輪読会から参加
Go歴は2年
業務ではバックエンドエンジニアをやっています
近況
読み終わった
Softwae Engineering at Google
読み始めた
Software Architecture: The Hard Parts
のびしー(nobishii) Twitter
資料↑に自分でかいてるメモを書き足しておきました
Goのspec(generics)に絡むイシューでちょっとおもしろいやつ https://github.com/golang/go/issues/56548
https://mstdn.jp/@nobishii/109341385550551531にコメント書きました
最近読んでますリスト
nand2tetris parserを書き終わりました →休憩中
よんでる→[試して理解]Linuxのしくみ ―実験と図解で学ぶOS、仮想マシン、コンテナの基礎知識【増補改訂版
https://gihyo.jp/book/2022/978-4-297-13148-7
「ウ・ヨンウ弁護士は天才肌」観終わりました
muroon
https://twitter.com/muroon01
Go歴4年
広告アプリでGoを書いてます
「ユニコーン企業のひみつ Spotfyで学んだソフトウェアづくりと働き方」という本が良かった
https://www.amazon.co.jp/dp/4873119464
今回の範囲: The Go Memory Model の The Go Memory Model の Reads of memory locations larger than a single machine word... から
r < w ではない
w < w' < rであるw'が存在しない
For any call to l.RLock on a sync.RWMutex variable l, there is an n such that the nth call to l.Unlock is synchronized before the return from l.RLock, and the matching call to l.RUnlock is synchronized before the return from call n+1 to l.Lock.
$ \forall l.Rlock $ \exists n \in \mathbb{N} such that:
(nth l.Unlock $ \lt_{\rm{sync}} l.RLock) かつ (対応するl.RUnlock $ \lt_{\rm{sync}} n+1 th l.Lock)
(1回目) l.Unlock() < l.RLock()
l.RUnlock() < (2回目) l.Lock()