1. Qiita
  2. 投稿
  3. Go
  • 257
    いいね
  • 3
    コメント

はじめに

CLIは最高です。
GUIよりも圧倒的に早く操作できますし、キーボードを叩けばいいだけなので慣れれば時々目を瞑りながらでも作業できるので目が疲れません。
たとえコマンドを覚えていなくても、一度叩いたコマンドなら履歴をたどればなんとかなりますし、 man コマンド叩けば雰囲気わかる事も多いです。

話は変わりますが、エンジニアでも例外なく、仕事をする上で下記のようなことをするかと思います。

  • メモ管理
  • タスク管理
  • 時間管理

上記のような作業をCLIでするために僕が実践している事を紹介します。

メモ管理

Markdownで書き、ファイルをGitHubのプライベートレポジトリで管理しています。
一日毎にファイルを分けて格納しています。

以下のコマンドを叩けば今日分のメモが開くので、これを叩けばとりあえずメモが取れる状態になります。

$ emacs ~/diary/$(date "+%Y/%m/%d.md")

ディレクトリ構造

上のコマンドを叩くと、 年/月/日.md のようにディレクトリが切られてファイルが作成され、以下のようなディレクトリ構造になります。

/home/sachaos/diary
├── 2016
│   ├── 06
│   ├── 07
│   ├── 08
│   ├── 09
│   ├── 10
│   ├── 11
│   └── 12
│       ├── ...
│       ├── 20.md
│       ├── 21.md
│       ├── 22.md
│       ├── 24.md
│       ├── 25.md
│       └── 27.md
├── 2017
│   └── 01
...

GitHubのプライベートレポジトリで管理する

GitHubのレポジトリで管理していますので、簡単に家の端末と会社の端末で情報を共有することができますし、ちょっと携帯端末で見返したいときもGitHubにアクセスすればMarkdownで書かれているので、見やすく表示されます。

メモの検索

gitで管理されているので git grep とか叩いて検索することができます。非常に楽ですね。

タスク管理

個人のタスク管理は Todoist というWebアプリケーションを使っています。

非常に楽しいアプリケーションなのですが、CLIで使用したいため、手前味噌ですが、GolangでCLIクライアントを作成してそれを使用しています。

demo

todoist demo

時間管理

各々のタスクにかかった時間というものを測るために toggl というWebアプリケーションを使っています。
時間を計測していると見積もり精度が向上しますし、何に時間を奪われているのか、など可視化されるので時間に対する意識を持つことができる気がします。

こちらも手前味噌ですが、CLIで使用したいためクライアントを作りました。

demo

toggl demo

まとめ

CLIでメモ・タスク・時間の管理をするために、実践している方法・ツールを紹介しました。
こういう小さい事を継続して癖付けることによって生産性が上がるのではないでしょうか?

仕事を早く終わらせて早く帰りましょう!