Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
PerlのTwitterモジュールの紹介     株式会社fonfun 尾形 鉄次 (OGATA Tetsuji)    Twitter: @xtetsuji       2012/03/21
自己紹介
自己紹介• 尾形 鉄次 (OGATA Tetsuji)• Twitter: @xtetsuji• Blog: http://post.tetsuji.jp/• よく書くもの: Perl / Shell Script / JavaScript• ...
所属紹介• 株式会社fonfun(フォンファン)  http://www.fonfun.co.jp/ • 主力製品:リモートメール    http://rmail.jp/    (Twitter: @rmailjp)• Hokkaido.pm ...
はじめに• 学生の皆さん、社会人の皆さん、 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/perlb...
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-cpan...
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モジュールもこれを 使っているケースが多い(っぽい)• 同じ作者の軽量版モジ...
AnyEvent::Twitter::       Stream• こちらはREST APIではなくTwitterの Streaming APIを利用できるもの• モダンなPerlでデファクトスタンダード であるイベント駆動フレームワーク An...
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-...
簡単なサンプル  DEMO
まとめ
まとめ• PerlにもTwitterのREST APIやStreaming  APIを使うモジュールが充実している• Perl自体も今もモダンに進化している• みなさんもPerl書いてみませんか?
質問 / 気になる点• 懇親会に出ますので、その時に気軽に 声をかけて下さい(喜びます)• perlbrew/cpanmのインストールでうまく 行かない等あれば、私に協力できるこ とがあるかもしれません(質問歓迎)• 検索すると色々出てきます(...
ご清聴ありがとうございました
Upcoming SlideShare
Loading in …5
×

PerlのTwitterモジュールの紹介 #twtr_hack

4,676 views

Published on

2012年3月21日に行われた、第5回「Twitter API勉強会」 #twtr_hack http://www.zusaar.com/event/237004 でトークしたときのプレゼン資料です。それほど大したことは書かれていません。

ただ、最後にある拙作のStreaming APIでの検索結果を眺めるプログラムは、テレビ等の実況閲覧で実際に便利に自分使いしているものなので、一部の方に多少の参考にはなるかなと思っています。AnyEvent::Twitter::Streamまで導入出来てしまえば簡単に使えます。

【補足1】DEMOのコンソール画面は本来動画であったものです(Keynoteでは再生されるけどSlideshareでは再生されない)。別途YouTube等にアップを検討中です。

【補足2】twitter-stream-search.pl は Perl-5.14 のコアモジュール以外に Date::Format と Date::Parse を必要とします。使用の際には cpanm Date::Format ; cpanm Date::Parse 等もお願いします。

Published in: Technology
  • Be the first to comment

PerlのTwitterモジュールの紹介 #twtr_hack

  1. 1. PerlのTwitterモジュールの紹介 株式会社fonfun 尾形 鉄次 (OGATA Tetsuji) Twitter: @xtetsuji 2012/03/21
  2. 2. 自己紹介
  3. 3. 自己紹介• 尾形 鉄次 (OGATA Tetsuji)• Twitter: @xtetsuji• Blog: http://post.tetsuji.jp/• よく書くもの: Perl / Shell Script / JavaScript• 「Twitter API勉強会」は前回初出席で、 ひょんなことからLTをすることになった
  4. 4. 所属紹介• 株式会社fonfun(フォンファン) http://www.fonfun.co.jp/ • 主力製品:リモートメール http://rmail.jp/ (Twitter: @rmailjp)• Hokkaido.pm http://hokkaido.pm.org/ (Twitter: @hokkaidopm)
  5. 5. はじめに• 学生の皆さん、社会人の皆さん、 Java Hackerのみなさん、こんにちは• Javaは全然書けません(すみません)• Perlを約9年書いていますが、それほど Perlも知りません(知識が偏っている)
  6. 6. はじめに• といったわけで、私はPerlの代表という 力量もないので、あまり期待しないで 下さい• Apache mod_perlは詳しいほうです
  7. 7. Agenda
  8. 8. Agenda• イマドキのPerlの紹介• Perlに詳しくない人向け:Perl環境構築• Twitter関連のPerlモジュールをいくつか 紹介
  9. 9. イマドキのPerlの紹介
  10. 10. イマドキのPerlの紹介• 軽量言語でよくある誤解 • 古い: Perl • 新しい: PHP, Python, Ruby
  11. 11. イマドキのPerlの紹介• 正しい理解 • 日々進化を続けている: Perl, PHP, Python, Ruby• Perlは今も「古い」のでは決して無く 「古くからある」という先発なだけ• 検索で出てくる「古い情報」がネック
  12. 12. イマドキのPerlの紹介• Perlは今も様々なハッカー(Perl Monger) によって日々進化を続けている• すべては紹介しきれませんが、今回の 話のベースとして役に立つ話を少し…
  13. 13. イマドキのPerlの紹介• 環境構築: Perlbrew • Rubyのrvm(Ruby Version Manager)、 Pythonのpythonbrewのようなもの • 既存とは別のPerl環境を簡単に作る事 ができるもの
  14. 14. Perlbrew• 詳しくは http://perlbrew.pl/ を参照する か、”perlbrew” で検索してみる• とても簡単• OS(Distribution)標準のPerl環境を汚さず に済む
  15. 15. Perlbrew
  16. 16. Perlbrew• Perlbrewのインストール • $ curl -kL http://install.perlbrew.pl | bash • シェル環境変数の設定(.bashrcに追記) • source ~/perl5/perlbrew/etc/bashrc• これだけ
  17. 17. Perlbrew• Perlbrewの注意点 • ビルドに必要な環境が必要 • Linux(e.g. Debian)だとbuild-essential • Mac OS X だと Xcode + α
  18. 18. Perlbrew• Perlbrewで Perl 5.14.2 をインストール • perlbrew install perl-5.14.2
  19. 19. Perlbrew• Perl 5.14.2 が入ったら使えるようにする • $ perlbrew switch perl-5.14.2• cpanm (App::cpanminus) も入れる • $ perlbrew install-cpanm cpanm コマンドが使えるようになる
  20. 20. Perl and CPAN
  21. 21. Perl and CPAN• CPAN (しーぱん) = Comprehensive Perl Archive Network• Perlモジュールの巨大なライブラリ
  22. 22. Perl and CPAN
  23. 23. Perl and CPAN
  24. 24. Perl and CPAN• モジュール検索は metacpan.org か search.cpan.org で行える• それでは search.cpan.org で「Twitter」を 検索してみることに…
  25. 25. Twitter Module of Perl
  26. 26. Twitter Module of Perl
  27. 27. Twitter Module of Perl• 今回は144個見つかった• ちなみに “Tweet” では51個見つかった• どれを使うとよいかは、活発にメンテ ナンスされているかが一つの指標 • 最終更新日が一つの参考になります
  28. 28. Twitter Module of Perl• 大きく分けて以下のようなものがある • 単体で使えるAPIのラッパー • 何らかのフレームワークのプラグイン (WAF含む)
  29. 29. Twitter Module of Perl• たぶん時間も差し迫ってきたころなの で、いくつか主要なモジュールを紹介• 何らかのフレームワークのプラグイン としてのTwitterモジュールは割愛
  30. 30. Net::Twitter• OAuthから投稿まで、一連のREST APIに 対応するメソッドが っている• 多くのPerl Twitterモジュールもこれを 使っているケースが多い(っぽい)• 同じ作者の軽量版モジュール Net::Twitter::Liteもある
  31. 31. AnyEvent::Twitter:: Stream• こちらはREST APIではなくTwitterの Streaming APIを利用できるもの• モダンなPerlでデファクトスタンダード であるイベント駆動フレームワーク AnyEventをベースとしたモジュール
  32. 32. Tweet::ToDelicious• こちらは応用モジュールの一例• Twitter APIにAnyEvent::Twitter::Streamを 使ったモジュール• ツイートにURLが含まれていたら指定の Deliciousアカウントにブックマーク登録 ができる
  33. 33. 簡単なサンプル
  34. 34. 簡単なサンプル• モダンなPerlの環境はPerlbrewで作れた• cpanmも入れた• 必要なモジュールのインストール • $ cpanm AnyEvent::Twitter::Stream • 依存モジュールも自動的に入る
  35. 35. 簡単なサンプル• AnyEvent::Twitter::Streamを使って、検索 を眺めながら詳細をログに記録する、 簡単なアプリケーションを作ってみる• https://gist.github.com/2139804 twitter-stream-search.pl (by xtetsuji)• たぶん手軽に試せるはず
  36. 36. 簡単なサンプル DEMO
  37. 37. まとめ
  38. 38. まとめ• PerlにもTwitterのREST APIやStreaming APIを使うモジュールが充実している• Perl自体も今もモダンに進化している• みなさんもPerl書いてみませんか?
  39. 39. 質問 / 気になる点• 懇親会に出ますので、その時に気軽に 声をかけて下さい(喜びます)• perlbrew/cpanmのインストールでうまく 行かない等あれば、私に協力できるこ とがあるかもしれません(質問歓迎)• 検索すると色々出てきます(他力本願)
  40. 40. ご清聴ありがとうございました

×