乃木坂46/欅坂46のCLIツールを作ってみました。

使い方

以下、nogiコマンドの説明になりますが、keyakiコマンドも同様の方法で利用可能です。

macOSユーザの場合はhomebrewでインストール可能です。

WindowやLinuxユーザの場合はReleaseページからバイナリをダウンロードしてExecutableなPathに設置すればOKです。

機能としてはメンバー一覧表示と曲名一覧表示のみで、それぞれTSV区切りでデータを出力します。

UNIX哲学の「1つのことをうまくやる」に則り、単機能にしたため、フィルタリングしたい場合はgrep/awk/perl/sedを使ってください。

例えば、まいやんの情報取得エイリアスはこんな感じで↓

実装について

  • 実装言語は、メンバーを応援する人全員に提供したかったのでマルチプラットフォーム、シングルバイナリにビルドできるgolangを採用。
  • CLIフレームワークはurfave/cliを採用。
  • 基本的にgo-bindataを使ってデータファイル(TOML形式)を埋め込んで表示しているだけ。
    • データ更新の間隔が1ヶ月以上なので毎回スクレイピングするのはサーバに負荷かける上に、ネットワークレイテンシもあって非効率なため、データ更新作業(=PR)があることを覚悟した上でCLI自体に埋め込むようにした。
  • データファイルの元データはgoqueryを使ってスクレイピングして取得: nogi/create_setting.go
  • パッケージ管理はglideで。