1/1
4:00->12:30くらい。
レコメンド2434の再実装にあたり、DynamoDBの使い方を改めて確認している。
実務では単純なKVSとしてしか使ってないので(それで充分有能だけど)使い倒すほどの理解が足りない。雑な解説よく見るけどフルスキャン怖くないんか?って感じ。
だらだらホロ見ながらコード書いてた。小規模でもコーディングしてると毎回何かしらの気付きがある。たまにハースでデーモンハンターぶんぶんしてた。
昨日サボったから1時間バイク漕いだ。
今日結構はまったポイント。入れ子になったjsonタグ付きの構造体を定義し、別途初期化して利用しようとする時、型だけじゃなくてjsonタグまで一致していないといけないということ。
何言っているかというと下記を見ればだいたいわかるはず。
この辺暗黙にやってくんねえの?って思ったけどまあこういうケースを避けるようにしたほうが建設的ではある。
修正できる話なのか仕組み上難しいのかもよくわからんけど、知っていれば特に困るわけでもない……。
type StructA struct { StructB []struct { StructC StructC `json:"tag2"` } `json:"tag1"` } type StructC struct {} func function() { // OK x := StructA{ StructB: []struct { StructC StructC `json:"tag2"` }{ {}, }, } // NG y := StructA{ StructB: []struct { StructC StructC }{ {}, }, } }
GoLandだと複雑な型はエラーメッセージで省略されるから結構悩んだ。Go Playgroundだとちゃんとエラーメッセージ読めた。