タグ llamerada
人気順 10 users 50 users 100 users 500 users 1000 usersllameradaの日記 - JavaScriptによる全文検索エンジン
JavaScriptでインデックス型の全文検索エンジンを作ってみた。全文検索エンジンを作る際に問題となるのは、インデックスデータを部分的に読み込む方法である。通常はmmapやpreadなどを使ってファイルの一部を部分的に読み込むのだが、もちろん、ブラウザには使えない。ブラウザでファイルの一部分を読み込むには2通りの方法がある。1つは、ファイルを多数のファイルに分割する方法であり、もう1つはHTTP... 続きを読む
llameradaの日記 - クラスタリング技術を使った「はてなブックマーク」でのお気に入りユーザ数ランキング(簡易ジャンル別)
今度は「はてなブックマーク」の「お気に入り」ネットワークで、ジャンル別のランキングを求めてみました。同じユーザから「お気に入り」されているユーザは、同じジャンルに分類されます。詳細は以前の記事を参照してください。参考リンク:クラスタリング技術を使ったAmazon DVDでの出演回数ランキング(簡易ジャンル別) - llameradaの日記結果をみると「はてな」の人々が同じクラスタに分類されたり、サ... 続きを読む
llameradaの日記 - ユーザがページに滞在した時間をサーバに記録するJavaScript
Ajaxの普及に伴い、ページ当たりのユーザの滞在時間が注目されるようになっている。従来、サービスがユーザに与えるインプレッションの指標としてページ・ビューが広く用いられている。しかし、Ajaxを利用するとページの移動があまり発生しないため、ページ・ビューが低くなってしまう。そこで、インプレッションの指標として、滞在時間を使おうという動きがある。今回、JavaScriptでユーザの滞在期間が記録でき... 続きを読む
llameradaの日記 - Ruby on Railsによるソーシャル・ブックマーク管理デスクトップ・アプリケーション
Ruby on Railsで作成したweb アプリケーションは、exe形式の実行ファイルにすることが出来る。詳しくは、Distributing Rails Applications - A Tutorialを参照のこと。この仕組みを知って、何か面白いことが出来ないかなと考えていた。そこで、前から欲しかったソーシャル・ブックマーク管理デスクトップ・アプリケーションを作った。現在のところ、del.ic... 続きを読む
Makeを利用したJavaScriptファイルの結合・圧縮 - llameradaの日記:
ある程度の規模のJavaScriptプログラミングでは、モジュール毎に、複数のファイルに分割してプログラミングするのが普通である。これは、ファイルの大きさが適度な方が編集作業が容易なのと、モジュールの別プロジェクトへの再利用性を高めるためである。しかし、ブラウザ・アプリケーションでは、複数ファイルを1つのファイルに結合する方が望ましい。なぜならば、複数ファイルへの分割は、サーバへの多数のHTTPコ... 続きを読む
llameradaの日記 - JavaScript でマルチスレッド・デザインパターン
JavaScriptでデザインパターンを書いてみる。とはいえ、いまさらFactoryパターンなど書いても面白くないので、マルチスレッド・デザインパターンにする。もちろん、JavaScriptの言語仕様にスレッドなどない。しかし、ブラウザ環境では実質的にスレッドが存在する。スレッドが発生する場面には2種類ある。1つは、イベントである。例えば、ユーザのクリック動作によってonclickイベントが発生し... 続きを読む
llameradaの日記 - はてなブックマークの「おすすめ」エントリーを求めるブックマークレット
はてなブックマークの「おすすめ」エントリーを求めるブックマークレット はてなブックマークのおすすめブックマーカー・おすすめエントリを求めるブックマークレットを作ってみました。要は、Amazonのおすすめを、はてなブックマークにあてはめて、思いっきり簡単にしたものです。ブックマークレットでも、かなり色々出来ることが分かりました。 使い方としては、はてなにログインした状態で、はてなブックマークのトップ... 続きを読む
llameradaの日記 - JavaScriptの簡易プロファイラ
JavaScriptで少し大きなアプリケーションを作っていると、処理速度がどんどん遅くなってしまうことがある。処理速度を向上させるには、ボトルネックとなっている処理を見つけて、その部分のパフォーマンスを改善するのが一般的である。そこで、ボトルネックを見つけるのに便利なプロファイラを作ってみた。コードはこちら。 var Profiler = Class.create(); Profiler.prot... 続きを読む