tokuhirom's blog
All your base.pm are belongs to us
``` % perl -e '$HTML::Parser::VERSION; package MyApp; use base qw/HTML::Parser/; MyApp->new();' Can'
2010-12-03(Fri)
How do you trace your query with DBI
DBIx::QueryLog とかつかわなくても Callbacks を駆使すれば結構いけるよ!っていう話になった。いいね。 ``` use strict; use warnings; use DB
2010-12-01(Wed)
それ Proc::Guard 0.04 でできるよっていう話
[ Proc::Guard をつかってこういう風にするのはどうか。$worker\_guard ってのが Scope::Guard あるいは AnyEvent の guard みたいなかんじになって
2010-11-30(Tue)
switching with for idiom
``` for ($foo) { return 1 if $_ == 1; return 2 if $_ == 2; return $_; } ```
2010-11-30(Tue)
Write DBIx::Skinny's schema file from DB with DBIx::Inspector
``` #!/usr/bin/perl use strict; use warnings; use utf8; use Text::MicroTemplate qw/render_mt/; use
2010-11-30(Tue)
DBIx::Inspector 0.01 released の話
[ これ、英語でしか書いてなかったので日本語でダラダラ解説しておこうとおもいます。 これつくろうとおもった発端は、最近わたくし、DBIx::Yakinny っていう DBIx::Skinny っ
2010-11-28(Sun)
SQL::Builder をつくっているというはなし
SQL::Abstract がなんともつかいにくいとか、DBIC にひきづられすぎているとかいう話があるんで、Data::ObjectDriver をベースにつくられた DBIx::Skinny::S
2010-11-28(Sun)
JPerl Advent Calendar 2010
Japanese Perl Advent Calendar 2010 aka. JPerl Advent Calendar 2010 is ready to run!!! In this year,
2010-11-28(Sun)
DBIx::Inspector - introspection for DBI
``` use DBIx::Inspector; my $dbh = DBI->connect(...) or die; my $inspector = DBIx::Inspector->new(d
2010-11-27(Sat)
Encode::encode で変換できない文字を 〓 にする
``` use utf8; use Encode; my $geta = Encode::encode($encoding, '〓'); Encode::encode($encoding, $str
2010-11-26(Fri)
大概のテンプレートファイルを別ファイルにしたほうがいい理由
conflict デザイナーに発注しやすくなるってのが最大の理由で。 あと、VCS で conflict する可能性をできるかぎりへらしたいというのもある。
2010-11-26(Fri)
Amon2 の構成
今、こうなっている。 基本的には魔法をつかわず、pluggableで minimalistic というところで、現状のものであんま不満はないのだが、つかってるモジュールをちょっとかえるかも。具体的に
2010-11-25(Thu)
Jonk をいろいろかえてもらったの件
[ ぱっとみで気になったところをいくつか指摘してなおしてもらいました。コードは10文字ぐらいしかかいていない。 だいぶシンプルなので、TheSchwartz や Qudo よりはこっちのほうがすき
2010-11-24(Wed)
海外からの contributor をえるの法
* 英語で commit log をかく * 日本語の pod を書かない(日本語の ja.pod とかが充実してると、ひいてしまう) * 英語で blog をかく * pull request とか
2010-11-24(Wed)
Imager::Probe が ubuntu hardy とかでうごかないからパッチおくった件
[ 要は、pkg-config libpng --cflags の結果をまんま $opt{INC} にいれてるから、-D がかえってきたときにしぬので、とりのぞうようにしたというおはなし。
2010-11-22(Mon)
urandom streaming on twiggy
``` use strict; use warnings; use autodie; sub { open my $fh, '<', '/dev/urandom'; sub {
2010-11-22(Mon)
natatime on Xslate
``` #!/usr/bin/perl use strict; use warnings; use utf8; use Text::Xslate; my $tmpl = <<'...'; <tabl
2010-11-22(Mon)
apply BLOCK LIST じゃない方法
List::MoreUtils::apply のドキュメントによれば ``` my @a = apply { $_ * 2 } @b; ``` は ``` for (my @a = @b) {
2010-11-22(Mon)
File::Stampedかいた
[ Log::Dispatch::File::Stamped みたいよしなにタイムスタンプがついてるファイル名でファイルをつくるの人です。 ``` use File::Stamped; my $f
2010-11-19(Fri)
PHP5 __destruct() and unserialize() function
[ このへんみておもったこと。 unserialize() 関数はオブジェクトの unserialize もできるのだが、5 以後では \_\_destruct() が導入されているので、その
2010-11-18(Thu)
first impression of Moo.pm
* construct from reusable modules. * THIS IS GOOD. * no built-in TypeConstraints * no Role composi
2010-11-17(Wed)
開発時にslave用のdbhにかいたのを検出する方法
``` GRANT SELECT ON *.* TO slave@localhost IDENTIFIED BY ''; ``` とかしておいて、つなぎにいけばいいということにした。
2010-11-17(Wed)
iTerm2++ という話
[ iTerm といえば Terminal.app がバギーだから遅いけど我慢してつかうものというイメージだったのだが、最近はよくなったらしいと [id:nekokak]( がいうのでためしてみてる
2010-11-17(Wed)
OrePAN - yet another DarkPAN manager
[ This is yet another DarkPAN manager. It is highly depended for cpanm. I don't think about relat
2010-11-17(Wed)
帰ってきた Python Workshop 2010/12 に参加します。
[ Python 系のイベントにでるのは久々ですね。昔は Python のイベントで登壇してたりもしていた私ですが、最近はすっかり「Perl のスパイだ!」と後ろ指をさされがちですね。 今回は P
2010-11-16(Tue)
Net::INET6Glue
[ hmm... This looks just a monkey patch project. It is very dirty, but works. This module does not
2010-11-16(Tue)
Q4M + Parallel::Prefork + Signal handling + Log::Minimal
conditions precedent: * use daemontools & multilog Points: * make DB connection after fork * do n
2010-11-16(Tue)
How do you get the return value of "if" statement in Perl5?
[ just fucking do { } it. ``` use 5.10.1; my $year = 2010; my $month = 11; my $nendo = do {
2010-11-15(Mon)
apply some operation to complex data structure in perl
use Data::Rmap! ``` use Data::Rmap ':all'; use HTML::Entities qw/encode_entities_numeric/; my $foo
2010-11-15(Mon)
Perl5 で半角カタカナにマッチする正規表現を簡単にかく方法について
> にしても、こちらのサイトでも言われていますが、なぜ半角カナ専用のUnicodeブロックがないのかと小一時間(ry [ [ ということで、 ``` sub InHankakuKatakan
2010-11-10(Wed)
Plack::Middleware::StackTrace and rethrow
Plack::Middleware::StackTrace displays last exception information since the code is: ``` my $tr
2010-11-09(Tue)
Yet another parameter validator interface for Perl5
I'm using Smart::Args these days, but some people say "Smart::Args is too smart.". I suggest yet an
2010-11-08(Mon)
Switched to Teleport from SynergyKM
[ Teleport is awesome tool to share keyboard & mouse between two macs. The good points of Teleport
2010-11-08(Mon)
DBIx::Skinny's trigger strategy
``` my $row = $db->insert($args); pre_insert: ($db, $args, $table_name) post_insert: ($db,
2010-11-05(Fri)
use mysql syntax
``` autocmd BufRead *.sql set filetype=mysql ``` Vim7 applies oracle sql syntax by default. But you
2010-11-05(Fri)
Email::Sender::Simple のつかいかたとか
``` use Email::Sender::Simple qw/sendmail/; sendmail(@args); ``` is same as ``` use Email::Sender:
2010-11-04(Thu)
HTTP/1.1 における Keep-Alive と HEAD の関係性について
HTTP/1.1 においては、HEAD リクエストの場合には **Message Body を送信してはならない**ということにはなっているのですが、現実的には、Message Body をおくりかえ
2010-10-25(Mon)
SSL with Perl
I will use Net::SSL(in Crypt-SSLeay distribution) for Furl. ``` 17:41 tokuhirom: perl で ssl するときって
2010-10-21(Thu)
YAPC::Asia 2010 おつかれさまでした!
larry wall さん, obra さん, miyagawa さんという3人の豪華なメインスピーカー、東工大の綺麗で広い会場、そしてよい天気にめぐまれ、今年の YAPC も無事におわりましたね!
2010-10-18(Mon)
CPANにあげたくないPerlモジュールをgithub にアップしまくる方法
[ CPAN モジュールのアップロードは ShipIt をつかうと楽なことがしられていますが、CPAN にあげたくないモジュールなどのアップロード場所としては、リポジトリに github をつかって
2010-10-14(Thu)
WWW::Curl をつかうときに気をつけた方がいいこと
* HEAD をよぶときは CURLOPT\_NOBODY をつけないとささる * CURLOPT\_HEADERFUNCTION はとても遅いのでできるだけ curl\_getinfo() をつかう
2010-10-12(Tue)
Cache::KyotoTycoon released
[ KyotoTycoon の Perl 用クライアントライブラリをだしました。 * straight forward * simple * less dependencies * stabili
2010-10-12(Tue)
shipped HTML::Pictogram::MobileJp 0.01
[ ドコモ絵文字をテンプレにかいたら3キャリ分表示できるようにするためのライブラリ。とりあえず !emoji:1( による &#xXXXX; の2形式に対応している。3キャリで 3G ならちゃんとみ
2010-10-08(Fri)
Xslate + Email::Simple でメールを送信するの件
[ Xslate + Email::Simple で MIME::Lite::TT::Japanese っぽいあるいは MoFedge::Mailer っぽいやつがほしいなーとおもったので、つくった
2010-10-08(Fri)
PHP::Interperter
PHP5をPerl5からよべるということでためそうとしたが、うまくうごかなかった。 とりあえず aptitude install php5-cli php5-dev したのだが、コンパイルがとおらな
2010-09-29(Wed)
benchmarking XMLRPC::Lite vs. RPC::XML for server
benchmark script is: result is: #### conclusion RPC::XML is pretty fast.
2010-09-27(Mon)
2010年にXMLRPCをPerl5でつかう方法について考えた(XMLRPC on Plack)
以下のように RPC::XML をつかうとよい。 Following code is XMLRPC server snippet on Plack. This code uses RPC::XML
2010-09-27(Mon)
RPC::XML::Parser::LibXML 0.06 released
テストが最新の RPC::XML でこける問題を修正して shipped. 問題は RPC-XML-Parser-XS からもってきたテストケースが xmlrpc spec 的に invalid
2010-09-27(Mon)
HTML::Tree 4.0 での互換性のない変更だとおもったらバグだたのでパッチをおくったメモ
【追記 2010-09-27】 HTML::Tree にバグをみつけたので、パッチをおくりました、それがリリースされるまでの間は HTML::Tree 4.0 はつかわない方がいいです。 ---
2010-09-27(Mon)
HTTP::Cookies::w3m へのパッチ
[ まあこんなかんじで。
2010-09-21(Tue)
位置関係のCPAN modules
``` requires 'GIS::Distance::Lite'; requires 'HTML::MobileJp'; requires 'Geo::Coordinates::Converter
2010-09-21(Tue)
xslate と WAF の連携
* [ * [ * [ こんなところか。
2010-09-21(Tue)
Data::MessagePack 0.26 released
* bug fix(gfx, tokuhirom) * performance tuning(gfx) * PP support(makamaka) といったところがもろもろはいって 0.26 まで
2010-09-20(Mon)
MessagePack-RPC 2 IRC なゲートウェイをかいた
[ IRC にポストするスクリプトを書く場合に、常駐させないようにつくると JOIN/PART メッセージがいちいち表示されてうざいという問題がよく知られており、これにたいする対策として、常駐プロセ
2010-09-19(Sun)
DBIx::Skinny::Schema::Loader が Skinny とおなじ引数の形式をとれるようになった件
[ ``` my $c = MyApp->bootstrap(); print make_schema_at('MyApp::DB', {}, $c->config->{'DB'}); ``` み
2010-09-17(Fri)
Every XS authors should use Test::Valgrind
Test::Valgrind is a perl wrapper for valgrind(1). T::V helps to find invalid memory operation. You
2010-09-15(Wed)
threads::shared and Storable
threads::shared uses magic. But so, it is not restore after Storable::thaw. ``` use strict; use war
2010-09-12(Sun)
アバターのレンダリングとかにつかうライブラリについてなど
[ Perl5 において有名な画像処理ライブラリといえば GraphicsMaick, ImageMagick, Imager, Imlib2, GD あたりだとおもうのだが、はたしてアバターのレ
2010-09-12(Sun)
STATIC_INLINE の話
perl5.13.4 以後では STATIC\_INLINE というマクロが定義されるようになっており、これをつかうと便利だと gfx がいっていたので最近つかっていたりする。 で、互換性のためによ
2010-09-11(Sat)
HTML::MobileJp 0.07 released
Params::Validate のつかいかたがまちがってて parameter の validation がきいてなかったんでなおしました。
2010-09-10(Fri)
Prev
Next