aws-sdk-go のモックとデータの組み立て

aws-sdk-go にはこういうモックの仕方あるよという感じでこういう記事があります。

雑に言えば各サービスのクライアントの interface 用意しておくのでそれ使えば、という感じ。まぁ自分で用意しても良さそう。インターフェイスが変わったらコンパイル出来なくなるだけだし。

クライアントが返すデータはここでは自前で組み立ててるけど、例えば json なやつとかだったらこんな感じで書ける。

import (
        "github.com/aws/aws-sdk-go/private/protocol/json/jsonutil"
)

var output SomeOutput
body := strings.NewReader("実際の json のレスポンス")
if err := jsonutil.UnmarshalJson(&outout, body); err != nil {
        // got error 
}

まぁ明らかに private なところを触っているけれど、自前で都合のいいデータを組み立てるよりはなんか実際通信した結果とか使った方がマシって気はするので、こういう方法でも良いかな?という気はしてる。(インターフェイスが変わったらコンパイル出来なくなるだけだし。)

ガーディアンズ・オブ・ギャラクシー: リミックス

marvel.disney.co.jp

今年のオープニング賞みたいなのあったら絶対これってぐらい良かった。何度でも見たい。

1がめちゃくちゃ良かったけど、それを超えていく良さ。今年一番良かった。タイトルだけはどうにかしてほしいですね。

macvim の menu のショートカットを消す

macvim を使っている最中に、たまにタイポなのか、make らしきものが実行されていて謎だった。今日それが解決して macvim には cmd+b (メニュー -> ツール -> メイクに定義されている)に :make が割り当てられていた。英字キーボードで cmd に変換を割り当てているので、しょっちゅう cmd を押すのでそれと b ( back ) が一緒に押されたと認識されて make が走っていたのだった。不運すぎる。

macmenu Tools.Make key=<nop>

macvim のオプションを調べたら、上のように設定するとキーバインドを解除できるとしったので、ようやく解放された….。