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
19
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
35
モダンmod_perl入門 #yapcasia
xtetsuji
0
23
札幌でテンプレート #hokkaidopm
xtetsuji
0
27
すごいmod_perl
xtetsuji
0
13
Perl WAF Overview, with mod_perl - Hokkaido.pm#7 #hokkaidopm
xtetsuji
0
18
mod_perl hacks PHP
xtetsuji
0
18
文字化け2011〜まだまだ化けます〜
xtetsuji
0
16
mod_perl温故知新 〜Perl CGIの高速化からメールサーバまで〜
xtetsuji
0
14
Other Decks in Technology
See All in Technology
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.3k
Okta Identity Governanceで実現する最小権限の原則
demaecan
0
210
.NET 10のBlazorの期待の新機能
htkym
0
160
serverless team topology
_kensh
3
250
20251027_findyさん_音声エージェントLT
almondo_event
2
500
AWS re:Invent 2025事前勉強会資料 / AWS re:Invent 2025 pre study meetup
kinunori
0
840
GraphRAG グラフDBを使ったLLM生成(自作漫画DBを用いた具体例を用いて)
seaturt1e
1
160
AIエージェントによる業務効率化への飽くなき挑戦-AWS上の実開発事例から学んだ効果、現実そしてギャップ-
nasuvitz
5
1.5k
アノテーション作業書作成のGood Practice
cierpa0905
PRO
1
310
SRE × マネジメントレイヤーが挑戦した組織・会社のオブザーバビリティ改革 ― ビジネス価値と信頼性を両立するリアルな挑戦
coconala_engineer
0
300
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
330
データとAIで明らかになる、私たちの課題 ~Snowflake MCP,Salesforce MCPに触れて~ / Data and AI Insights
kaonavi
0
170
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
431
66k
The Illustrated Children's Guide to Kubernetes
chrisshort
49
51k
We Have a Design System, Now What?
morganepeng
53
7.8k
Visualization
eitanlees
150
16k
Product Roadmaps are Hard
iamctodd
PRO
55
11k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
1.7k
The Pragmatic Product Professional
lauravandoore
36
7k
Making Projects Easy
brettharned
120
6.4k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
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ͷΠϯετʔϧͰ͏·͘ ߦ͔ͳ͍͋ΕɺࢲʹڠྗͰ͖Δ͜ ͱ͕͋Δ͔͠Ε·ͤΜ(࣭ܴ)
• ݕࡧ͢Δͱ৭ʑग़͖ͯ·͢(ଞྗຊئ)
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠