ミニファイ 【minify】 minification
概要
ミニファイ(minify)とは、JavaScriptやCSSなどのコードを意味や動作を変えずに短い記述に変換し、伝送データ量を削減すること。作成したスクリプトやスタイルシートをWebサーバに掲載する直前に行う。Webページ上で簡易なプログラム(スクリプト)を実行できるJavaScriptや、ページの見栄え(スタイル)を指定するCSS(Cascading Style Sheet)などの言語は、開発者が記述したソースコードをそのまま閲覧者の環境に送信してクライアント(Webブラウザなど)が解釈・実行する仕組みとなっている。
ソースコードは開発者が記述しやすいように、また、後で保守する際に読みやすいように、人間にとって分かりやすい表記法などを用いて記述されることが多いが、長い変数名や関数名、タブ文字や連続した空白文字(スペース)など、動作には直接影響しない冗長な要素が含まれる。
ミニファイでは専用の変換ソフトウェア(minifier)を用いてソースコードに含まれる冗長な表現を削除したり、必要最小限の短い表記に改め、文字数を短縮する。例えば、文法上不要な空白や改行、区切り文字、コメントなどは削除し、変数などのシンボル名も自動生成した短い符号に機械的に置き換え(例:var strAuthenticatedUserFullConfiguration;→var a;)、複数の表記法がある場合は短い表記に置きかえる(#ffffff→#fff)
人間には読解しにくい酷い見た目のコードになるが、同じ動作を維持したままサーバのデータ転送量を削減できるため、多くの人に同じファイルを配布する場合などに用いられる。変換の過程で変数名などの情報は欠落して元に戻すことはできなくなるため、ある種の非可逆圧縮となっている。この特徴を逆手に取り、コードを盗み取られたり解析されにくくなるよう難読化(obfuscation)する用途を兼ねる場合もある。
(2022.4.8更新)