tokuhirom's blog
最近は local::lib を直接つかわないでもいきていけるという話
```bash wget --no-check-certificate perl cpanm -l extlib My::Favorite::Module ``` ってやれば、extlib/ に
2011-02-01(Tue)
OAuth::Lite::Consumer をつかったアプリケーションのデバッグについて
``` use OAuth::Lite::Consumer; use Log::Minimal; my $client = OAuth::Lite::Consumer->new(...); my $
2011-01-31(Mon)
Amon2 2.13 でた
[ perl 5.10 以後でどうにゅうされた "//=" をなぜか script/amon2-setup.pl でつかってたのを修正した。 【追記】 dor ってかくと、結局うせた dor
2011-01-28(Fri)
perldoc.jp の perl 本体のドキュメントをみやすく表示するサイトできたよー
[ [ perldoc.jp はいかんせん、みるのがめんどくさいという難点があったので、もうちょいみやすく表示できるサイトをつくってみた。 公式ドキュメントのみに特化しています。perldo
2011-01-27(Thu)
Moxy 0.60 だした
[ なんかながらく releng してなかったということで、HEAD と二年分の乖離をみせていたので、いったんだした。 * iframe 化 * basic auth うざいからやめる → lo
2011-01-26(Wed)
iPhone とか android と HTTP::MobileAgent の関係について
なんかこんなかんじ。 ``` zigorou has joined (~zigorou@122x220x64x254.ap122.ftth.ucom.ne.jp) yappo38 そうそうHMAでi
2011-01-24(Mon)
multipart/mixed と PSGI とか Perl とか
HTTP Server から複数のファイルを一回のレスポンスでかえしたいときは multipart/mixed をつかうのが普通だとおもうのだけれど、それを Perl でやるにはどうしたらいいかという
2011-01-21(Fri)
あたらしい O/R Mapper の Teng でたよ
[ ActiveRecord 型の O/R Mapper であるところの DBIx::Skinny の後継です。 より RDBMS をリスペクトするようになった点、コードがよみやすくなった点が特徴
2011-01-18(Tue)
PSGI 対応のサーバーの使い分けについて
最近は、わたくしは以下のようにつかいわけております。 開発時には HTTP::Server::PSGI を使います。スタンドアロンでうごいて楽なので。本番では Starlet か Starman を
2011-01-18(Tue)
Imager 0.78〜0.79 で GIF のエンコードが異常におそい件
[ Imager 0.78 以後で、なぜか gif の圧縮がおそいのではないかということを [id:clouder]( さんにおしえていただいたので、ベンチマークをとって、本家に feedback
2011-01-14(Fri)
Redis の sorted set にかんするメモ
ほんとにチラ裏ですが。 [ をみてて、なんで redis の ZRANK はやいのかなーとおもって、しらべたののメモです。 skip list については、[ このへんがわかりいいとおもいました
2011-01-14(Fri)
わたし、諦めない! - Sub::Retry
DB に接続失敗したばあいに数秒後にリトライしてほしいとか、 API なげるのに失敗したときにリトライしてほしいとか、そういう処理を楽にかけるモジュールつくった。 以下のようにしてつかう。 ```
2011-01-13(Thu)
QRCode をどのフォーマットでだすのがいの?という話
[ ちょっと遅レスですが、プロファイラにかけてみると、実際には gif に encode するところで時間をちょうくってるということがわかった。 なんでだろう。Imager がおそいのか、減色処
2011-01-13(Thu)
GNU globals でソースを読む
vim とか emacs からよんでもいいのだが、めんどいので GNU globals で HTML を生成した。 ``` brew install global gtags -v htags op
2011-01-12(Wed)
Imlib2 に、オンメモリ保存機能をつけたいという話
という話をよく聞くのだが、対応させるためには、src/modules/loaders/loader\_\*.c に、オンメモリに保存する機能をつけて云々すればよさそう。というか、各フォーマットごとのエ
2011-01-12(Wed)
libkyototycoon をつかって 5分で C++ で RPC サーバーを書く方法
ちょっとした RPC サーバーを C/C++ でかきたいな、なんてケースはままあるわけですが、そんなときに便利なライブラリがあったので紹介します。 KyotoTycoon をつかうと、TSVRPC
2011-01-12(Wed)
Text::Darts が OSX でうごかなかったのでなおした。
[ OSX では IVSIZE != sizeof(int) なのでうごかないのでなおしました。 リリース希望>[id:dankogai](
2011-01-11(Tue)
FrePAN のスコアリングをチューニングした話
現時点で、search.cpan.org よりも、検索精度よくなったとおもいます。つまりこれは「俺がのぞむ検索結果」にちかい結果をだしてくれてる気がするという程度の意味ですが。 基本の検索エンジンに
2011-01-09(Sun)
XS::Object::Magic をつかって Magic なオブジェクトをあつかうの法
マルチスレッドで云々とかかんがえないでよいケースでは、XS::Object::Magic をつかうと楽にできる。 xs/typemap というファイルに以下の内容をコピペする。 ``` TYPEM
2011-01-05(Wed)
How to configure xs module depended on external library using pkg-config
If you want to write XS module, depended on external library using pkg-config, you just write like f
2011-01-04(Tue)
Catalyst::View::JSON から opera 用の workaround がとりのぞかれてた
[ [ だそうで。
2011-01-03(Mon)
新春連載企画: O/R Mapper についてかんがえてみた その1
あけましておめでとうございます。正月早々、O/R Mapper についてかんがえてみたことについて、ちょっとだけかいてみます。 #### O/R Mapper は RDBMS の差異をうめるためのも
2011-01-03(Mon)
pod を表示するためのウェブアプリを列挙してくスレ
#### インストール済のpodを表示する系 ##### Pod::Webserver Pod::Simple を使用。httpd はなんと自前実装。 ##### Pod::POM::Web
2011-01-02(Sun)
自分用 homebrew もどきをかきなおした
[ homebrew みてたら、こういう風にかけたほうがらくだわーとおもったので、かきなおした。簡単につかえるので、真似してつかってみてもいいかもしれない。
2010-12-31(Fri)
2010年の総括
なんだかんだでいろいろやりました。 #### 現在のPCなどの環境 * mac mini(仕事用) * macbook air(もちはこび及び家用) * SC440(サーバー) SC440はパー
2010-12-31(Fri)
Yet another CPAN search powered by groonga
[ FrePAN に incremental search を追加した。groonga を採用しており、非常に高速な検索が可能。スコアリングもそれなりに考えて実装してあるので、ぼちぼちいいかんじの結
2010-12-30(Thu)
use local::lib 'extlib'; のかわりにつかえる snippet
``` use File::Spec; use lib 'lib', File::Spec->catdir(qw/extlib lib perl5/); ``` 【追記】 実は archname
2010-12-29(Wed)
added 'args_pos' function on Smart::Args
Hi, I added the new 'args\_pos' function on Smarts::Args. It's very similar with 'validate\_pos' fun
2010-12-28(Tue)
HTMLにふくまれるrelative URLをabsolute URLにかきかえる簡単な方法
[ HTML::ResolveLink をつかうと簡単ですね。 ``` #!/usr/bin/perl use strict; use warnings; use utf8; use HTML::
2010-12-28(Tue)
Perl 以外の言語でかかれたTCPサーバーをTest::TCPでテストする
Test::TCP の中で exec 発行すれば、groonga だろうと KT だろうと memcached だろうと、サーバープロセスのテストは簡単にできるのであって、サーバーごとにモジュールにす
2010-12-17(Fri)
web application 開発における git のブランチ運用ルール
俺は普段こういう運用でやっているが、君はどうか。 社内の trac にドキュメントをかいたので、コピペしておく。git についてはカジュアルにつかってるだけなので、もっとこうしたほうがいいんじゃねえ
2010-12-15(Wed)
How do you manage triggers in RDBMS.
RDBMSレベルのtriggerはアプリケーションレベルのトリガーにくらべてもれもなく、安心感があってよいものですね。 しかし一方で、RDBMS レベルのtriggerは、deploy がむずかし
2010-12-14(Tue)
Ubuntu hardy に Imager::PNG がはいらなくてはまる件
前にレポートしたやつ。Imager-0.79 でなおってた。 ``` - parse defines from the options returned by pkg-config --cflag
2010-12-12(Sun)
DBI と SAVEPOINT
[ [ SAVEPOINT 関連は SQL 2003 できまってるし、DBI レベルではサポートしなてもいいよね!っていう話みたい。 ただし、DBIx::Connector をみると MSSQ
2010-12-10(Fri)
Active Record パターンで single table inheritance できないというのは誤り
[ Active Record パターンでは Single Table Inheritance パターンがつかえないというのは誤りです。件の記事にかいてある Active Record だからー、っ
2010-12-10(Fri)
SASS とか HAML とか、ましてや DBIC と学習コストのはなし
結局、がんばってそれの作法をおぼえても、それのブームがさった後にまったく役にたたない知識なので、そういうのを覚えるぐらいなら、ベーシックな技術の修得に時間をさくべきではないか、とおもった。
2010-12-09(Thu)
Perl で拡張可能なモジュールをかくときに s/^\+// ? $_ : __PACKAGE__ . '::Plugin::$_' とした方がいい理由
Data::Validator のコードの中にこんなのがあった。 ``` sub with { my($self, @roles) = @_; foreach my $role(@r
2010-12-09(Thu)
Shibuya.pm Tech Talk
[ Slide is here.
2010-12-09(Thu)
Python のいいところ/わるいところ
PyJUG のイベントのパネルによばれたので話してきた。事前にかんがえておいたメモを以下にコピペしておきますね。 ``` いけてるところ - indent acme - pep - method の
2010-12-09(Thu)
AUTOLOAD vs tie in hash key validation
code ``` #!/usr/bin/perl use strict; use warnings; use utf8; use Benchmark ':all'; { packa
2010-12-06(Mon)
Class::Accessor::Fast とかの継承の罠
``` package Parent; use parent qw/Class::Accessor::Fast/; ``` な Parent クラスがある場合に、これを継承したクラス Child を
2010-12-06(Mon)
DBD::Sponge
``` my $sponge = DBI−>connect("dbi:Sponge:","","",{ RaiseError => 1 }); my $sth =
2010-12-04(Sat)
Class::Accessor::Lite に mk_(ro|wo)_accessor がほしいようという話
[ まあ、ほとんどつかわないけどたまにほしくなるので、というか今ほしかったのでパッチをかいておくった。
2010-12-03(Fri)
Minimalistic Approach for O/R Mappers
O/R Mapper とかって結局つくってるアプリの正確とか、ユーザーの好みによって必要な機能とかがちがうわけです。あるいはつかってる DB サーバーによって、とか。 まあ、そういうことがあるので、
2010-12-03(Fri)
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)
Prev
Next