Hatena::ブログ(Diary)

ボーン!ゆうた技術日記

Perlとその周辺をメインに

2009-09-26

モバイルに特化したフレームワーク

00:40

6ヶ月ぶりの記事。

自分はperlモバイルサイトを作るのを専門に仕事をしているが、2008年11月以降の軽量フレームワーク祭り

以降いろいろとフレームワークを使っていて気づいたこと。

あまりモバイルに特化したフレームワークってないな…

絵文字関連やキャリアの相互依存を埋めるモジュールetcがほとんどのフレームワークには

デフォルトで備わってない。

だから、結局今までの(例えば、CGI.pmを使っていた)環境からの乗り換え時に書いたコードを

そのフレームワークの流儀に沿って書き直す羽目になっている気がする。

絵文字に関しては、今まで決定的なマッピングの仕組みがなくてその都度作り直したりして、

「無駄だなぁ…」とボンヤリ思ってたりもしたが、asialの方がこんな

ファイルを公開してくれたりして、だいぶ楽になってるが…。

携帯・perlで開発やってる各社の方々はこうした車輪の再発明的状況についてどう思われているんだろうか?

これをuse baseしておけば問題ないですよ〜みたいなモジュールはできないのかな。

もしあったら教えていただけると嬉しいなっと☆

2009-03-23

MENTAの勉強 3

13:03

下記を読んでいたら、最新版を使った方がいいということがわかった。

http://weblog.nqou.net/archives/20090321042458.html

zipダウンロードは以下から。

http://github.com/tokuhirom/menta/tree/master

メモメモ。

2009-03-22

MENTAの勉強 2

18:36

二日目です。

チュートリアルを参照にしながら、いじっていきます。

http://gp.ath.cx/menta//manual/tutorial


app/ - あなたのアプリケーションをいれるところです

app/controller/ - あなたのアプリケーションそのものをいれます

app/data/ - あなたのアプリケーションのデータがはいります

app/static/ - 静的な画像やJavaScript, CSS などをいれます

extlib/ - 厳選されたCPANモジュールたち

lib/ - MENTA そのもの

plugins/ - MENTAプラグイン

t/ - MENTA 自体のテストスクリプト。ユーザーの方はきにする必要ありませぬ


と、ざっと解説が載っていますので、MVCがどこに当たるのかつかんで行きたいと思います。


・Model

/pluginsの中に入っている.plがまさにそれのようです。

MENTA::Util::load_pluginで呼び出しを行っています。

(ディスパッチの際に全てが自動的に読み込まれる)


・Controller

app/controllerの中にplファイルを入れる。

URI: http://hoge.com/controller の場合、

controller.pmのsub indexが呼ばれる。

URI: http://hoge.com/controller/booon/ の場合、

controller.pmのsub booonが呼ばれる。

htmlに落とし込むところは、render_and_printというMenta.pmのサブルーチンを

使用。

render_and_print("hoge.mt",@param);


テンプレート名、パラメーターのハッシュが入った配列を渡せばいい。

この辺の使い方はHTML::Templateと同様のようだ。

・View

テンプレートエンジンは以前このブログで取り上げようとしてやめておいた

挫折したMojo::Templateを発展させたものを使用しているとのこと。


変数の使用法はcpanのマニュアルを見ながら少しずつ把握。

かなり柔軟なテンプレートエンジンなんですな。正規表現テンプレート側で使えるのか〜。


どうやら、プログラム(.pl)もテンプレート(.mt)もスラッシュの後に名前をつけるだけで

呼べるようです。これはディレクトリ構成をちょっと考えねばならないかも。

controllerの直下にmtとplを並存させることもできるけど、そうしない方が

保守性から考えてもいいでしょう。


今日はここまで。

テンプレートをいじって何か表示するところまで行かなかった…汗

2009-03-20

MENTAの勉強 1

17:25

昨年の秋口にリリースされたperlフレームワーク:MENTAの勉強を始めてみることにする。

そもそもレンサバで試してみようと思っているので公式で推奨されている

SubVersionで落としてくる手法が使えない。

zipを落とそうとしてもなぜか公式のリンクが切れているので詰まったw

しかたないので、ここからVer0.12の物を落としてくる。

ファイル解凍

/lang/perl/MENTA/tags/release-0.12/ …と続くのですが、

とりあえず、menta.cgi(実際にhttpリクエストを受け取るところ)が入っているディレクトリ名をMENTAに書き換え、レンサバ(ロリポップ)のホームディレクトリの真下にあげました。

パーミッション設定等行って… http://hogehoge.com/MENTA/を叩く。

DirectoryIndexが設定されているので自動的にmenta.cgiへリクエストが渡る。

f:id:boonyuta:20090320180620p:image

ほい。ひとまず表示までは行きました。

次回以降はテンプレートをいじっていこうと思います。

2008-12-15

Mojoについて調べる

23:22

公式ページを読んでみたのでメモ代わりに。

一番最初にcpanにあげられたのが2008.09.24だから相当新しいフレームワークだ。

perlプログラミングの次世代フレームワーク

CGI.pmのためにperlを学ぶ人がいっぱいいた。色々便利だった技術が時代遅れになった今、もっと楽しいことのためにエネルギーを使うことができなくなってしまった。(効率が落ちちゃった。)Mojoはその効率をまた上げて、楽しいことに集中できるように

するための試みです。

今日はここまで。cpanMojo::Manual::Mojoliciousもぱっと読んだけど情報が少なくていまいち理解できてない。