Go言語でZaimのCLIクライアントを作成しました。
リポジトリはこちらです。
ざっくりとした使い方
zaim auth
で認証を行い、 zaim money
で明細の全履歴をJSONで吐き出します。
インストールや使い方はREADMEをご参照ください。
※デフォルトでは財布のデータだけが出力されます。全部の口座のデータをまとめてとるときのパラメータがわかりません…
開発小話
初めてGoでコードを書きました。
なぜGoで書いたのか?
- 普段よく使わせていただいている sachaos/todoist や peco がGo製で、参考にできそうだった。
- いままでこういう小物系はPythonで書く感じだったのですが、型が欲しかったので……
使用したライブラリ
先に挙げた sachaos/todoist
さんを参考にして、以下のライブラリを利用しました。
- CLIフレームワーク: urfave/cli
- 設定ファイルの読み込み: spf13/viper
- OAuth認証: garyburd/go-oauth
所感
- Goにはナウい言語機能が無いと聞いていて引っかかりはあったのですが、「コンパイルできるVBScript」だと思うとしっくりきて書きやすくなりました。
- 「オブジェクト指向ではない」という情報をよく目にしており、カプセル化ができるのかどうか不安だったのですが、構造体にメソッドを生やすことができたので満足です。
細かいことを気にせずさくっと書くにはよさそう。 今までPythonで書いてたような小物系はGoで書くようにしていきたい。