タグ

RubyとStringに関するj708のブックマーク (2)

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

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

    JavaScriptによる全文検索エンジン - llameradaの日記
  • YappoLogs: String::Diff - 行内差分取得モジュール

    String::Diff - 行内差分取得モジュール 普通のdiffは行単位での差分を取るんですが、一行の中での差分がどうしても取りたくてString::Diff(2008/06/24リンク切れなおしたtokuhirom++)ってのを作りました。 既存のCPANモジュールだとString::ShowDiffが微妙に近かったんですが、目的の事が出来ないので作りました。 出来ることは 文字列同士の差分を作って変更無い場所、変更が合った場所で配列を分けて作成。 my $diff = String::Diff::diff_fully('this is Perl', 'this is Ruby'); for my $line (@{ $diff->[0] }) { print "$line->[0]: '$line->[1]'\n"; } # u: 'this is ' # -: 'Perl' fo

  • 1