読者です 読者をやめる 読者になる 読者になる

詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

2015年に作ったもの20点(セルフレビューつき)

いちおう振り返っておかないと 2016 年を迎えられないという心持ちになったので、全部ではないけど列挙する。また、作ってブログに書いたけど自分では使ってません、というのも無責任なので、現在自分で利用中かどうかも添える。

go-typeswitch-gen (Go、コマンドラインツール)

Go で reflect パッケージを使わずにジェネリックな関数を実現する - 詩と創作・思索のひろば

ステータス: 便利に使用中

tsgen というコマンドを含んでいる。知られてないと思うけどこれは非常に便利なツールで、tsgen scaffold で空の type switch を展開できる。つまり:

// node は interface go/ast.Node の変数
switch node := node.(type) {
}

の case 文を全てフィルインしてくれる。go/ast ユーザである自分には必需品。使い方に癖があるのでこの機能だけ切り出して別ツールにしたい。

Pocket Expose(Go、ウェブサービス)

Pocket の未読フィードを秘密の URL で公開するウェブサービスを作った - 詩と創作・思索のひろば

ステータス: 使っていない

Pocket の未読を他サービスと連携するために専用のURLでRSSを配信する。現在とくに連携したいものがないので使っていない、はず(知らないうちに使っているかもしれない)。アクセスログを見たところ他の人が使っているような感じもある。

gore(Go、コマンドラインツール)

コード補完もできる Go の REPL「gore」を作った - 詩と創作・思索のひろば

ステータス: 便利に使っている

Go のちょっとしたコードを試したいときに大変よい。とにかく便利。

goquickfix(Go、コマンドラインツール)

Go でコードを書く時のかゆいところに手が届く goquickfix というのを書いた - 詩と創作・思索のひろば

ステータス: 使っている

gore のスピンオフ。たまに使うが日常的にではない。使ってないのはエディタ連携してないからって気がする。goquickfix はソースコードを変更する際、後から戻せるような変更しか行わないのだけど、取り消し不可な変更を導入するオプションがあってもいいかも(使ってない変数を消すとか)。

lgtm.sh(シェルスクリプト)

秒速でLGTMするコマンド - 詩と創作・思索のひろば

ステータス: 便利に使っている

このエントリを書きはじめたときにはまったく意識にのぼってなかったけど、これ一番使っている気がする。lgtm -c -m がシェルのヒストリに大量にある。-c でクリップボードにコピーできるようになりました。OSX 限定。Pull Request お待ちしております。

hub-pr(Go、コマンドラインツール)

オレ流 Pull Request 作業フロー - 詩と創作・思索のひろば

ステータス: ときどき使っている

hub-pr checkout の補完が微妙に遅い気がするのでなんとかなりたいけど zsh の補完はよくわからない。

go-cli(Go、ライブラリ)

go-cli: ドキュメントとともにコマンドラインツールを作る - 詩と創作・思索のひろば

ステータス: あまり使っていない

そもそもサブコマンドがある CLI ツールをあんまり書いてないからってのもある。

google-apps-script.d.ts(TypeScript、型定義ファイル)

Google Apps Script の TypeScript 型定義ファイルを作った - 詩と創作・思索のひろば

ステータス: 使っている

DefinitelyTyped にマージされた。Google Apps Script を書くときはこれがないとやってられない。

Mackerel API でホスト名を補完(いろいろ)

Mackerel + peco + zsh でコマンドラインにホスト名を補完する - 詩と創作・思索のひろば

ステータス: 使っている

仕事でかなり使っている。自分と環境が違う人にとって利用しやすい形になっていないので俺得ってかんじだった。

gobump(Go、コマンドラインツール)

gobump で Go プロジェクトのバージョニングをおこなう - 詩と創作・思索のひろば

ステータス: 使っている

ghq のプルリクエストをマージしたら自動でバージョンが上がってすげー、と思った。仕組みは以下の記事をご覧ください:

Go プロジェクトのバージョニングとリリースを CI で自動化する - 詩と創作・思索のひろば

Goの簡易ベンダリングシェルスクリプト(シェルスクリプト)

シェルスクリプトで Go の簡易ベンダリング - 詩と創作・思索のひろば

ステータス: 使っていない

Godep を使いたくなくて書いただけのやつ。最近 gb を使って気に入ってるので vendoring が公式サポートされるまでは gb でいいかなとか思ってる。

go-sqlf(Go、ライブラリ)

Go のシンプルかつ明快な SQL クエリビルダ go-sqlf - 詩と創作・思索のひろば

ステータス: 使っている

まあ SQL が発行される箇所は明快になっているのがよい。速度があまり出ないのがネックではある。jmoiron/sqlx でも良いかな? って最近は思っているけど試せていない。

go-readrows(Go、ライブラリ)

https://github.com/motemen/go-readrows:embd

motemen/go-readrows · GitHub

ステータス: あまり使っていない

go-sqlf と組み合わせて、SQL で引いてきたカラムを struct にマッピングする。あまり複雑なウェブアプリケーションを書かないので出番はそんなにない。

adsense-report-menubar(Electron)

Electron で AdSense のレポートをメニューバーから確認できるアプリを書いた - 詩と創作・思索のひろば

ステータス: 使っている

ログイン時に起動されるようにしてるので自然と使っている。Dimension と Metric の組み合わせを登録できたら便利そう。

Kak(Electron)

motemen/Kak · GitHub

ステータス: たまに使っている

Electron 製のシンプルなテキストエディタ。アプリ化せずに npm start で使っている……。日本語を書くときに利用してる。このエントリもこれで書いている。単に游ゴシックで日本語が書きたかっただけ。縦書きも対応したいのだけど表示がおかしくなるので止まってる。

gas-slack-log-spreadsheet(Google Apps Script)

Slack のログを自動で Google Spreadsheet に保存する - 詩と創作・思索のひろば

ステータス: 使っている

自動起動されるようになってるので全然触ってはいない。ときどきエラーが起こるようだけどパーマネントなものではないようなので放置している。

goreadme(Go、コマンドラインツール)

motemen/goreadme · GitHub

ステータス: たまに使っている

Go のパッケージから README ファイルを生成するツール。ドキュメントからいい感じに作ってくれるのでドキュメントを書くモチベーションにもなるはず。go-sqlf の README とかこれで生成した気がする。ライブラリじゃなく実行可能ファイル向けの README をどうするかがうまく決められていなくて停滞中。すべてをカバーするのは難しそうにもおもう。

gompatible(Go、コマンドラインツール)

motemen/gompatible · GitHub

ステータス: あまり使っていない

ほんとに使い出がでてくるのはウェブサービス化してからかなと思っている。このあいだの GoCon で発表したので紹介エントリを書きます。

goiferr(Go、コマンドラインツール)

goiferr で Go のエラー処理コードを自動挿入する - 詩と創作・思索のひろば

ステータス: たまに使っている

これも goquickfix と同様エディタ連携してないのがいけないな。ファイル全体を書き換えるのではなく「この行に続くコードを生成」というモードがあるとより良さそう。

humr(node、コマンドラインツール)

任意の入力を human-readable にする humr ってツールを書いた - 詩と創作・思索のひろば

ステータス: たまに使っている

たまにしか使ってないのはログを tail する機会がないだけだから!これはとても便利なはずなので機会が増えたらカスタマイズしつつ使っていきたい。


だんだん面倒になってコメントが雑になってしまった。見栄をはっているだけかもしれないが、予想していたより使い続けているものが多くてまあまあ実りある一年だったようにも思う。他人に使われているものがどれだけあるかはわからないけど……。

分かってはいたけど Go ばっかり、ツールばっかりの一年だった。2016 年は分野を広げ・深めていきたい。