codereposにコミットしてみた

6月末にcodereposに参加してみようと思い、id:yappoさんにメールを送ってから、約2ヶ月。 ようやく先ほどcodereposにコミットしてみました。 HTML::Feature http://coderepos.org/share/browser/lang/perl/HTML-Feature Apache2::BalanceLogic http://codere…

Statistics::ZScore 書いた

うう、1日に3つ目のエントリ、だいぶ疲れてきた。なので手短に紹介します。 Statistics::Zscore - Simple scoring module that uses statistics STANDARD SCORE. http://search.cpan.org/~miki/Statistics-Zscore/ これは統計学で出てくる「標準化」とか「正…

Log::Analyze 書いた

ログ集計のタスクって人によって色々なやり方をしているみたいですね。結構目にするのが「まずログファイルをすべてDBに格納し、SQLでgroup by使って集計させる」というパターン。これだとログファイルが巨大な場合に、まずDBに入れるだけでディスクIOのため…

POE::Component::RemoteTail 書いた

ここのところ色々と忙しくてブログ更新できなかったんですが、久しぶりに時間がとれたので、ここ最近でCPANにうpしたモジュールをいくつか紹介しようと思います。さてさて、みなさん、サーバのアクセスログなどをリモートの環境からtailしたい。しかも同時…

HTTP::Request::FromLog 書いた

名前のまんまですが、ApacheのアクセスログからHTTP::Requestオブジェクトを作るモジュールをCPANにうpしておきました。http://search.cpan.org/~miki/HTTP-Request-FromLog-0.00001/ 利用用途ですが、開発環境と商用環境が分かれているような場合に、商用…

Cometでブラウザをgkbrさせてみる!

最近久しぶりにCometとかFlashのXML-Socketとかを調べています。Cometといえばチャットに代表されるように「テキストや画像の配信」が頭に思い浮かびますが、 今回はjsonpで任意のイベントを送り込む例として「サーバにアクセスしている人のブラウザを好き勝…

make testではまった件

CPAN風にperl moduleを書いてる人はtestコードをガンガン書いてmake testしながら、日々うっとりしてると思うんですが、 今日はちょっとそこでハマったので、忘れないようにメモメモ。 testコードの中で、簡易なHTTP Serverを起動したいとします。 サーバの…

HTTP::Request::AsCGIの使い方

今まで知らなかったんだが、HTTP::Request::AsCGIというのを使うとテストとかにスゴく便利らしい。 というわけで、早速いくつかのブログを見ながら触ってみた。 use strict; use HTTP::Request; use HTTP::Request::AsCGI; use CGI; use Data::Dumper; # HTT…

mecabがC++で文字化けするという件

久しぶりの日記〜。なにやらdaisuke makiがC++でmecabと戯れている模様。makiさん曰く、C++でmecab使うと文字化けするよ〜、とのこと。自分もC++勉強中につき、ちょっとだけ触ってみよっと。 さっそく本家サイトのサンプルから必要そうなところを抜粋。test.…

mysqlにperlインタプリタを組み込んでみる

以前「mysqlに独自関数を組み込む(UDF)」というエントリを書いてみましたが、今回はそれの延長で、mysqlのUDFとしてperlインタプリタを組み込んでみようと言う実験です。mysqlにperlを組み込んで何がうれしいかっていうと、簡単なperlスクリプトで自由にmy…

mysqlに独自関数を組み込む(UDF)

mysqlには独自のユーザ定義関数を組み込むことができる「UDF」(User Defined Function)って機能があります。 例えばsennaのsnippetなどもUDFとして書かれてるみたいです。 mysqlに詳しい方々の間では結構メジャーなもののようですが、実際に使ってみたこと…

HTML::Elementを返すようにした

前々回のエントリで紹介した重要部分を抽出するperlモジュール「HTML::Feature」ですが、その後ジワジワと反響があって、意外なことにid:fubaさんから「HTML::Elementでデータを返してくれるといいなぁ」というリクエストまでいただくほどに。でようやく今週…

HTML::Featureはエンジンをいろいろ拡張できるよ!

前回のエントリで書き忘れていたのですが、HTML::Featureはメインで処理する部分をEngineとして切り出したカタチの設計になってるので、アイデア次第で別のエンジンを書いてそれを走らせることができます。 なんてことを書き忘れたな、と思っていたら、さっ…

HTML::Feature - 重要部分を抽出するモジュール -

以前からCPANで公開していたモジュールがあるんですが、日本語での解説ドキュメントがなかったのと、最近大幅にブラッシュアップしたので、せっかくなので紹介記事を書きます。HTML::Feature - Extract Feature Sentences From HTML Documents 「えいちてぃ…

PowerShot G9を衝動買い

家にあった古いデジカメが壊れてしまったので新しいデジカメを買い求めに近所のコジマに行ってきました。2〜3万円程度の素人向けのものが欲しかったんですが、コジマの店員さんから色々と話を聞いているうちにふらふら〜っとハイエンドマシンを衝動買いす…

POEでログをtailするComet

今更ながら、perl(POE)でCometっぽいものを書いてみようと思い挑戦してみました。「Cometと言えばチャット」というくらい、サンプルや例題のほとんどがチャット関連のネタばかりなので、あえてそういう類いのものではなく、もっと地味なネタでせめてみようと…

windows環境でApache2.2 + mod_perl2

最近のことですがwindows 2003 serverでApache2.2とmod_perl2をセットアップする必要に迫られ、その際にいろいろハマったことがあったので、手順をメモしておきます。 perl5.8.8 + Apache2.2 インストール activestateのサイトからperl5.8.8をダウンロード&…

Cache::FastMmapって初めて知りました

巨大でかつupdateが頻繁に走ってかつ古いデータの消し込みなんかも随時行わなければならないようなデータを「mysqlでテーブルを分割して、読み書きをマスタスレーブにして、、、」みたいにハンドリングするのがなんか面倒で、なんか良さげな方法はないかなと…

mod_proxy_balancerにロジックを簡単に追加するモジュール

数日前からプロトタイプ的に作っていたmod_perlによるApacheハンドラですが、 プライグインでロジックを自由に拡張できるようにして先ほどCPANに上げておきました。 モジュール名はこんな風にしてみました↓ Apache2::BalanceLogic - Perl extension for mod_…

セグフォにやられてます

今通勤中の電車の中からEM-ONEを使って日記を書いてみてます。買ってはみたものの、緊急時のsshコンソールとしてしか使ってなかったEM-ONEでしたが、ブログ始めたのでやっと生産的な使い方ができそう。さてここ2日ばかり悩んでるのですが、mod_perlで書いた…

XangoよりGunghoだって

今日はお師匠さまであるid:kdaibaの粋な計らいでendeworksのid:lestrratさんとお会いすることができました。 半年ぐらい前にYAPCでClass::C3のトークを拝聴したのですが、実際にお会いするとその時のイメージよりもずっと気さくな感じの方でした。「Xango使…

mod_proxy_balancerにしてみる

昨日つくったApacheモジュールですが、その後いろいろ調べてみたら、まだまだ改善の余地があるっていうか、大幅に見直した方が良いんでないかい?と思い出したので、もうちょっとしつこく検討してみます。 昨日つくったやつの主な流れを再度整理すると、 あ…

mod_perl2でapacheモジュールを作ろう

mod_perlを使ってApache APIのコアな領域にちょっとだけチャレンジしてみようと思います。 ようするにこれのことです↓ はてなダイアリーより 巷ではmod_perlはCGIプログラムを高速化するための技術だという解説も時折みられるが、CGIプログラムを高速化させ…