Spanner 論文(Google's Globally-Distributed Database)を読む
Google Spanner の OSDI 2012 論文を読み、TrueTime を軸に、世界規模の分散環境で外部整合性のあるトランザクションを実現する仕組みを整理する。
Notes on engineering, side projects, and ideas worth keeping.
About me ↗Google Spanner の OSDI 2012 論文を読み、TrueTime を軸に、世界規模の分散環境で外部整合性のあるトランザクションを実現する仕組みを整理する。
ある数値計算で「本来2527になるはずの値が2526になる」というズレに遭遇した。原因は BigDecimal に float を渡していたことだった。float→double 昇格・BigDecimal.valueOf の挙動・切り捨てによる誤差の増幅を整理し、正しい書き方と、再発をバイトコードから検出する方法までまとめる。
Astroで作っているこのブログに、Notion風のCallout(情報ボックス)をremark-directiveと自作のremarkプラグインで導入した。導入手順と、実際の表示パターンをまとめてみた。
GitHub ActionsからOIDCを使ってAWSを操作する方法を、TerraformとGitHub Actionsのサンプルコードとともにまとめてみた。あわせて、裏側でどのような認証フローが動いているのかも整理する。
OIDC(OpenID Connect)とはなにか?OAuth 2.0との関係、IDトークンの中身、認証フロー、よりセキュアに使うためのポイントについてまとめてみた。