これは強烈に悩ましいな。
rc1なんだがYUI3。
http://developer.yahoo.com/yui/3/examples/dd/portal-drag_source.html
prototype.jsで安定してそうだけどメンテナンスしてなさそうな↓。
http://blog.xilinus.com/prototype-portal/test/index.html
ちなみに interface.js @jQueryでもできたんだが、
jQuery1.2.xに対応しとらんっぽいのでやめよう。
JavaScript::Minifier::XSを使って作成します。
js_minify.pl <元のjsファイル>
と叩くと元のjsファイルと同じところにminifyされたjsファイルが(ファイル名.min.js)が出来上がる予定です。
ソースコードは以下になります。
#!/usr/local/bin/perl
use strict;
use warnings;
use JavaScript::Minifier::XS qw(minify);
use File::Basename;
use FileHandle;
do_task($ARGV[0]);
sub do_task {
my $filepath = shift || die "[ USAGE ] js_minify.pl ";
my $fh = FileHandle->new($filepath)
|| die "[ WARN ] file-open fail. $filepath";
my $content = join("",$fh->getlines);
my $minified_content = minify($content);
my $output_filepath = sprintf("%s/%s-min.js",dirname($filepath) || '.',basename($filepath,'.js'));
my $output_filehandle = FileHandle->new($output_filepath,'w')
|| die "[ WARN ] file-open fail. $output_filepath";
$output_filehandle->print($minified_content);
warn "[ WRITE ] seed file $filepath" . " output file $output_filepath";
}
minify結果
都合、ファイルサイズは大体3/4ぐらいに縮みました。
| 圧縮前 |
prototype-1.6.0.2.js |
124KB) |
| 圧縮後 |
prototype-1.6.0.2-min.js |
92KB |
※JSのminifyは同モジュールを使ったJS Minify!!(JS圧縮ツール)がご利用いただけます。
関連リンク
画像サーバがすごいことになってDiskIOがやたら増えてしまって
困るわけですよ。
で、Apache2.2使ってるのでmod_disk_cacheを使ってcacheさせてたんですが
内部のDiskにCacheされたDIRやらファイル群を定期的にお掃除するのが面倒で。
一応mod_mem_cacheを使ってみようかなとは思います。
でもmod_mem_cacheは挙動が怪しいからなぁ。
もう少し調べよう。