10月15日,
電車遅延のため,
※今回のレポートは全セッションを回れておりません。ご了承ください。
gfxさん「How Xslate Works - The next generation's template engine」
Text::Xslateの作者であるgfxさんによるXslateの内部構造を中心としたトークでした。
XslateはXSで書かれているテンプレートエンジンです。非常に高速に動作するように設計されていて、HTMLエスケープは自動で行ってくれる機能により安全性にも配慮されています。また複数の文法をサポートしてることや、エラーメッセージが分かりやすいなど、開発のしやすさにも力をいれているとのことです。
まずはなぜXslateを書いたのかという経緯から。CPANにはよく使われているテンプレートエンジンがたくさんある中が、どれも一長一短で完璧なものがないと感じて開発を始められたそうです。例えばTemplate-Toolkit(TT2)は広く使われていますが、動作が非常に遅くエスケープも自動ではないためXSSを生みやすくなっています。最近開発されたText::MicroTemplateはPurePerlだが高速で、セキュリティ面も配慮されていますが、文法がperlベースのため何でも出来すぎてしまうところがあり、危険なコードもかけてしまうのでテンプレートエンジンとしては好ましくない点もあるとと考えられているそうです。
つづいて基本的な使い方の説明となりました。使い方は簡単で、基本的にText::Xslate->new()->render()で動かせます。newには様々なオプションを渡せるようで、キャッシュの設定などが行なえます。テンプレートの構文はPerl6ライクな記法で、フィールドの参照はドット(.)で行ないます。exampleディレクトリに例をたくさん置いているそうです。
その後内部処理の説明となりました。Xslateではテンプレートを処理する際に、いったん前処理でプログラミング言語風な状態に変換してからパースしているそうです。パーサの実装は手書きで作られていて、オライリー社から出版されているビューティフルコードの
質疑応答ではテンプレートをperlコードに落としこむ実装にせずにあえてバーチャルマシン化した理由について尋ねられていました。それに対してperlのインタプリタはテンプレート処理に特化しているわけではないので、文字列の連結処理などにオーバーヘッドがある、Xslateではそのあたりを最適化していて、高速化できていると説明されていました。また他言語への展開についても質問がありましたが、現状perlの実装に深く依存しているため難しいとのことでした。
twitter上でも次は使ってみたいという声があがるなど、今後注目のテンプレートエンジンだと思いました。
なお,
Yappoさん「Ajax Application Testing」
このセッションは,
JSTAPdを使うためには,
作成したテストは,
最後に,
Jesse Vincentさん「Perl5 is Alive!」
正午から行われたセッションは,
その後,
Jesseさんはまた,
最後に,