はじめに
開発中にポート確認やプロセス調査をするとき、lsof や netstat の出力が長くて読みづらいことにストレスを感じていました
知りたいのは「どのポートをどのプロセスが使っているか」というシンプルな情報だけなのに、毎回余計な情報が多くて手が止まっていました
「これ、自分が使いやすい形に整えたらもっと楽になるんじゃないか?」と思い、作り始めたのが knows という CLI です
この記事では技術的な実装詳細よりも、どういう考えで作っていったかを中心に書いていきます
関連リンク
knows を作ろうと思った理由
ポートが衝突したときや動作中のプロセスを確認したいときに lsof や netstat を使っていましたが、出力が長くて読みづらく、毎回手が止まっていました
知りたいこと自体はシンプルなのに、そこへ辿り着くまでの手間で集中が途切れてしまうのがストレスでした
「それなら道具の側を自分に合わせればいいのでは?」と思い、日常の作業を少し軽くするために作り始めました!
方針として意識していたこと
knows を作るにあたって意識していたのは、操作の流れを崩さないことでした
確認したいときにすぐ調べられてすぐ戻れるように、余計な判断や操作をできるだけ取り除きたいと思っていました
そのために以下の点を中心に考えました
- 出力を必要な範囲に絞ること
- OS の違いを意識しなくてよい形にすること
- 今欲しい情報にすぐ届くこと
機能を増やすというより、普段の作業の中に自然に溶け込むことを優先しました
開発の中で考えていたこと
実装を進める中では出力整形や OS ごとの差異など、手を入れる部分は多かったですが、小さく作って試しながら進める方法が自分には合っていました
使ってみて違和感があればすぐ直すという形で、調整を繰り返しました
ツールを作るというより、日常の作業の癖を少しずつ整えていくような感覚に近かったです
使い続けて感じた変化
knows を使い始めて大きく何かが変わったわけではありませんが、細かく手が止まる場面が減り、作業の切り替えが前より楽になりました
時間というより、迷う瞬間が減ったことが大きかったです
小さな改善でも積み重なると体感は変わるもので、自分の作業に合う道具を整えることの大切さを改めて感じました
まとめ
knows はプロセス調査を簡単にするためのツールですが、背景には日常の小さな不便を自分に合う形で整えていきたいという考えがありました
些細な作業でも少し軽くなるだけで、開発の流れが安定し気持ちの余裕にもつながります
この記事では実装の細部ではなく、考え方や過程を中心にまとめました
似たような不便を感じている人が自分用の道具を作ってみようと思うきっかけになればうれしいです!
技術的な話はこちらの記事をご覧ください
https://qiita.com/minagishl/items/237ea7f4ef90d7db25ab
GitHub リポジトリ
https://github.com/minagishl/knows