タグ

ブックマーク / terazzo.hatenadiary.org (2)

  • ApacheのアクセスログをSQLで解析する - terazzoの日記

    Apacheのアクセスログ(CustomLog)を読み込みJoSQLを使って絞り込んだり集計したりしてみる。 前提 パーサの処理をはしょったりする為にいろいろ条件を決めておく。 ログ出力は空白区切り。(CLFやCombinedと呼ばれるような形式) 空白を含む要素は「"」で囲む 「"」内の「"」は「\"」とエスケープされている 対応するフォーマットは「%h」「%l」「%u」「%t」「%r」「%s」「%b」「%{<ヘッダフィールド名>}i」のみ 日付(%t)はCLFフォーマットのみ対応(%{}tは非対応) 「%s」と「%>s」の区別は付けない 要素の順序は入れ替え可能(LogFormatの書式で指定) 方針 コマンドラインからjavaを起動して実行する sample.josql.LogQueryというクラスのmain()で処理を実行する。 クエリ文字列およびファイルパスはコマンドライン引数で

    ApacheのアクセスログをSQLで解析する - terazzoの日記
  • ツリー構造用の外部/内部イテレータの実装 - terazzoの日記

    お題: 1については、コレクションのデータ構造が複雑化したときに、yield文の無いJavaで外部イテレータを作るのは結構骨が折れますが、内部イテレータなら要素を順に辿ってコールバックするだけなので簡単です。 外部イテレータと内部イテレータ - kaisehのブログ ツリー構造(複雑というほどではないけど、)の場合に、どれぐらい骨が折れるが実際にやってみた。 結論としては、やっぱり内部イテレータの方が楽そうだ。でも外部イテレータを作るのも面白いかも。 追記(2011/11/18) : 外部イテレータの実装は、Tree Iteratorを使う方が圧倒的にシンプルなのでそっちのが参考になるかも。 データ構造 図のような数値付のツリー構造を考える。 クラスで書くと次のような感じ。 public class IntNode { private final int value; private fi

    ツリー構造用の外部/内部イテレータの実装 - terazzoの日記
    log4jk
    log4jk 2010/04/27
  • 1