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
OGATA Tetsuji
March 21, 2012
Technology
0
14
PerlのTwitterモジュールの紹介
2012/03/21 に Twitter API 勉強会@渋谷 で発表したスライドです。
OGATA Tetsuji
March 21, 2012
Tweet
Share
More Decks by OGATA Tetsuji
See All by OGATA Tetsuji
Hokkaido.pmがあって YAPCでトークできた
xtetsuji
0
18
モダンmod_perl入門 #yapcasia
xtetsuji
0
13
札幌でテンプレート #hokkaidopm
xtetsuji
0
21
すごいmod_perl
xtetsuji
0
8
Perl WAF Overview, with mod_perl - Hokkaido.pm#7 #hokkaidopm
xtetsuji
0
8
mod_perl hacks PHP
xtetsuji
0
7
文字化け2011〜まだまだ化けます〜
xtetsuji
0
11
mod_perl温故知新 〜Perl CGIの高速化からメールサーバまで〜
xtetsuji
0
7
Other Decks in Technology
See All in Technology
.NET AspireでAzure Functionsやクラウドリソースを統合する
tsubakimoto_s
0
190
FODにおけるホーム画面編成のレコメンド
watarukudo
PRO
2
280
今年一年で頑張ること / What I will do my best this year
pauli
1
220
タイミーのデータ活用を支えるdbt Cloud導入とこれから
ttccddtoki
0
130
.NET 最新アップデート ~ AI とクラウド時代のアプリモダナイゼーション
chack411
0
200
深層学習と3Dキャプチャ・3Dモデル生成(土木学会応用力学委員会 応用数理・AIセミナー)
pfn
PRO
0
460
embedパッケージを深掘りする / Deep Dive into embed Package in Go
task4233
1
210
20250116_JAWS_Osaka
takuyay0ne
2
200
技術に触れたり、顔を出そう
maruto
1
150
2025年の挑戦 コーポレートエンジニアの技術広報/techpr5
nishiuma
0
140
Bring Your Own Container: When Containers Turn the Key to EDR Bypass/byoc-avtokyo2024
tkmru
0
860
データ基盤におけるIaCの重要性とその運用
mtpooh
4
520
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.4k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
The Cost Of JavaScript in 2023
addyosmani
46
7.2k
KATA
mclloyd
29
14k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
How to Think Like a Performance Engineer
csswizardry
22
1.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
Bash Introduction
62gerente
610
210k
Thoughts on Productivity
jonyablonski
68
4.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
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ͷΠϯετʔϧͰ͏·͘ ߦ͔ͳ͍͋ΕɺࢲʹڠྗͰ͖Δ͜ ͱ͕͋Δ͔͠Ε·ͤΜ(࣭ܴ)
• ݕࡧ͢Δͱ৭ʑग़͖ͯ·͢(ଞྗຊئ)
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠