タグ

amonに関するjazzanovaのブックマーク (19)

  • YappoLogs: Amon2 で国際化アプリを簡単に書く Amon2::Plugin::L10N を出しました

    « HTTP::AcceptLanguage - Accept-Language ヘッダを解析して適切な言語を返す君 | Main | zh-hans, zh-hant に対応してない!って怒られた時は » Amon2 で国際化アプリを簡単に書く Amon2::Plugin::L10N を出しました Perl で L10N する方法としてはPerl でつくった web サイトを L10N する方法 - tokuhirom's blog.が有名ですが、昨今はうっかりパンケーキとか唐揚げをべてたらロンドンとかに海外進出しちゃうようなのが当たり前になった現代においては、 blog のコードをコピペするやつは死んどけば良いので、死なないため殺されない為に実用的に CPANize して殺す側に回りました。 https://metacpan.org/release/Amon2-Plugin-L10N

  • Amon2 と JavaScript - Articles Advent Calendar 2011 Amon2

    こんにちは!tokuhirom です! Ark アドベントカレンダーをやるということなので、Amon2 アドベントカレンダーもやろうかとおもいます。 しかし、こちらはあんなにしっかりしたものをかく余裕がないので、ぺろーっとかくかんじにしようかとおもいます。 初日からネタがつきたので Amon2 と JavaScript の話をかこうかとおもいます。あまりこのへんかいたことなかったですよね。 現代の Web Application においては、JS をつかわないことはほとんどないといっても過言ではないでしょう。 ある程度の規模のウェブアプリケーションでは、JS が必須となっております。 そこで Amon2 では JS のサポートをしっかりやっていきたいとかんがえているわけです。 まあ、JS のサポートといっても、jQuery のコードを Amon2 にバンドルしておくとかそういった程度のこと

    Amon2 と JavaScript - Articles Advent Calendar 2011 Amon2
  • Amon2::Auth によるロケタッチAPIをつかったサイトの構築 〜 軽量フレームワークAmon2入門 (6) 〜 - tokuhirom's blog

    Amon2::Auth によるロケタッチgithub.com/tokuhirom/TouchTouch/commit/dbb3cdeacf6629dc8213bd9fa50e14f9712634b9 久々に Amon2 入門だ! 最近リリースされたばかりの Amon2::Auth モジュールをつかってみよう! Amon2::Plugin::Web::Auth への依存を Makefile.PL に設定する!! diff --git a/Makefile.PL b/Makefile.PL index f8b9297..8f0f183 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -20,6 +20,7 @@ WriteMakefile( 'Test::

  • Amon2 の今後のバージョンアップ予定 - tokuhirom's blog

    Amon2 の今後のバージョンアップ予定 Flavor まわりを大幅にぜんぶかきかえてます。互換性は保証されませんが、アプリケーションには影響しないのでいいのかなとおもっているところです。 Data::Section::fx がどのぐらい Xslate を進化させてくれるか次第という面もあります。 リリース時期は来週末を予定しています。 かなり大きい変更なので Amon2 3.0 にしようかとおもったんですが、それだと 2 だか 3 だかわからなくなるのでこまりものですね。

  • Amon2のソースを読む(5) - Pixel Pedals of Tomakomai

    今日はAmon2-2.49のDSL周り。これで最後。 Amon2::Declare $c じゃなくて c() 使えたらいいよねって話。内容物の中では、t/ 内のExtended::V::MT::Conite Sinatra-ish な書き方ができるようにするもの。Amon2::Lite::_child_N という名前でコンテクストクラスを作る。Nは連番なので、package名さえ分ければ複数箇所から利用が可能*1。 use 元にはルーティングに必要な関数をエクスポートする。2.49 の実装では Router::aish は使わずに自前で実装している。さらにコンテキストにはdispatch と Amon2のソースを読む(5) - Pixel Pedals of Tomakomai

  • Amon2のソースを読む(4) - Pixel Pedals of Tomakomai

    今日はAmon2-2.49のTriggerとPluggin。 Amon2::Trigger クラスに対してもインスタンスに対してもフックがかけられ、それぞれ@Class::_trigger と $obj->{_trigger} を使って保存される。get_trigger_code を呼ぶと関連するハンドラを全て取得できるが、インスタンスに対して呼んだ場合はインスタンスに紐づくハンドラとそのクラスの継承ツリー上のクラスにぶら下がる全てのハンドラを得られる。ハンドラは親→子の順に並んでいる。厳密な順序に関しては、mro::get_linear_isa を使っているので現在設定されているmroの影響を受ける。 Amon2::Plugin::Web:: プラグインは $c->add_trigger でトリガを仕掛けたり、$c にメソッドを生やしたりしてYourProject::Web クラスを拡張

    Amon2のソースを読む(4) - Pixel Pedals of Tomakomai
  • Amon2のソースを読む(3) - 北海道苫小牧市出身の初老PGが書くブログ

    今日はAmon2-2.49のscaffoldとDispatcher。--flavor=Basic が基なんで、それを読む。 概要 scaffold 内のPerl関連のファイルはapp.psgiとYourProject.pmとYourProject::Webと YourProject::Web::Dispatcher だけ。実際のユーザ側の処理は YourProject::Web::Dispatcher がディスパッチした先に書くことになるので、Dispatcher.pm に直接書くか、YourProject::Web::C 以下のクラスに書くことになる。 YourProject::Web::Dispatcher を書くために Amon2::Web::Dispatcher::Lite と Amon2::Web::Dispatcher::Router Amon2のソースを読む(3) - 北海道苫小牧市出身の初老PGが書くブログ

  • Amon2のソースを読む(2) - Pixel Pedals of Tomakomai

    今日はAmon2-2.49のコンテキスト周りで、具体的には Amon2、Amon2::Web、Amon2::WebRequest、Amon2::WebResponse、ついでにAmon2::Config:: Amon2のソースを読む(2) - Pixel Pedals of Tomakomai

  • Amon2のソースを読む(1) - Pixel Pedals of Tomakomai

    今日は Amon2-2.49 のscaffoldの作成まで。具体的にはAmon2::Setup:: 名前空間の部分。 amon2-setup.pl script/amon2-setup.pl がscaffoldの作成スクリプトだが、これは各フレーバーをnew->runしてるだけ。フレーバはAmon2::Setup::Flavor:: という名前空間に置かれるが、+指定で好きな名前空間のものも読めそう。 Amon2::Setup::Flavor Amon2::Setup::Flavor はフレーバーのスーパークラスで、ファイルを特定のPATHに吐き出す write_file などを提供する。write_file に渡すファイル名は、<<hoge>>の形式で変数を利用可能。ファイルの内容はXslateで解釈されるが、タグは <% hoge %> の形式。 Amon2-2.49のコアパッケージに

    Amon2のソースを読む(1) - Pixel Pedals of Tomakomai
  • Amon2::DBI からはじめるデータベースアプリケーション 〜 軽量フレームワークAmon2入門 (5) 〜 - tokuhirom's blog

    Amon2::DBI からはじめるデータベースアプリケーション 〜 軽量フレームワークAmon2入門 (5) 〜 はい! というわけで3連休あけですね。 Ruby 会議にいったり、Android なんとかにいったり、リア充生活をおくったりと、各自たのしい3連休をすごされたことかとおもいます。 さて、連休あけの今日は、かるく Amon2::DBI について解説をしてきましょう。 Amon2::DBI は、DBI の薄いラッパーで「素の DBI だとちょっと不便だな」というところにピリリときいてくる山椒のような存在です(ちかくのチンマーハンは山椒がきいてなさすぎるので、もうちょいきいてるといいなとおもいます)。非常にうすいラッパーだし、コードベース自体も非常に簡潔なので、ひととおりよんでからつかうといいかとおもいます。 DBI には子クラスを設定できる機能があって、Amon2ではそれをつかって

  • TinyURLをつくってみよう 〜 軽量フレームワークAmon2入門 (4) 〜 - tokuhirom's blog

    TinyURLをつくってみよう 〜 軽量フレームワークAmon2入門 (4) 〜 さて、今回はインストールから始めましょう。 インストール今回は Amon2 の最新版が必要なので、すでにインストールしている場合でもあらためてインストールしてください。 環境は linux を想定していますが、Windowsでもそれほどかわらないかと思います。Windows でやっていてわからなかったら mattn さんにきいてください。 さて、Amon2 のインストールは非常に容易です。Amon2はCPANにリリースされていますから、通常のCPANモジュールと同様にcpanmコマンドでインストールできます。 % curl -L http://cpanmin.us | perl - Amon2 Amon2::DBIで、インストールが完了します。テストに失敗する場合には、コメント欄などできいてください

  • Amon2のアーキテクチャとトリガ機構 〜 軽量フレームワークAmon2入門 (2) 〜 - tokuhirom's blog

    まずはこちらの図をごらんください。 Amon2 の構造は非常に単純であることをご理解いただけたかとおもいます。基的な構造はこれがすべてなのです。なにしろ、できるだけおぼえることがすくなくなるように意図して設計されておりますから、こういうシンプルな構造になるのもあたりまえといえましょう。 ここで特徴的なところが二点あります。Web Con

  • tokuhirom blog

    Amon2の利点 〜 軽量フレームワークAmon2入門 (1) 〜 というわけで、私が中心となり開発を進めているウェブアプリケーションフレームワークであるところのAmon2に関する連載企画です。続くかどうかはわかりませんけど! 対象読者はウェブアプリケーションの開発の基礎知識はあり、Perlプログラミングを一通り理解していることを前提としています。 Amon2とはAmon2は、ウェブアプリケーションフレームワークです。ウェブアプリケーションフレームワークというのは、ウェブアプリケーションを書くために楽をするためのライブラリと、それに関するツール一式のこととここでは定義しましょう。 そう、Amon2を使えば非常に楽に、高速に、ウェブアプリケーションを開発できてしまうのです。 なぜAmon2なのかしかしウェブアプリケーションフレームワークとひとくちにいっても、Perlだけでも、数え切れないほど

    tokuhirom blog
  • tokuhirom blog

    Amon2::Lite というモジュールを Amon2 に添付してみました。 まだ EXPERIMENTAL な実装なので今後かわる可能性もありますが、とりあえずリリースしました。 http://beta.metacpan.org/module/Amon2::Lite Sinatra や Mojolicious::Lite のような感じで、以下のように app.psgi をかくことができます。 use Amon2::Lite; get '/' => sub { my ($c) = @_; $c->render('index.tt'); }; __PACKAGE__->to_app(); __DATA__ @@ index.tt <!doctype html> <html> <body>Hello</body> </html> 通常の Amon2 の形式への移行も容易だとおもうので、おためし

    tokuhirom blog
  • dotcloud で Amon2 をつかう! - tokuhirom's blog

    dotcloud で Amon2 をつかう! Perl5 の PSGI アプリケーションが死ぬほど簡単につかえる dotcloud の beta 版がリリースされ、一部の Perl monger に invitation がばらまかれているとともに、id:miyagawa さんがdotcloud に join したというニュースもあり、ゴールデンウィークまっただなかの日Perl Mongers のあいだでは空前のコンフィブームとなっています。 というわけで、DotCloud で hello world をやる方法。 sudo easy_install dotcloud dotcloud perl tokuhirom.hello mkdir hello cd hello echo "sub {[ 200,

  • Amon2 を Apache で運用するには « codeを舐める日々

    http://amon.64p.org/ Amon2 は tokuhirom 氏がリリースしている Perl の軽量 WAF で今マイブーム。 特に Web 関連のコンポーネントが素晴らしいと思った。 Dispatcher の設定や Controller の設定が簡単で、アプリケーション作りに集中できて良いとおもいます! もちろん、PSGI対応です。(PSGI対応だと、ウェブサーバの confファイル書き換えなどが随分楽です。) Amon2 チュートリアル Amon2 Doc でチュートリアルがあるのでチェックするといいです。 http://amon.64p.org/Amon2-Manual-Tutorial.ja.pod.html どうやって起動する? Amon2 アプリケーションを localhost 環境で起動する場合は、 plackup コマンドをつかいます。

  • Perl でつくった web サイトを L10N する方法 - tokuhirom's blog

    Perl でつくった web サイトを L10N する方法 Perl でつくった web サイトを L10N する方法について簡単に説明します。今回は、日語のサイトを英語でも表示できるようにするケースをあつかいますよ。今回は L10N の対象は Amon2 をつかったサイトとします。 基的な翻訳機能は Locale::MakePerl コード中の日語のリソースを $c->loc(); でくくりましょう。 printf("ほげ\n"); みたいになってるところを printf($c->loc("ほ

  • Amon2 の最近の変更のまとめ(2.13〜2.23あたりまで) - tokuhirom's blog

    Amon2 の最近の変更のまとめ(2.13〜2.23あたりまで) デフォルトのテンプレートを HTML5 に変更 Tiffany への依存をなくした http://amon.64p.org/ を充実させた(using sphinx) DBI へ依存してみたが、XS 依存しない方針だったことをおもいだしたのではずした Amon2::DBI をつくってリリースした BEFORE_DISPATCH は、Plack::Response 以外の true value のときの誤動作しないようになった Plugin::JSON が Opera でうごいてなかったのを修正 Amon2::Trigger が祖先クラスのトリガーもよぶようになった skinny 用のコードを amon2-setup.pl からはずした セットアップ時にでてくるコードをましなものにした などなど。

  • http://twitter.com/tokuhirom/status/39878164893282304

  • 1