先日、Twitter にて以下のようなツイートをしました。
・Go で突然の死ジェネレータをつくる
— Kazuki@打つエンジニア (@kzkamago0721) February 17, 2022
・積みパズル消化
・仕事1
・仕事2
・本読む
突然の死というのはそのままの意味ではなく、昔インターネット掲示板などでよく見た AA (アスキーアート)です。
参考
以前からこのサイトには何度かお世話になっており、かつ最近作っているプロダクトで Go を使っていたこともあり、せっかくなんで CLI も作るかと思ったことがきっかけです。
作ったもの
ダウンロード方法
リリースページから実行する環境に応じたファイル(tar.gz または zip)をダウンロードします。
以下はコマンドの例ですが、リンクをクリックするだけでもダウンロードできます。
$ # Intel CPU の Linux
$ curl -LO https://github.com/gotoeveryone/totsugen/releases/download/v1.0.1/totsugen-v1.0.1-linux-amd64.tar.gz
$ # M1 Mac
$ curl -LO https://github.com/gotoeveryone/totsugen/releases/download/v1.0.1/totsugen-v1.0.1-darwin-arm64.tar.gz
実行方法
ファイルを解凍します。
以下はコマンドの例です。
$ tar xzf totsugen-v1.0.1-darwin-arm64.tar.gz
解凍後、ファイル totsugen を実行します。
$ ./totsugen -v テスト
出力結果はこんな感じです。
$ ./totsugen -value テスト
_人人人人人_
> テスト <
 ̄Y^Y^Y^Y^Y^ ̄
全角・半角文字が混じった場合に吹き出しを調整する処理を書くのが地味に大変でした。
終わりに
完全に思い付きで作り始めたものの、考えることは色々あり面白かったです。
GitHub Actions で各アーキテクチャ用のバイナリを作るのも初めてだったので、良い体験ができました。
CLI ツールをつくるのは言語の復習にもなるので、これからも定期的に続けていこうと思います。