タグ

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

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

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

    JavaScriptによる全文検索エンジン - llameradaの日記
    nitoyon
    nitoyon 2007/01/24
    Content-Range で GET して大きいファイルの一部を非同期で読み取る。
  • llameradaの日記 - ユーザがページに滞在した時間をサーバに記録するJavaScript

    Ajaxの普及に伴い、ページ当たりのユーザの滞在時間が注目されるようになっている。従来、サービスがユーザに与えるインプレッションの指標としてページ・ビューが広く用いられている。しかし、Ajaxを利用するとページの移動があまり発生しないため、ページ・ビューが低くなってしまう。そこで、インプレッションの指標として、滞在時間を使おうという動きがある。 今回、JavaScriptでユーザの滞在期間が記録できるかどうか調べてみた。取り組む前は難しいかなと思ったが、実際にはとても簡単であった。コードは下記。 (function(){ var start = new Date; window.onunload = function(){ var time = (new Date - start ); var image = new Image; image.src = "/dummy?t=" + tim

    llameradaの日記 - ユーザがページに滞在した時間をサーバに記録するJavaScript
    nitoyon
    nitoyon 2006/10/30
    onunload 時に load 時の時刻とセットでサーバーにログ保存
  • JavaScriptで簡易スタック・トレース&プロファイラ - llameradaの日記

    しばらく前にJavaScriptでのスタック・トレースの保存が話題となっていた。 最速インターフェース研究会 :: JavaScriptでDebugScreen、その2 http://d.hatena.ne.jp/brazil/20060117/1137427933 これらの記事を読んだとき、以前作ったプロファイラの仕組みを利用すれば、簡単なスタック・トレースならば保存できそうかなと思った。そこで、試しに作ってみた。コードは下記。 var FuncCallObserver = function(){ var self = this; self.listeners = ; self.observing = false; self.observe = function(object, name){ name = name || object.constructor; for(property

    JavaScriptで簡易スタック・トレース&プロファイラ - llameradaの日記
    nitoyon
    nitoyon 2006/01/30
    JavaScriptで既存のfunctionを置き換えてAOPっぽいことを実現。
  • Makeを利用したJavaScriptファイルの結合・圧縮 - llameradaの日記:

    ある程度の規模のJavaScriptプログラミングでは、モジュール毎に、複数のファイルに分割してプログラミングするのが普通である。これは、ファイルの大きさが適度な方が編集作業が容易なのと、モジュールの別プロジェクトへの再利用性を高めるためである。 しかし、ブラウザ・アプリケーションでは、複数ファイルを1つのファイルに結合する方が望ましい。なぜならば、複数ファイルへの分割は、サーバへの多数のHTTPコネクションの発生を意味し、応答性が低下する。そのため、例えば、Google Mapsでは、多数のコードが100kbを超える1つのJavaScriptファイルにまとめられている。 また、ユーザの利便性を高める意味では、JavaScriptファイルの圧縮も重要である。JavaScriptの文法的な意味は保存したまま、ファイルサイズを圧縮することにより、ダウンロード時間を短くできる。また、圧縮により、

    Makeを利用したJavaScriptファイルの結合・圧縮 - llameradaの日記:
    nitoyon
    nitoyon 2005/12/05
    転送量削減。読みにくくする。
  • 1