2009-03-01から1ヶ月間の記事一覧

FormValidator::Lite一行パッチ

--- Lite.pm 2009-03-30 17:48:49.000000000 +0900 +++ Lite.pm.new 2009-03-30 17:48:21.000000000 +0900 @@ -42,7 +42,7 @@ for my $rule (@$rules) { my $rule_name = ref $rule ? shift(@$rule) : $rule; my $is_ok = do { - if ((not defined $_) && $r…

git svn rebaseで失敗しても

git

ローカルのリポジトリが正しいのであれば、git rebase --skipすればいいのか。 というオレオレメモ。

ThinkPad x61にJaunty(Ubuntu 9.04β)入れてみたお

経験的に、Ubuntuのベータ版はほとんど使える出来なので、入れてみたらあっさり。awnまわりがちょっと怪しいくらいか。 あと、iBusという新しいインプットメソッドが入ってるのも見つけ、scimからこっちにスイッチしてみた(これもそれで書いてる)。調べて…

今日で入社丸2年

去年→そういや明日で - taiyoh独言 一昨年は略。 あまり抱負はないけど、去年とか、文章の出だしが「そういえば」とかばっかりだったので、そのあたりを結構意識してみたら、あまり言わないようになった。 因みにこの1年の個人的なテーマは「ジャンプ」です…

FV::Liteでvalidメソッドとinvalidメソッドを書いてみると

多分こうなる sub valid { my ( $self, $key ) = @_; return !$self->has_error unless $key; return $self->{_error}->{$key} ? '' : $self->{_q}->param($key); } sub invalid { my ( $self, $key, $rule ) = @_; return $self->has_error unless $key; my…

C::M::FV::Liteを色々fix

最初はFormValidator::Liteのパッチを書こうとしていたものの、$c->model('Validator', [%rules])な書き方をした時、リクエストの度にルールが無駄に追加されていくという状態になってたので、パースしたデータを呼び出すときは、cloneしてルールのオブジェ…

CatalystでFormValidator::Liteを使ってみたかったので

やってしまいました。 →GitHub - taiyoh/catalyst-model-formvalidator-lite: I want to use FV::Lite in Catalyst Catalyst::Model::Data::Localizeの動きを意識して、PluginではなくModelで動かすようにして、あとはリクエストごとにインスタンスを生成す…

YAML::XS VS. YAML::Syck

ググってみたら意外となかった。というか、既に過去の話題すぎるだけかもしれないけど。 まずはベンチマーク。(単にベンチマークスクリプトの練習台という意見もある) #!/usr/bin/env perl use strict; use warnings; use utf8; use Benchmark qw/:all/;; …

DBIx::MoCoを触ってきてわかったこと

DBIx::MoCoの本質は、key-value型のキャッシュ。

Apache -> lighttpdな環境下でwordpressを使いたい場合

PHPだとHTTP_HOSTやSERVER_NAMEがApache側のmod_proxy設定時の値になってしまうので、lighttpd側で setenv.add-environment = ( "HTTP_HOST" => "example.com", "SERVER_NAME" => "example.com" ) とかやってあげると、proxy先のPHPでもちゃんとHTTP_HOSTやS…

DBIx::MoCoのhas_manyリレーション

結果オブジェクトがexpireなしでキャッシュされるのか…。ちょっとハマった。 回避策としては、リレーションテーブルにアクセスする際はflush_has_many_keysメソッドでキャッシュを消すことだけど、リレーション設定の時、 cache => 'nocache' # or number fo…

Geo::Coder::Googleを逆ジオコーディングに対応させる

リクエストパラメータを切り替えるだけでよかったので、簡単でした! { package Geo::Coder::Google; { no warnings 'redefine'; sub geocode { my $self = shift; my %param; if ( @_ % 2 == 0 ) { %param = @_; } else { $param{location} = shift; } my @…

Catalyst::Authentication::Store::MoCo fixed

→GitHub - taiyoh/catalyst-authentication-store-moco: based on Catalyst: :Class 今更気づいたんだけど、MoCoだとmany-to-manyって一発でいかない…? 代替策として、has_manyの2段構成で対処。 具体的には、 http://cpansearch.perl.org/src/JAYK/Cataly…

MoCoのキャッシュって

行オブジェクトの保存がメイン?個人的にはsearchして結果をDBIx::MoCo::Listのオブジェクトでくるんだ時にもキャッシュしてほしいな、と思ってたんだけど。 ただ、その辺は、こちら側で明示的にキャッシュしてあげた方がアプリケーション的には動作が理解し…

DBIx::MoCo::Fixtureのdelete_all関数って

sub delete_all { my $model = shift; my $table = $model->table; my $db = $model->db_object; if ( $db->vendor eq 'SQLite' ) { $db->execute("DELETE FROM ${table}"); } else { $db->execute("TRUNCATE ${table}"); } } これじゃあダメなのかなぁ…。

CatalystでもDBIx::MoCoで認証できるようになりました(但し一部未対応)

→承前:CatalystとDBICの蜜月 - taiyoh独言 →結果:GitHub - taiyoh/catalyst-authentication-store-moco: based on Catalyst: :Class at your own risk!>< 誰も使わないよ、というツッコミはさておき。 MoCo好きが高じてこんなことをやってみました。 ド…