livedoor における twitter 活用事例と個人的趣味な小ネタたちのご紹介
TRANSCRIPT
Sep 11th, 2010 - Twitter Developer Meetup
livedoor における Twitter 活用事例と個人的趣味な小ネタたちのご紹介
株式会社ライブドア 谷口公一http://nipotan.com/
自己紹介
• 谷口公一 (@nipotan)
• 株式会社ライブドア 開発部 シニアスペシャリスト
• [著書] 4Gbps を超える Web サービス構築術
• 2007 年ぐらいから Twitter 小ネタをチョイチョイ投下
• 急激な外見の変化のせいで人に覚えてもらえない
Sep 11th, 2010 - Twitter Developer Meetup
Sep 11th, 2010 - Twitter Developer Meetup
livedoor における Twitter 活用事例
走ログhttp://runlog.sports.livedoor.com/
• 走った距離を共有し競い合うランナー向けコンテンツ
• 走行距離を post すると Twitter に投稿する
Sep 11th, 2010 - Twitter Developer Meetup
livedoor Bloghttp://blog.livedoor.com/
• ブログホスティング
• Tweet から簡単にブログ記事が投稿出来る
• ブログ記事を投稿すると自動的に Twitter にタイトルと URL を
post する
Sep 11th, 2010 - Twitter Developer Meetup
ロケタッチhttp://tou.ch/
• 位置情報共有サービス
• 場所やモノにタッチ
(チェックイン) すると、タッチした場所の情報と URL、geocode
が Twitter に post される
Sep 11th, 2010 - Twitter Developer Meetup
Sep 11th, 2010 - Twitter Developer Meetup
個人的趣味な小ネタたち
Twitter AutoFollow (Oct 5th, 2007)
• http://gist.github.com/572863
Sep 11th, 2010 - Twitter Developer Meetup
#!/usr/local/bin/perl
use strict;use warnings;use Net::Twitter;use Config::Pit;
my $message = do { local $/; <STDIN> };
my $header = parse_header($message);exit 0 unless $header->{emailtype} eq 'is_following';exit 0 unless defined $header->{senderscreenname};
my $config = pit_get("twitter.com", require => { consumer_key => '', consumer_secret => '', access_token => '', access_token_secret => '',});
my $twitter = Net::Twitter->new( traits => [qw/API::REST OAuth/], %$config,);
eval { $twitter->create_friend($header->{senderscreenname}) };if ($@) { warn $@; exit 0 if $@ =~ /is already on your list/;}exit 0;
sub parse_header { my $message = shift; my %header_data = (); while ($message =~ m{^X-Twitter(\w+):\s+(.+)}gm) { my $key = $1; my $val = $2; $header_data{$key} = $val; } return \%header_data;}
Twitter AutoFollow (Oct 5th, 2007)
• “Twitter でイチイチ follow するのが面倒臭い”
• http://blog.livedoor.jp/nipotan/archives/50817627.html
• follow してくれた人を無条件で即座に follow する tip
• 「xxxがあなたをフォローし始めました (xxx is now following
you on Twitter!)」のメールが trigger に
• qmail + Perl
• ただし現在は User Streams API で {"event":"follow" ... }
なストリームを捕捉し実装することで、同等のことが実現可能
Sep 11th, 2010 - Twitter Developer Meetup
Twitter AutoFollow inspired products
• “gmail 宛に届く follow メールに対して自動で follow 返しする”
• http://d.hatena.ne.jp/kiririmode/20090503/p1
• “[python] Twitter でイチイチ follow するのが面倒くさい んだけど自前でメールサーバも立ててない”
• http://d.hatena.ne.jp/jYoshiori/20080526/1211828664
Sep 11th, 2010 - Twitter Developer Meetup
nipotter (Oct 3rd, 2007)
Sep 11th, 2010 - Twitter Developer Meetup
nipotter (Oct 3rd, 2007)
• “最近の Twitter との付き合いかた”
• http://subtech.g.hatena.ne.jp/nipotan/20071003/p1
• 自分専用サーバインストール型 web クライアント
• 仕様とスクリーンショットのみ公開。サービス、ソース非公開
• Twitter 以外のサービス (Wassr, Jaiku 等) へのマルチポスト
• friends_timeline API から全ログを記録 (…してたが破綻してきた)
• Tritonn を使い Tweet の検索 (…出来たが破綻した)
Sep 11th, 2010 - Twitter Developer Meetup
nipotter inspired products
• OpenSource 版 nipotter (by @tokuhirom)
• http://coderepos.org/share/browser/lang/perl/Nipotter/
• perl + Sledge
• Jipotter (by @charsbar)
• http://coderepos.org/share/browser/lang/perl/Jipotter/
• perl + Jifty
• Jifty 版 nipotter
Sep 11th, 2010 - Twitter Developer Meetup
Anonymous Twitter (Apr 19th, 2007)
Sep 11th, 2010 - Twitter Developer Meetup
Anonymous Twitter (Apr 19th, 2007)
• http://anon-twitter.com/
• 匿名で Tweet が可能なサービス
• これを介した全ての Tweet は @anontwit の Tweet に
• 2ch のような完全匿名にしてしまうと、Tweet に対しての責任が問えず、違法性の高い Tweet を助長してしまう
• OpenID
• 認証してもらうことで、最低限の責任を担保
• 無責任発言を繰り返す claimed identifier は発言禁止に
Sep 11th, 2010 - Twitter Developer Meetup
その他の Twitter 関連公開小ネタ
• “Web::Scraper で全ての following/followers の screen_name を取得する”
• http://twitter.g.hatena.ne.jp/nipotan/20081112/1226482516
• “タイムラインの抜けが激しい原因がなんとなくわかった”
• http://twitter.g.hatena.ne.jp/nipotan/20081112/1226482516
• ついコン!、ついコン2! - ついったーコンピレーションアルバム
• http://twicom.info/
Sep 11th, 2010 - Twitter Developer Meetup
Sep 11th, 2010 - Twitter Developer Meetup
以上よろしくおねがいいたします