PerlでWebアプリを書いたのがかれこれ7年くらい前になるので最近の流れを学ぶためのメモ。まあ、最近といっても最新ではないけど。
- 作って学ぶ、今どきのWebサービス
- 第1回 何はなくともCPANを知ろう
- 第2回 RSSフィードの料理はLWPとXML::RSSにおまかせ
- use strictをつかえ
- Webコンテンツをシンプルに取得するだけならLWP::Simple。debianだとlibwww-perl
- RSSフィードを処理するならXML::RSS。debianだと、libxml-rss-perl
- shiftでコマンド実行時の引数を取得できるらしい。shift(@ARGV)の略?
- ourという接頭子を始めてみた。TAKESAKOのはてな出張所:my と local と our の違いについて, 404 Not Found:perl - myとourとscopeと
- 第3回 XML::SimpleであらゆるXML文書を料理する
ここで、XML::Simpleが返却したデータ構造がどのようなものなのか分からないといじりようがないと思われた方もいると思います。こんなときは、Perlの汎用的なデータ構造dump用モジュールであるData::Dumperを使います。次のように、
use Data::Dumper;とモジュールをuseでロードして、
my $data = $parser->XMLin($document) warn Dumper($data);と、Data::DumperのDumper関数を使ってwarningを出します。すると、リスト2のような結果が得られます。この結果に用いられている記号はPerlのシンタックスそのものです。ハッシュリファレンスが入れ子になっているデータ構造が見えますね。
-
- 第4回 Webサービスって実はこんなに簡単
- 第5回 Amazon Webサービスを料理してみる
- 第6回 Webアプリケーション開発にチャレンジ【前編】
- HTMLの出力には、Template-Toolkit。Debianだとlibtemplate-perlかlibtemplate-multilingual-perl。どちらが良いのかはわからない。
- リスト5の「『いまどき』でないWebアプリケーションプログラム」が以前私が書いたプログラムの3、4歩前に進んでいるプログラムであることに泣いた。以前の私のプログラムは化石なのね。2000年に勢いで書いたものだったものね。
- いまどきのWebアプリケーションを作るなら、CGI::Applicationとのこと。debianだと、libcgi-application-perl。参考:おまえのログ:CGI::Application::Dispatchまとめ
- 「ページごとにクラスを用意するような設計を行う場合はCGI::Application::Dispatchを使うと便利です。」Debian Lennyにはこれは無いみたい。
- 最終回 Webアプリケーション開発にチャレンジ【後編】
- use warningsって何だ? 404 Not Found:perl - use warnings; # -w でなくて
進化しているんだね。情報収集を怠るとあっという間に置いてけぼりだ。
PerlからMySQLやPostgreSQLにアクセスする際には、2000年ころはDBI、DBD::MySQLを使って書いたものだけど、これが非常に嫌。Ruby on Railsのようにやりたい。それで、探して見たところこの方面も進化が進んでいる見たい。DBIx::Classというらしい。, debianだとlibdbix-class-perl
- DBIx::Classのマニュアル
- 今日のCPANモジュール:use DBIx::Class;
- RemovableType:DBIx::Class勉強中…
- so what?:DBIx::classモジュールでのトランザクション処理
認証をするときのデフォルトモジュールがあるかどうかを調べていたら、Perl on Railsと言えるCatalystというフレームワークがあるらしい。
Ruby on Railsの進化のスピードについていけていないプログラミング能力が低い人間がとしては、Ruby on Railsやこういうフレームワークを使うと魔法の箱すぎて自分が何をしたからこれが動いているのか理解できず仕様がちょっと変わると自分のプログラムを保守できなくなるんだよね。Catalystに手を出すかどうかは検討課題。