今日はいつ? — goark/today v0.1.0 をリリース
いまだにお役所関連の書類(の一部)は元号での記載を要求してくる。 ほんで「今日って令和何年だっけ?」ってなる。 今年ももう9月になるというのに和暦が覚えられないよ。
大抵は西暦-和暦変換表をググって確認するのだが,今回はちょっとキれた(笑)
というわけでコマンドで today って打ったら今日の日付を西暦と和暦で表示するようにした。
- GitHub - goark/today: Show information for today
- Show information for today. Contribute to goark/today development by creating an account on GitHub.
Powered by linkcard
Go 製シングルバイナリのコマンドラインツールで Linux/Windows/macOS 用のビルド済みバイナリを用意している。
バイナリを PATH が通ってるディレクトリに放り込んで,こんな感じに使う。
$ today
2026-09-09 Wednesday
令和8年 (丙午) 9月9日 水曜日 (丙戌)
引数で日付を指定することもできる。
$ today 2019-04-30
2019-04-30 Tuesday
平成31年 (己亥) 4月30日 火曜日 (丁酉)
$ today 2019-05-01
2019-05-01 Wednesday
令和1年 (己亥) 5月1日 水曜日 (戊戌)
オプションはこんな感じ。
$ today --help
Usage of today
Usage:
today [flags] [yyyy-mm-dd]
Flags:
-a, --all-events show all events information
--debug enable debug mode
--event-file string path to the event file (default "/home/username/.config/today/event.json")
-h, --holiday show holiday information
-j, --json output information in JSON format
-e, --other-events show other events information
-s, --solar-term show solar term information
--temp-dir string path to the temporary directory (default "/home/username/.cache/today")
-v, --version show version information
たとえば,以下のように -h オプションを付けて祝日を表示する。
$ today -h 2026-09-23
2026-09-23 Wednesday
令和8年 (丙午) 9月23日 水曜日 (庚子)
秋分の日
他のオプションは以下の通り1。
| 意味 | |
|---|---|
-h, --holiday |
祝日・休日を表示 |
-s, --solar-term |
二十四節気+雑節および朔望月を表示 |
-e, --other-events |
その他のイベント情報を表示(イベントファイルで定義) |
-a, --all-events |
すべてのイベント情報を表示 |
イベントファイルは --event-file で指定できる(指定がない場合はデフォルトのファイルを開こうとする)。
イベントファイルが見つからない場合はイベント情報がないものと見なす。
たとえばイベントファイルの中身が
[
{
"start": "2026-09-25",
"end": "2026-09-25",
"title": "中秋の名月"
}
]
であれば
$ today -e 2026-09-25
2026-09-25 Friday
令和8年 (丙午) 9月25日 金曜日 (壬寅)
中秋の名月
という感じに表示される。
んー。 作ったはいいけど,あまり使わんか? でもイベントファイルは色々と使い道がありそう? そういえば CSV や JSON などのテキストデータを SQL で操作するパッケージがあったな。
- GitHub - nao1215/filesql: loads CSV, TSV, LTSV, JSON, JSONL, Parquet, XLSX, ACH, and Fedwire files into SQLite; includes prep and frame for cleanup and in-memory transforms
- 【Golang】CSV, TSV, LTSVをsql.DBで操作するfilesqlパッケージを作った話
- 【Golang】CSV/JSON/Excel/Parquet に SQL を実行する sqly を約4年かけて v1.0.0 にした
面白そうだし,ちょっと検討してみようかな。
今回もあまり AI のお世話にならず(初期ファイルの配置とレビューとドキュメントは AI にやってもらった)楽しくコードを書いて遊んだ。 ちょっとは気が済んだかな(笑)
参考
- プログラミング言語Go - 丸善出版 理工・医学・人文社会科学の専門書出版社
- 明解で効率的なプログラムを描くための書。 柴田 芳樹 訳
- Release 2016-06-15
- 評価
[Comment] 著者のひとりは,あの “K&R” の K のほうである。この本は Go 言語の教科書と言ってもいいだろう。と思ったら絶版状態らしい(2025-01 現在)。復刊を望む!
Powered by linkcard
- Go言語 100Tips ありがちなミスを把握し、実装を最適化する impress top gearシリーズ
- Teiva Harsanyi (著), 柴田 芳樹 (著)
- インプレス 2023-08-18 (Release 2023-08-18)
- Kindle版
- B0CFL1DK8Q (ASIN)
- 評価
[Comment] 版元で PDF 版を購入可能。事実上の Effective Go とも言える充実の内容。オリジナルは敢えてタイトルに “tips” という単語を入れるのを避けたのに邦題が「100 Tips」とかなっていて,原作者がお怒りとの噂(あくまで噂)
- Go言語で学ぶ並行プログラミング 他言語にも適用できる原則とベストプラクティス impress top gearシリーズ
- James Cutajar (著), 柴田 芳樹 (著)
- インプレス 2024-12-04 (Release 2024-12-04)
- Kindle版
- B0DNYMMBBQ (ASIN)
- 評価
[Comment] 読書会のために購入。インプレス社の本は Kindle 版より版元で PDF 版を買うのがオススメ。「並行処理」について原理的な解説から丁寧に書かれている。 Go で解説されているが Go 以外の言語でも応用できる。


