メインコンテンツまでスキップ

storageなどの命名規則

· 約3分
Nodashin
Software Engineer

resource と storage というディレクトリをプロジェクト内で使用する際、それぞれの目的や役割を明確に区別することが重要です。以下にその使い分けについて説明します。

resource ディレクトリ

目的: プロジェクトで利用する静的ファイルや参照用のデータを格納。

特徴:

  • 読み取り専用: プロジェクト内でコードが参照するだけで、通常は変更や更新を行いません。
  • 静的データ: 設定ファイルやテンプレート、初期化用データ、ドキュメントなどを含む。

使用例:

  • 設定ファイル (.json, .yaml, .ini など)
  • テキストやCSV形式のリファレンスデータ
  • 初期化用スクリプト
  • 静的な画像、テンプレートファイル、またはUI用のリソース
  • 翻訳ファイル (.po, .mo)

リソースの例:

project/
resource/
config.yaml # アプリケーションの設定ファイル
templates/
report.html # HTMLテンプレート
localization/
en.po # 英語翻訳リソース
ja.po # 日本語翻訳リソース

storage ディレクトリ

目的: プロジェクト実行中に生成・更新されるデータを格納。

特徴:

  • 動的データ: 実行中に生成される一時データ、ログ、キャッシュなど。
  • 読み書き可能: プログラムが動的にアクセスして変更するデータを含む。

使用例:

  • ユーザーがアップロードしたファイル
  • 一時データやキャッシュ
  • 実行中に生成されるログファイル
  • データベースのスナップショットやバックアップ

ストレージの例:

project/
storage/
logs/
app.log # 実行時のログファイル
uploads/
image1.png # ユーザーがアップロードした画像
cache/
temp_data.pkl # 一時的なキャッシュデータ

使い分けの基準

項目resourcestorage
役割参照用の静的データ実行時に生成・更新される動的データ
ライフサイクル長期間変更されないプログラムの実行中に生成され、更新または削除される
アクセス頻度主に読み取り専用読み書きされる
設定ファイル、テンプレート、翻訳データログ、一時データ、ユーザーがアップロードしたファイル