Presentation is loading. Please wait.

Presentation is loading. Please wait.

Plagger is a LL Shibuya.pl 竹迫 良範. 2006/06/30 2 Plagger 2006 年 2 月に公開 言語 Perl で書かれている 開発者 miyagawa さんがオープンソースで開発 既に Plagger Authors.

Similar presentations


Presentation on theme: "Plagger is a LL Shibuya.pl 竹迫 良範. 2006/06/30 2 Plagger 2006 年 2 月に公開 言語 Perl で書かれている 開発者 miyagawa さんがオープンソースで開発 既に Plagger Authors."— Presentation transcript:

1 Plagger is a LL Shibuya.pl 竹迫 良範

2 2006/06/30 2 Plagger 2006 年 2 月に公開 http://plagger.org/ 言語 Perl で書かれている 開発者 miyagawa さんがオープンソースで開発 既に Plagger Authors は 37 人以上

3 Platform for Aggregation & Syndication

4 Pluggable RSS/Atom Aggregator の略でもある または

5 2006/06/30 5 どう見ても 後付です. 本当に(ry

6 2006/06/30 6 Plagger - Pluggable RSS/Atom Aggregator Pluggable いろんなプラグインを組み合わせて、 RSS/Atom ニュースやブログなどの新着フィードを Aggregator 自分の好きな形式に変換・出力する。

7 2006/06/30 7 最強ツール Plagger

8 2006/06/30 8 Bloglines2Gmail Bloglines で購読しているフィードを Gmail で読 む

9 2006/06/30 9 設定ファイル: bloglines2gmail.yaml plugins: - module: Subscription::Bloglines config: username: your-email@account password: your-password mark_read: 1 - module: Publish::Gmail config: mailto: your-email@account

10 2006/06/30 10 設定ファイル: config.yaml plugins: - module: Subscription::Config config: feed: - http://labs.cybozu.co.jp/blog/akky/atom.xml - http://labs.cybozu.co.jp/blog/kazuho/atom.xml - module: Publish::Gmail config: mailto: takesako@gmail.com

11 2006/06/30 11 plagger コマンドを実行./plagger -c config.yaml これだけ このコマンドを cron に登録して 定期的に実行しておけば OK

12 以上 Plagger の使い方:説明

13 2006/06/30 13 終了

14 2006/06/30 14 画像も OK ( HTML メール形式)

15 2006/06/30 15 Gmail に検索機能があるので便利

16 2006/06/30 16 Plagger::Plugin の構成 変換 Filter Filter-StripRSSAd Filter-TruePermalink 2chNewsokuTitle BreakEntriesToFeeds Delicious EntryFullText FetchEnclosure HatenaBookmarkTag HatenaBookmarkUsersCount HatenaDiaryKeywordLink HatenaDiaryKeywordUnlink HatenaFormat Pipe Romanize Thumbnail 出力 Publish Gmail Delicious PDF MT PSP Planet Pipe Speech IRC, Eject, Growl MSAgent, SSTP 通知 Notify Bloglines HatenaRSS Config OPML 購読 Subscription Mixi Mailman POP3 iTunesRecentPlay カスタムフィード CustomFeed

17 2006/06/30 17 (例) CustomFeed::Mixi

18 2006/06/30 18 設定ファイル: mixi2gmail.yaml plugins: - module: CustomFeed::Mixi config: email: your-email@account password: your-password fetch_body: 1 show_icon: 1 feed_type: - FriendDiary - RecentComment - module: Publish::Gmail config: mailto: your-email@account

19 2006/06/30 19 (例) Notify::MSAgent

20 2006/06/30 20 (例) Notify::SSTP SSTP のプロトコルを実装 >< http://subtech.g.hatena.ne.jp/secondlife/20060302/1141310833

21 2006/06/30 21 (例) Notify::Eject Plagger で新着フィードを検知したら 物理的に通知してくれるモジュール 動作環境: Windows, Linux, FreeBSD and Mac OSX!

22 2006/06/30 22 お知らせ

23 Notify::Eject (現在)多言語対応版開発中 m17n version

24 2006/06/30 24 新着 きたよ! しん ちゃく フィードが ankomst прибытие chegada llegada 到达 新着 きなさったで

25 2006/06/30 25 まだまだデバッグ中!!! Yappo さん宅

26 乞うご期待 ! おちゃめな野良プラグイン Notify::Command::Shutdown もあります ※ただし root 権限が必要

27 2006/06/30 27

28 Plagger & YouTube Hacks Gosuke Miyashita http://mizzy.org/

29 2006/06/30 29 CustomFeed::YouTube YouTube から指定の検索条件でデータを取得 動画に関するデータを Plagger::Entry に タイトル permalink url サムネイル url 説明 投稿者 タグ 動画ファイル直リンク url Plagger Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html

30 CustomFeed::YouTube  Publish::Gmail Plagger Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html

31 2006/06/30 31 Filter::ConvertVideo enclosure url のファイルを取得 携帯動画変換君付属の コマンドラインツールをキック して動画フォーマットを変換 指定のディレクトリに 変換した動画を書き出す iTunes に動画を登録 enclosure url を書き換える Plagger Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html

32 2006/06/30 32 CustomFeed::YouTube  Publish::PodCast - module: CustomFeed::YouTube config: feed_type: search query: チョコボーイ山口 page: 1 sort: video_view_count - module: Filter::ConvertVideo config: converter_dir: D:\Program Files\AVCTest-051105 output_dir: K:\html\www.mizzy.org\podcast output_filename: %l base_url: http://mizzy.org/podcast plagger_drive: D: encode_type: 5 - module: Publish::PodCast config: dir: K:\html\www.mizzy.org\podcast filename: %t.rss サンプル config.yaml Plagger Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html

33 CustomFeed::YouTube  Publish::PodCast Plagger Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html

34 P::P::Publish 出力先いろいろ

35 2006/06/30 35 Publish::Takahashi (高橋メソッド) 【アイディア】 Publish::Speech と組み合わせて自動プレゼンテーション

36 2006/06/30 36 会社で使える? Publish::Excel - module: Publish::Excel config: filename: /path/to/workbook.xls

37 2006/06/30 37 2ch viewer で購読する ( Publish::2chdat ) → Publish::2chdat は subject.txt と dat/*.dat を生成す る

38 2006/06/30 38 LDR ハック( livedoor Reader をフロントエンド に)

39 2006/06/30 39 MVC モデルの革命 View Controller Model 今までのマッシュアップ LDR ハックの凄いところ JavaScript/Java/ PHP/Perl/Ruby… BloglinesGoogle Maps Plagger Gmail LDR 2ch Viewer RSS HTML 2ch.dat http://subtech.g.hatena.ne.jp/miyagawa/20060510/1147237867

40 2006/06/30 40 Publish::Pipe 外部プログラムにフィードを流しこむ その可能性は無限大 - module: Publish::Pipe rule: expression: $args->{feed}->id eq 'fresh' config: command: /usr/bin/udpmsg xxx.xxx.xxx.255 encoding: euc-jp (例) IP メッセンジャーで新着通知 夢がひろがるプラグイン http://subtech.g.hatena.ne.jp/youpy/20060301/p2

41 2006/06/30 41 UNIX の pipe プログラミングの面白さ パイプライン指向≒プラグイン指向 cat | sort -u | uniq コマンドを作る楽しさ Perl や Ruby でワンライナーを書く コマンドをつなげて問題を解決する Quick hack! 楽しい!

42 2006/06/30 42 Plagger を インストール してみよう

43 2006/06/30 43 cpan> install plagger コマンド一発インストール‥?

44 2006/06/30 44 Windows の場合・・・ 5/12 はじめて Plagger をインストールしてみた( CPAN の依存関係大杉)

45 2006/06/30 45 orz

46 2006/06/30 46 cpan> force install plagger フォースを使え!

47 2006/06/30 47 Plagger のインストールが難しいので インストールに苦労する → ブログに書きたくなる 使い方がわからない → ドキュメントがない ソースを読む → プラグインを作りたくなる 健全な開発ライフサイクル

48 2006/06/30 48 みたいなものが出てくると …

49 2006/06/30 49 雑誌で特集される日も近い? ※写真は架空のものです

50 2006/06/30 50 それ Plagger でやればいいんじゃね? Plagger を ハックすれば 何でもできるよ ! ※写真は架空のものです

51 (例)

52 携帯で あとで読む サービスを 作ってみました!

53 それ Plagger でできるよ

54 2006/06/30 54 携帯であとで読む config.yaml plugins: - module: Subscription::Config config: feed: - http://del.icio.us/rss/miyagawa/toread - module: Filter::EntryFullText - module: Publish::CHTML config: work: /home/miyagawa/public_html/plagger 以上、設定ファイル 9 行だけ http://subtech.g.hatena.ne.jp/miyagawa/20060421/1145605408

55 天気予報で 雨 が降りそうに なったら 携帯 に メール を

56 それ Plagger で

57 2006/06/30 57 天気予報をメールで config.yaml # check Tokyo's weather forecast on weather.livedoor.com # If the forecast says it rains, notify me via Email plugins: - module: Subscription::Config config: feed: - http://weather.livedoor.com/forecast/rss/13/63.xml # HACK: Grabs 2nd entry from livedoor Weather feed - module: Filter::Rule rule: expression: ++$::index == 2 - module: Publish::Gmail rule: expression: $args->{feed}->entries->[0]->title =~ / 雨 / config: mailto: you@example.com http://subtech.g.hatena.ne.jp/miyagawa/20060823/1156334446

58 それ Pla

59 2006/06/30 59 「それ Plagger でやればいいんじゃね?」 なんでもかんでも Plagger で行おうとす る Plagger AUTHORS の口癖 A さん:「すみません。トイレが詰まったんですけど」 B さん:「それ Plagger でやればいいんじゃね?」 【使用例】

60 応用

61 2006/06/30 61 キミならどう書く? Publish::Kakeibo (案) ソーシャル家計簿サイト http://www.3zai.com/

62 2006/06/30 62 Notify::Pizza CustomFeed::GoogleSearchHistory

63 2006/06/30 63 Plagger Hackathon #2

64 2006/06/30 64 Notify::Pizza が「寿司」に対応( 8/20 )

65 2006/06/30 65 現実世界をつなぐ存在 Real world ( Web 化されていない世界) Web ( XML 化されていない世界) Semantic Web (XML) dirty pure

66 2006/06/30 66 Plagger は YAML で プログラミング

67 2006/06/30 67 YAML の中で 一部 Perl 互換の条件式や 正規表現が記述可能です rule: expression: ++$::index == 2 rule: expression: $args->{feed}->entries->[0]->title =~ / 雨 /

68 2006/06/30 68 ここで疑問 Aさん: え、でも Plagger って Perl で書かれてるんで しょ。 Bさん: PHP が LL なら、 Plagger も LL じゃないの? 初期の PHP は Perl で書かれてましたよね。 じゃ、 Plagger の拡張を C で書ければ LL 決 定? srd!

69 2006/06/30 69 Plagger は YAML 拡張の LL 結論 拡張プラグインは Inline::C で Inline::Java とか Inline::Ruby もあるよ

70 2006/06/30 70 来年の LL は … Language Update で 「 Plagger 」が出場します!? ※写真は架空のものです

71 Shibuya Plaggers ご清聴ありがとうございました http://shibuya.pl


Download ppt "Plagger is a LL Shibuya.pl 竹迫 良範. 2006/06/30 2 Plagger 2006 年 2 月に公開 言語 Perl で書かれている 開発者 miyagawa さんがオープンソースで開発 既に Plagger Authors."

Similar presentations


Ads by Google