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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
OGATA Tetsuji
September 19, 2012
Technology
39
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
札幌でテンプレート #hokkaidopm
2012/09/19 に Hokkaido.pm Casual#5 で発表したスライドです。
OGATA Tetsuji
September 19, 2012
More Decks by OGATA Tetsuji
See All by OGATA Tetsuji
Hokkaido.pmがあって YAPCでトークできた
xtetsuji
0
49
モダンmod_perl入門 #yapcasia
xtetsuji
0
35
すごいmod_perl
xtetsuji
0
23
Perl WAF Overview, with mod_perl - Hokkaido.pm#7 #hokkaidopm
xtetsuji
0
35
PerlのTwitterモジュールの紹介
xtetsuji
0
37
mod_perl hacks PHP
xtetsuji
0
34
文字化け2011〜まだまだ化けます〜
xtetsuji
0
26
mod_perl温故知新 〜Perl CGIの高速化からメールサーバまで〜
xtetsuji
0
22
Other Decks in Technology
See All in Technology
ぼっちではじめた登壇が「51名」「241件」の発信に化けた
subroh0508
1
330
AIエージェントとPhysical AIが拓く製造業の変革(ハノーバーメッセリキャップ)
iotcomjpadmin
0
160
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
290
FPGAの開発コンペでZephyrを使ってみた
iotengineer22
0
210
AWS Security Hub CSPMの成功・失敗体験
cmusudakeisuke
0
580
螺旋型キャリアの生存戦略 / kinoko-conf2026
rakus_dev
1
1.1k
When Platform Engineering Meets GenAI
sucitw
0
200
AIが自律的に回る開発ループを設計してチーム開発に組み込む
nekorush14
0
130
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
4k
Hatena Engineer Seminar 37 jj1uzh
jj1uzh
0
120
AIに障害切り分けを全部やってもらった。 。 。 。
estie
0
230
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
270
Featured
See All Featured
Exploring anti-patterns in Rails
aemeredith
3
430
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
280
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4k
It's Worth the Effort
3n
188
29k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2k
Music & Morning Musume
bryan
47
7.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Designing Powerful Visuals for Engaging Learning
tmiket
1
430
The SEO Collaboration Effect
kristinabergwall1
1
490
Why Our Code Smells
bkeepers
PRO
340
58k
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ͱ໊͔લ͚͍ͩͬͯΔ͚ͩ Ͱ࣮ࡍʹͬͨ͜ͱແ͍ଵ͚ऀͰ͢
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠