タグ

Perlとttに関するfbisのブックマーク (11)

  • Template::ToolkitからText::Xslateへの移行 - thinking now...

    my $xslate = Text::Xslate->new( syntax => "TTerse", ); syntaxを当然のようにTTerseにしてはいたんですが、VMethod使いたいなーと思って探したらText::Xslate::Bridge::TT2Text::Xslate::Bridge::TT2Likeってのがありました。。TT2の方は、use Template::VMethods ();use Template::Filters ();してますね。。。Templateはインストール済みなので、TT2の方でもいいんですが、今後Templateはインストールしなくなりそうなので・・。 my $xslate = Text::Xslate->new( syntax => "TTerse", module => [ 'Text::Xslate::Bridge::TT2Like' ]

    fbis
    fbis 2010/08/24
  • Template Toolkit 探訪 (2) - daily dayflower

    前回お話したように,Template::Provider は,コンパイルしたテンプレートオブジェクトを,デフォルトではメモリ(内部のハッシュ)に蓄えておき,出来る限り再利用しています。ただ,当然再利用するためにはテンプレート「自体は」静的なものでなくてはいけませんから,ファイル名が指定された場合のみキャッシュします。つまり,生データのスカラハッシュや,ファイルグロブを与えた場合は,毎回コンパイルしているわけです。 デフォルトでは読み込まれれば読み込まれただけキャッシュにためておきますが,CACHE_SIZE というパラメータを初期化時に指定しておくと,その数のテンプレートだけ保持します。4 と指定しておくと,4つぶんだけキャッシュして,5つめがきたときには,一番使われていない(LRU)エントリを削除します。 さて,今回の題です。Template::Provider には,メモリだけでなく

    Template Toolkit 探訪 (2) - daily dayflower
    fbis
    fbis 2009/03/18
  • perl-mongers.org - このウェブサイトは販売用です! - perl mongers リソースおよび情報

    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

    fbis
    fbis 2008/09/12
  • TemplateToolkitをより早く!!・・・できなかったorz - マツモブログ

    ティーティーのさぁーディスクアイオー減らしたら早くなるんじゃね? と言った事を思い立ちやっては見たものの、ごめんなさい、見くびってました、出直して来ます。 というお話を晒させていただきます。 まず、何かと言いマスト TemplateToolkitのオプションでCOMPILE_DIRというのが有ります。これは強力でTTの文法で書いたテンプレートをperlのコードに書き下してくれるというやつです。よって一回コンパイルしてくれると次回からはパースせずとの良い!速い!という訳であります。 ↓このへん参照。 http://search.cpan.org/~abw/Template-Toolkit-2.19/lib/Template/Document.pm で、コンパイルされた結果がCOMPILE_DIRで指定したパスに溜まってゆくと。 例えば Template->new(ABSOLUTE => 1,

    TemplateToolkitをより早く!!・・・できなかったorz - マツモブログ
    fbis
    fbis 2008/02/04
  • はてなブログ | 無料ブログを作成しよう

    週報 2024/04/28 川はただ流れている 4/20(土) 初期値依存性 さいきん土曜日は寝てばかり。平日で何か消耗しているらしい。やったことと言えば庭いじりと読書くらい。 ベランダの大改造をした。 サンドイッチ 一年前に引っ越してからこんな配置だったのだけど、さいきん鉢を増やしたら洗濯担当大臣の氏…

    はてなブログ | 無料ブログを作成しよう
  • 最速インターフェース研究会 :: TemplateToolkitでハッシュを使う時の注意

    http://naoya.g.hatena.ne.jp/naoya/20070828/1188305840 ハッシュのキーの先頭が_だと取れなくなる、って話だけど、 それライブドアの社内IRCで去年の9月11日に散々既出のネタだよ。 ハッシュキーの先頭が.か_だとプライベートになって、itemだと取れなくなる。これはTTの仕様。 回避したいときは自前でプライベート関係なく値を取れるメソッドを定義してやればOK。 http://www.template-toolkit.org/pipermail/templates/2006-January/008206.html バージョンごとの検証とかしてないけど多分これで平気なはず。

    fbis
    fbis 2007/08/30
  • TTの.item()の挙動について調べてみた

    naoyaさんが書いてるTTのこの問題。ちょっと調べてみた。 とりあえず.item() がどこなのかを探してみたら、2.15 あたりで Template::Stash で定義されていたのが2.19だと Template::VMethods にうつっているようですね。 で、ロジックをみてみる。 2.15 だと Template::Stash の $HASH_OPTS->{item} の CODEREF が .item() の実体なのですが、この CODEREF 内ではプライベート変数判定用の正規表現が入ってる $PRIVATE がちゃんと参照できるため、プライベート判定できます。 でも、2.19 だと Template::VMethods の hash_item() が .item() の実体になっていて、しかもその中での $PRIVATE が undef になってる(参照できない)ために

    fbis
    fbis 2007/08/30
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    fbis
    fbis 2007/08/29
    特殊な値としてTTが内部で使用してるのかな?知らなかった。
  • Catalyst::Helper::View::TTSite と TT の AutoWrapper

    Catalyst::Helper::View::TTSite を使ってみたら、雛形のテンプレートで TT の WRAPPER がみたことがない使われ方をしていたので、調べてみたら TT の Automatic Wrapper という仕組みだった、という話。 今までの自分の TT の使い方。 普段自分が Web アプリなんかで TT を使う時の使い方は、header.tt と footer.tt とか作って、tt_process で指定するテンプレがそいつらを含めてるという、↓のような感じ。 header.tt。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta

  • TTのfailsafe - Hatena::Diary::Neko::kak 500 Internal Server Error

    CDBIとかDBICのイテレータで [% WHILE (foo = foo.next) %] とか書くと、 undef error - WHILE loop terminated (> 1000 iterations) とか怒られた。 TT見ると $WHILE_MAX = 1000 unless defined $WHILE_MAX; ... sub while { my ($class, $expr, $block) = @_; $block = pad($block, 2) if $PRETTY; return < $WHILE_MAX iterations)\\n" unless \$failsafe; }; EOF } こんな感じで無限ループを抑止してる。 なので、 local $Template::Directive::WHILE_MAX = $it->count+1; こんな感

    TTのfailsafe - Hatena::Diary::Neko::kak 500 Internal Server Error
    fbis
    fbis 2006/06/23
  • Template-Toolkit であらかじめプラグインをロードしておく - daily dayflower

    Template-Toolkit では [% USE foo.bar %] [% foo.bar.sample(test) %]USE プラグマでプラグインを読み込みますが,アプリ全体で使うプラグインがあらかじめ決まっている場合はいちいちすべてのテンプレートに記述するのも面倒くさいです。 そんなときは, my $ttc = Template::Context->new(...); $ttc->stash->set('foo.bar', $ttc->plugin('foo.bar', args ...));すればよいです(↑Template::Context ベースで使っている場合;Template ベースで使っている場合は $tt->context() 等で取得した Template::Context オブジェクトに対して同じようにすればいいはず)。 え,そんな直球な,という感じのコーディ

    Template-Toolkit であらかじめプラグインをロードしておく - daily dayflower
    fbis
    fbis 2006/06/02
  • 1