Practice of Programming

プログラム とか Linuxとかの話題

2012-01-01から1年間の記事一覧

Teng::Plugin::SearchBySQLAbstractMore 0.10 と 0.11 をリリース

https://metacpan.org/module/Teng::Plugin::SearchBySQLAbstractMore0.10 は先日ご報告をうけた、search_by_sql_abstract_more メソッドの挙動が、search と違うよっていうバグの修正です(ちなみに、僕はこのバグに依存したコードを書いちゃってたので、修…

Teng::Plugin::SearchBySQLAbstractMore 0.09 リリース

https://metacpan.org/module/Teng::Plugin::SearchBySQLAbstractMore 変更点は、create_sql_by_sql_abstract_more ていうのを生やしたのと、Teng::Plugin::SearchBySQLAbstractMore::Pager::Countの改良。 create_sql_by_sql_abstract_more は、そのまま、T…

spork で作ったスライドをPDFにする

YAPC::Asiaお疲れ様でした! 牧さん、櫛井さん、スピーカーの皆様、来場者の方々、ありがとうございました。 今回は、スタッフとしてRoom 1(中教室)にずっといましたが、仕事してたり、perldoc.jp がバグってるのを見つけたり(deltaが表示できてなかった orz…

ループ回数が多いときにDateTime使うのはやめよう

ボトルネックを探していたら、5000回くらいのループでDateTimeを使っている場面だったという話。 簡単な例として、1分追加する処理でベンチマークとってみた。 Benchmark: running datetime, timepiece for at least 3 CPU seconds... datetime: 3 wallclock…

YAML::XS 0.35未満のメモリリーク

DBに大きめのYAMLが保存してあって、それを読み取る処理があったのですが、メモリがどんどん増えていくなーと思ったら、以下のものでした。 http://blogs.perl.org/users/brian_d_foy/2011/03/fixing-yamlxss-memory-leak.htmlChangesでは、 - version: 0.35…

AEとQudoを組み合わせる

別に書くほどのことは無いのですが。QudoをAEとの組み合わせで使ったので、work メソッドの中身をAE::timer に渡すことにしました。 my $qudo = Qudo->new(...); $w = AE::timer 0, $qudo->{work_delay}, sub { my $manager = $qudo->manager; unless ($mana…

Text::Parts 0.13 リリース

Text::Parts 0.13会社の隣の人に、write_filesが完全にバグってると指摘されたので、直しましたorz テストでサイズだけチェックしてたんですが、まぁ、サイズ分書き出してるんだから、意味ないよね… md5_hexでファイル内容をチェックするように変更しました…

Text::Parts 0.09 リリース

Text::Parts2000くらいファイル分割しようと思ったら、"Too many open files"と言われてしまったので。 no_open オプションを使って、write_files を使うのであれば、特に問題は無かったかと思いますが、split メソッドを使って、自分で write_file を使うと…

Teng::Plusing::SearchBySQLAbstractMore 0.07リリース

Teng::Plusing::SearchBySQLAbstractMoreTeng内で用意されている_executeメソッドを使うようにしましたので、エラーメッセージが改善されています。 というか、普通のTengが出すエラーメッセージになりました。# なんで、素のexecuteを使うようにしちゃって…

IO::Pty::Easy が簡単・便利

ちょっと遊んでいたら見つけたのですが、これ簡単ですね。 use IO::Pty::Easy; my $pty = IO::Pty::Easy->new; $pty->spawn("mysql -u root"); while ($pty->is_active) { while (my $o = $pty->read(1)) { print $o; } if (my $sql = <>) { $pty->write($sq…

SQL の Query Builder についてのとりとめのない話

誰か、ココが嫌だよQuery Builder的なエントリを書いてくれないかな。 使いどころ 動的に条件を組み立てるところ(whereに与えるカラムが変わったりする) 使わなかったら、複雑な条件を動的に組み立てる場合は、sprintfでSQLを組み立てるみたいなことになって…

Teng::Plugin::SearchBySQLAbstractMore リリース

ケースによりますが、最近のプロジェクトだと、searchメソッドじゃ足りないことが多かった(50%くらい)ので、SQL::Abstract::Moreをクエリービルダーに使えるようにしました。 Teng::Plugin::SearchBySQLAbstractMoreリリースしたらblog書こうと思ってたら、…

Text::Parts 0.08 をリリース

先日リリースしました。 https://metacpan.org/module/Text::Partswrite_files の性能がちょい上がってます。それだけ。Text::Parts::Partオブジェクトを作るときに、file open & seek しているのですが、write_filesの場合は、頭からファイルをreadして書き…