Your SlideShare is downloading. ×
  • Like
Libido driven development Shibuya.pm tech talk #8
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Libido driven development Shibuya.pm tech talk #8

  • 5,617 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
5,617
On SlideShare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
46
Comments
0
Likes
2

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. リビドー駆動開発による Plagger と Catalyst を使った (Mashup) サイト開発 yusukebe : yusuke(at)kamawada.com
  • 2. 注意
    • 心配御無用
    • 今回は (モ有) ヴァージョンにて
    • お送りいたします
    「 リビドー駆動開発はストリーミング中継できるのかどうか心配 」 Shibuya.pm リーダーは言いました
  • 3. 自己紹介
    • yusukebe or id:kamawada
    • 和田裕介 / Yusuke Wada
    • ( 株 ) ワディット @ 鎌倉 代表取締役
    • 2003 年度未踏ユース 準 スーパークリエーター
    • " つながる " 音楽再生ソフト「 VACUUN! 」の開発
    • ACM SIGGRAPH2005 Emerging echnologies 採択
    • moo-pong : Kaleidoscope of Movie
    • 慶應義塾大学 政策・メディア研究科 修士
    • Erogeek
    ようは鎌倉で Erogeek やってます
  • 4.  
  • 5. 詳しくは
    • http://yusukebe.com
    • をみてね
  • 6. リビドーとは?
    • 衝動、 とりわけ 性的 衝動
    リビドー [( ラテン ) libido] 〔欲望の意〕フロイトの用語。性的衝動の基になるエネルギー。また、ユングでは、あらゆる行動の根底にある心的エネルギーを広くいう語。 三省堂提供「大辞林 第二版」より
  • 7. リビドー駆動開発
    • Perl 初心者の yusukebe がリビドーに駆られ、
    • Plagger & Catalyst で Web サイトを作り、
    •   Perl の世界にのめり込んでいく物語
    *   *otsune 氏が命名 丁度 1 年前に本格的に Perl を始めた
  • 8. リビドーその 1
  • 9. エロ
  • 10. サイト事例 1: Ero Pla
    • 「たくさんあるエロ動画配信サイトの新着情報がまとめてわかるサイトが欲しい!」
    無料サンプルもあるかもよ! 今夜のおかずになるよ!
  • 11. それ Plagger で RSS 配信していないエロ動画サイトを EntryFullText で Feed & Entry オブジェクト化 -> Publish::Planet
  • 12. エロ動画情報は Entry で表現できる! title date tags author icon body
  • 13. caribbeancom.yaml
    • # http://www.caribbeancom.com/index2.htm
    • custom_feed_handle: http://www.caribbeancom.com/index2.htm
    • custom_feed_follow_link: |
    • http://www.caribbeancom.com/moviepages/.*?.html
    • handle: http://www.caribbeancom.com/moviepages/.*?
    • extract: <META name=&quot;keywords&quot; content=&quot;(.*?)&quot;>.*?<h2>(.*?)
    • </h2>.*?<p class=&quot;between2&quot;></p>.*?<img src=&quot;(.*?)&quot;.*?<tex
    • tarea class=text_basic name=textarea wrap=VIRTUAL cols=55
    • rows=8>(.*?)</textarea>.*?<td class=&quot;value&quot;>(d{4}/d{2}/d
    • {2})</td>
    • extract_capture: tags title img body date
  • 14. ひたすら EntryFullText の YAML 書きまくり
    • ・エロサイトに行く
    • ・ HTML のソース眺める
    • ・ YAML 書く
    • ・正規表現分からなす
    • ・勉強する
    • ・なんとかキャプチャできた!
    • ・次のエロサイトの YAML 書く
    • ・母ちゃん部屋に入ってこないかびびる
    • ・以後、繰り返し
  • 15. 夢の YAML 達
    • yusuke@com:~/www/pulpsite/eropla/feeds/assets/plugins/Filter-EntryFullText$ ls
    • 1046034.yaml dmm_monthly.yaml himemix.yaml r-shodo.yaml
    • 10musume.yaml duga.yaml ittele.yaml s-angels.yaml
    • 1pondo.yaml eroerooyaji.yaml movie-girls.yaml sexyrose.yaml
    • 99bb.yaml eroseven.yaml newplay-st.com.yaml smooth-movie.yaml
    • ademusume.yaml exotica-xxx.yaml omany.yaml sukiyakiav.yaml
    • caribbeancom.yaml g-area.yaml onacle.yaml tokyo-247.yaml
    • cutie82.yaml h4610.yaml peachbomb.yaml tora-tora-tora.yaml
    優良動画配信サイトほぼ網羅、現在 28YAML!
  • 16. config.yaml 前半
    • global:
    • timezone: Asia/Tokyo
    • plugins:
    • - module: Subscription::Config
    • config:
    • feed:
    • - url: http://www.caribbeancom.com/index2.htm
    • - url: http://www.1pondo.tv/home.htm
    • - url: http://www.10musume.com/home.html
    • - url: http://www.smooth-movie.com/rss/rss.rdf?a_aid=3950&a_bid=001
    • - url: http://www.onacle.tv/podcast/rss.rdf?a_aid=3950&a_bid=001
    • - url: http://www4.omany.tv/rss/rss.rdf?a_aid=3950&a_bid=001
    • - url: http://www.ittele.tv/rss/rss.rdf?a_aid=3950&a_bid=001
    • - url: http://www.cutie82.com/list.php?category=10
    • - url: http://www.exotica-xxx.com/list.php?category=8
    • - url: http://www.newplay-st.com/list.php?category=8
    • - url: http://www.ademusume.com/list.php?category=10
    • - url: http://www.peachbomb.com/movie_list.php?category=10
    • - url: http://www.eroerooyaji.com/list.php?category=10
    • - url: http://www.1046034.com/list.php?category=10
    • - url: http://www.sexyrose.tv/list.php?category=12
    • - url: http://duga.jp/main/
    • - url: http://rss.99bb.com/ja/new_release/rss_ppv.xml
    • - url: http://rss.99bb.com/ja/new_release/rss_monthly.xml
  • 17. config.yam 後半
    • - module: Filter::EntryFullText
    • - module: Filter::TruePermalink
    • config:
    • follow_redirect: 0
    • - module: SmartFeed::All
    • rule:
    • module: Fresh
    • duration: 3 days
    • config:
    • title: ERO Pla
    • description: Everything ERO from the Web
    • - module: Publish::Planet
    • rule:
    • expression: $args->{feed}->id eq 'smartfeed:all'
    • config:
    • dir: ./
    • theme: eropla
    • template:
    • style_url: http://pulpsite.net/eropla/theme-eropla/theme-eropla.css
    • url:
    • base: http://pulpsite.net/eropla/
  • 18. Ero Pla 完成
  • 19. その後、ネットランナーに掲載 ネットランナー 2007 年 8 月号
  • 20. サイト事例 2 : Erolyst
    • 「 Ero Pla は 1 ページのみ
    • アーカイブしてページングできるようにしたい!さらに、女優別など様々な方法でエロ動画情報を見たい!」
  • 21. Plagger::Plugin::Store::DBIC を発見 root/branches/feature-server Plagger の Feed & Entry を DB 化し、 SQLite で書き出す Plugin
  • 22. 「それ Plagger と Catalyst で」 が可能に Plalyst or PlaCata メソッドを考案
  • 23. Plalyst or PlaCata メソッド Plagger で Feed と Entry をアグリゲート Web サイト Web サイト Web サイト Store-DBIC entry entry_tag feed feed_tag entry_meta feed_meta … SQLite 形式の DB DBIx::Class モデルとして Catalyst で扱う
  • 24. ページングの例
    • package Erolyst::Controller::Entry;
    • use strict;
    • use warnings;
    • use base 'Catalyst::Controller';
    • sub index : Private {
    • my ( $self, $c ) = @_;
    • my $page = $c->req->param('page') || 1;
    • my $entries = $c->model('DBIC::Entry')->search(
    • undef,
    • {
    • page => $page,
    • rows => 20,
    • order_by => 'date DESC',
    • });
    • $c->stash->{entries} = $entries;
    • }
  • 25. Plalyst or PlaCata メソッドで 実現できたこと
  • 26. アーカイブ&ページング 「ちょw 1 万件超えてるwww」
  • 27. Entry の Permalink 化
  • 28. Feed 別 Entry の表示
  • 29. そして、タグクラウド&タグ別表示
  • 30. Plalyst or PlaCata メソッドを応用して、 さらにリビドーを昇華 リビドー 2 : 無料で音楽 PV を見たい リビドー 3 : 物欲
  • 31. サイト事例 3 : CDTube http://pulpsite.net/cdtube/ Mashup the Single CD ranking with YouTube
  • 32. サイト事例 4 : これ☆ほしい http://pulpsite.net/wewantit/ ウェブで話題の「みんなの物欲」がひとめでわかるサイト
  • 33. CDTube はなんと 6 つの紙面に掲載 TVBros. 2007 年 1 月 6 日号 ネットランナー 2007 年 3 月号 YAHOO ! Internet Guide 2007 年 06 月号 ネットランナー 2007 年 9 月号 ネットランナー 2007 年 8 月号 ネットコンテンツ・ビジネスの行方
  • 34. Plalyst or Catalyst メソッド 使用上の注意
    • 「一歩間違えばスパムサイト」
    • 容量・用法を守って正しく使いましょう
  • 35. まとめ
    • リビドー駆動 で Perl の世界に飛び込もう
    • Plagger は フィードとして「ウェブ API 」を作れる 道具
    • Plalyst or PlaCata メソッドによって
    • 情報を集約させ、見せ方・インタラクションに変化をつける
    • -> うまくやれば 情報の価値を高める こ  とができる
  • 36. 謝辞
    • miyagawa さんをはじめとした (Plagger を含めた ) モジュール Author の方々、いつもお世話になってます
    • ありがとうございます
    • 自分も人の役に立つモジュール作りたい!
    • ご清聴ありがとうございました
  • 37. おまけ : Erogeek の宣伝
    • ErogeekConference#1 が開催されます!
    • ■ 開催日時
    • 2007-10-17(Wed) 20:00 からぐらいかね(予定)
    • ■ 開催場所
    • 渋谷のなんか暗い部屋
    • ■ 参加資格
    • ま○こをお持ちの方あるいはち○ぽをお持ちの方
    • ■ 基調講演
    • ヌイッター開発者 イエイリー氏(交渉中)
    http://erogeek.org/