タグ

amon2に関するkoba04のブックマーク (11)

  • #perlcasual で再びライブコーディングさせていただいた - すぎゃーんメモ

    PerlCasual #05 : ATNDにて、@yusukebeさんに声をかけていただき、再びライブコーディングをさせていただいた。 前回やらせていただいたのは2年半以上前なのか… 第6回 yokohama.pmPerl Casual でライブコーディングに挑戦してみた - すぎゃーんメモ 前回はちょっとしたスクリプト的なものだったけど、今回はWebアプリっぽいのはどうか、ということでAmon2を使ってWebアプリを作成する、というお題にしてみた。 まっさらな状態から始めて OAuth2ログインを使って 掲示板的なアプリを Herokuにデプロイして動くものをリリースする という目標でやってみた。 掲示板的なのは実はAmon2のtutorialにあるやつですね。 Tutorial - Create BBS site — Amon2 documentation 結局できたのは htt

    #perlcasual で再びライブコーディングさせていただいた - すぎゃーんメモ
    koba04
    koba04 2013/03/30
    ありがとうございます!ライブコーディングとても刺激を受けました!
  • Amon2::Plugin::Web::PageCacheというのを書いた - ダメ人間オンライン

    レスポンスのHTMLをまるっとキャッシュするplugin書いた。書いたというか別のWAFで使ってたやつをAmon2用に書き直した。キャッシュ先はmemcachedです。 dameninngenn/p5-Amon2-Plugin-Web-PageCache · GitHub やりたかったこと requestのpath毎にキャッシュするか否か設定できるようにしたい requestのpath毎にキャッシュのexpire設定できるようにしたい /path/to?p=1 と /path/to?p=2 は別のものとしてキャッシュしたい 想定してないクエリがついてきた場合はスルーしてクエリがついてないものと同じ扱いにしたい requestのpath毎にキャッシュ削除ができるようにしたい HTMLだけじゃなくてJSON返してる場合もキャッシュしたい そこそこお手軽に使えるようにしたい 使い方 モジュールを

    Amon2::Plugin::Web::PageCacheというのを書いた - ダメ人間オンライン
  • Amon2でFacebookAPIを使う その2 - Perl勉強メモ アルパカDiary出張版

    前回はFacebook::Graphを使ってFacebookにアクセスできました。 しかし実はAmon2にはFacebookAPIにコネクトするプラグインも存在します。 プラグインを使うとFacebook::Graphなしでも簡単にトークンを取得することができます。 試してみましょう。 とりあえず再度新しくアプリケーションを作っておきましょう。 amon2-setup.pl FacebookAPIPlugin cd FacebookAPIPlugin プラグインの設定 FacebookAPIPlugin::Web.pmにプラグインの設定とコールバックを書いておきます。 __PACKAGE__->load_plugin( 'Web::Auth', { module => 'Facebook', on_finished => sub { my ($c, $token, $user) = @_;

    Amon2でFacebookAPIを使う その2 - Perl勉強メモ アルパカDiary出張版
  • Amon2::Setup::Flavor::Large + Teng をもちいた簡単な掲示板の作成 その3『Tengの行オブジェクトを拡張して投稿日付を表示しよう』 〜 軽量フレームワークAmon2入門 (9) 〜 - tokuhirom's blog

    さて、ページングもついて、一応うごいているといえる状況になっている掲示板ですが、とにもかくにも投稿日付がわからないのは不便といっていいでしょう。 通常ならばもちろん投稿日付を保存するようには設計段階からしておくところですが、今回はチュートリアルなので一度におぼえることをすくなくするために細切れにするとともに、漸近的にウェブアプリケーションを成長させていくための技法をまなんでいっていただこうという気持なわけです。 さて、スキーマにデータを追加するには、まず sql/mysql.sql を更新しましょう。 CREATE TABLE IF NOT EXISTS sessions ( id CHAR(72) PRIMARY KEY, session_data TEXT ); CREATE TABLE IF NOT EXISTS entry ( id INT UNSIGNED NOT NULL AU

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

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

  • 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とうつと、サーバープロセスが起動します

  • Amon2 のドキュメントにガラケーむけの記載を追加 - tokuhirom's blog

    http://amon.64p.org/mobilejp.html ガラケーでの開発時にめんどくさいところは Amon2 ではプラグイン等により吸収しています。 HTTP::MobileAgent との連係、文字コードの追加、全角カタカナから半角カタカナへの自動変換まで。 Encode::JP::Mobile を内部でつかってるので、絵文字の処理もばっちりなはず。 まあいまさら新規で mobile application をつくろうという酔狂な人もすくないかとおもいますけど、一応サポートしているよ、というところでひとつ。

    koba04
    koba04 2011/09/26
    "いまさら新規で mobile application をつくろうという酔狂な人もすくないかとおもいますけど"
  • Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモ

    http://d.hatena.ne.jp/tokuhirom/20110710/1310303859 でAmon2::Liteが出てきて、Mojolicious::Liteのようにアプリが書けるようになったので、 Mojolicious::Liteを使ってMarkdownをリアルタイムプレビューしてみた - アリ 昨日のリアルタイムプレビューは... - アリ リアルタイムプレビューしたい - アリ これと同じものもAmon2::Liteで同じように簡単に書けるようになったはず、ということで練習がてら書いてみた。 #!/usr/bin/env plackup use strict; use warnings; use Amon2::Lite; use Encode 'encode_utf8'; use Text::Markdown 'markdown'; use Text::Xatena

    Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモ
    koba04
    koba04 2011/07/20
    こんなに簡単に出来るなんて素晴らしい!
  • tokuhirom blog

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

    tokuhirom blog
  • tokuhirom blog

    Amon2のアーキテクチャまずはこちらの図をごらんください。 Amon2 の構造は非常に単純であることをご理解いただけたかとおもいます。基的な構造はこれがすべてなのです。なにしろ、できるだけおぼえることがすくなくなるように意図して設計されておりますから、こういうシンプルな構造になるのもあたりまえといえましょう。 ここで特徴的なところが二点あります。Web Context Object が Context Object を継承しているところ、レスポンスオブジェクトが has-a 関係ではないところです。 Web Context Object が Context Object を継承しているのは、CLI でもなんとなくつかえるようにするためです。この工夫により CLI での開発が異常に楽になっています。このあたりについてはおって解説したいとおもっています。 レスポンスオブジェクトが has-

    tokuhirom blog
    koba04
    koba04 2011/07/14
    勉強になる。
  • tokuhirom blog

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

    tokuhirom blog
    koba04
    koba04 2011/07/13
    WAF使うことがあればAmon2を使おう
  • 1