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