«« キュレーションサービスのアルゴリズム | ITシステム開発を進めていくのに必要な3つのこと »»
仕事をしていると色々な数字を扱う。
そこで得られるデータからー「結論は勘で出す!」なんてやってませんですよね?
まあ、なかなかその勘をルール化する作業は、まず言語化するのが難しいところであります。
しかしながら、勘という調整を個人の能力に特化したままだと、他の人が同じことが出来ないので、職人となってしまった人が休んだ時など、いざという時困ります。
そこで勘をルール化していきましょう!
ルール化するには、まずデジタル化です。
拾ってきたデータをまとめてみましょう。
1. 初級編:キーマクロ
こういう時にまず使えるのは、エディタのキーマクロ機能。
例えば、Windowsのサクラエディタですと、Shift+Ctrl+Mでキー操作の記録を開始/終了し、Shift+Ctrl+Lで操作の再生を行います。
Ctrl+カーソルキー(前後の文節?へ移動)や、Home/Endキー(文頭・文末へ移動)などと組み合わせることで、データ内容に合わせカーソルキーを一気に移動できます!
F3などの検索も使えますね。
そんな感じにキー操作を活用して、同じような書式のデータから、必要な部分のみを取り出していきましょう。
そうそう、キーマクロを使うなら、VNCとかリモートデスクワークを使わず、データをローカルに移してからまとめて作業するのがオススメ。
遠隔操作だとキーマクロ処理でも表示待ちを行うようで、圧倒的に遅いのだ。
2. 中級編その1:スクリプト
既にPerlとか、PHPとか、Rubyとかを作業環境へインストール済みなら、解析プログラムをそれらの言語で組んで、コマンドプロンプト・SSHから動かすのもオススメ。
elePHPant reading php|architect / CalEvans
勿論調査対象の環境に最初からスクリプト実行環境を入れて、パスを通しておかないと駄目ですけどね。
まあ例えばWebサーバー内のデータを解析する場合なら、最初から入っていることも多いですから、直ぐに試せるかも。
そう!PHPとかは動的なホームページの作成に使うだけの言語では無いのです。
HTMLなど1行も出力しないプログラムを組んで、PHP hogehohe.php <解析したいファイル>[Enter]なんて動かし方も出来るんです。
普段からスクリプトを組んでいる人が、分岐やループのある解析環境をサクッと組みたいときは、迷わずこの手でしょう。
ただ実行速度は遅いけど。
あと運用中の環境で解析スクリプトを組んで、更にその中でループ文を組む場合は、PHPならusleepなどで細かく一時停止を取るのをおすすめします。
本番サーバー内で解析させたところ、スクリプトがCPU処理を奪いすぎて重くなって、動作中のシステムが止まったらシャレにならん。
3. 中級編その2:バッチコマンド&シェルスクリプト
検証用のファイルがたくさんある場合、キーマクロではきりがない。
かといってこのサーバー(もしくはPC)にスクリプト実行環境は入っていないし、入れたくもない、というか入れたら怒られる。
そういう時の強い味方が、Windowsならバッチコマンド、UNIXならシェルスクリプトです。
(あとWindowsパワーシェルやAppleScriptも同様の理屈でよいはずだが、個人的には使った事がないのでノーコメント)
特にバッチコマンドは、普通のプログラム言語で必要な書き始めである、
<?php とか
# /usr/bin/perlとか
# include <stdio.h> とかを一切書かなくていいので、学生時代にプログラムの授業で挫折したスタッフにも振りやすい?
例えば複数のフォルダのうち、特定のフォルダのみをコピーしたい場合、
Windowsならdir(UNIXならls) > report.txt
で一旦テキストファイルに写して、そこからコピーする内容のみを1で紹介したエディタのキーマクロを使って、xcopy(UNIX:cpコマンド)に直して実行するぐらいなら、何とかコードが組めない人でも何とか対処してもらえたりしました。
4. 上級編:Windows 環境で、とにかく実行速度的に素早く解析させたいなら、Visual Studioかな?
Visual Studioは、無料プランもありますし、文法チェックやデバッガも強力ですし、サンプルプログラムも豊富ですから、これまた簡単な解析プログラムの構築には悩まなくて良いですね。
2012-05-17_red-gate_visual_studio_ss / bdill
ただCやC#/VBなどの開発経験が予めないと厳しいですし、お約束で書かないといけない事も多いので、実装スピードが要求されるときは2のスクリプトか3のバッチコマンド&シェルスクリプトかなあ。
(大学時代、UNIXでCを動かすなら授業でgccにてコンパイルさせられた事を思い出したが、今はどうやって開発するんだろう?)
投稿者 kuze : 2015年3月 8日 23:34
«« キュレーションサービスのアルゴリズム | ITシステム開発を進めていくのに必要な3つのこと »»
コメント