タグ

ブックマーク / gimite.hatenablog.com (5)

  • [tss][ruby] Tweet Search Streamの実装をem-websocketとem-http-requestに - monthly gimite

    Tweet Search StreamでTwitter Streaming APIの結果をWebSocketに流す部分は、元々web-socket-rubynet/httpを使って1コネクション1スレッドという実装だったのですが、em-websocketとem-http-requestを使うように変更しました。Webサーバもthinなので、これで全てEventMachineの上に乗って、ほぼ1スレッドで全部動くようになりました。余計な排他処理が要らなくなったのはいいですね。パフォーマンスも良くなったことに期待ですが、測ってはいないです。まあ元々今ぐらいのアクセス数だと負荷は問題なかったんですが。 実装にはkennさんの記事が参考になりました。1点変更が必要だったのが http = EM::HttpRequest.new(STREAMING_URL).get :head => { 'Aut

    [tss][ruby] Tweet Search Streamの実装をem-websocketとem-http-requestに - monthly gimite
    otsune
    otsune 2010/10/13
  • prototype.jsとChrome/Firefox組み込みのJSON.stringifyが衝突する - monthly gimite

    最近のChromeやFirefoxはJSONオブジェクトが標準付属してるっぽいのですが、それとprototype.jsが干渉してJSON.stringifyの挙動がおかしくなるようです。 prototype.js 1.6.1をロードした状態で JSON.stringify({"a": ["b", "c"]}) とすると '{"a":"[\"b\", \"c\"]"}' が返ってきます。配列の部分が二重にJSON化されています。 このへんによるとprototype.jsとJSONオブジェクトが同じObject#toJSON()という名前を違う用途で使っているのが問題らしいです。 まあ今時prototype.jsなんて使うなよ、っていう話なのかもしれませんが。いい加減jQueryでも覚えようかな…。 ちなみにjson2.jsは組み込みのJSON実装があればそちらを使うようになっています。なので

    prototype.jsとChrome/Firefox組み込みのJSON.stringifyが衝突する - monthly gimite
    otsune
    otsune 2009/11/30
  • Googleニュース日本語版のAtom/RSSフィード - daily gimite

    ってあったんですね…知らずに自力でHTML解析してました(汗)。リンクも何も張られてないし、分かりづらすぎ…。隠し機能? トップニュースのフィード http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&output=atom&topic=h http://news.google.com/news?hl=ja&ned=us&ie=UTF-8&oe=UTF-8&output=rss&topic=h 話題のニュースのフィード http://news.google.com/news?hl=ja&ned=ja&ie=UTF-8&oe=UTF-8&output=atom&topic=po http://news.google.com/news?hl=ja&ned=ja&ie=UTF-8&oe=UTF-8&output=rss&topic=

    Googleニュース日本語版のAtom/RSSフィード - daily gimite
  • 勝手にパーソナライズされる「はてなブックマーク お気に入り」もどき - monthly gimite

    はてなブックマークのお気に入りみたいに、「おすすめ役」の人たちのブックマークをまとめて表示(更新は1日1回)。 その中から興味のあるエントリをクリックしていくだけで、自動で「おすすめ役」のメンツを選びなおして、おすすめの質を上げていく。 というものを作ってみました。 はてなブックマーク 今日のおすすめ これを使える条件は、 はてなIDを持っていて、ブックマークを「公開」設定にしている。(必須) 自分のブックマークかお気に入りの少なくともどっちかに、何か登録されている。(推奨) です。基的な仕組みは単純で、 毎日、過去にクリック率が高かった「おすすめ役」*1から順に、40件に達するまでエントリを追加していく。 毎日10件程度、「おすすめ役予備軍」*2の人のエントリを試しに追加してみる。 クリックされれば「おすすめ役」に昇格。 です。初期状態の「おすすめ役」は、 はてなブックマークの「お気に

    勝手にパーソナライズされる「はてなブックマーク お気に入り」もどき - monthly gimite
  • RubyKaigi2006 2日目 - monthly gimite

    というわけでちょろっとロイディの発表をしてきました。スライドはこちら。5分間ということで、紹介程度の軽い話ですが。 DHHさんの発表が面白かったです。内容の細かいところは他の誰かに譲るとして、大雑把に言うと アクションはできるだけCRUDにしよう。 必要な操作がCRUDで表現できるようにモデル/コントローラを設計しよう。 新しいRailsアプリの書き方 CRUDをそれぞれHTTPのPOST,GET,PUT,DELETEで実装。*1 同じアクションで複数の入力フォーマット(普通のPOST引数、XML)、複数の出力フォーマット(HTML、XML、JSON、携帯向けなど)に対応。 新機能ActiveResource ActiveRecord互換のインタフェースでREST APIを呼び出せる。 という感じだったと思います(たぶん)。 で、以下は2番目の奴についての個人的な感想ですが、この書き方で一

    RubyKaigi2006 2日目 - monthly gimite
  • 1