久方の雨も降らぬか雨障み
久しぶりの更新である。
最近は少しずつ残業も増えてきた。
世の中のブロガーは、どうやってブログを書く時間やブログのネタを見つける時間を捻出しているのだろう。
最近私はC++の勉強はそこそこに、シェルスクリプトや正規表現なんかの勉強をしている。
というのも業務でコードを触る機会が減ってしまったのに加え、私の身の回りには、これらの技術を使うことで自動化できる業務があふれているからだ。
自動化できる業務が自動化されていないのはそういう技術を周りの人が持っていないからではない。
これらの業務が手作業でもできてしまう、しかも一回やる分には手作業のほうが早いからだろう。
たとえば、システムのステータスが書きだされた複数のテキストファイルから必要な情報を抜き出すという作業が与えられる。
ステータスが書かれたファイルはよく構造化されているから、grepやsed, awkといったツールがとてもよく活躍する。
しかし、与えられるファイルはせいぜい5個や6個であり、時間を最優先する現場では多くの場合、考える時間を惜しんで、先に手が動いてしまう。
つまり、テキストエディタを開き、検索をかけ、あるいは自分でスクロールして、必要な個所を見つけ、別のファイルにコピーアンドペーストする。
一回きりの作業ならこれでもちろん良いのである。
途中で単調作業に飽きるのを我慢しさえすれば、実際「早い」のだから。
だが二回目以降の作業があるなら、少し考える時間をとってシェルスクリプトを書いたほうがいいことが多い。
二回目以降の作業時間はほぼゼロだ。
難しいのは、同じ作業がまた現れるか、という見極めである。
人間はミスをするし、作業のやり直しを命じられるかもしれない。
あるいは、実は一か月後に同じ作業をする必要が出るのかもしれない。
そこらへんの見極めが不適切だと、無駄な単調作業に何時間も時間をかけてしまったり、あるいは逆に二度と使わないシェルスクリプトを書いてしまうことになる。
だらだらとよくわからないことを書いたけれど、一回の作業でもサッとスクリプトを書けたり、あるいはワンライナーで全部こなしてしまえるのなら、そうしてしまうほうがずっといい。判断する時間も節約できる。
そんなスーパープログラマになりたい(小並)。