Goその3アドベントカレンダー

GolangAPIを叩くCLIツールを作る方法を書いた。書き始めたらなんだかボリュームが膨らんで長文になってしまって疲れたけど、最近覚えたことなどを整理してまとめてアウトプットできたのでよかったんじゃなかろうかと思う。
GolangでwebサービスのAPIを叩くCLIツールを作ろう - Qiita

myaws v0.0.7リリース

myaws v0.0.7をひっそりとリリースした
https://github.com/minamijoyo/myaws/releases/tag/v0.0.7

ほぼ機能増えてないけど、リファクタリングしてこねくり回してたら内部実装がだいぶ変わりまくりでdiffがヒドイことになってた。
https://github.com/minamijoyo/myaws/compare/v0.0.6...v0.0.7

基本的にパッケージ間の依存関係を単純にするために再構成したかんじ。

Terraform v0.8が出てた

https://www.hashicorp.com/blog/terraform-0-8.html

Terraform v0.8のConditional Valuesがどう見ても三項演算子だけど、これはもしかして待望のif文なのでわ?ってTwitterでつぶやいたらHashiCorpのHashimotoさん本人からif文も実装するつもりだよというコメントをいただく事案が発生。これは期待。
https://twitter.com/minamijoyo/status/808840863736438784

JAWS-UGコンテナ支部#7

JAWS-UGの勉強会に行ってきた。
https://jawsug-container.connpass.com/event/43553/

最近swarmだけじゃなくてECSもいじってるので、ECSのアップデートの話が気になってたけど、すぐに使えそうにないものばっかりだった。
個人的にはSpotFleetの話の方が楽しそうだったので何かのときに試してみたい。本題と関係ないけどTerraformユーザが少数派でAWSだとやっぱりCFn使ってる人がボリューム的には多いんだろうか。CFn巨大な設定ファイルを書いてる気分で可読性が低くてあんまり好きじゃないんだよね。

json.UnmarshalはフィールドをExportしてないと読み込めない

APIのレスポンスがJSONで返ってくるので、json.Unmarshalでstructに変換しようとしてなぜだかうまく読み込めなくて悩んだ。
原因はstructでExportしていないフィールドは読み込めない罠だった。エラーにならずに単にゼロ値が埋まるから余計にわかりづらい。