エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
ここにツイート内容が記載されます https://b.hatena.ne.jp/URLはspanで囲んでください
Twitterで共有ONにすると、次回以降このダイアログを飛ばしてTwitterに遷移します
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
こんにちは。ymtdzzzです。 Zennの書き味にハマってしまい、個人ブログではなくこちらで書いちゃいます... こんにちは。ymtdzzzです。 Zennの書き味にハマってしまい、個人ブログではなくこちらで書いちゃいます。 今日はSpannerとGoの話。 RepositoryパターンでWebアプリケーションを実装するときは、どこでトランザクション管理を行うかが論点になることが多いですが、恐らくServiceとかUsecase層(infraを意識しないビジネスロジックを扱う層)で行いたいのが通常かと思います。 ただ、Spanner Clientでトランザクション管理を行いたい場合、依存性を排除するのが難しくなってきます。 下記のように、トランザクション境界がライブラリの機能に閉じるため、どうやってそれを抽象化するかというのがポイントになってきそうです。 // この辺の扱いを抽象化したい _, err := client.ReadWriteTransaction(ctx, func(ctx conte