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
11
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
17
モダンmod_perl入門 #yapcasia
xtetsuji
0
11
札幌でテンプレート #hokkaidopm
xtetsuji
0
18
すごいmod_perl
xtetsuji
0
8
Perl WAF Overview, with mod_perl - Hokkaido.pm#7 #hokkaidopm
xtetsuji
0
8
mod_perl hacks PHP
xtetsuji
0
5
文字化け2011〜まだまだ化けます〜
xtetsuji
0
11
mod_perl温故知新 〜Perl CGIの高速化からメールサーバまで〜
xtetsuji
0
7
Other Decks in Technology
See All in Technology
Amazon FSx for NetApp ONTAPを利用するにあたっての要件整理と設計のポイント
non97
1
160
グローバル展開を見据えたサービスにおける機械翻訳プラクティス / dp-ai-translating
cyberagentdevelopers
PRO
1
150
CAMERA-Suite: 広告文生成のための評価スイート / ai-camera-suite
cyberagentdevelopers
PRO
3
260
新卒1年目が挑む!生成AI × マルチエージェントで実現する次世代オンボーディング / operation-ai-onboarding
cyberagentdevelopers
PRO
1
160
Figma Dev Modeで進化するデザインとエンジニアリングの協働 / figma-with-engineering
cyberagentdevelopers
PRO
1
430
AWS re:Inventを徹底的に楽しむためのTips / Tips for thoroughly enjoying AWS re:Invent
yuj1osm
1
550
Autify Company Deck
autifyhq
1
39k
[AWS JAPAN 生成AIハッカソン] Dialog の紹介
yoshimi0227
0
140
生成AIと知識グラフの相互利用に基づく文書解析
koujikozaki
1
140
マネジメント視点でのre:Invent参加 ~もしCEOがre:Inventに行ったら~
kojiasai
0
450
2024-10-30-reInventStandby_StudyGroup_Intro
shinichirokawano
1
620
AWSコンテナ本出版から3年経った今、もし改めて執筆し直すなら / If I revise our container book
iselegant
15
3.9k
Featured
See All Featured
Scaling GitHub
holman
458
140k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Rails Girls Zürich Keynote
gr2m
93
13k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
46
2.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Imperfection Machines: The Place of Print at Facebook
scottboms
264
13k
KATA
mclloyd
29
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
22k
GraphQLとの向き合い方2022年版
quramy
43
13k
Making Projects Easy
brettharned
115
5.9k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
13
1.9k
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ͷΠϯετʔϧͰ͏·͘ ߦ͔ͳ͍͋ΕɺࢲʹڠྗͰ͖Δ͜ ͱ͕͋Δ͔͠Ε·ͤΜ(࣭ܴ)
• ݕࡧ͢Δͱ৭ʑग़͖ͯ·͢(ଞྗຊئ)
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠