Hatena::ブログ(Diary)

Hatena::Diary::Neko::kak 500 Internal Server Error このページをアンテナに追加 RSSフィード

2011-01-12 このエントリーを含むブックマーク このエントリーのブックマークコメント

2010-10-15

[]YAPC::Asia 2010

自分のトークの宣伝

http://blog.nekokak.org/show?guid=YoQmCv3X3xGA7lhooKD0CA

こっちをみてね。

2010-04-21

[]blog

最近はてながけっこう重いので

http://blog.nekokak.org/

こっちをベースにしようかなと思ったり思わなかったり。

まぁここのサーバVPSで重かったりするんですけど。

2010-04-20

[][]DBIx::Skinny::Cache

というのをつくりました。

http://github.com/nekokak/p5-dbix-skinny-cache

package Mock::Basic;
use DBIx::Skinny setup => +{
    dsn => 'dbi:SQLite:',
    username => '', 
    password => '', 
    connect_options => { AutoCommit => 1 },
};
use DBIx::Skinny::Mixin modules => ['Cache::Memory'];

# in your script:
use Mock::Basic;
# set data
Mock::Basic->memory_cache->param(foo => 'bar');
# get data
Mock::Basic->memory_cache->param('foo'); # get bar 
# delete data
Mock::Basic->memory_cache->delete('foo');
# get_callback
Mock::Basic->memory_cache->get_callback(
    foo => sub {
        # some process.....
        'return data for cache';
    }   
);

こんな感じで使います。


Skinnyはnewしてインスタンスを生成しなくても

直接クラスからメソッド呼び出しできるので、

インスタンスからのメソッド呼び出しなのか

クラスからのメソッド呼び出しなのかを

意識することなくデータをmemoryにキャッシュさせることがこれでできるようになります。


Cache::MemoryとしているのはCache::Memcachedとかを作ってもいいかなと思ったからですね。

作りたい人いませんかね?

[][]Re:DBIx::Skinnyのrowオブジェクトをnfeezeしようとすると死ぬ

http://d.hatena.ne.jp/hirafoo/20100418/1271572008

こちらに

DBIx::Skinnyのrowオブジェクトをnfeezeしようとすると死ぬ

という項目があるんですが。まぁ死にます。

死ぬ理由はnfreezeするオブジェクト内にcoderefがあるからです。


STORABLE_freezeとかを使ってfreezeすると気にHookして云々とかはできるんですが

DBICではそういうcomponentがあります)

そもそもStorable使うときってキャッシュするときかなと思い、

キャッシュするデータは必要最低限にするべきかなと思っています。


なのでhttp://d.hatena.ne.jp/nekokak/20090918/1253257691

ここでやってるようにrowのデータだけキャッシュするのがよいかと思っています。


まぁMixinでSTORABLE_freezeするやつをつくって云々はありだとは思います。

2010-04-13

[]Perlbal::Plugin::UrlGroupリリース

数年前に必要にかられて作って以来ずっとつかってきた

Perlbal::Plugin::UrlGroupを先程CPANにupしました。

そもそもPoundのurl_groupの機能をPerlbalで使いたいところから始まって、

リクエストuriをみてどのバックエンドにreverse_proxyするかを

設定でかけるようになっています。

まぁ最近だとnginxとかが流行ってるので、

今更Perlbalを使う人って少ないんでしょうね。

個人的には

nginxがreproxy-cacheを扱ってくれればPerlbalを使わない選択肢が出てくる気がしています。