タグ

templateに関するhide-Kのブックマーク (3)

  • oinume journal

    大規模なコードベースでリファクタリングを省エネ化するためにcodemodを最近調べていて、軽く試行錯誤したのでそのメモ。 やりたいこと 例えば以下のようなTable Driven TestなコードをBEFOREからAFTERに書き換えたい。コード量が多いため人間がやるのは現実的ではなく、codemodで機械的に書き換えたい。 BEFORE package main import ( "slices" "testing" ) func TestContains(t *testing.T) { type args struct { ss []string s string } tests := []struct { name string args args want bool }{ { name: "empty: false", args: args{[]string{}, ""}, wan

    oinume journal
  • Kazuho@Cybozu Labs: Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性

    « MySQL の order by 〜 limit を高速化する方法 | メイン | MySQL Conference & Expo 2009 で Q4M の話をします » 2008年12月16日 Text::MicroTemplate - テンプレートエンジンのセキュリティと利便性 先月開催された Shibuya.pm #10 でプレゼンテーションがあった MENTA や NanoA では、Mojo 由来のテンプレートエンジンを拡張して使用してきたのですが、Perl モジュールとして独立させるべきだよね、ということになり、このたび Text::MicroTemplate として CPAN にアップロードしました。 そのことを告知するとともに、作業の過程で興味深く感じた、テンプレートエンジンのセキュリティと利便性に関する話題をブログに書いておこうと思います。 テンプレートエンジンのエスケ

  • Template::Plugin::Lingua::JA::Summarizeを作ってみた

    Kazuhoさんが作られた Lingua::JA::Summarize を TT から使うためのモジュールを作成してみた。 使い方はシンブルで、 [% USE summarize = Lingua.JA.Summarize("ここにsummarizeしたいテキスト") %] [% FOREACH keyword = summarize.keywords %] [% keyword %] [% END %] こんな感じです。 また下記のように keywords にオプションもハッシュリファレンスで渡せるようになってます。 [% USE summarize = Lingua.JA.Summarize("ここにsummarizeしたいテキスト", { maxwords => 10 }) %] Lingua::JA::Summarize はいろいろ使い道が考え付くので今後期待ですね。まだCPANに

  • 1