女子中高生とtwitter4j #twtr_hack
DESCRIPTION
TRANSCRIPT
女子中高生とTwitter4J
RECRUITMedia Technology Labs
黒田 樹@i2key
#twtr_hack
12年4月25日水曜日
自己紹介
12年4月25日水曜日
@i2key
12年4月25日水曜日
System Integrator
元SIer
12年4月25日水曜日
官公庁系システム12年4月25日水曜日
数百億円規模12年4月25日水曜日
エクセルドリブン開発推進エクセル方眼紙からJavaソースを
自動生成します(キリッ
12年4月25日水曜日
人海戦術12年4月25日水曜日
転職
12年4月25日水曜日
ネット企業のR&D部門Java、Android、ObjC
Engineer
12年4月25日水曜日
by the way
12年4月25日水曜日
これなんて読みます?
12年4月25日水曜日
電車 ぎゅー ぎゅー
12年4月25日水曜日
じゃー これは?
12年4月25日水曜日
し ぶ や
12年4月25日水曜日
今日お話するのは絵文字
コミュニケーションアプリPowered by Twitter
12年4月25日水曜日
経緯
12年4月25日水曜日
メディアのマイクロコンテンツ化
12年4月25日水曜日
CD(曲の集合)↓
iTunes Music Store(曲のバラ売り)
12年4月25日水曜日
雑誌(記事全て)↓
電子書籍(特集のみ)
12年4月25日水曜日
インターネットを介したコミュニケーションも
12年4月25日水曜日
Webサイト(~∞)↓
ページ(~数千字)↓
Blog(~数百字)↓
Twitter(~140字)↓
BBiitt情報?(~3字)12年4月25日水曜日
仮説11
コミュニケーション手段の更なるマイクロコンテンツ化
12年4月25日水曜日
また、こんな経験ない?
12年4月25日水曜日
自分:「今から帰る」妻:「 」
12年4月25日水曜日
自分:「今から帰る(からあと1時間くらいで家につくわ)」妻:「 (そのタイミングでご飯作っておくね)」
12年4月25日水曜日
コンテキストを共有している関係において、コミュニケーションは限りなく短縮される
12年4月25日水曜日
「あ、うん」
12年4月25日水曜日
12年4月25日水曜日
話し手の責任が重いわかりやすい表現を好む論理的飛躍を好まない
全てを性格に書かないと通じない
ローコンテキスト文化
12年4月25日水曜日
聞き手の能力を期待する曖昧な表現を好む論理的飛躍を許す
相手の意図を察し合うことが出来る
ハイコンテキスト文化12年4月25日水曜日
仮説22
日本でなら、コンテキストを共有する関係において、「あ、うん」((絵文字))だけで会話になるのでは
12年4月25日水曜日
じゃあ検証しよう
12年4月25日水曜日
ターゲットは
12年4月25日水曜日
ハイコンテキストな関係クローズドなネットワーク携帯絵文字を頻繁に使う
12年4月25日水曜日
JJCC,,JJKK12年4月25日水曜日
ここで5分なら良いペース
12年4月25日水曜日
というわけで作ってみた
12年4月25日水曜日
http://happyballoon.jp/
12年4月25日水曜日
12年4月25日水曜日
12年4月25日水曜日
12年4月25日水曜日
12年4月25日水曜日
12年4月25日水曜日
12年4月25日水曜日
Technology
12年4月25日水曜日
12年4月25日水曜日
InfrastructureArchitecture
12年4月25日水曜日
Twi$erAPI�
Apple,Push,No2fica2on,Service�
Load,Balancer�EC2�
RDS�
S3�EC2�
Mul2CAZ�
AutoScaling�
C2DM�
12年4月25日水曜日
ApplicationArchitecture
12年4月25日水曜日
Tomcat�DI�#�������
O/R,Mapper�
���������
����
API,KEY� �
JVM�Apache,
JSON,
XML,JSONP,
� $��
controller�
facade�
dao�
APNS�
C2DM�
Pooling�
Amazon,Linux,(MTL,Amazon,Image)�
SSL,
Port
��,
TwiKer4J�
dao�
facade�
hKps�
RDS�
HTML,
����"���,(�����)�
��!���� OS� FW� FW�����
Springを使った典型的なDIパターン(本当はPlay!にしようとしたけどビビった)
12年4月25日水曜日
HappyBalloonでのTwitterAPI利用(Twitter4J経由で)
12年4月25日水曜日
OAuth認証ツイート相互フォローリストプロフィール取得DM送信PRツイートBOTフォロー返しBOT12年4月25日水曜日
自動フォロー返しBOT(コピペで今から使えるよ!)
12年4月25日水曜日
import twitter4j.Twitterimport twitter4j.TwitterFactoryimport twitter4j.TwitterExceptionimport twitter4j.Statusimport twitter4j.auth.AccessTokenimport twitter4j.IDs
val twitter: Twitter = new TwitterFactory().getInstance();twitter.setOAuthConsumer("consumerKey", "consumerSecret");twitter.setOAuthAccessToken(new AccessToken("accessToken", "accessTokenSecret"));
//自分がフォローしている人々を取得
val friends = twitter.getFriendsIDs(twitter.getId(),-1).getIDs();//自分をフォローしてくれている人々を取得
val followers = twitter.getFollowersIDs(twitter.getId(),-1).getIDs();
//followersとfriendsを比較し自分がフォローしていない人のリストを作成し、それに対してフォローを行う
followers.filter(!friends.contains(_)) .foreach(twitter.createFriendship(_));
#scala -cp twitter4j-core.jar AutoRefollow.scalahttp://d.hatena.ne.jp/i2key/20120225/1330143015
12年4月25日水曜日
ところで
12年4月25日水曜日
TwitterAPI40X,50X Error返りすぎ
12年4月25日水曜日
測ってみた
12年4月25日水曜日
APIコール:98504回40X,50X: 766回
00..7788%%12年4月25日水曜日
例えば、絵文字ツイート
12年4月25日水曜日
//4XXや5XXでても3回まではリトライするint continuousErrorCount = 0;while(true){! try {! ! //やりたいのはこれだけ! ! twitter.updateStatus(status);! } catch (TwitterException e) {! ! Integer errorCode = e.getStatusCode();! ! if(errorCode.toString().startsWith("5") || errorCode.toString().startsWith("4")){! ! ! continuousErrorCount++;! ! ! if(continuousErrorCount < 4){! ! ! ! continue;! ! ! }else{! ! ! ! //リトライ4回目で終了(もう無理あきらめる)! ! ! ! return false;! ! ! }! ! }else{! ! ! //STATUS CODE = 3XX , 2XXのときはリトライなしで終了! ! ! return false;! ! }! }! //成功したら終了! break;}
送信処理を非同期にしつつ、リトライを仕込む
なんかダサイけどこんなもんなの??
12年4月25日水曜日
告知
12年4月25日水曜日
12年4月25日水曜日