Labs

<< 最初 < 前ページ 次ページ > 最後 >>
icon 2010/04/27 Github
頭の中を整理と言いながら、また新しいものに手を出していたり(^_^;)

会社も自宅も「Subversion」を使ってるけど、最近良く目にする「Git」を試してみようかと。
分散バージョン管理Git/Mercurial/Bazaar徹底比較

・サーバリポジトリ(中央)からは、完全履歴を含んだリポジトリの複製を取得
・ローカル環境ごとにリポジトリがあり管理する

うーん。何かメリットあるのかなぁ?と考えてた結果、

■メリット・デメリット
自分のローカルでバージョン戻したりできる!

細かい修正でいちいち、サーバにコミットするのも煩わしいからねえ。

ただ、これにどっぷり漬かると、サーバにアップするタイミングがかなり遅れないか?
つまり自分のマシンがあぼーんしたら、状況によっては目もあてれあれないw

ローカル同士でコミットし合えるのも魅力だけど、
ちゃんとパートナーと話し合って開発しないと、訳わからなくなりそう。

とは言え、評価はしてみないと。

■セットアップ情報
Githubを試してみる。

その前に、SubversionのTracを構築しないと(汗)
icon 2010/04/24 自作ライブラリ「YTwitterLib」はじめ
あぁ、SyntaxHighlighterの弊害。
preタグを使うから、ブラウザによってズレまくりますorz
これだから、HTML嫌い。。。CSS3はノータッチだけど、改善されるのかなぁ?

さて、勉強がたらAirでTwitterツール作ってるんだけど、リファクタリングついでに
Twitterライブラリ「YTwitterLib.swc」も自作してみる。

残念ながら、セキュリティサンドボックス(crossdomain.xml制限)でFlashでは使えません。
(サーバサイドでPHPプロキシかませばできますが・・・)
その他の手法としては、JavaScriptのJSONPと連動でいけるかなぁ?

ライブラリ作成にいたっては、Twitter API 仕様書まとめサイトでAPI調べる。
返ってくるデータはFlexのデバッガーで直接を見て調べる。

「YTwitterLib.swc」の最低限の機能として、タイムライン・フォロワー・友人取得、ツィート投稿を実装
で、「YTwitterLib.swc」使った試作アプリ(デザインそっちのけw)


AirがiPhoneにのらないのが悔やまれるなぁw

■「YTwitterLib.swc」メソッド一覧(未実装含む)
まだ、命名や仕様が練れてませんが。。。

- getUserTimeline(id:String):void
- tweet(message:String, handler:Function=null, isGetHomeTimeline:Boolean=true):void
- deleteTweet(id:Number, handler:Function=null, isGetHomeTimeline:Boolean=true):void
- getHomeTimeline():void
- getFriendTimeline(id:String):void
- getFriends():void
- searchFriends(id:String):void
- getFollowers():void
- getPublicTimeline():void
- searchWordTimeline(word:String):void
- searchUsers(screenName:String):void
- reply(id:Number, handler:Function=null, isGetHomeTimeline:Boolean=true):void
- retweet(id:Number, handler:Function=null, isGetHomeTimeline:Boolean=true):void



■このライブラリ使って、タイムラインとる例
public function onCreationComplete(event:Event):void
{
    twitter = new Twitter();
    twitter.userName = userName; //Twitterのユーザ名
    twitter.password = password; //Twitterのパスワード
    twitter.getHomeTimeline();
}

たった、4行でObject化されたタイムラインが取得できる。シンプルじゃね?

getHomeTimeline()がvoidなのは、非同期通信だから。
getHomeTimeline()で、Basic認証してtwitter.comからリクエスト(JSON)が返ってくる。
JSONを「userTimelines:ArrayCollection」に変換して自動的にバインド。

userTimelinesは、アクセスしやすいようにUserTimeline型オブジェクトでの配列です。

■今後の宿題
▽未実装機能の調査・着手
・reply(返信)
・retweet(リツィート)
・個人設定
とかモロモロの機能も設計しないといけない。

▽認証系
Basic認証経由なので、将来的にはOAuth認証も対応する予定

その場合、Twitter Developerでconsumer key と consumer secretを登録・作成が必要。
Flexのサンプルだと、OAuth Class for Flexがソースで載ってる。

▽その他API調査
TwitterのAPIにはstreaming APIってのもある。
Socket通信でストリーミングするので、超リアルタイムだけど、データをどう使うか?が難しい。

とりあえず、こんな感じでストリーミングできるが、根本的にどうしたらいいかがわからないw

■簡易PHPサンプル
$user = 'xxxx';
$password = 'xxxx';
$stream = fopen("http://{$user}:{$password}@stream.twitter.com/1/statuses/sample.json?delimited=20", "r");
while ($json = fgets($stream)) {
    $twitter= json_decode($json,true);
    if(preg_match('/[ァ-ヶーぁ-ん]/u',$twitter['text']))
        echo $twitter['user']['name'].':'.$twitter['text'] . PHP_EOL;
}

これ抽出によっては、ブラウザが死にます。。。

http://stream.twitter.com/1/statuses/firehose.json
に関しては現在、法人向けで申請しないと使えないとのこと。
icon 2010/04/23 FlexBuilderでプロジェクトをSVN管理
うわー
Flash Player10.1 betaにしたら、Matrix3Dの処理が思わぬ動きにw
クロスドメイン問題と言い、色々と面倒だ。

Youtubeストリーミングは、Flashで直接できないから(プロキシかましたり、Airではできる)し、このサイトもHTML出力にするかな?と思うこのごろ。
とは言え悔しいので、先日発売になったFlex4でAirアプリ作ってます(^_^)

iPhoneじゃ動かないけど、ニュースになったWePad(Andoroid)で動いたら面白いな。
てか、iPhone、Andoroidも頑張んないといかんが、時間が皆無。。。

さてFlex4は、まだ会社でアップグレードしてもらってないので、体験版で。
SVNのリポジトリ作成は、Linuxサーバ上で手動で作ってます。
SVNリポジトリの作成

実際にFlexBuilderでSVNを利用してみる。
■subsclipseインストール
Flex4はEclipse3.6だけど、subsclipse1.4.xが入れられない。
(Graphのライブラリが必要?)

調べるのがめんどいので、1.2.x(非安定板)をとりあえずインストール。

http://subclipse.tigris.org/update_1.2.x



■初期コミット
(1) チーム>プロジェクトの共有>SVN
(2) ロケーション情報作成(ディレクトリ作成)

http://yoo-s.com/svn/YTwitter/flex4/air/trunk/

(3) 【次へ】で全て進む

(4) 作成が完了すると、コミット画面が出てくるのであれこれしてコミット

ライブラリはここにアップ
http://yoo-s.com/svn/YTwitter/flex4/swc/trunk/
<< 最初 < 前ページ 次ページ > 最後 >>

このサイトについて

HTML5 & CSS3化しつつあるので、現在IEには対応してません。
できれば、Google Chromeやら Apple SafariのWebKit系をお勧めします。

DBからプログラムまで一応全て自作なので、バグってたらすいません。
実験でFlash版(Flex版)を先に作りましたが、ちょっと停止してます。

プロフィール

新宿近辺でSE & プログラマーしてます。
Webアプリの開発・設計とか、最近はiPhoneとか奮闘してます。
デザインはさっぱりです。

音楽は、昔からCubase打ち込み人間で、そっちの方が経歴は長いですが、最近はやる暇がないです。。。

今は、Gon's Privates ってバンドのキーボードやってます。
単発的に、なんちゃってジャズ系のライブもやってます。

名古屋生まれなのでドラゴンズ好きです。

Info && SNS

Gmail

 yohei.yoshikawa@gmail.com

Twitter

 http://twitter.com/yoo_yoo_yoo

あんまつぶやきませんが、一応技術系メインで使ってます。情報交換はこちらへ

FaceBook

 http://www.facebook.com/#!/profile.php?id=1439130626

海外の知り合いがいないので閑散としてます。

mixi

 http://mixi.jp/show_profile.pl?id=230072

音楽仲間とかはこっちメインでやってます。興味があればこちらへ