2009-01-01から1年間の記事一覧

osxからXのssh portforwardで立ち上げたlinuxアプリで日本語入力

時間がないのでメモ書き。先ずはosx側。 X11.appおよびmacuimのとりあえず最新版を入れておく。uim-toolbar-gtkのために、ports経由でgtk2もインストールする必要があるかも。 http://macgaiden.nekoget.com/index.php?mac-uim-jp#m1a310bb 割とここにそって…

Ubuntuの/etc/pam.d/common-auth再考

折角ThinkPad x61を使っているのでthinkfingerでの認証を有効にしてみた記録。 実は以前からもちょくちょくやってはいたが、これを有効にすると、指紋認証ができるようになる半面、今までのパスワード入力形式の認証ができなくなり、とても不満があった。 今…

[perl]Algorithm::Bayonなぞ作ってみた

お久しぶりです。色んなものを作りかけたまま放置してしまってすいません>< ぼちぼち収拾していきますので。 そう言いつつ、またなんか作ってしまったのですが。 不肖私、mixiの方が作った"bayon"というクラスタリングツールを今更になって触ってみたとこ…

Mouse::Roleでちょっと途方に暮れてること

バグかどうかも分からないので、つらつらと記録。 #!/usr/bin/env perl use strict; use warnings; use Test::More tests => 2; do { package Hoge; sub new { my $pkg = shift; my $arg = @_ > 1 ? +{@_} : $_[0]; bless $arg, $pkg; } package Parent; use…

MouseX::ClassAttribute作ったよ!建設予定地

とりあえずは動いたものの、テスト落ちまくってるのでもう一度実装を考え直してるナウ、という感じです。

Test::DummyGeneratorの現行バージョン

主にルール周りを色々変更してます。 $_は$_のまま コールバックを設定してない値でもevalして$_を評価 String::Randomを黙らせる(localで$SIG{__WARN__}を弄ってます) add_rule関数を設けて、どこからでも追加できるように ルールの複数追加に対応 多分、ル…

Test::DummyGenerator fixed

昨日時間があったので、色々整理しました。 ただ、ちゃんと使おうと思ったのですが、色々難があることに自分で気づいてしまったので、どうすんべ、と。 とりあえず、コンセプトリリースと割り切って、今はあまり速度とか気にせずに(evalしまくったとしても…

ライブやります

来る5月10日、平塚市民センター大ホールにて、湘南ジャズフェスティバルの一環で、所属しているGroovy Wave Jazz Orchestraが出演します。 2番目なので、13:30過ぎにはステージが始まると思います。ご興味のある方はおいでくださいませ。 (パンフ)http:/…

ダミーデータを自動生成したい!プロジェクト

先日のエントリから更に掘り下げて、ダミーデータをある程度自動的に生成できれば、手間がもっと減るのではないかと考えた。 結果→GitHub - taiyoh/test-dummygenerator: for people who are lazy not to want to create many many test data... ハッシュリ…

Fixture系モジュールはコールバックで値を入れられる方がいい

例えば日付に絡むテストをしたい時、ダミーデータとしてハードコードしてしまうと、後々、データが古いというだけでテストがコケるという可能性が出てくる。 まあ、可能性というか、実際今僕のところで起きたんだけどさ。 もうちょっと具体例を挙げると、週…

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好きが高じてこんなことをやってみました。 ド…

CatalystとDBICの蜜月

ようは、一番問題なのは認証周りだよなぁ…。 依存具合とBK具合が凄まじすぎる。 そこさえなんとかなれば、Catalystでも簡単にMoCo使えるのに(MoCo厨なので)。 (追記) めっちゃ嘘ついてた。Catalyst::Authentication::Store::*があるじゃん。

Test::Fixture::DBIC::Schema

DB周りのロジックテストをしたくて導入してみたのですが、リレーションがらみでcreate_relatedメソッドなんかを使ってると、create時にコケてしまうので、 --- Schema.pm 2008-05-10 14:39:59.000000000 +0900 +++ Schema.pm.new 2009-02-27 16:28:24.000000…

Data::Localize

→http://mt.endeworks.jp/d-6/2009/02/culmination-of-i18n.html ちょうど今作成中のアプリケーションでC::P::I18Nを使ってたので、試してみました。嘘つきました。テストしかしてないです>< (id:lestrratさん、ありがとうございます!) [taiyoh@taiyoh-…

IO::Lambda::Socket::TCPServerとPOE::Component::Server::TCPとのベンチ

承前→POE::Component::Server::TCPとIO::Lambda::Socket::TCPServerのちょっとしたベンチ - taiyoh独言 これは自分でも流石にアレだと思ってたので、いい機会と思ってBenchmarkも少し覚えました。 ベンチマーク自体のイテレーションは1回しかしてないけど、…