スポンサーリンク

新しいJavaScript minifierが必要な理由

ヤフーのユーザの40%から60%が、エンプティキャッシュの経験を持っている。
そして、すべてのページビューの約20%は、エンプティキャッシュのまま終わっている。
Webページを可能な限り軽量に保つことが重要だ。
HTTP圧縮などのコードを小さくするためのいくつもの異なったテクニックがある。
コードの軽量化には、Douglas CrockfordのJSMinやDojo compressorといったツールが使われる。しかし、それらのツールには、圧縮率が低いという問題や、セキュリティ上、または、バグがある。

YUI Compressorとは?

YUI Compressorは、新しいJavaScript minifierだ。Dojo compressorよりも高い圧縮率を誇り、JSMinと同等に安全である。YUIライブラリでのテストは、JSMinと比較して約18%、Dojo compressorと比較して約10%の節約になった(HTTP圧縮の後では、それぞれ、10%と5%になった)。

いかにして機能するか?

YUI Compressorは、Java(Java>=1.4を要求)で書かれている。
そして、JavaScriptファイルソースのtokenizeのためにRhinoに頼る。
構造を理解するために、JavaScriptファイルを解析する。
token streamを表示し、すべてのローカルシンボルを1(か、2か、3)文字シンボルによって置き換える。
YUI Compressorは、オープンソースである。だから、それがどのように動作するのかコードを理解することを躊躇してはいけない。

どこから得るか?

このサイトからソースとバイナリの両方が入ったアーカイブをダウンロードすることができる。
http://www.julienlecomte.net/blogfiles/yuicompressor/yuicompressor-1.0.zip

使い方

java -jar yuicompressor-1.0.jar
    [-h, --help] [--warn] [--nomunge]
    [--charset character-set] [-o outfile] infile

コマンドラインの例

>java -jar yuicompressor-1.0.jar myfile.js


myfile.jsが縮小化されるでしょう。そして、myfile-min.jsのファイルが出力される。YUI Compressorの使い方のより詳しい情報は、アーカイブに含まれるドキュメントを参照してください。

制限

JSMinとは異なって、YUI Compressorは遅い、そして、コード縮小のオンザフライで使うことができない(ほかのヤフーエンジニアの[[Ryan Grove>http://wonko.com/]]による縮小のためのJSMinのPHPインプリメンテーション、JavaScript minificationをオンザフライでできる)。

http://wonko.com/
http://code.google.com/p/minify/

Introduction the YUI Compressor
http://www.julienlecomte.net/blog/2007/08/13/introducing-the-yui-compressor


スポンサーリンク
スポンサーリンク
 
いつもシェア、ありがとうございます!


もっと情報を探しませんか?

関連記事

最近の記事

人気のページ

はてなの人気のブックマーク

スポンサーリンク
 

過去ログ

2019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12

サイト

Vim入門

C言語入門

C++入門

JavaScript/Node.js入門

Python入門

FreeBSD入門

Ubuntu入門

セキュリティ入門

パソコン自作入門

ブログ

トップ


プライバシーポリシー