タグ

ブックマーク / llamerada.hatenadiary.org (4)

  • JavaScriptによる全文検索エンジン - llameradaの日記

    JavaScriptでインデックス型の全文検索エンジンを作ってみた。全文検索エンジンを作る際に問題となるのは、インデックスデータを部分的に読み込む方法である。通常はmmapやpreadなどを使ってファイルの一部を部分的に読み込むのだが、もちろん、ブラウザには使えない。ブラウザでファイルの一部分を読み込むには2通りの方法がある。1つは、ファイルを多数のファイルに分割する方法であり、もう1つはHTTPリクエストのRangeヘッダを利用して、ファイルの一部を取得する方法である。前者の利点は、ブラウザのキャッシュが効くことや、対応ブラウザが多いことである。後者の利点は、ファイル数が少なくなるので、インデックスの管理が容易になることである。今回はRangeヘッダの実用性にも興味があったので、後者の方法を用いた。 参考ページ:最速インターフェース研究会 :: Ajaxを使ったシンプルなチャット 転置イ

    JavaScriptによる全文検索エンジン - llameradaの日記
    tsupo
    tsupo 2007/01/24
    HTTPリクエストのRangeヘッダを利用して、ファイルの一部を取得する方法
  • クラスタリング技術を使った「はてなブックマーク」でのお気に入りユーザ数ランキング(簡易ジャンル別) - llameradaの日記

    今度は「はてなブックマーク」の「お気に入り」ネットワークで、ジャンル別のランキングを求めてみました。同じユーザから「お気に入り」されているユーザは、同じジャンルに分類されます。詳細は以前の記事を参照してください。 参考リンク:クラスタリング技術を使ったAmazon DVDでの出演回数ランキング(簡易ジャンル別) - llameradaの日記 結果をみると「はてな」の人々が同じクラスタに分類されたり、サブカル系のブックマークをするユーザがまとまっているなど、そんなに結果は悪くないようです。新たな「お気に入り」を探す手助けになるかもしれません。なお、ユーザ数は今回収集した3647ユーザ中での数になりますので、実際より少なくなります。 追記:深い考えもなしに公開してしまいましたが、人を分類するのは問題が多いです。しかも、クラスタリング技術は基的に大雑把で分類精度はあまり高くないのが普通です。い

    クラスタリング技術を使った「はてなブックマーク」でのお気に入りユーザ数ランキング(簡易ジャンル別) - llameradaの日記
    tsupo
    tsupo 2006/05/11
    アクセス解析で発見、見に行ったら「いまさら遅い気もしますが、公開をとりやめます」。がーん。見たかったよぉ。しくしく
  • はてなブックマークの「おすすめ」エントリーを求めるブックマークレット - llameradaの日記

    はてなブックマークのおすすめブックマーカー・おすすめエントリを求めるブックマークレットを作ってみました。要は、Amazonのおすすめを、はてなブックマークにあてはめて、思いっきり簡単にしたものです。ブックマークレットでも、かなり色々出来ることが分かりました。 使い方としては、はてなにログインした状態で、はてなブックマークのトップを表示してください。そして、このブックマークレットを実行してください。 javascript:(function(){var s=document.createElement('script');s.charset='UTF-8';s.src='http://llamerada.fc2web.com/js/hatena.js';document.body.appendChild(s);})()具体的には、上のコードをURLの欄にコピーして実行してください。しばらく待

    はてなブックマークの「おすすめ」エントリーを求めるブックマークレット - llameradaの日記
    tsupo
    tsupo 2005/09/22
    おもしろい。けど、大勢で一斉に実行すると、大変なことになりそうですね (^^;
  • JavaScriptの簡易プロファイラ - llameradaの日記

    JavaScriptで少し大きなアプリケーションを作っていると、処理速度がどんどん遅くなってしまうことがある。処理速度を向上させるには、ボトルネックとなっている処理を見つけて、その部分のパフォーマンスを改善するのが一般的である。そこで、ボトルネックを見つけるのに便利なプロファイラを作ってみた。 コードはこちら。 var Profiler = Class.create(); Profiler.prototype.extend({ initialize: function(){ this.keys = []; this.records = {}; }, observe: function(object, name){ name = name || "Method"; for (property in object) { if(typeof object[property] == "functi

    JavaScriptの簡易プロファイラ - llameradaの日記
    tsupo
    tsupo 2005/09/20
    ボトルネックを見つけるのに便利なプロファイラを作ってみた。→よさげ
  • 1