プロが教える店舗&オフィスのセキュリティ対策術

外部jsファイルについて、いくつか教えてください。
1.コメント削除
2.圧縮
3.難読化

1.コメントを自動で削除してくれるツールとかってあるのでしょうか?
2.圧縮ってどうやるのでしょうか?
 速度が速くなる、と聞いたことがあるのですが、何か圧縮することで問題になることとかありますか?
3.難読化ってどうやってやるのでしょうか? 
  また、難読化することのデメリット等あれば教えてください(SEO的にやめた方がいいなど…)。

上記の内、どれか一つについてでもご回答いただければ、嬉しいです。
その他、何かアドバイス等あれば、よろしくお願いします。

A 回答 (3件)

コメント削除および圧縮ツールとしては、Google Closure Compiler が有名です。



オンラインでも利用できます。
http://closure-compiler.appspot.com/home
説明(英語)
http://code.google.com/intl/ja-JP/closure/compil …


これを使う事で、例えば
var theValueOfSomeMainContents が
var a に置き換えられますので、
ブラウザがコードを読み込む(=実行する)スピードが早くなります。
ユーザーにとってはとても望ましい事です。

一方のデメリットは、人間がコードが読みづらくなる事です。
改行がなくなり、コメントが消え、
変数は意味不明の短い単語(場合によっては1文字)になりますので、
メンテナンスには向きません。
あくまで、本番環境にリリースする用です。

この意味で、圧縮=難読化 ですね。


SEOについてですが、
サーチエンジンは普通html内の文字列を「コンテンツ」としてサーチしますので、
問題ないでしょう。
(というかサーチエンジン本家のGoogleのjsコードが、どえらく圧縮されていますし)
    • good
    • 0
この回答へのお礼

有益な情報ありがとうございました。
実際に試してみたところ、すごく使いやすく感じました。

お礼日時:2010/11/26 23:26

1.圧縮サービスにはコメント除去がついていることが多いです。


"javascript 圧縮 オンライン"とかで調べるとまとめて紹介している記事がたくさん出てきますよ。

2.javascriptの圧縮は大きく分けると2通りあります。スクリプトのムダな記述を削減して新しいコードを再構築する圧縮。gzipのように元のデータを保持したままアルゴリズムで圧縮するタイプ。オンラインサービスの多くは前者です。それぞれファイルを読み込む速度は向上しますが、実行速度は体感上変わりありません。

3.難読化はスクリプトを人間の目では理解できないほど複雑にする行為です。これに関してもオンラインサービスを利用すればいいのではないでしょうか。ですが難読化ってやる意味ありますか?スクリプトって別にコピーされてもあまり困りませんし、ハッキングできる人は単純な難読化はあっさり可読化できますよ。まさか重要なパスワードをjavascript内に書いたりすることもありませんし・・・
SEOにjavascriptは私も元々影響がないと思います。
    • good
    • 0
この回答へのお礼

>javascriptの圧縮は大きく分けると2通りあります。
ありがとうございます。こういう風に説明していただくと、
頭の中が整理できるので、大変ありがたいです。

>難読化ってやる意味ありますか?
どうしてもやりたいと思っていたわけではないのですが、
興味があったので、聞いてみました。
難読化されているスクリプトを見てみたいときとか、役立つかな、と思ってます…。

お礼日時:2010/11/26 23:31

ちょっとぐぐってみただけですが、いいっぱいヒットしました。


ごく一部を以下に…

<方法について>
 http://www.nri-secure.co.jp/ncsirt/2009/0409.html

<圧縮ソフト>
 http://www.phppro.jp/phptips/archives/vol32/1
 http://ecs.amonya.com/javascript/javascript.html

ウェブ上でもこんなのあります
 http://dean.edwards.name/packer/
と、思っていたら(↓)にまとめて紹介されていた。
 http://coliss.com/articles/build-websites/operat …


ご自分でも検索してみてください。
    • good
    • 0
この回答へのお礼

質問した際には、ツールのことしか念頭になかったのですが、
教えていただいた、<方法について>のサイト等は、大変興味深かったです。
ありがとうございました。

お礼日時:2010/11/26 23:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!