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

3,853

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
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,853
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • 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. ご清聴ありがとうございました
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×