技術メモ

いやなバグ

http://bugs.mysql.com/bug.php?id=14037 (IN BOOLEAN MODEじゃなくても再現します)IN BOOLEAN MODEを使わずに、 MATCH() AGAINST()を組み合わせて使うような 設計にしていたらハマった。すなおにIN BOOLEAN MODEを使うべきかしらね。

Perlでの数値の最大値

Perlの数値の最大値がよくわからん。 整数はintegerもしくは文字列形式でいくらでも、 浮動小数点数はどうなんだろう。use bignumをしたらスカラー値じゃない!っていっぱい怒られるしなあ。 かといって、bignumで使っているモジュール群をいちいち指定する…

CDB_Fileなんですが

CDB_Fileを使ってPgでカーソルでfreezeでbzip2のcompressで… というのをやっていたら、3.5GくらいでOut Of Memoryした。 オンメモリでやってるのかいな!!!で、CPAN先生に泣きついたところ、 CDB_File::Generatorっつーものがあるらしくてですね、ダンナ。 Th…

Xangoの新バージョン

早速新バージョン(rev.94)に入れ替えてみた。旧バージョンとの入れ替えのポイントは… Xango::BrokerをXango::Broker::Pullに retrieve_jobsで返すやつを、uriが入ったhashrefのarrayじゃなくて、 Xango::Job->new( uri => xxx, ...)で返ってきたののarrayに…

PerlでRACEエンコーディング

いるもの Unicode::String Convert::RACE Convert::Base32 エンコード $encoded_output = to_race(utf8($output)->utf16); デコード $decoded_input = utf16(from_race($input))->utf8; UTF-8フラグは適宜処理すること。

FusionChartsを日本語と共に使うときに気をつけるべきこと

FusionCharts http://www.infosoftglobal.com/FusionCharts/ は日本語通ります。ただし!!! 食わせるXMLはUTF-8で、BOM付き(UTF8BOMでも使う) パラメータとしてdataURLを与えるとき、 マニュアルどおりの&と?の変換だけでは、 一部のマルチバイト文字で化…

Hyper Estraier

Hyper Estraier、評価しなくちゃ・・・

DBIx::Cursor

DBIx::Cursorっていう汎用カーソル君が存在するみたい。 やほーい!!! さっそく試してみっか。 … 全部レコードとってきとるやないかい! カーソル風アクセスを実現するだけ、ってことやな。 結局Pgを入れた。

DBD::Pgめ!!!

カーソル使えないってどういうことやねん!!!!

MecabはChasenにとって変われるか

まあ、-jオプションが一番の問題なわけで。 http://www.namazu.org/pipermail/namazu-devel-ja/2005-September/000608.htmlchasenのマニュアルによると、 -j オプションについて 茶筌では通常,改行をもって一つの入力文字列の終了とする.そのため,文の途…

CabochaのPerl bindingでSEGV

でます。 Starting program: /usr/bin/perl test.pl [Thread debugging using libthread_db enabled] [New Thread 1076875392 (LWP 31414)]Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1076875392 (LWP 31414)] 0x4033ce16 …

Dartsクン

Dartsのコンパイルが止まっちゃう件について。 http://pcweb.mycom.co.jp/column/yetanother/045/ ふみゅ。

ビュービュー風が吹き荒れる。

例えば、 uid,date,textという3フィールドあるテーブルと、 uid,titleという2フィールドあるテーブルを、 uidで結合したビューを作るとしよう。 textにはfulltext indexがついている。ビューを使ってfulltext searchをするクエリに、 order by date descを…

でも…

blog判定ではじかれてしまった。Date Filterだな。 あとで見ておこう。

結局gdbセンセイにご足労願ったよ

実行ファイル版でも同じ設定ファイルを食わせると落ちる。 で、gdbセンセイの登場ってわけでさ。 #0 0x40056c7e in tmbstrncmp () from /usr/lib/libtidy-0.99.so.0 #1 0x4004c623 in DropSections () from /usr/lib/libtidy-0.99.so.0 #2 0x4004ca61 in Cle…

あぶないあぶない

油断していたら、 MySQLのあるMyISAMテーブルの容量が4G超えてた!…でもあっさり超えて正常稼動中。 SHOW TABLE STATUS LIKE 'html_data'; ってやってみると、 Max_data_length : 281474976710655 だそうで…(0xffffffffffff) これが64bitパワーでしょうか。 …

spaces.msn.com...

http://spaces.msn.comのblog解析に難儀中。 tidyがSEGVしてまーす。 設定ファイルを指定しなければtidyクンは死なないようです。 (warningもerrorも出るけど)xmlns:spaces、xmlns:msnなんてインポートしてる、 DTDもないのに。tidyのデバッグなんてしたく…

robots.txt

Xangoでいろいろやろうとするときには robots.txtを自前で処理しなきゃいけません。 POE::Component::Client::HTTPを派生していろいろやるのが一番かと思うけど、 Xangoから呼ばれるイベントの中で、 WWW::RobotUAを参考に(ほぼコピぺ)、 RobotRules::Any_…

sen_index_selとsen_index_select

MySQL bindingの中でも、sen_index_selectを使って 細かく制御したい欲が出てきた。ウズウズ。 いや、ここはガマンのしどころだガマンのしどころだ リリースまで時間がないことを忘れるな でもでも ああ あ

まとめ読みモードは危険!

SennaのMLで質問に返答した。 しかし、すでに解答が出ていたのだ。 まとめ読みモードなのを忘れていた… 恥ずかしい。しかも、まとめ読みモードだとスレッドもつながらず…ぐすん。 まとめ読みモードを解除したのは言うまでもなく。

DProf

新しい環境では、POEとDProfの相性が悪いらしく、 Segmentation Faultを起こしてしまう。 Devel::SmallProfも動かない。 さてどうしたものか。

MySQL 5.0.13-rc with senna(rev.50) compiled with gcc-3.4 On Debian-amd64(sarge)

うひひ。僕はチャレンジャーかもしれない。 今日届いたDual Core Opteron x 2(つまり論理CPUは4)のサーバにDebianを突っ込んだ。で、出たばっかのMySQL 5.0.13-rcにMySQL 5.0.12-beta用のsennaのパッチを当てる。 Hunk出たけど問題なさそう。 でビルドする…

入れてみる

やっぱSUSE Pro 9.3 for AMD64やめ。Linux側はDebianで統一しちゃおう。 で、Debian-amd64(sarge)。初心者なので http://debian.fam.cx/index.php?install#content_1_10 ここを見てインストールしようと思うが、 いきなりlinux26が通らない。 で、調べてみる…

さようならTidy

世の中にある小汚いHTMLを、 戸塚ヨットスクールばりに更生させてくれるTidyくんですが、 ちょっと複雑なHTMLを食わせただけでかなり時間がかかります。 それだけマトモな処理をしているということなんだろうけれども。で、僕の用途としては、 XML高校に編入…

ハイブリッドするする

いまさらながら、 MySQL5.0.12-betaとPostgreSQL 8.1betaを組み合わせて使いたくなってきた。 だが、用意されているDBサーバは1つ。 同じマシンに乗せてパフォーマンス上大丈夫なのかしら。で、検索かけてみても、 お互いの宗教論争っぽいのが多くて、 実際…

Tidyが遅い・・・

あ〜ん、Tidyクン遅いよ〜 どうにかならんかしら…

sprintfは速い

#!/usr/bin/perluse utf8; binmode STDIN => ":raw"; binmode STDOUT => ":raw"; binmode STDERR => ":raw";use Benchmark;Benchmark::timethese(300000, { 's_original' =>\&s_original, 's_new' => \&s_new, });sub s_original{ my $a = 'あれ'; my $b = '…

Perlで定数

Perlで定数を使いたい。 変更を不可にするんじゃなくて、パフォーマンスをアップするために。 で、 http://eureka.prits.jp/resources/developer/perl_memo.html によると、定数関数というのを用いるとインライン展開してくれるらしい。 で、それを自動でや…

Perl様には負けます

#!/usr/bin/perluse utf8; binmode STDIN => ":raw"; binmode STDOUT => ":raw"; binmode STDERR => ":raw";use Benchmark;Benchmark::timethese(150000, { 's_regex' =>\&s_regex, 's_substr' => \&s_substr, });sub s_regex{ my $a = 'オレオレ詐欺'; if($…

パフォーマンスアップ!

Perlソース中の正規表現の最適化をしています。 後方一致をsubstr使ってやったり、とか。詳説 正規表現を読んでいないのでアレですが、 すくなくとも文を前から読んでいく仮定のもとで 決定性オートマトンが容易に思いつかない正規表現は遅いような気がする…