2008-11-01から1ヶ月間の記事一覧

RailsライクなDispatcher - HTTP::Router

http://svn.coderepos.org/share/lang/perl/HTTP-Router/id:ikasam_aさんがRailsライクなDispatcherを作り始めたという事でこれは期待ですね。 Path::Dispatcherよりも、HTTP-Routerを使うとRestfulなDipatcherがとても綺麗にかけそうです。早速、WAFに組み…

remedie & HE hackathonにいってきた

Middlewareを作っていこうかと思っていたんですが、Http::EngineのShika化で少し変わりそうなので、つい先日から作り始めたWAFをたんたんと作ってました。勉強会などもいいのですが、こういうhackathonとかのほうが自分は好きみたいですね。Mojo, Catalyst, …

Middlewareに対応するJavaのServlet Filter

JavaでいうところのWSGIのMiddlewareに相当するインターフェースとポイントを書き出してみた。 package Filter; use Moose::Role; requires 'init', 'destroy','do_filter'; 1;package FilterChain; use Moose; with 'Filter&#3…

HTTP::EngineでのMiddlewareのAPIのイメージ

HTTP::Engine->new( interface => { module => 'ServerSimple', args => { host => 'example', port => '80', }, request_handler => sub { # Implement me! }, }, 'middlewares' => [ { 'module' => 'DebugScr…

HTTP::EngineのMiddleware解説

http://www.nicovideo.jp/watch/sm5371462 Yappo++おぉ、Middleware解説が!イメージが以下のような感じってことはイメージが違いそうだなぁと。 App(Middleware(Middleware(HTTP::Engine)))request_handlerをMiddlewareでwrapしていって、最後にHTTP::Engin…

Middlewareのhook point

Catalystのrequest lifecycleの殆ど全部をそのままhook pointにするというのが、一番安易かつ簡単な方法なのかなぁという気はするんですが、そこまで必要なのかは実際のところわかっていなかったりして。ただ、Catalyst::Authentication::*, Catalyst::Plugi…

HTTP::EngineでのMiddlewareの実装イメージ

http://blog.yappo.jp/yappo/archives/000628.htmlおぉ、そういえばmooseなんだなぁというのをこれを見て思い出しました。yappoさんが書いてる例のように、request lifecycleをmetaを触ってhookすることはできるので、Middlewareの実装方法はなんかわかった…

Middlewareをもう少し考えてみた

もう少しMiddlewareを考えてみたんですが、HTTP::Engineのコンストラクタのパラメータのrequest_handlerがCodeRefではなくて、クラスになっているとMiddlewareを作りやすいんじゃないかという気が少ししました。イメージとしては以下のような感じ。 RequestH…

Middleware is matter

WAF作る上で後必要なのはWSGIのMiddlewareっぽいものなんだなぁと思いながら、その話がでてたのが5月くらいでもう記憶が飛んでたりします.. Middleware周辺の話がどうなるのかなぁっていうのをとても聞きたかったんですが、ちょっと都合がつかなくて参加でき…

HTTP::Engine + Path::Dispatcherでのアプリの作り方

リクエストを処理してDispatchするメインのロジックと、ディスパッチテーブルをまずはじめに作ります。後は、ディスパッチテーブルで参照したControllerを作っていけばいいだけです。 メイン リクエストを処理して、Dispatcherに処理を委譲するところです。…

sixamoと話すIRC bot

sixamoと話せるBot::BasicBot::Pluggableのプラグインを作ってみました。 http://svn.coderepos.org/share/lang/perl/Bot-BasicBot-Pluggable-Module-Collection/trunk/lib/Bot/BasicBot/Pluggable/Module/Sixamo.pm以下のように、botの設定ファイルのyamlに…

Routes系列のDispatcher

MojoX::Routes、HTTPx::Dispatcher、Path::RouterはRailsのRoutesをインスパイアしていて、urlのpathをどのControllerのどのアクションにどんな引数にマップするのかを簡単に書けるようになってます。Path::Dispatcherはクラス構成がとても綺麗でいいのです…

MooseX::StrictConstructor

MooseX::StrictConstructor http://search.cpan.org/~drolsky/MooseX-StrictConstructor-0.07/存在しないパラメータをConstructorに渡したときに、例外をあげられることができるモジュール。割とtypoしがちなので、こういうのはいいかもしれないですね。ただ…

remedieインストール

Test::DifferenceでMakefile.PLに書かれてないモジュールを抽出して、インストールしてから動かしてみました。~/.remedie/error.logみれば動かない理由はわかるのですんなりインストールできました。以下、Makefile.PLに書かれてないモジュール群 'Class…

Bot::BasicBot::Pluggalbe::WithConfig

irc

CharsbotのYAMLロード部分を切り出して、Bot::BasicBot::PluggableのPluginをYAMLで読み込んで起動できるようにしたモジュールBot::BasicBot::Pluggalbe::WithConfigをリリースしました。http://coderepos.org/share/browser/lang/perl/Charsbot/trunkconfig…

Plaggerでircbot

irc

plagger-ircbotは情報収集系のbotとしてすばらしくよくできていますね。簡単に使い方をまとめました。まず、plagger-ircbotの設定config.yamlを用意します。 設定 global: assets_path: /home/dann/tools/plagger/plagger/assets timezone: Asia/Tokyo plugi…

CHI::Driver::MemcachedFast

CHIも0.8から内部構造が大分変わって書きやすくなってますね。 http://search.cpan.org/~kitano/CHI-Driver-MemcachedFast-0.02/MemcachedFast用のDriverも数行で書けるようになってました。Memcachedのdriverをextendしちゃうと、Cache::Memcachedもインス…

Bot::BasicBot::Pluggableの拡張

irc

Bot::BasicBot::Pluggableでやりたいのは、 複数サーバをサポート Plaggerのassets likeなモジュール追加 assetsみたいなのをBot::BasicBot::Pluggable::WithConfigでやるべきか、ラッパ側でやるべきは悩み中。どっちでできるようにしてもいいかな。これでpl…

MooseX::POE::SweetArgs

MooseX::POE::SweetArgs http://search.cpan.org/dist/MooseX-POE/lib/MooseX/POE/SweetArgs.pm0.09から追加されてますね。SweetArgsのMooseX::POE版ですね。引数綺麗にかけていいですね。これ、標準で使うようにしてくれるといいんだけどなぁ。下位互換保つ…

IRC bot用のモジュール置き場@CodeRepos

irc

CodeReposにBot::BasicBot::PluggalbeのModuleの置き場所作ってみました。http://svn.coderepos.org/share/lang/perl/Bot-BasicBot-Pluggable-Module-Collection/trunk/lib/Bot/BasicBot/Pluggable/Module/Bot::BasicBot::Pluggable::Module::のnamespaceに…

PerlのRequest Dispatcher一覧

MojoX::Dispatcher::Routes http://search.cpan.org/~sri/Mojo-0.8.4/lib/MojoX/Dispatcher/Routes.pm HTTPx::Dispatcher http://search.cpan.org/dist/HTTPx-Dispatcher/ Path::Router http://search.cpan.org/dist/Path-Router-0.03/lib/Path/Router.pm Pa…

VMWare ESXiでサーバー仮想化 - インストール編

自宅用にXenを今まで使っていたのですがDebianなどが上手く動かなかったので、自宅のサーバーをESXiで仮想化してみることにしました。 ESXiのisoイメージのダウンロードとインストール IPなどの設定。 クライアントのインストール https://設定したIPにアク…

ESXiサーバにSSH接続する方法

以下、手順です。 Alt-F1 -> unsupportedコマンド vi /etc/inetd.conf ssh stream tcp nowait root /sbin/dropbearmulti dropbear ++min=0,swap,group=shell -i Alt-F2 -> reboot VMをコピーして量産したい!ってときに、専用クライアントだとどうやればいい…

ESXiサーバーでのVMイメージの格納場所

以下の場所にあります。 /vmfs/volumes/ここにあるVMをコピーすればいいだけですね。後は普通にVMWare Serverで扱うようにVMを扱う事ができます。

ESXiサーバーでVMイメージのコピー

以下の方法でコピーしたVM使えました。 sshでESXiサーバーにログイン /vmfs/volumes以下の該当するVMイメージをcpでコピー vmxファイル書き換え パスなど VI ClientでVM作成(カスタム) 既存のVMディスクを使うを選択し、コピーしたvmdkファイルを選択 これで…

ESXiサーバーで準仮想化

VMの設定 VM-> Edit Settings Options-> Advanced->Paravirtualization->Support VMI Paravirtualization 確認 ゲストOSを起動すると、dmsgに以下のように表示される Booting paravirtualized kernel on vmi

ESXiでのVMイメージのバックアップ

/vmfs/volumes/以下の該当するVMイメージをscpでコピーをすることで、コールドバックアップができます。