post Image
「◯日ぶり×回目」を出力するアプリを作ったよ

この記事は、クソアプリ2 Advent Calendar 2018 の 14 日目の記事です。
どうもいつも元気な @pankona です。

nn という「◯日ぶり×回目」を出力するアプリを紹介します。
拙作です。Go で書いてます。

nn とは何か

  • 「n 日ぶり m 回目」を出力するコマンドラインツール。
    • 最初は「n 日ぶり n 回目」というつもりで作っていたので 「nn」という名前になっています。紛らわしくてごめんなさい。
  • ヘルプは以下。
$ nn --help
NAME:
   nn - show nn

USAGE:
   nn [options] [arguments...]

VERSION:
   0.1

OPTIONS:
   --id value                specify id of nn (default: "default")
   -f value, --format value  specify format of nn (default: "%d 日ぶり %d 回目")
   --help, -h                show help
   --version, -v             print the version

機能

  • -id で集計する単位に ID を指定します。「n 日ぶり m 回目」は ID 毎に集計されます。
$ nn -id myapp1
0 日ぶり 1 回目

$ nn -id myapp1
0 日ぶり 2 回目

$ nn -id myapp2
0 日ぶり 1 回目

$ nn -id myapp2
0 日ぶり 2 回目
  • -f, --format で出力形式をなんとなく指定できます。
$ nn -f "while in %d days, %d time"
while in 0 days, 4 time

使用例

  • SL コマンドを打ってしまったときに何日ぶり何度目かを表示する

みんな大好き sl コマンドです。ls 打ち間違って出てきちゃうあれです。悔しいですよね。のんびり通り過ぎていく電車。それを見送る我々。
しかしこの sl。何日ぶり何度目の ls 打ち間違いか知りたいと思いませんか。
私はこんなふうに sl コマンドを alias して nn と繋げるようにして、何日ぶり何回目の SL 通過かを表示するようにしていました。

# bashrc にこんなふうに書いておく

alias sl='sl-with-count'

function sl-with-count {
    sl
    nn --id sl
}
  • SL コマンドを打ってしまったときに何日ぶり何度めかを Slack にポストする

そもそも sl を打たないように (ls を打ち間違わないように) 気をつけるべきですよね。
それでも sl してしまうことがあります。嘆かわしい。私は sl を打ってしまったときの戒めをより強力なものにするため、sl を打ってしまったときにとある Slack チャンネルに「何日ぶり何回目の SL か」をポストするようにしています。関係各位、いつもすまない。

私は以下のような alias と function を bashrc に書いています。
– 下記の例では slackpost というのが登場していますが、これはパイプで渡された文字列を Slack に投稿するコマンドラインツール (拙作) です。これの紹介は割愛します。

alias sl='sl-with-slackpost'

function sl-with-slackpost {
    sl
    echo "@here SL が走りました (`nn --id sl`)" | slackpost
}

SL が走ると、以下の文言がポストされます。

@here SL が走りました (30 日ぶり 34 回目)

まとめ

「◯日ぶり×回目」を出力するアプリを紹介しました。いかがでしょうか。
ちょっとでも面白いと思っていただけたら本望です。よかったら使ってみてね!


『 Go 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

AWSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

CentOSに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

dockerに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

GitHubに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Javaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Laravelに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Vue.jsに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。