WEB開発とLAMP環境で思うこと。
Apacheのアクセスログ解析で若干ハマり気味です…(´・ω・`)
アクセスログファイルをfopenして一行ずつ解析…としていると、
巨大なログファイルを解析する時にハードに負荷がかかりすぎて危険なので、
grepを使って解析したいログをある程度絞ることに。
とは言っても、いきなり全てのログファイルを相手にしたくはないので、
精査すべきログファイルをgrepを実行して指定することにします。
そこで、先日のエントリーに書いたように、exec関数に引数(配列)を用意して
そこに検索結果(ファイル名)を格納する、という方法を使うことにします。
- アクセスログの吐かれている場所に対してgrepを実行し、対象のログファイル名を取得。
- 1で取得したファイルに対してgrepをかけてログを絞る(ログファイルを小さくする)。
- 2の結果をローカルにファイル出力。
- 3のファイルに対してgrepを実行して、ログを解析&集計する。
…これで大丈夫かな(´・ω・`)
(1〜2は本番サーバに対して、3〜4はローカルに対して行います)
WEB開発(…に限った話ではないとは思いますが)では、昨今、LAMP環境での開発が
ほとんどなので、PHPなどのプログラミング言語が書けるだけでは、起こりうる
色々な状況には対応できません(´・ω・`)
Linuxの便利なコマンドや、それらの便利な使い方、それ以前にLinuxの仕組みが
分かっていない場合、少し難解な状況が発生すると、途端に作業効率が下がって
しまいます(´・ω・`)
ApacheやらDBやらハードウェアの仕組みも分かってないとキツイなぁ…
そういった、
「色々な方法や解決策を用意しておいて、それらを組み合わせて課題にあたる」
というところは、受験数学攻略法に通じるところがあるなーと思ったり。
受験数学では、
「解法パターンを習得しておいて、それらを組み合わせて解く」
のが定石ですが、私の場合、まだシステム開発の「解法」を十分な数、習得できて
いません…
まだまだこれからです。
ただ、難題を解決して、想定通りにプログラムが動いてくれると、ものすごい達成感
というか…
イチロー選手がWBC決勝戦後のインタビューで、決勝打を放ったときの心境を
「イキかけました」
という表現を使って語っていましたが、あの気持ちと似た感情が湧き上がります。
だからプログラミングって楽しいのかも♪
久し振りに22時過ぎまで働いたので、泳ぎに行けず…