タグ

amon2に関するamari3のブックマーク (26)

  • http://yappo.github.io/talks/20121019-yokohamapm9-amon2/

    amari3
    amari3 2013/10/01
  • PrePANをAmon2化した + Amon2で気になった点など - Kentaro Kuribayashi's blog

    PrePANのWebアプリケーションフレームワークをAmon2に変更しました。閲覧者的には何も変わるところはないので特に意味はないですが、今後の機能開発がしやすくなったので、結果的にはよい影響はあると期待しているところです。 WAFは、YAPC::Asia 2011でのcho45さんの発表「ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく」にあるように「薄いフレームワーク」がより良いと最近は感じています。PrePANはまあ、特に変わったこともしていないアプリなので、ドメインスペシフィックに対処するべきこともなく、また、下手に自作するよりも、Amon2の方がずっといいものであることが明白なので、今回はAmon2を使うことにしました。 というわけで、Amon2作者のtokuhiromさんに「Amon2使いますよ!!1」と話したのを実行できたし、PrePANはいろいろと機能追加の

    PrePANをAmon2化した + Amon2で気になった点など - Kentaro Kuribayashi's blog
  • Supervisorでamon2アプリのデーモン化 with plenv - RoadMovie

    使用ツールなど amon2(flavor=Basic) perl 5.16.3(plenv 使用) carton Supervisor (一般ユーザー名をhomepageとしている) 今回はデプロイのためにamon2で作ったアプリをデーモン化しようとしたが、-Dオプションでデーモン化ができなかったため、supervisorを導入することにした。 (※概要などはこちらのブログを参考にしてみてください → http://blog.hakutoitoi.com/?p=343) Supervisorのインストール # yum install python-setuptools # easy_install pip # pip install supervisor 必要なディレクトリを作成 # mkdir /var/log/supervisord # mkdir /etc/supervisord.d

    Supervisorでamon2アプリのデーモン化 with plenv - RoadMovie
  • Amon2をSupervisor+Starmanで動かす - http://mechanist.x0.com

    Amon2が、Apache+mod_perlではどうにもうまく動いてくれない(ホームディレクトリがわからないらしく、要所をフルパス指定にするコードの修正が必要)。Apacheの設定が悪いんだろうが、何が悪いんだかよくわからない。 そこで、わからないついでに、全く違う動作環境を試してみることにした。 それは、以下のページで解説されている Supervisor および Starman を用いた環境である。 supervisordとclelrydの設定 FreeBSDで Supervisor を使う なお、サーバーのOSはUbuntu11.10である。 まず、easy_installでSupervisorをインストールするために、あらかじめpythonのsetuptoolsを入れておく。 apt-get install python-setuptools その後にSupervisorのインストー

  • 【Amon2のオレオレTips】MVCを意識したModelの実装要件 | hirobanex.net

    PerlのウェブアプリケーションフレームワークのAmon2を使うときModelってどうするの?って疑問が沸きませんか?Largeフレーバー以外でセットアップすると、シナトラリッシュなDispatcher(Router)でセットアップされるので、基的にコントローラーに全部実装してしまおうかなーって気になるんですけど、そうじゃないMVCを意識したケースはどうしようかなーという時のオレオレ理想の要件です。 MVC的なWAFの実装について ウェブアプリケーションフレームワークを使うと、M(モデル)とV(ビュー)とC(コントローラー)の3つにわけてクラス設計を行うのが基と言われていますが、細かい実装をどこに持って行こうか悩むケースにしばしば出くわしますね。とくに、薄いフレームワークと言われるWAFほど、Modelについてはノータッチで自由な設計が逆にできすぎて悩んでしまうことがしばしばではないで

  • どの Flavor つかったらいいのん? - Articles Advent Calendar 2011 Amon2

    ふっつかっめです! tokuhirom です。 % amon2-setup.pl --flavor=Lite Foo みたいにして、フレーバーをみなさん指定いるかとおもいますが、これのつかいわけの話をかこうかとおもいます。 標準添付のフレーバー 現在標準添付の Flavor は Amon2::Setup::Flavor::Basic と Amon2::Setup::Flavor::Minimum そして Amon2::Setup::Flavor::Large です。 それぞれのつかいわけがむずかしいなあとおもうところもあるので、それぞれの使い分けかたをここにしるす次第です。 Amon2::Setup::Flavor::Basic これが一番の基形です。Basic となづけてあるところからも明白です。これこそがまさにデフォルトです。 とくに理由がなければこれがいいんじゃないでしょうか、とい

    どの Flavor つかったらいいのん? - Articles Advent Calendar 2011 Amon2
  • 【Objective-C】【サーバサイド】スマートフォン向けサービスにおけるサーバサイド設計入門

    AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design PatternAmazon Web Services Japan

    【Objective-C】【サーバサイド】スマートフォン向けサービスにおけるサーバサイド設計入門
    amari3
    amari3 2013/08/21
    読みなおした
  • 第18回 Amon2によるWebアプリケーションの高速開発(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回は普段Webアプリケーションの開発を行っているtokuhiromさんで、テーマはWebアプリケーションフレームワークAmon2です。 Amon2とは? こんにちは。tokuhiromです。稿では、筆者が中心となって開発を進めているAmon2というWebアプリケーションフレームワークについて説明します。 Amon2は、次のような特徴を持つWebアプリケーションフレームワークです。 PSGI/Plackベース Amon2はHTTP::Engine/PSGI/Plackの開発/制定に初期のころから関わっている筆者が作成したWebアプリケーションフレームワークです。そのため、Plackの部品をできる限り利用することにより、少ないコードベースでWebアプリケーションフレームワークを実現しています。これにより学習コストが低くなってい

    第18回 Amon2によるWebアプリケーションの高速開発(1) | gihyo.jp
  • Amon2 - Web application framework for Rapid web development

    Amon2 is Fun use Amon2::Lite; get '/' => sub { my $c = shift; return $c->create_response(200, [], ['Hello, world!']); }; __PACKAGE__->to_app();

  • Amon2 がストリーミングに対応しました。 - tokuhirom's blog

    最近、Amon2 のリアルタイムWebサポートをおこないました。 これにより、WebSocket や Long poll をつかうウェブアプリケーションを Amon2 で簡単にかくことができます。 というか、ストリーミングがちょっとあるだけで、Tatsumaki を勉強しなきゃいけないのが面倒だったので、つくりました。 Amon2::Plugin::Web::Streaming というプラギンが、今回のバージョンでついています。これをつかうとこれまで Tatsumaki でやっていたようなことが、簡単に Amon2 でできるようになります。 MXHR には対応していないけど、WebSocket と streaming に対応したので、Amon2 で Tatsumaki がやっている領域はサポートできたとおもいます。というか自分がつかってる範囲ではこれで十分です。 以下がチャットのサンプルで

  • Amon2 が WebSocket に対応していた!! - tokuhirom's blog

    Amon2::Plugin::Web::WebSocket というプラグインをだしました。 Amon2 の中で非常に簡単に web socket がつかえます。 なんかよくわからん作法とかおぼえなくてもいいので楽すぎる。。 実装例は以下のとおりです。Twiggy でしかうごきません。 use strict; use warnings; use utf8; use Amon2::Lite; use Digest::MD5 (); get '/' => sub { my $c = shift; return $c->render('index.tt'); }; my $clients = {}; any '/echo2' => sub { my ($c) = @_; my $id = Digest::SHA1::sha1_hex(rand() . $$ . {} . time); $c->we

    amari3
    amari3 2012/08/08
  • Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版

    FacebookAPIを使う要件が出てきそうなのでいろいろ調査中。 perlでFacebookAPIを使うにはFacebook::Graphがいいんでしたよね! Facebook::Graphのドキュメントにちょうどチュートリアルがあったので 試しに今回はその手順通りに設定していきたいと思います。 ただしそのままではなく一部Amon2用に置き換えてます。 また、今回は表示するデータを自分のニュースフィードにしてみました。 あと、Facebook アプリ登録画面ってログインするたびちょこちょこ変わってて 他のサイトの設定画面が参考にならなかったりするので スクリーンショットも添付してみましょう。 Step 1: Set up the developer application on Facebook. https://developers.facebook.com/ に行きます。 Step

    Amon2でFacebookAPIを使う その1 - Perl勉強メモ アルパカDiary出張版
  • perlbrew+Carton+Amon2+Test::mysqldみたいな - As a Futurist...

    モダンな感じで perl でウェブアプリ作りたいなーと思ってほげほげしてます。メモ書き。 最近の流行りでは、system perl なんてもう使わないわけで、自分で perl を make して入れるもの。それを簡単に管理できるのがperlbrew。で、アプリ毎に perl を入れてもいいなぁとは思ったんですが、さすがにそこまで仰々しくしたくはない。でも、CPAN モジュールについてはアプリ毎に依存が無いようにしたい(あるアプリが変にバージョンアップしちゃって他が動かないとか嫌)。 どうするのがいいかなーと色々考えたんですが、そういえば miyagawa さんのCartonというのが、依存関係やバージョンも含めて CPAN モジュール管理できるということでこれをアプリ毎に使うのが正統だろうなと思ったので使ってみた。 まずは perlbrew でインストール これは説明の通り。 $ curl

    perlbrew+Carton+Amon2+Test::mysqldみたいな - As a Futurist...
    amari3
    amari3 2011/12/28
    いいまとめ
  • Amon2とJSONとセキュリティ - tokuhirom's blog

    [1]http://d.hatena.ne.jp/ockeghem/20110907/p1[2]http://www.atmarkit.co.jp/fcoding/articles/webapp/05/webapp05a.html[3] http://msdn.microsoft.com/ja-jp/asp.net/ff713315[4] http://labs.cybozu.co.jp/blog/kazuho/archives/2007/01/cross-site_including.phpあたりをよんで、JSON とセキュリティについてかんがえてみた。 ここで、有効とされている対策のうち while(1); を先頭に付与するPOST ですべて処理するといったあたりは、RESTful でないし、BK 感がひどいというか質的ではないのでできるだけやりたくない。 また、Amon2 では互換

  • 唐突ですがここでプラグインをかいてみよう 〜 軽量フレームワークAmon2入門 (10) 〜 - tokuhirom's blog

    Amon2 のプラグインの書き方がよくわからないという話をたまに聞くので、そのへんについて説明したいとおもいます。 基的にはプラグインはただの Perl モジュールで、ただ一つの規約にしたがえば問題ありません。それは 'init'という名前のクラスメソッドをもっているということです。ただそれだけです。 package MyPlugin; sub init { } 1;これで、ひとつの valid なプラグインです。 さて、なにもしないプラグインをつくってもしょうがないので、ちょっと機能をたしてみましょう。 package MyPlugin; sub init { my ($class, $context) = @_; $context->add_trigger( AFTER_DISPATCH => sub { my ($self, $res) = @_; $res->header('X-

  • Amon2::Setup::Flavor::Large + Teng をもちいた簡単な掲示板の作成 〜 軽量フレームワークAmon2入門 (7) 〜 - tokuhirom's blog

    前回から大分時間が経ってしまいましたが、唐突に Amon2+Teng で大きめのアプリをつくるチュートリアルでもはじめましょう。Teng というのは、O/R Mapper とよばれる種類のライブラリで、DB へのアクセスを簡単にしてくれるものです。 さて、とにかくも準備からはじめましょう。 % cpanm Amon2 Amon2::Setup::Flavor::Teng Tengで Amon2 をインストールします。 % amon2-setup.pl --flavor=Large,Teng MyBBSとするとスケルトンができあがりますので % cd MyBBSとして、プロジェクト用のディレクトリにはいります。 %cpanm --installdeps .とすると、依存モジュールがインストールされます。 % plackup app.psgi -R libとうつと、サーバープロセスが起動します

    amari3
    amari3 2011/11/21
  • Amon2::Setup::Flavor::Large + Teng をもちいた簡単な掲示板の作成 その2『ページャーをつけよう』 〜 軽量フレームワークAmon2入門 (8) 〜 - tokuhirom's blog

    さて、掲示板をつくったとはいえ、これだけではおもしろくありませんね。 まずこの掲示板には重大な欠陥があります。具体的にいうと、ページングがされていません。 ウェブアプリケーションにおいてはページングは非常に重要な要素です。 なにかを一覧表示するページをつくるときに、ページングのことが思いうかばないようでは一人前のウェブエンジニアとはいえません。ページングを手抜きすると、あとあと重いページになって泣くことになるでしょう。ページングは最初の段階でいれておくのが結局は楽なのです(という自戒)。 さて、今回の掲示板では Teng をつかっているので非常にページャの実装が容易になっています。Teng ではページャ関連の実装はプラグインとなっていますから、Teng に Teng::Plugin::Pager をよみこませましょう。lib/MyBBS/DB.pm に以下のようにかきましょう。 packa

  • Amon2でTengを使うときの設定 - メメメモモ

    DBの設定などはこちらに沿っています。 今回は、以下のコマンドでアプリケーションの雛形を作成した場合です。 $ amon2-setup.pl Hello config/development.plの編集 Teng用の設定を書いておきます。 +{ 'Teng' => { dsn => 'dbi:SQLite:dbname=hello.db', username => '', password => '', }, ... }; スキーマ作成スクリプト DBの情報を読み込んでスキーマを作成するスクリプトを書きます。 use strict; use warnings; use DBI; use FindBin; use File::Spec; use lib File::Spec->catdir($FindBin::Bin, '..', 'lib'); use lib File::Spec->ca

    Amon2でTengを使うときの設定 - メメメモモ
  • Amon2 の最近の変更(3.22〜3.25) - tokuhirom's blog

    Amon2::Lite が別 dist に分離されました(Amon2::Lite をつかっているアプリでは Amon2::Lite への依存を明示的に記述するようにしてください)各種依存がすくなくなりましたXslate でつかう bridge のデフォルトが Star になりました。 Star がつかいにくかったりする場合のご要望は #xslate までPragma: no-cache; Cache-Control: no-cache をデフォルトにしていましたが、なにかと問題があるので Cache-Control: private をデフォルトにしましたcarton をつかう人がふえてくるだろうという予測のもと、依存をへらす変更をしています。Amon2::Lite が別 dist になったのが唯一の非互換な変更かとおもいます。Any::Moose のからみで Moose をインストールし

  • Amon2::AuthによるはてなAPIをつかったサイトの構築 - Kentaro Kuribayashi's blog

    http://prepan.org/module/3Yz7PYrByB 初めてのAmon2入門だ!!1とりあえず最近リリースされたばかりのAmon2::Authモジュールをつかって、はてな認証を実装してみたよ!!1PrePANにも登録したよ!!1レビューよろしく!!1 Amon2::Auth::Site::Hatena への依存を Makefile.PL に設定する!!1 requires => 'Amon2::Auth::Site::Hatena'; config/development.plに設定をかく!!1実際にはサイト上で取得したconsumer_keyとconsumer_secretを設定する!!1redirect_uriは実際のURLだっ!!1!!1具体的には"http://localhost:5000/auth/hatena/callback"などになるだろう!!1 conf

    Amon2::AuthによるはてなAPIをつかったサイトの構築 - Kentaro Kuribayashi's blog
    amari3
    amari3 2011/10/18