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

>100 Views

February 25, 24

スライド概要

2012/03/21 に Twitter API 勉強会@渋谷 で発表したスライドです。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

PerlのTwitter モジュールの紹介 株式会社fonfun 尾形 鉄次 (OGATA Tetsuji) Twitter: @xtetsuji 2012/03/21

2.

自己紹介

3.

自己紹介 • 尾形 鉄次 (OGATA Tetsuji) • Twitter: @xtetsuji • Blog: http://post.tetsuji.jp/ • よく書くもの: Perl / Shell Script / JavaScript • 「Twitter API勉強会」は前回初出席で、 ひょんなことからLTをすることになった

4.

所属紹介 • 株式会社fonfun(フォンファン) http://www.fonfun.co.jp/ • 主力製品:リモートメール http://rmail.jp/ (Twitter: @rmailjp) • Hokkaido.pm http://hokkaido.pm.org/ (Twitter: @hokkaidopm)

5.

はじめに • 学生の皆さん、社会人の皆さん、 Java Hackerのみなさん、こんにちは • Javaは全然書けません(すみません) • Perlを約9年書いていますが、それほど Perlも知りません(知識が偏っている)

6.

はじめに • といったわけで、私はPerlの代表という 力量もないので、あまり期待しないで 下さい • Apache mod_perlは詳しいほうです

7.

Agenda

8.

Agenda • イマドキのPerlの紹介 • Perlに詳しくない人向け:Perl環境構築 • Twitter関連のPerlモジュールをいくつか 紹介

9.

イマドキのPerlの紹介

10.

イマドキのPerlの紹介 • 軽量言語でよくある誤解 • 古い: Perl • 新しい: PHP, Python, Ruby

11.

イマドキのPerlの紹介 • 正しい理解 • 日々進化を続けている: Perl, PHP, Python, Ruby • Perlは今も「古い」のでは決して無く 「古くからある」という先発なだけ • 検索で出てくる「古い情報」がネック

12.

イマドキのPerlの紹介 • Perlは今も様々なハッカー(Perl Monger) によって日々進化を続けている • すべては紹介しきれませんが、今回の 話のベースとして役に立つ話を少し…

13.

イマドキのPerlの紹介 • 環境構築: Perlbrew • Rubyのrvm(Ruby Version Manager)、 Pythonのpythonbrewのようなもの • 既存とは別のPerl環境を簡単に作る事 ができるもの

14.

Perlbrew • 詳しくは http://perlbrew.pl/ を参照する か、”perlbrew” で検索してみる • とても簡単 • OS(Distribution)標準のPerl環境を汚さず に済む

15.

Perlbrew

16.

Perlbrew • Perlbrewのインストール • $ curl -kL http://install.perlbrew.pl | bash • シェル環境変数の設定(.bashrcに追記) • source ~/perl5/perlbrew/etc/bashrc • これだけ

17.

Perlbrew • Perlbrewの注意点 • ビルドに必要な環境が必要 • Linux(e.g. Debian)だとbuild-essential • Mac OS X だと Xcode + α

18.

Perlbrew • Perlbrewで Perl 5.14.2 をインストール • perlbrew install perl-5.14.2

19.

Perlbrew • Perl 5.14.2 が入ったら使えるようにする • $ perlbrew switch perl-5.14.2 • cpanm (App::cpanminus) も入れる • $ perlbrew install-cpanm cpanm コマンドが使えるようになる

20.

Perl and CPAN

21.

Perl and CPAN • CPAN (しーぱん) = Comprehensive Perl Archive Network • Perlモジュールの巨大なライブラリ

22.

Perl and CPAN

23.

Perl and CPAN

24.

Perl and CPAN • モジュール検索は metacpan.org か search.cpan.org で行える • それでは search.cpan.org で「Twitter」を 検索してみることに…

25.

Twitter Module of Perl

26.

Twitter Module of Perl

27.

Twitter Module of Perl • 今回は144個見つかった • ちなみに “Tweet” では51個見つかった • どれを使うとよいかは、活発にメンテ ナンスされているかが一つの指標 • 最終更新日が一つの参考になります

28.

Twitter Module of Perl • 大きく分けて以下のようなものがある • 単体で使えるAPIのラッパー • 何らかのフレームワークのプラグイン (WAF含む)

29.

Twitter Module of Perl • たぶん時間も差し迫ってきたころなの で、いくつか主要なモジュールを紹介 • 何らかのフレームワークのプラグイン としてのTwitterモジュールは割愛

30.

Net::Twitter • OAuthから投稿まで、一連のREST APIに 対応するメソッドが揃っている • 多くのPerl Twitterモジュールもこれを 使っているケースが多い(っぽい) • 同じ作者の軽量版モジュール Net::Twitter::Liteもある

31.

AnyEvent::Twitter:: Stream • こちらはREST APIではなくTwitterの Streaming APIを利用できるもの • モダンなPerlでデファクトスタンダード であるイベント駆動フレームワーク AnyEventをベースとしたモジュール

32.

Tweet::ToDelicious • こちらは応用モジュールの一例 • Twitter APIにAnyEvent::Twitter::Streamを 使ったモジュール • ツイートにURLが含まれていたら指定の Deliciousアカウントにブックマーク登録 ができる

33.

簡単なサンプル

34.

簡単なサンプル • モダンなPerlの環境はPerlbrewで作れた • cpanmも入れた • 必要なモジュールのインストール • $ cpanm AnyEvent::Twitter::Stream • 依存モジュールも自動的に入る

35.

簡単なサンプル • AnyEvent::Twitter::Streamを使って、検索 を眺めながら詳細をログに記録する、 簡単なアプリケーションを作ってみる • https://gist.github.com/2139804 twitter-stream-search.pl (by xtetsuji) • たぶん手軽に試せるはず

36.

簡単なサンプル DEMO

37.

まとめ

38.

まとめ • PerlにもTwitterのREST APIやStreaming APIを使うモジュールが充実している • Perl自体も今もモダンに進化している • みなさんもPerl書いてみませんか?

39.

質問 / 気になる点 • 懇親会に出ますので、その時に気軽に 声をかけて下さい(喜びます) • perlbrew/cpanmのインストールでうまく 行かない等あれば、私に協力できるこ とがあるかもしれません(質問歓迎) • 検索すると色々出てきます(他力本願)

40.

ご清聴 ありがとうございました