Scalaコップの会第9回でHTML5のWebSocketとTwitterのChirpUserStreamに触れる
6月15日(火)にScalaコップの会第9回をやりました〜。
今回はなんか作りたい、書いてみたい熱が高まっているのをうけて、Twitterクライアントなんかいいんじゃないかという安易な考えのもと、yuroyoroさんのWebベースのTwitterクライアントをごにょごにょする予定でしたが、環境構築して動作確認までで終わってしまいましたw
http://d.hatena.ne.jp/yuroyoro/20100510/1273485582
あまり深く考えずにこの記事を選んだのですが、まだドラフトな仕様で、Chromeでしか実装されていないWebSocketとか、こちらもベータなTwitterのStreaming API ChirpUserStreamを使っていたりと、かなりとんがったクライアントでした。
で、当然のごとく(?)まず色々用意して動かすのに四苦八苦。特に私以外、みんなWindows環境だったんですが、悪戦苦闘してました*1。
以下やった作業。
- githubからyuroyoroさんのコードを落っことす。
- mavenをダウンロードしてパスを通す。
- mvn clean package scala:run -DaddArgs="target/websocket.chirpuserstreams-1.0/|8080"で大量にダウンロード。終わらないw
- Jetty起動後、Chromeでhttp://localhost:8080/にアクセスするもうまく表示されず
- Jettyというか、Javaのプロセスが残ってておかしかったので、タスクマネージャーでkillしてもらう。
- TwitterのChirpUserStreamに"@"を含むパスワードをはじかれるorz→パスワード変更
- 違うフォルダでmvn...と打ってた
- ようやく表示出来た!
時間をオーバーしてしまったのですが、最終的に全員無事に動かす事が出来て良かったです。
ちなみに、ダウンロードにやたら時間がかかったりしたので、合間合間にJetty7のWebSocketをScalaから使う - ( ꒪⌓꒪) ゆるよろ日記を軽くコードリーディングしました。
というわけで、ようやくスタートラインに立つことが出来たので、次回は写経、コードリーディング、改造とばんばん進む筈!ですw
前の週にymnkさんがScala勉強会@東北でやってくれたコードリーディングも次回大活躍の筈です。
参加の皆様お疲れ様&ありがとうございました。
次回が本番ですのでどうぞ宜しくお願いしますw
追記:TwitterのStreaming API ChirpUserStreamですが、パスワード中に"@"を含んでいると、エスケープ処理がされてないのか認証を通らないようです。まだベータなサービスだからでしょうか?Twitter本体で使ってるパスワードが通らないというのはちょっとアレですね。
あと、chatとhashtagはそれぞれこれで動かしたけどあってるのかな?mavenしっかりお勉強したほうがいいのかな。
mvn clean package scala:run -DaddArgs="target/websocket-chat-1.0-SNAPSHOT/|8080"
mvn clean package scala:run -DaddArgs="target/websocket.hashtag-1.0-SNAPSHOT/|8080"