Monthly Archives: 10月 2008

PostgreSQLで全文検索

“分かち書き出来るユーザ定義関数が出来ると何がうれしいかというと、Tsearch2を使ってフルテキストサーチインデックスを作成出来ます。
NTT公開している、PostgreSQL + Tsearch2日本語化パッチによる日本語全文検索システムの、pgkakasiw部分をpgmecabに置き換えて使えます。”

postgres
あーら、こんなのあったんだ。MySQL は Triton で全文検索を実装できますが、PostgreSQL でもできるんですね。

Continue reading PostgreSQLで全文検索

クエリ キャッシュの動作

“クエリ キャッシュは、解釈が始まる前にクエリ同士を照合することから、次のような種類のクエリはキャッシュの対象になりません。
* 準備されたステートメント (準備文)
* クエリが外部クエリのサブクエリである場合
* Stored プロシージャ、Stored 関数、トリガ、イベントなどのボディ内で実行したクエリ”

MySQL :: MySQL 5.1 リファレンスマニュアル :: 4.13.1 クエリ キャッシュの動作
なんか飲んでるときに話題に上がったので、もう一度調べてみました。
最近、MySQL のクエリキャッシュを memcached で担当するのがあったりするみたいですが、そこへの疑問です。クエリキャッシュは PREPARE を使うと効かなくなるみたいですね。

Continue reading クエリ キャッシュの動作

workerでもmod_log_sqlでアクセスログをMySQLに

“今のところ mod_log_sql は使えないっす。そのうち mod_dbd との連携もされそうなので、worker の場合はそれ待ちかも。”

曖昧スラッシュ mod_log_sqlでアクセスログをDBに投入
自分のブログから引用しちゃったけど、それぐらい嬉しかった。
worker の場合、mod_log_sql はまだ使えないかと思っていました。でも、Subversion のリポジトリにあった最新版には DBD の対応が実装されていたので、試してみました。結果から言うと、使えました。

Continue reading workerでもmod_log_sqlでアクセスログをMySQLに

mod_log_sqlでアクセスログをDBに投入

“mod_log_sql is a logging module for Apache 1.3 and 2.0 which logs all requests to a database.”

OutOfOrder.cc :: mod_log_sql
Apache のログをすべてデータベースに入れたいなと思い、mod_log_sql を使ってみた。
Gentoo だと emerge -av www-apache/mod_log_sql して、起動オプションに -D LOG_SQL を追加するだけ。
初めて起動したときは上手くいった感じでした。が、上手くはいっていなかった・・・。どうも、接続がプチプチ切れるみたい。エラーログはこんな感じ。

[error] DBI Error: 2013: Lost connection to MySQL server during query
[notice] db reconnect successful
[error] DBI Error: 2013: Lost connection to MySQL server during query
[notice] child pid 31419 exit signal Segmentation fault (11)

うちの Apache は worker なので、そのせいかと思い、いったん prefork で再コンパイルしようかと考えました。でも面倒くさい。というわけで ThreadsPerChild を 1 に変更。擬似 prefork 環境を作って試してみました。
結果は・・・、ちゃんと動く。なんだかなぁ。メモリ節約のために worker で動かしてるんだけど、悲しい。今のところ mod_log_sql は使えないっす。そのうち mod_dbd との連携もされそうなので、worker の場合はそれ待ちかも。

a.k.a.とは

“「also known as」の略。日本語に訳すと「~としても知られる」「またの名を」「別名」。”

a.k.a.とは – はてなキーワード
カーネルのコンパイルオプションをいじっていると、”aka” という表現が出てきました。なんだろなー、と思って調べてみると、”also known as” の略なんですね。
そういや、宇多田の歌で A.S.A.P. ってあったなぁ。

acctailでリソース監査

“Acctail shows resource usage of processes that have exited. E.g. cpu-time, memory usage, I/O, etc.”

acctail
Linux カーネルのコンパイルオプションを見てて “BSD Process Accounting” というのがあったので調べてみた。
プロセスアカウンティングの機能を利用するには GNU の acct パッケージを入れればオッケーです。そいで accton てコマンドを使ってみた。なんだかデータは出てきてるみたいですが、バイナリなのでわけがわからない。
そこで acctail の登場です。これを実行すると、システム上のプロセスが終了したときに使用した CPU 時間、メモリ、I/O などのリソース使用量を出力してくれます。
これ、面白いなぁ。

痩せると早死する?

“BMI25以上を肥満としたのは、循環器内科や糖尿病の医師たちが中心の日本肥満学会ですが、このときのサンプルは30~50代で、高齢世代は対象外。男性で胴囲85センチ以上をメタボとするという“基準”を主導したのも同学会です。見方を変えれば、やせ形は精神医学から見ればウツ病になりやすいとか、がんの抵抗力でもやせ形は太っている人に比べて弱いという重要なことがあるのに、全部かやの外なのです。”

ニューストップ トピックス 政治・社会 メタボリックシンドローム ちょいデブの方が長生きする!? – Infoseek ニュース – Infoseek ニュース
やや痩せよりはやや太りの方がいいらしい。でもメタボが容認されたわけではないので、ご注意を。60~70 才ぐらいになると、肥満のチョイ上、チョイ下が一番長生きするってことです。
メタボリックシンドロームの基準は、胴囲が男性85cm以上、女性90cm以上とされています。なのでメタボと体重は直接関係してないんですね。
たぶん長生きしてる人たちは、しっかり食べてそこそこ運動してる健康な人なんでしょう。年を取ると体重って増えていきますもんね。そこは仕方がないんだと思う。
精神医学的には痩せ型の人の方がウツ病になりやすいってのも気になる。まぁ、逆にウツな感じの方が痩せそうですよね。癌の抵抗力にも関係してくるそうです。
何はともあれ、陽気に生きるのが長生きの秘訣かも。

PHPでOpenCVを利用した顔認識のバインディング

“もっぱら C から制御していた OpenCV ですが、PHP の拡張機能(バインディング?)として OpenCV を制御する関数を書いてくださっている方がいました”

PHP から OpenCV を使ってみました (ラボブログ)
PHP の OpenCV バインディングで、オフィシャルなものは見当たりません。が、勝手に作って勝手に公開している人がいるので、いただいてやってみました。
手順的には
1. XML から pecl-gen で pecl 拡張を作る
pecl-gen てのはこれです。

“Tool to generate PECL extensions from an XML description”

PEAR :: Package :: CodeGen_PECL
pecl-gen を動かすためには PHP に ctype とか tokenizer のサポートが入ってないとダメです。二回も入れなおしちゃった。Gentoo は最低限のバイナリを作れるのがいいけど、こういう時は面倒ね。
2. phpize、コンパイル、インストール
libgtk とか必要でした。ソースから入れてたのがオプション少なかったのかと思い、Portage から入れました。あれもこれもと USE フラグつけてたらコンパイルに時間がかかっちゃった。
3. php.ini に extension ディレクティブを書いて読み込ませる
dl() で読み込ませてもいいかも。
まぁ、そんな感じでテストのフォームを作ってみました。
顔認識テスト

家業は大事にしろ

“与謝野馨経財相は同日午前、同社の経営破綻に関し、「高コストの本業を高利回りの有価証券運用で補てんする特異な収益構造が主因であり、他の保険会社とは状況が異なる」との談話を発表。”

大和生命が経営破綻 負債総額2695億円、金融危機で損失拡大
中堅生保の大和生命が経営破綻だそうです。生保とは言っても、実情は証券運用だったようですが。
白木屋だかの便所に親父の小言が書いてあったなぁ。「家業は大事にしろ」。生命保険会社なんだから、生命保険で稼がなきゃ。
親父は偉大だ。