Kawa.net 旧ゆうすけブログ (Yahoo!版)

ここはもう更新しないので、http://www.kawa.net/ を参照して下さい

技術的な話題

[ リスト | 詳細 ]

記事検索
検索

全3ページ

[1] [2] [3]

[ 次のページ ]

Yahoo! ブログは重かったり、調子が悪い日が多いですね。

http://blog.yahoo.co.jp/kawa_kawa_kawa_kawa/
    ↓
http://kawa.at.webry.info/

BIGLOBE のウェブリブログに書いています。

開く トラックバック(350)

DOM を利用した  JavaScript  用のテンプレート展開ライブラリを書いてみた。

変数置換 [/key]
条件分岐 <div title="@if [/bool]">〜</div>
ループ  <li title="@foreach loop [/list]">[/loop/name]</li>

など、一通りの機能を実装してあります。
cloneNode は思ったよりも高速です。文字列置換処理の方が重そう。
IE は attributes が多いので、大きなテンプレートでは速度に難ありです。

http://www.kawa.net/works/js/jkl/hina.html

開く トラックバック(1)

検索フォームなどで、送信ボタン押下後、結果が表示されるまで
少し時間がかかる場合は、ダブルクリックも防止するために、
送信ボタンを無効にし、また見た目も変えたほうが分かりやすい。

――――――――――――――――――――――――――――――――――――
<input type="submit" value="検索する">

<input type="button" value="検索する" onClick="this.disabled=true; this.value='検索中...'; this.form.submit();">
――――――――――――――――――――――――――――――――――――

なら1行書き換えるだけで、実現できる。
<button> タグを使って画像を使用している場合はちょっと長くなる。

――――――――――――――――――――――――――――――――――――
<button type="button" onClick="this.disabled=true; document.getElementById('btn1').src='searching.gif'; this.form.submit();">
<img id="btn1" src="search.gif">
</button>
――――――――――――――――――――――――――――――――――――

search.gifが送信前、searching.gifが送信処理中の画像です。

開く トラックバック(1)

イメージ 1

開発中の ajaxmail(仮称)デモ画面を公開してみました。

http://www.kawa.net/works/ajax/mail/ajaxmail.html

もう少し整えてからajaxサーバ側も含めてソースを公開したいです。
そのうちPCからOutlook Expressが全廃されるようなものを作りたいですね。
企業ユースにも耐えられるものにする!

ajax な仕組みとしては、メールの一覧リストとメール本文データを
XMLHttpRequestでダウンロードして、ブラウザ上に表示しています。
メール本文は1通ずつXMLファイルとして事前に生成してあるので、
既存のPHP/CGIベースのウェブメールよりも表示は速そうです。
(え?Gmailは?)

開く トラックバック(274)

Rast 0.0.1のインストール

新しい国産全文検索システム Rast を入れてみた。
http://www.netlab.jp/rast/
http://tech.yappo.jp/rast/

OSが古かったので、Rast 本体の他にもいろいろ追加インストールするハメに。
Rast は単語単位への「分かち書き」とかせずに、隣接n文字の組で検索する。
(短いキーワードを使って検索するときにイマイチ感じがあるかも?)

#川崎も10年近く前に隣接2文字の組で全文検索するプログラムを
#作っていたことがあるけど、当時はCPUやディスクも遅かったし、
#B木ライブラリも含めてちょっと効率が悪すぎて、実用化にはいたらず。

このRast は『N-gram』といってn文字で処理するとのこと。
内部的には、APR+Berkeley DB を使っている。
Ruby バインディング付属してくる。
Perl バインディングもあるので、これを使おう。

●ダウンロードしたソース
――――――――――――――――――――――――――――――――――――
ftp://ring.ocn.ad.jp/pub/net/apache/dist/apr/apr-0.9.6.tar.gz
http://downloads.sleepycat.com/db-4.3.27.tar.gz
ftp://ring.ocn.ad.jp/pub/lang/ruby/1.8/ruby-1.8.2.tar.gz
ftp://ftp.software.ibm.com/software/globalization/icu/3.2/icu-3.2.tgz
http://www.netlab.jp/rast/archives/rast-0.0.1.tar.bz2
http://tech.yappo.jp/download/rast/Rast-0.02.tar.gz
――――――――――――――――――――――――――――――――――――

●Apache Portable Runtime 0.9.6のインストール
――――――――――――――――――――――――――――――――――――
tar zxf apr-0.9.6.tar.gz
cd apr-0.9.6
./configure --prefix=/usr/local/apr-0.9.6 && gmake
su root -c "gmake install"
cd .. && rm -fr apr-0.9.6
――――――――――――――――――――――――――――――――――――
⇒最新版の arp-1.1.1 では Rast をコンパイルできませんでした。
 arp-0.9.6 を利用すると、コンパイルできました。

●Berkeley DB 4.3.27のインストール
――――――――――――――――――――――――――――――――――――
tar zxf db-4.3.27.tar.gz
cd db-4.3.27/build_unix
./configure --prefix=/usr/local/db-4.3.27 && gmake
su root -c "gmake install"
cd .. && rm -fr db-4.3.27
――――――――――――――――――――――――――――――――――――
⇒Rast 標準では 4.2.52 以降とのことですが、4.3.27 でも動きました。

●Ruby 1.8.2のインストール
――――――――――――――――――――――――――――――――――――
tar zxf ruby-1.8.2.tar.gz
cd ruby-1.8.2
./configure --prefix=/usr/local/ruby-1.8.2 && gmake
su root -c "gmake install"
cd .. && rm -fr ruby-1.8.2
――――――――――――――――――――――――――――――――――――
⇒Rast 標準では 1.8.1 以降とのことですが、最新版の 1.8.2 を利用した。

●ICU 3.2のインストール
――――――――――――――――――――――――――――――――――――
tar zxf icu-3.2.tgz
cd icu/source
./configure --prefix=/usr/local/icu-3.2 && gmake
su root -c "gmake install"
cd .. && rm -fr icu
――――――――――――――――――――――――――――――――――――
⇒Rast 標準では ICU 2.8 以降とのことですが、最新版の 3.2 を利用した。

●Rast 0.0.1のインストール
――――――――――――――――――――――――――――――――――――
bzcat rast-0.0.1.tar.bz2 | tar xf -
cd rast-0.0.1
LD_LIBRARY_PATH=/usr/local/db-4.3.27/lib \
./configure --prefix=/usr/local/rast-0.0.1 \
--with-apr-config=/usr/local/apr-0.9.6/bin/apr-config \
--with-db-includes="-I/usr/local/db-4.3.27/include" \
--with-db-libs="-L/usr/local/db-4.3.27/lib -ldb-4.3" \
--with-icu-config=/usr/local/icu-3.2/bin/icu-config \
--with-ruby=/usr/local/ruby-1.8.2/bin/ruby && gmake
su root -c "gmake install"
cd .. && rm -fr ruby-1.8.2
――――――――――――――――――――――――――――――――――――

●Rast.pm 0.02のインストール
――――――――――――――――――――――――――――――――――――
tar zxf Rast-0.02.tar.gz
cd Rast-0.02
vi Makefile.PL
perl Makefile.PL && gmake
su root -c "gmake install"
――――――――――――――――――――――――――――――――――――
⇒Makefile.PLとrast-0.0.1本体の再インストールが必要です

●Rast.pm を実験してみる
――――――――――――――――――――――――――――――――――――
[asica example]$ perl create.pl db3
create status: 1
[asica example]$ perl regist.pl db3 ../Rast.c
add new docid: 1
[asica example]$ perl search.pl db3 Rast
Query: Rast
Hit : 1
――――――――――――――――――――――――――――――――――――
⇒成功!
 euc_jp は使えるようになったけど、utf8 は使えなそう。
 ICU 2.8 のリンクに失敗しているのかな?

● rast-0.0.1/src/encodings/Makefile を書き換える箇所
――――――――――――――――――――――――――――――――――――
APR_LIBS_LD = -L/usr/local/apr-0.9.6/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl -L/usr/local/rast-0.0.1/lib -lrast
APR_LIBS_LIBTOOL = /usr/local/apr-0.9.6/lib/libapr-0.la -lrt -lm -lcrypt -lnsl -lpthread -ldl -L/usr/local/rast-0.0.1/lib -last
――――――――――――――――――――――――――――――――――――
⇒暫定的な対応手順のため、Rast のインストール前じゃなくて、
 いったん Rast をインストールした後で、
 ↑を書き換えてから Rast を再インストールする必要があるらしい

● Rast-0.02/Makefile.PL を書き換える箇所
――――――――――――――――――――――――――――――――――――
LIBS => ["-L/usr/local/rast-0.0.1/lib -L/usr/local/db-4.3.27/lib -L/usr/local/apr-0.9.6/lib -lapr-0 -lrast -ldb-4.3"],
INC => "-I. -I/usr/local/rast-0.0.1/include -I/usr/local/db-4.3.27/include -I/usr/local/apr-0.9.6/include/apr-0",
――――――――――――――――――――――――――――――――――――
⇒たぶん。


(8月20日追記)
ごめんなさい、“--prefi=”みたいに誤字が多かったので修正しました。
もう今は Rast 0.2.0 が出ているので、↓手順を書き直しました。
http://kawa%2Eat%2Ewebry%2Einfo/200508/article_2.html

開く トラックバック(800)

全3ページ

[1] [2] [3]

[ 次のページ ]


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事