Carpe Diem

備忘録

2022-07-01から1ヶ月間の記事一覧

Cloud ArmorのAdaptive Protectionを使ってみる

概要 Cloud ArmorのようなWAFは通常ルールベースで不正なアクセスを制御するため、悪意あるユーザがIPアドレスやパラメータをコロコロ変えたりすると都度ルールを設定する必要が出てきてイタチごっこになりがちです。 そんなケースに対応できるよう、機械学…

GoでネストしたMongoDBドキュメントの部分更新をする

概要 MongoDBが使っているbsonはomitemptyというstructタグが利用可能で、これを使うことでそのフィールドがzero値の際は insert時にフィールドを追加しない(容量の削減) update時にフィールドを更新しない(部分アップデートの簡易化) といったメリット…

gRPCでFieldMaskを使う(更新編)

概要 christina04.hatenablog.com 前回はFieldMaskを使ってオーバーフェッチを避ける方法を説明しました。 今回はMutation(更新)におけるFieldMaskの活用方法を説明します。 環境 Go v1.18.3 protoc-gen-go v1.25.0 protoc v3.19.4 grpc-go v1.47.0 MongoDB…

gRPCでFieldMaskを使う(取得編)

概要 クライアントデバイスが多様化する中、UIに必要なデータもそれぞれ異なるためAPIのオーバーフェッチ(不要なデータの取りすぎ)が課題になってきます。 またマイクロサービス間の通信でも、例えばマスタ系データのうち必要なデータだけ取得して利用した…