WEB開発とLAMP環境で思うこと。

Apacheのアクセスログ解析で若干ハマり気味です…(´・ω・`)


アクセスログファイルをfopenして一行ずつ解析…としていると、
巨大なログファイルを解析する時にハードに負荷がかかりすぎて危険なので、
grepを使って解析したいログをある程度絞ることに。



とは言っても、いきなり全てのログファイルを相手にしたくはないので、
精査すべきログファイルをgrepを実行して指定することにします。
そこで、先日のエントリーに書いたように、exec関数に引数(配列)を用意して
そこに検索結果(ファイル名)を格納する、という方法を使うことにします。

  1. アクセスログの吐かれている場所に対してgrepを実行し、対象のログファイル名を取得。
  2. 1で取得したファイルに対してgrepをかけてログを絞る(ログファイルを小さくする)。
  3. 2の結果をローカルにファイル出力。
  4. 3のファイルに対してgrepを実行して、ログを解析&集計する。


…これで大丈夫かな(´・ω・`)
(1〜2は本番サーバに対して、3〜4はローカルに対して行います)




WEB開発(…に限った話ではないとは思いますが)では、昨今、LAMP環境での開発が
ほとんどなので、PHPなどのプログラミング言語が書けるだけでは、起こりうる
色々な状況には対応できません(´・ω・`)
Linuxの便利なコマンドや、それらの便利な使い方、それ以前にLinuxの仕組みが
分かっていない場合、少し難解な状況が発生すると、途端に作業効率が下がって
しまいます(´・ω・`)
ApacheやらDBやらハードウェアの仕組みも分かってないとキツイなぁ…

そういった、
「色々な方法や解決策を用意しておいて、それらを組み合わせて課題にあたる」
というところは、受験数学攻略法に通じるところがあるなーと思ったり。
受験数学では、
「解法パターンを習得しておいて、それらを組み合わせて解く」
のが定石ですが、私の場合、まだシステム開発の「解法」を十分な数、習得できて
いません…
まだまだこれからです。


ただ、難題を解決して、想定通りにプログラムが動いてくれると、ものすごい達成感
というか…


イチロー選手がWBC決勝戦後のインタビューで、決勝打を放ったときの心境を
イキかけました
という表現を使って語っていましたが、あの気持ちと似た感情が湧き上がります。


だからプログラミングって楽しいのかも♪




久し振りに22時過ぎまで働いたので、泳ぎに行けず…