設定ファイル

出典: 謎の百科事典もどき『エンペディア(Enpedia)』
ナビゲーションに移動 検索に移動

設定ファイルとは、ソフトウェアの変更可能な設定を記載したファイルの総称。

概要[編集]

ソフトウェアにおいて、ソースコードに可変にすべきパラメーターを直接記述[1]してしまうのは柔軟性を欠くので、外部ファイルに可変のパラメーターを書いておき、プログラムから読み込んで使用できるようにしておく。このファイルのことを、設定ファイルという。

1つの例として、Webアプリケーションの設定ファイルがある。Webアプリケーションを運用する場合、実運用環境(本番環境)とは別に、テスト環境をいくつか設けることが一般的である。この時、環境が異なると同じ設定が使用できないことがあるので、環境ごとに設定ファイルを作り、同じアプリケーションを設定ファイルだけを変えて動作するようにしておくのである。

他にも、外観をカスタマイズできるようにしたり、プラットフォームの差異を吸収したりする場合などに使用される。

設定ファイルとして正しくない状態で変更を保存してしまった場合、ソフトウェアが動作しなくなる恐れがあるので、変更前にはファイルをバックアップしておくのが望ましい。

設定ファイルの形式[編集]

設定ファイルの形式には、テキストファイルの場合はデータ記述言語を使用することが多い。バイナリーファイルの場合は、通常は専用のアプリケーションもしくはアプリケーションに付属している設定ファイル編集機能を使用する。

Unix系環境およびそれに由来するソフトウェアの設定ファイルには、テキストファイルだが伝統的に独自形式のものが多くある。

以下に、代表的なテキストファイル形式のものを挙げる[2]。拡張子は、一般的なものを記載。

INIファイル
拡張子は.ini
過去にWindowsの設定ファイルとして使われていたものが有名。Windowsでは互換性のため残されていたものがあったが、最近ではほとんど使われなくなった。
YAML
拡張子は.yamlまたは.yml
シンプルかつ軽量。データ記述言語としても使用される。言語を問わず、広く使われている。
XML
拡張子は*.xml
World Wide Web Consortium(W3C)が仕様を策定しているマークアップ言語。データ記述言語としても使われる。
2000年頃のJava界隈では、XMLを設定ファイルに使用することが多かったが、XMLエディターを使わずにテキストエディターで編集する場合に面倒なので、2010年代には他の軽量な形式が使われることが多くなった。
JSON
拡張子は.json
言語を問わずデータ記述言語として使用されることが多いが、一部のJavaScript関連技術では設定ファイルとしても使用されている。
TOML
拡張子は.toml
最小限かつ明確さを重視したフォーマットで、構文はINIファイルに似ているが互換性は無い。
登場時期(初版)は2013年と、2020年時点では比較的新しい形式。
HOCON
拡張子は.conf
Lightbend社(旧Typesafe)が発表した形式。JSONを拡張した形式になっている。主にJavaおよびJVM言語で使用されている。
Javaプロパティーファイル
拡張子は.properties
Javaが標準ライブラリーでサポートしている設定ファイル形式。デフォルトではマルチバイト文字をASCII形式にエンコードした状態で記録するため、使い勝手があまり良くない[3]。最近では代わりにYAMLやHOCONを使うことが多くなっている。

脚注[編集]

  1. ソースコードに可変にすべきパラメーターを直接記述してしまうことを、ハードコーディングという。
  2. バイナリーファイル形式で汎用的なものは無い、あってもマイナー、なはず。
  3. エディターが変換をサポートしてくれるものの、厳密には半分バイナリー形式のようなもの。