おのたく日記 YouTubeも始めました→
2004-05-12(Wed) [長年日記]
■ [Blog] blog.bulknews.net: Similarity Search の負荷軽減に jscache
First Weblog: Discussion on 似たようなページ追加に対して、トラックバックを頂いて知った。
Similarity Searchに聞きに行く回数が多くて性能が悪くなってしまうのを回避するために結果をキャッシュするCGIで、便利そうなので、とりあえず、機能強化として
- キャッシュのファイル名が長くなりすぎて書けないのでpackするのを減らして短くする。
- remote_urlをbulkfeedsとAmazon Searchに限る
- 関連URLをon-o.comに限る。
して、環境依存の
- perlの位置
- cacheのディレクトリをdebianに合わせる。
- 保持時間は3時間
- debug off
をカスタマイズした以下のパッチをつけて使ってみることにした。
% diff -u jscache-0.01.org jscache-0.01 --- jscache-0.01.org Sat May 8 06:53:52 2004 +++ jscache-0.01 Sun May 9 14:33:55 2004 @@ -1,1 +1,1 @@ -#!/usr/local/bin/perl -w +#!/usr/bin/perl -w # # jscache.cgi - Cache javascript feed content on your server @@ -10,2 +10,2 @@ use strict; use vars qw($VERSION $remote_url $cache_dir $cache_ttl $get_app $debug); -$VERSION = "0.01"; +$VERSION = "0.01tk"; #-------------------------------------------------- # ܤ @@ -19,2 +19,2 @@ # ѥʤɤϤΤ $remote_url = "http://bulkfeeds.net/app/similar.js"; +##http://host/jscache/http://example.com/hoge.js +$remote_url = $ENV{PATH_INFO}; +$remote_url =~ s!^/!!; +if ($remote_url !~ m!^http://bulkfeeds\.net/app/similar\.js$! + && $remote_url !~ m!^http://www\.jagjag\.jp:8080/perl/App/AmazonSimilarity2\.c gi$! + ) { + die "TKYN: wrong remote url is $remote_url"; +} + # åǥ쥯ȥ # Web ФΥ桼¤ writable Ǥɬפ $cache_dir = "/tmp/jscache"; +$cache_dir = "/var/cache/jscache"; # å夹 (ñ: ʬ) $cache_ttl = 60; +$cache_ttl = 180; # HTTP ³˻Ѥ륢ץꥱ # LWP ȡ뤵Ƥ @@ -35,0 +46,0 @@ # ǥХåѿ $debug = 1; +$debug = 0; # ܤޤ #-------------------------------------------------- @@ -43,1 +55,1 @@ $url .= "?$ENV{QUERY_STRING}" if $ENV{QUERY_STRING}; warn "remote url is $url" if $debug; +if ( $url !~ m!\?url=%68%74%74%70%3A%2F%2F%6F%6E%2D%6F%2E%63%6F%6D%2F! + && $url !~ m!\?url=http%3A//on-o\.com/! + && $url !~ m!\?url=http%3A%2F%2Fon-o.com%2F! + ) { + die "TKYN: wrong url is $url. It is not http://on-o.com/."; +} my $cache_file = cache_for($url); warn "cache file for $url is $cache_file" if $debug; @@ -59,0 +77,0 @@ sub cache_for { my $url = shift; - $url =~ s/(\W)/'%' . unpack('H2', $1)/eg; # uri_escape + $url =~ s/([^a-zA-Z0-9_%.=;-])/'%' . unpack('H2', $1)/eg; # uri_escape unless (-e $cache_dir) { warn "cache dir $cache_dir doesn't exit. Try mkdir" if $debug;
■ [MovableType] Drk7jp: Amazon Search β3 公開
そのページに関連しそうな物をAmazonから引っ張ってくれる便利な機能みたいなので、まずは、MovableTypeで、使ってみることにする。
tDiaryでは、ヘッタで、>$MTEntryPermalink encode_url="1"$<のようにページのURLって取れるの?
■ [リンク] はてなダイアリー - アピラクンの日記よりリンク
2月8日の日記で、書いたITトレメのビジネススキルでの、作業が遅れたら「10日間つまり二週間の間、倍働け」という解答の不思議へのリンクだった。
アピラクンさんも疑問だと思ったらしい。(ほっ)
■ [Meadow][tDiary] Meadow 2.00のnetinstallにtdiary-mode-1.5.6-1が追加された
tdiary-mode-1.5.6-1-pkg.tar.gzとなって、tdiary-modeが簡単に入れられるようになった。
設定は、.emacsに
(setq tdiary-diary-list '(("わんこ日記" "http://on-o.com/page/diary/")))
(require 'tdiary-mode)
を追加するだけ。日記の編集は
M-x tdiary-replace
で出来る。日記の編集がtdiary-modeではないので注意!!
本当は、C-returnによりmyなどのpluginの補間も出来るようだけど、引数の入力は、うまくいかなかった。
あー proxy authやhttpsに対応していないから、おうちでしか使えないね。
あと、netinstallにhtml-helper-modeというHTMLモードの異種もある事を発
見するが、html-helper-modeとhtml-modeの差が分からないので、ほっておく。
|