tokuhirom's blog
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)
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)
Prev
Next