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
PerlのTwitterモジュールの紹介
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
OGATA Tetsuji
March 21, 2012
Technology
34
0
Share
PerlのTwitterモジュールの紹介
2012/03/21 に Twitter API 勉強会@渋谷 で発表したスライドです。
OGATA Tetsuji
March 21, 2012
More Decks by OGATA Tetsuji
See All by OGATA Tetsuji
Hokkaido.pmがあって YAPCでトークできた
xtetsuji
0
48
モダンmod_perl入門 #yapcasia
xtetsuji
0
33
札幌でテンプレート #hokkaidopm
xtetsuji
0
38
すごいmod_perl
xtetsuji
0
21
Perl WAF Overview, with mod_perl - Hokkaido.pm#7 #hokkaidopm
xtetsuji
0
27
mod_perl hacks PHP
xtetsuji
0
31
文字化け2011〜まだまだ化けます〜
xtetsuji
0
24
mod_perl温故知新 〜Perl CGIの高速化からメールサーバまで〜
xtetsuji
0
22
Other Decks in Technology
See All in Technology
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.5k
実例から学ぶ GuardDuty(SSH BruteForce)調査の全体フローと勘所【SecurityJAWS】
cscengineer
PRO
0
120
AI飲み会幹事エージェントを作っただけなのに
ykimi
0
240
20260516_SecJAWS_Days
takuyay0ne
2
500
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.7k
Databricks 月刊サービスアップデートまとめ 2026年04月号
tyosi1212
0
130
セキュリティ対策、何からはじめる? CloudNative環境の脅威モデリングと リスク評価実践入門 #cloudnativekaigi
varu3
5
1k
M&Aで増え続けるプロダクトに少数QAはどう立ち向かうか─GENDAが挑む、全員で取り組む品質標準化戦略 / GENDA Tech Talk #4
genda
0
180
なぜ、IAMロールのプリンシパルに*による部分マッチングが使えないのか? / 20260518-ssmjp-iam-role-principal
opelab
2
140
GCASアップデート(202603-202605)
techniczna
0
220
クラウドネイティブ DB はいかにして制約を 克服したか? 〜進化歴史から紐解く、スケーラブルアーキテクチャ設計指針〜
hacomono
PRO
6
1.1k
AIAgentと取り組むKaggle
508shuto
2
360
Featured
See All Featured
Become a Pro
speakerdeck
PRO
31
5.9k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
370
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
120
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
510
Code Review Best Practice
trishagee
74
20k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
120
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
340
Transcript
PerlͷTwitter Ϟδϡʔϧͷհ גࣜձࣾfonfun ඌܗ మ࣍ (OGATA Tetsuji) Twitter: @xtetsuji 2012/03/21
ࣗݾհ
ࣗݾհ • ඌܗ మ࣍ (OGATA Tetsuji) • Twitter: @xtetsuji •
Blog: http://post.tetsuji.jp/ • Α͘ॻ͘ͷ: Perl / Shell Script / JavaScript • ʮTwitter APIษڧձʯલճॳग़੮Ͱɺ ͻΐΜͳ͜ͱ͔ΒLTΛ͢Δ͜ͱʹͳͬͨ
ॴଐհ • גࣜձࣾfonfun(ϑΥϯϑΝϯ) http://www.fonfun.co.jp/ • ओྗɿϦϞʔτϝʔϧ http://rmail.jp/ (Twitter: @rmailjp) •
Hokkaido.pm http://hokkaido.pm.org/ (Twitter: @hokkaidopm)
͡Ίʹ • ֶੜͷօ͞Μɺࣾձਓͷօ͞Μɺ Java HackerͷΈͳ͞Μɺ͜Μʹͪ • Javaશવॻ͚·ͤΜ(͢Έ·ͤΜ) • PerlΛ9ॻ͍͍ͯ·͕͢ɺͦΕ΄Ͳ PerlΓ·ͤΜ(͕ࣝภ͍ͬͯΔ)
͡Ίʹ • ͱ͍ͬͨΘ͚ͰɺࢲPerlͷදͱ͍͏ ྗྔͳ͍ͷͰɺ͋·Γظ͠ͳ͍Ͱ Լ͍͞ • Apache mod_perlৄ͍͠΄͏Ͱ͢
Agenda
Agenda • ΠϚυΩͷPerlͷհ • Perlʹৄ͘͠ͳ͍ਓ͚ɿPerlڥߏங • Twitterؔ࿈ͷPerlϞδϡʔϧΛ͍͔ͭ͘ հ
ΠϚυΩͷPerlͷհ
ΠϚυΩͷPerlͷհ • ܰྔݴޠͰΑ͋͘Δޡղ • ݹ͍: Perl • ৽͍͠: PHP, Python,
Ruby
ΠϚυΩͷPerlͷհ • ਖ਼͍͠ཧղ • ʑਐԽΛଓ͚͍ͯΔ: Perl, PHP, Python, Ruby •
Perlࠓʮݹ͍ʯͷͰܾͯ͠ແ͘ ʮݹ͔͘Β͋Δʯͱ͍͏ઌൃͳ͚ͩ • ݕࡧͰग़ͯ͘Δʮݹ͍ใʯ͕ωοΫ
ΠϚυΩͷPerlͷհ • Perlࠓ༷ʑͳϋοΧʔ(Perl Monger) ʹΑͬͯʑਐԽΛଓ͚͍ͯΔ • ͯ͢հ͖͠Ε·ͤΜ͕ɺࠓճͷ ͷϕʔεͱͯ͠ʹཱͭΛগ͠…
ΠϚυΩͷPerlͷհ • ڥߏங: Perlbrew • Rubyͷrvm(Ruby Version Manager)ɺ PythonͷpythonbrewͷΑ͏ͳͷ •
طଘͱผͷPerlڥΛ؆୯ʹ࡞Δࣄ ͕Ͱ͖Δͷ
Perlbrew • ৄ͘͠ http://perlbrew.pl/ Λࢀর͢Δ ͔ɺ”perlbrew” Ͱݕࡧͯ͠ΈΔ • ͱͯ؆୯ •
OS(Distribution)ඪ४ͷPerlڥΛԚͣ͞ ʹࡁΉ
Perlbrew
Perlbrew • PerlbrewͷΠϯετʔϧ • $ curl -kL http://install.perlbrew.pl | bash
• γΣϧڥมͷઃఆ(.bashrcʹه) • source ~/perl5/perlbrew/etc/bashrc • ͜Ε͚ͩ
Perlbrew • Perlbrewͷҙ • Ϗϧυʹඞཁͳڥ͕ඞཁ • Linux(e.g. Debian)ͩͱbuild-essential • Mac
OS X ͩͱ Xcode + α
Perlbrew • PerlbrewͰ Perl 5.14.2 ΛΠϯετʔϧ • perlbrew install perl-5.14.2
Perlbrew • Perl 5.14.2 ͕ೖͬͨΒ͑ΔΑ͏ʹ͢Δ • $ perlbrew switch perl-5.14.2
• cpanm (App::cpanminus) ೖΕΔ • $ perlbrew install-cpanm cpanm ίϚϯυ͕͑ΔΑ͏ʹͳΔ
Perl and CPAN
Perl and CPAN • CPAN (͠ʔͺΜ) = Comprehensive Perl Archive
Network • PerlϞδϡʔϧͷڊେͳϥΠϒϥϦ
Perl and CPAN
Perl and CPAN
Perl and CPAN • Ϟδϡʔϧݕࡧ metacpan.org ͔ search.cpan.org Ͱߦ͑Δ •
ͦΕͰ search.cpan.org ͰʮTwitterʯΛ ݕࡧͯ͠ΈΔ͜ͱʹ…
Twitter Module of Perl
Twitter Module of Perl
Twitter Module of Perl • ࠓճ144ݸݟ͔ͭͬͨ • ͪͳΈʹ “Tweet” Ͱ51ݸݟ͔ͭͬͨ
• ͲΕΛ͏ͱΑ͍͔ɺ׆ൃʹϝϯς φϯε͞Ε͍ͯΔ͔͕Ұͭͷࢦඪ • ࠷ऴߋ৽͕ҰͭͷࢀߟʹͳΓ·͢
Twitter Module of Perl • େ͖͚ͯ͘ҎԼͷΑ͏ͳͷ͕͋Δ • ୯ମͰ͑ΔAPIͷϥούʔ • ԿΒ͔ͷϑϨʔϜϫʔΫͷϓϥάΠϯ
(WAFؚΉ)
Twitter Module of Perl • ͨͿΜ࣌ؒࠩ͠ഭ͖ͬͯͨ͜Ζͳͷ Ͱɺ͍͔ͭ͘ओཁͳϞδϡʔϧΛհ • ԿΒ͔ͷϑϨʔϜϫʔΫͷϓϥάΠϯ ͱͯ͠ͷTwitterϞδϡʔϧׂѪ
Net::Twitter • OAuth͔Βߘ·ͰɺҰ࿈ͷREST APIʹ ରԠ͢Δϝιου͕ἧ͍ͬͯΔ • ଟ͘ͷPerl TwitterϞδϡʔϧ͜ΕΛ ͍ͬͯΔέʔε͕ଟ͍(ͬΆ͍) •
ಉ͡࡞ऀͷܰྔ൛Ϟδϡʔϧ Net::Twitter::Lite͋Δ
AnyEvent::Twitter:: Stream • ͪ͜ΒREST APIͰͳ͘Twitterͷ Streaming APIΛར༻Ͱ͖Δͷ • ϞμϯͳPerlͰσϑΝΫτελϯμʔυ Ͱ͋ΔΠϕϯτۦಈϑϨʔϜϫʔΫ
AnyEventΛϕʔεͱͨ͠Ϟδϡʔϧ
Tweet::ToDelicious • ͪ͜ΒԠ༻ϞδϡʔϧͷҰྫ • Twitter APIʹAnyEvent::Twitter::StreamΛ ͬͨϞδϡʔϧ • πΠʔτʹURLؚ͕·Ε͍ͯͨΒࢦఆͷ DeliciousΞΧϯτʹϒοΫϚʔΫొ
͕Ͱ͖Δ
؆୯ͳαϯϓϧ
؆୯ͳαϯϓϧ • ϞμϯͳPerlͷڥPerlbrewͰ࡞Εͨ • cpanmೖΕͨ • ඞཁͳϞδϡʔϧͷΠϯετʔϧ • $ cpanm
AnyEvent::Twitter::Stream • ґଘϞδϡʔϧࣗಈతʹೖΔ
؆୯ͳαϯϓϧ • AnyEvent::Twitter::StreamΛͬͯɺݕࡧ ΛோΊͳ͕ΒৄࡉΛϩάʹه͢Δɺ ؆୯ͳΞϓϦέʔγϣϯΛ࡞ͬͯΈΔ • https://gist.github.com/2139804 twitter-stream-search.pl (by xtetsuji)
• ͨͿΜखܰʹࢼͤΔͣ
؆୯ͳαϯϓϧ DEMO
·ͱΊ
·ͱΊ • PerlʹTwitterͷREST APIStreaming APIΛ͏Ϟδϡʔϧ͕ॆ࣮͍ͯ͠Δ • PerlࣗମࠓϞμϯʹਐԽ͍ͯ͠Δ • Έͳ͞ΜPerlॻ͍ͯΈ·ͤΜ͔ʁ
࣭ / ؾʹͳΔ • ࠙ձʹग़·͢ͷͰɺͦͷ࣌ʹؾܰʹ Λ͔͚ͯԼ͍͞(تͼ·͢) • perlbrew/cpanmͷΠϯετʔϧͰ͏·͘ ߦ͔ͳ͍͋ΕɺࢲʹڠྗͰ͖Δ͜ ͱ͕͋Δ͔͠Ε·ͤΜ(࣭ܴ)
• ݕࡧ͢Δͱ৭ʑग़͖ͯ·͢(ଞྗຊئ)
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠