Plagger is a LL Shibuya.pl 竹迫 良範 Plagger 2006年2月に公開 http://plagger.org/ 言語 Perlで書かれている 開発者 miyagawaさんがオープンソースで開発 既に Plagger Authors は37人以上 2006/06/30 2 Platform for Aggregation & Syndication または Pluggable RSS/Atom Aggregator の略でもある どう見ても 後付です. 本当に(ry 2006/06/30 5 Plagger - Pluggable RSS/Atom Aggregator Pluggable いろんなプラグインを組み合わせて、 RSS/Atom ニュースやブログなどの新着フィードを Aggregator 自分の好きな形式に変換・出力する。 2006/06/30 6 最強ツール Plagger 2006/06/30 7 Bloglines2Gmail Bloglinesで購読しているフィードをGmailで読む 2006/06/30 8 設定ファイル: 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 2006/06/30 9 設定ファイル: 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: [email protected] 2006/06/30 10 plagger コマンドを実行 ./plagger -c config.yaml これだけ このコマンドをcronに登録して 定期的に実行しておけばOK 2006/06/30 11 Plaggerの使い方:説明 終了 2006/06/30 13 画像もOK(HTMLメール形式) 2006/06/30 14 Gmailに検索機能があるので便利 2006/06/30 15 Plagger::Pluginの構成 購読 Subscription Bloglines HatenaRSS Config OPML カスタムフィード CustomFeed Mixi Mailman POP3 iTunesRecentPlay 2006/06/30 変換 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 通知 Notify IRC, Eject, Growl MSAgent, SSTP 16 (例)CustomFeed::Mixi 2006/06/30 17 設定ファイル: 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 2006/06/30 18 (例)Notify::MSAgent 2006/06/30 19 (例)Notify::SSTP SSTPのプロトコルを実装 >< http://subtech.g.hatena.ne.jp/secondlife/20060302/1141310833 2006/06/30 20 (例)Notify::Eject Plaggerで新着フィードを検知したら 物理的に通知してくれるモジュール 動作環境:Windows, Linux, FreeBSD and Mac OSX! 2006/06/30 21 お知らせ 2006/06/30 22 Notify::Eject (現在)多言語対応版開発中 m17n version chegadaприбытие 新着 ankomst しん 到达 新着 ちゃく llegada フィードが きなさったで きたよ! 2006/06/30 24 まだまだデバッグ中!!! Yappoさん宅 2006/06/30 25 乞うご期待! おちゃめな野良プラグイン Notify::Command::Shutdown もあります ※ただし root 権限が必要 2006/06/30 27 Plagger & YouTube Hacks Gosuke Miyashita http://mizzy.org/ CustomFeed::YouTube YouTube から指定の検索条件でデータを取得 動画に関するデータを Plagger::Entry に タイトル permalink url サムネイル url 説明 投稿者 タグ 動画ファイル直リンク url Plagger 2006/06/30 Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html 29 CustomFeed::YouTube Publish::Gmail Plagger Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html Filter::ConvertVideo enclosure url のファイルを取得 携帯動画変換君付属の コマンドラインツールをキック して動画フォーマットを変換 指定のディレクトリに 変換した動画を書き出す iTunes に動画を登録 enclosure url を書き換える Plagger 2006/06/30 Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html 31 CustomFeed::YouTube Publish::PodCast サンプル config.yaml - 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 Plagger 2006/06/30 Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html 32 CustomFeed::YouTube Publish::PodCast Plagger Conference #1 - http://mizzy.org/archives/plagger_con/plagger.html P::P::Publish 出力先いろいろ Publish::Takahashi(高橋メソッド) 【アイディア】 Publish::Speech と組み合わせて自動プレゼンテーション 2006/06/30 35 会社で使える?Publish::Excel - module: Publish::Excel config: filename: /path/to/workbook.xls 2006/06/30 36 2ch viewer で購読する (Publish::2chdat) → Publish::2chdat は subject.txt と dat/*.dat を生成する 2006/06/30 37 LDRハック(livedoor Readerをフロントエンドに) 2006/06/30 38 MVCモデルの革命 今までのマッシュアップ View JavaScript/Java/ PHP/Perl/Ruby… Bloglines 2006/06/30 Gmail LDR 2ch Viewer Plagger Controller Model LDRハックの凄いところ Google Maps RSS HTML 2ch.dat 39 http://subtech.g.hatena.ne.jp/miyagawa/20060510/1147237867 Publish::Pipe 外部プログラムにフィードを流しこむ その可能性は無限大 (例)IPメッセンジャーで新着通知 - module: Publish::Pipe rule: expression: $args->{feed}->id eq 'fresh' config: command: /usr/bin/udpmsg xxx.xxx.xxx.255 encoding: euc-jp http://subtech.g.hatena.ne.jp/youpy/20060301/p2 夢がひろがるプラグイン 2006/06/30 40 UNIXのpipeプログラミングの面白さ パイプライン指向≒プラグイン指向 cat | sort -u | uniq コマンドを作る楽しさ Perl や Ruby でワンライナーを書く コマンドをつなげて問題を解決する Quick hack! 楽しい! 2006/06/30 41 Plagger を インストール してみよう 2006/06/30 42 cpan> install plagger コマンド一発インストール‥? 2006/06/30 43 Windowsの場合・・・ 5/12 はじめてPlaggerをインストールしてみた(CPANの依存関係大杉) 2006/06/30 44 2006/06/30 45 cpan> force install plagger フォースを使え! 2006/06/30 46 Plaggerのインストールが難しいので インストールに苦労する → ブログに書きたくなる 使い方がわからない → ドキュメントがない ソースを読む → プラグインを作りたくなる 健全な開発ライフサイクル 2006/06/30 47 みたいなものが出てくると… 2006/06/30 48 雑誌で特集される日も近い? ※写真は架空のものです 2006/06/30 49 それPlaggerでやればいいんじゃね? Plagger を ハックすれば 何でもできるよ! ※写真は架空のものです 2006/06/30 50 (例) 携帯で あとで読む サービスを 作ってみました! それPlaggerでできるよ 携帯であとで読む 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 2006/06/30 54 天気予報で 雨が降りそうに なったら 携帯にメールを それPlaggerで 天気予報をメールで 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: [email protected] http://subtech.g.hatena.ne.jp/miyagawa/20060823/1156334446 2006/06/30 57 それPla 「それPlaggerでやればいいんじゃね?」 なんでもかんでも Plagger で行おうとする Plagger AUTHORS の口癖 【使用例】 Aさん:「すみません。トイレが詰まったんですけど」 Bさん:「それPlaggerでやればいいんじゃね?」 2006/06/30 59 応用 キミならどう書く? Publish::Kakeibo (案) ソーシャル家計簿サイト 2006/06/30 http://www.3zai.com/ 61 Notify::Pizza CustomFeed::GoogleSearchHistory 2006/06/30 62 Plagger Hackathon #2 2006/06/30 63 Notify::Pizza が「寿司」に対応(8/20) 2006/06/30 64 現実世界をつなぐ存在 Real world (Web化されていない世界) dirty Web (XML化されていない世界) Semantic Web (XML) pure 2006/06/30 65 Plaggerは YAMLで プログラミング 2006/06/30 66 YAML の中で 一部 Perl互換の条件式や rule: expression: ++$::index == 2 正規表現が記述可能です rule: expression: $args->{feed}->entries->[0]->title =~ /雨/ 2006/06/30 67 ここで疑問 Aさん: え、でもPlaggerってPerlで書かれてるんでしょ。 Bさん: PHPがLLなら、PlaggerもLLじゃないの? 初期のPHPはPerlで書かれてましたよね。 じゃ、Plaggerの拡張をCで書ければLL決定? srd! 2006/06/30 68 結論 PlaggerはYAML拡張のLL 拡張プラグインは Inline::C で Inline::Java とか Inline::Ruby もあるよ 2006/06/30 69 来年のLLは… Language Update で 「Plagger」が出場します!? ※写真は架空のものです 2006/06/30 70 Shibuya Plaggers ご清聴ありがとうございました http://shibuya.pl
© Copyright 2024 ExpyDoc