札幌でテンプレート #hokkaidopm

635 views

Published on

at 2012/09/19 Hokkaido.pm Casual#5 in Sapporo.
Perlのテンプレートについての解説をしようとしましたが、何故か途中m4に脱線しています。

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
635
On SlideShare
0
From Embeds
0
Number of Embeds
23
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 札幌でテンプレート #hokkaidopm

    1. 1. 札幌でテンプレート 株式会社fonfun 尾形 鉄次 (OGATA Tetsuji) Twitter: @xtetsuji 2012/09/19 Hokkaido.pm Casual#5
    2. 2. 自己紹介
    3. 3. 自己紹介• 尾形 鉄次 (OGATA Tetsuji)• Twitter: @xtetsuji• Blog: http://post.tetsuji.jp/• 得意技: mod_perl• Perl歴9年だけど知識が偏っているので、 今になって色々勉強しています><
    4. 4. 自己紹介• Hokkaido.pmには、#5から毎回(#7まで)出席• Hokkaido.pm Casual は今回 #5 が初参加• 大学(1997年)から上京、就職後もずっと東京• 実家が帯広で今回帰省ついでに寄りました• Hokkaido.pm は私の故郷です!
    5. 5. 所属紹介• 株式会社fonfun(フォンファン) http://www.fonfun.co.jp/ • 主力製品:リモートメール http://rmail.jp/
    6. 6. Casualの雰囲気がよく分からないので緩くやらせてもらいます
    7. 7. 今回のテーマ:テンプレート入門
    8. 8. Perlのテンプレート• 入社当時の2003年からPerl使っていた→ 当時は簡単なログ処理程度のスキル• 2004年頃からウェブ開発を任された• まさかプログラマになるとは…• ウェブ開発言語はもちろんPerl
    9. 9. Perlのテンプレート• 2004年使ったのは社内で作られた社内 独自のテンプレートエンジン• 事実上マニュアル無し(´Д⊂ヽ• 新規のサイトでの使用はあまり考え られた設計ではなかった
    10. 10. Perlのテンプレート• 2005年頃から開発者は自分一人で新規 開発を行っていくことになった• まだWAF全盛の時代ではなかったの で、最初は見よう見まねで普通のPerl CGI (not mod_perl)• HTML::Template を採用
    11. 11. HTML::Template
    12. 12. HTML::Template• Perlに昔からあるテンプレートエンジン• 他の高性能なテンプレートエンジンが 後発で出てきた今も良く使われている• 構文がHTMLっぽいのでそれ以外で使う と違和感があるかも程度
    13. 13. HTML::Template
    14. 14. HTML::Template• HTML::Templateは1999年のリリース後の 早い段階でテンプレートキャッシュを 搭載していた (mod_perl永続環境等で) • キャッシュ→CPU(I/O)節約 • 非キャッシュ→メモリ節約
    15. 15. HTML::Template• 規模の大きいウェブアプリケーション の場合、テンプレートファイルの読み 込みにコストがかかるケースでは キャッシュが有効• 前述の自社テンプレートエンジンも キャッシュをサポートしています
    16. 16. 設定ファイルとか• 一部分だけが違うだけの大量の設定 ファイルを一括生成する場合• 最近はこの手のデプロイツールも隆盛• Perlではないもののシンプルなコマンド ラインツールのm4が流用できるかも
    17. 17. m4
    18. 18. m4• 元々はC言語等のプリプロセッサ• 古い古いツールなので、build-essentialな 環境が入っていれば入っているはず• 真面目に使おうとすると大変だけど、 表面的に使うだけでも面白い
    19. 19. m4# 仮想的な設定ファイル - some.conf.m4hostname: __HOSTNAME__username: someuser# ...以下略#!/bin/bashfor hostname in sv{01..99} ; do m4 -D __HOSTNAME__=$hostname some.conf.m4 > some.conf.$hostnamedone
    20. 20. m4• C言語のプリプロセッサ等として高度に 利用されるm4だけど、こんな至極単純 な作業用途に使ってもOKでしょう• Perlじゃないけど、道具は適材適所• モダンな設定ファイルデプロイツール もウォッチしたいですね
    21. 21. 他のテンプレートの 使い心地はどうだろう• 様々なテンプレートエンジンがある • HTML::Template • Template-Toolkit (TT) • Text::Xslate …等々• 時代によって流行りは様々
    22. 22. 他のテンプレートの 使い心地はどうだろう• ポストモダンなWAFとセットになって いたりするテンプレートエンジン等、 みなさんのオススメや最近の流行りを 聞いてみたいです• Text::Xslateとか名前だけ知っているだけ で実際に使ったこと無い怠け者です
    23. 23. ご清聴ありがとうございました

    ×