Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
札幌でテンプレート #hokkaidopm
Search
OGATA Tetsuji
September 19, 2012
Technology
0
36
札幌でテンプレート #hokkaidopm
2012/09/19 に Hokkaido.pm Casual#5 で発表したスライドです。
OGATA Tetsuji
September 19, 2012
Tweet
Share
More Decks by OGATA Tetsuji
See All by OGATA Tetsuji
Hokkaido.pmがあって YAPCでトークできた
xtetsuji
0
45
モダンmod_perl入門 #yapcasia
xtetsuji
0
27
すごいmod_perl
xtetsuji
0
20
Perl WAF Overview, with mod_perl - Hokkaido.pm#7 #hokkaidopm
xtetsuji
0
22
PerlのTwitterモジュールの紹介
xtetsuji
0
24
mod_perl hacks PHP
xtetsuji
0
24
文字化け2011〜まだまだ化けます〜
xtetsuji
0
23
mod_perl温故知新 〜Perl CGIの高速化からメールサーバまで〜
xtetsuji
0
18
Other Decks in Technology
See All in Technology
2026-03-11 JAWS-UG 茨城 #12 改めてALBを便利に使う
masasuzu
2
380
会社紹介資料 / Sansan Company Profile
sansan33
PRO
16
410k
Agent ServerはWeb Serverではない。ADKで考えるAgentOps
akiratameto
0
110
わからなくて良いなら、わからなきゃだめなの?
kotaoue
1
360
DevOpsエージェントで実現する!! AWS Well-Architected(W-A) を実現するシステム設計 / 20260307 Masaki Okuda
shift_evolve
PRO
3
790
Kubernetesにおける推論基盤
ry
1
390
Keycloak を使った SSO で CockroachDB にログインする / CockroachDB SSO with Keycloak
kota2and3kan
0
120
TypeScript 7.0の現在地と備え方
uhyo
4
280
クラウド × シリコンの Mashup - AWS チップ開発で広がる AI 基盤の選択肢
htokoyo
2
250
AI時代の「本当の」ハイブリッドクラウド — エージェントが実現した、あの頃の夢
ebibibi
0
120
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
140
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
13
4.3k
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Designing Powerful Visuals for Engaging Learning
tmiket
0
280
The untapped power of vector embeddings
frankvandijk
2
1.6k
So, you think you're a good person
axbom
PRO
2
2k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.7k
Rails Girls Zürich Keynote
gr2m
96
14k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
How to make the Groovebox
asonas
2
2k
Bash Introduction
62gerente
615
210k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.8k
Transcript
ࡳຈͰςϯϓϨʔτ גࣜձࣾfonfun ඌܗ మ࣍ (OGATA Tetsuji) Twitter: @xtetsuji 2012/09/19 Hokkaido.pm
Casual#5
ࣗݾհ
ࣗݾհ • ඌܗ మ࣍ (OGATA Tetsuji) • Twitter: @xtetsuji •
Blog: http://post.tetsuji.jp/ • ಘҙٕ: mod_perl • Perlྺ9͚ͩͲ͕ࣝภ͍ͬͯΔͷͰɺ ࠓʹͳͬͯ৭ʑษڧ͍ͯ͠·͢ʼʻ
ࣗݾհ • Hokkaido.pmʹɺ#5͔Βຖճ(#7·Ͱ)ग़੮ • Hokkaido.pm Casual ࠓճ #5 ͕ॳࢀՃ •
େֶ(1997)͔Β্ژɺब৬ޙͣͬͱ౦ ژ • ࣮Ո͕ଳͰࠓճؼল͍ͭͰʹدΓ·ͨ͠ • Hokkaido.pm ࢲͷނڷͰ͢ʂ
ॴଐհ • גࣜձࣾfonfun(ϑΥϯϑΝϯ) http://www.fonfun.co.jp/ • ओྗɿϦϞʔτϝʔϧ http://rmail.jp/
Casualͷงғؾ͕Α͘ ͔Βͳ͍ͷͰ؇͘ ΒͤͯΒ͍·͢
ࠓճͷςʔϚɿ ςϯϓϨʔτೖ
PerlͷςϯϓϨʔτ • ೖࣾ࣌ͷ2003͔ΒPerl͍ͬͯͨˠ ࣌؆୯ͳϩάॲཧఔͷεΩϧ • 2004ࠒ͔ΒΣϒ։ൃΛ͞Εͨ •·͔͞ϓϩάϥϚʹͳΔͱ… • Σϒ։ൃݴޠͪΖΜPerl
PerlͷςϯϓϨʔτ • 2004ͬͨͷࣾͰ࡞ΒΕͨࣾ ಠࣗͷςϯϓϨʔτΤϯδϯ • ࣄ্࣮ϚχϡΞϧແ͠(´Д⊂ʋ • ৽نͷαΠτͰͷ༻͋·Γߟ͑ ΒΕͨઃܭͰͳ͔ͬͨ
PerlͷςϯϓϨʔτ • 2005ࠒ͔Β։ൃऀࣗҰਓͰ৽ن ։ൃΛߦ͍ͬͯ͘͜ͱʹͳͬͨ • ·ͩWAFશͷ࣌Ͱͳ͔ͬͨͷ Ͱɺ࠷ॳݟΑ͏ݟ·ͶͰී௨ͷPerl CGI (not mod_perl)
• HTML::Template Λ࠾༻
HTML::Template
HTML::Template • Perlʹੲ͔Β͋ΔςϯϓϨʔτΤϯδϯ • ଞͷߴੑೳͳςϯϓϨʔτΤϯδϯ͕ ޙൃͰग़͖ͯͨࠓྑ͘ΘΕ͍ͯΔ • ߏจ͕HTMLͬΆ͍ͷͰͦΕҎ֎Ͱ͏ ͱҧײ͕͋Δ͔ఔ
HTML::Template
HTML::Template • HTML::Template1999ͷϦϦʔεޙͷ ૣ͍ஈ֊ͰςϯϓϨʔτΩϟογϡΛ ࡌ͍ͯͨ͠ (mod_perlӬଓڥͰ) • ΩϟογϡˠCPU(I/O)અ • ඇΩϟογϡˠϝϞϦઅ
HTML::Template • نͷେ͖͍ΣϒΞϓϦέʔγϣϯ ͷ߹ɺςϯϓϨʔτϑΝΠϧͷಡΈ ࠐΈʹίετ͕͔͔ΔέʔεͰ Ωϟογϡ͕༗ޮ • લड़ͷࣗࣾςϯϓϨʔτΤϯδϯ ΩϟογϡΛαϙʔτ͍ͯ͠·͢
ઃఆϑΝΠϧͱ͔ • Ұ෦͚͕ͩҧ͏͚ͩͷେྔͷઃఆ ϑΝΠϧΛҰׅੜ͢Δ߹ • ࠷ۙ͜ͷखͷσϓϩΠπʔϧོ • PerlͰͳ͍ͷͷγϯϓϧͳίϚϯυ ϥΠϯπʔϧͷm4͕ྲྀ༻Ͱ͖Δ͔
m4
None
None
m4 • ݩʑCݴޠͷϓϦϓϩηοα • ݹ͍ݹ͍πʔϧͳͷͰɺbuild-essentialͳ ڥ͕ೖ͍ͬͯΕೖ͍ͬͯΔͣ • ਅ໘ʹ͓͏ͱ͢Δͱେม͚ͩͲɺ ද໘తʹ͏͚ͩͰ໘ന͍
m4 # ԾతͳઃఆϑΝΠϧ - some.conf.m4 hostname: __HOSTNAME__ username: someuser #
...ҎԼུ #!/bin/bash for hostname in sv{01..99} ; do m4 -D __HOSTNAME__=$hostname \ some.conf.m4 > some.conf.$hostname done
m4 • CݴޠͷϓϦϓϩηοαͱͯ͠ߴʹ ར༻͞ΕΔm4͚ͩͲɺ͜Μͳࢸۃ୯७ ͳ࡞ۀ༻్ʹͬͯOKͰ͠ΐ͏ • Perl͡Όͳ͍͚Ͳɺಓ۩దࡐదॴ • ϞμϯͳઃఆϑΝΠϧσϓϩΠπʔϧ Υον͍ͨ͠Ͱ͢Ͷ
ଞͷςϯϓϨʔτͷ ͍৺Ͳ͏ͩΖ͏ • ༷ʑͳςϯϓϨʔτΤϯδϯ͕͋Δ • HTML::Template • Template-Toolkit (TT) •
Text::Xslate …ʑ • ࣌ʹΑͬͯྲྀߦΓ༷ʑ
ଞͷςϯϓϨʔτͷ ͍৺Ͳ͏ͩΖ͏ • ϙετϞμϯͳWAFͱηοτʹͳͬͯ ͍ͨΓ͢ΔςϯϓϨʔτΤϯδϯɺ Έͳ͞ΜͷΦεεϝ࠷ۙͷྲྀߦΓΛ ฉ͍ͯΈ͍ͨͰ͢ • Text::Xslateͱ໊͔લ͚͍ͩͬͯΔ͚ͩ Ͱ࣮ࡍʹͬͨ͜ͱແ͍ଵ͚ऀͰ͢
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠