サンドボックス (ソフトウェア開発)

サンドボックス (: sandbox)は、 Web開発バージョン管理などのソフトウェア開発の文脈で、テストされていないコードの変更や完全な実験を本番環境またはリポジトリから分離するテスト環境のこと[1]

サンドボックス化は、「ライブ」サーバーとそのデータ、精査されたソースコード配布、およびその他のコード、データ、コンテンツのコレクション(所有権または公開)を、ミッションクリティカルなシステムに損害を与える可能性のある変更から保護する。それらの変更の作成者の意図に関係なく元に戻す。サンドボックスは、少なくとも、開発中のプログラムまたは他のコードを正確にテストするために必要な最小限の機能を複製する(たとえば、変更を目的とした安定した以前の実装と同じ環境変数の使用、または同じデータベースへのアクセスなど、他にもコードやアプリケーションの性質により様々な特定の機能が必要なことがある)。

サンドボックスの概念(作業ディレクトリテストサーバー開発サーバーとも呼ばれる)は、通常、 GitCVSSubversion(SVN)などのバージョン管理システムに組み込まれており、開発者は調査および作業するツリーまたはそのブランチのソースコードのコピーを「チェックアウト」する。開発者は自分のサンドボックスでコードの変更を完全にテストした後でのみ、変更をチェックインしてリポジトリにマージし、それによって他の開発者またはソフトウェアのエンドユーザーが利用できるようにすべきである[2]

同様に、「サンドボックス」という用語は、コンピューティングやネットワーキングにおいて、セキュリティサンドボックス検索エンジンサンドボックス(どちらも非常に具体的な意味を持つ)など、受信データが定義された要件または基準が満たされない限り、または満たされるまで、「ライブ」システムへのデータ流入を防止する一時的な分離エリアのことを指すことがある。

Webサービスでの活用編集

サンドボックスという用語は、外部開発者が使用するミラー化された本番環境を指すWebサービスの開発に一般的に使用される。通常、サードパーティの開発者は、サンドボックスのWebサービスを使用するアプリケーションを開発および作成する。これは、サードパーティのチームがコードを本番環境に移行する前に検証できるようにするために使用される。 マイクロソフト[3]グーグルAmazon.com[4]Salesforce.com[5]PayPal[6]eBay[7]Yahoo[8]、などがこのようなサービスを提供している。

ウィキでの活用編集

Wikiは通常、テストの共有サンドボックスモデルを採用しているが、これは主に、既存のコンテンツ(ソースコードのwikiアナログ)への変更のテストではなく、機能の学習と完全な実験を目的としている。通常、編集プレビューモードは、Wikiページのテキストまたはレイアウトに加えられた特定の変更をテストするために使用されます。

関連項目編集

脚注編集

  1. ^ Margaret Rouse. “Sandbox Definition”. TechTarget. 2020年12月21日閲覧。
  2. ^ Vivek Venugopalan, "Developer Sandbox" chapter 4, CVS Best Practices, The Linux Documentation Project, 2005. (See also Google for numerous other examples from the CVS FAQ, SourceForge, etc.)
  3. ^ Microsoft UDDI Business Registry (UBR) node”. 2005年11月7日時点のオリジナルよりアーカイブ。2012年7月27日閲覧。
  4. ^ Amazon Mechanical Turk Developer Sandbox”. 2012年7月27日閲覧。
  5. ^ Salesforce Sandboxes”. salesforce.com. 2016年8月29日閲覧。
  6. ^ PayPal Sandbox User Guide”. paypal.com. 2007年1月28日時点のオリジナルよりアーカイブ。2012年7月27日閲覧。
  7. ^ eBay Developer's Sandbox”. ebay.com. 2012年7月27日閲覧。
  8. ^ Enterprise Web Services: Sandbox”. yahoo.com. 2008年1月19日時点のオリジナルよりアーカイブ。2012年7月27日閲覧。