Что такое песочница?

Я прочитал статью в Википедии, но я не совсем уверен, что это значит и как это похоже это контроль версий.

Было бы полезно, если бы кто-нибудь мог очень просто объяснить, что такое песочница.

Ответ 1

enter image description here

Песочница или песочница - это низкий, широкий контейнер или неглубокое углубление, заполненное песком, в которое могут играть дети. Многие домовладельцы с детьми строят песочницы на своих задних дворах, потому что, в отличие от большинства игровых площадок, их можно легко и дешево построить. "Песочница" может также обозначать открытый карьер песка.

Что ж, программная песочница ничем не отличается от песочницы, созданной для игры ребенка. Предоставляя песочницу ребенку, мы моделируем среду реальной игровой площадки (другими словами, isolated environment), но с ограничениями на то, что может делать ребенок. Потому что мы не хотим, чтобы ребенок заразился, или мы не хотим, чтобы он причинял неприятности другим. :) Какова бы ни была причина, мы просто хотим наложить ограничения на то, что ребенок может сделать по соображениям Security Reasons.

Теперь, зайдя в нашу программную изолированную программную среду, мы позволяем любому программному обеспечению (дочернему) запускаться (играть), но с некоторыми ограничениями относительно того, что он может делать. Мы можем чувствовать себя в безопасности и уверенности в том, что может сделать исполняющее программное обеспечение

Вы видели и использовали антивирусное программное обеспечение. Правильно? Это тоже своего рода песочница. Это накладывает ограничения на то, что может делать любая программа. При обнаружении вредоносного действия оно останавливается и информирует пользователя о том, что "это приложение пытается получить доступ к таким и другим ресурсам. Хотите разрешить?".

Скачайте программу под названием sandboxie, и вы сможете получить опыт работы с песочницей. С помощью этой программы вы можете запустить любую программу в контролируемой среде.

Красные стрелки указывают на изменения, происходящие из запущенной программы на ваш компьютер. Поле с надписью Жесткий диск (без песочницы) показывает изменения, выполняемые программой, которая работает нормально. Поле с надписью Жесткий диск (с песочницей) отображает изменения, внесенные программой, работающей под Sandboxie. Анимация показывает, что песочница может перехватывать изменения и изолировать их в песочнице, изображенной в виде желтого прямоугольника. Это также показывает, что группировка изменений позволяет легко удалить их все сразу.

enter image description here

Теперь, с точки зрения программиста, песочница ограничивает API, который разрешен для приложения. В примере с антивирусом мы ограничиваем системный вызов (API операционной системы).

Другим примером может служить онлайн-кодирование, например, topcoder. Вы отправляете код (программу), но он работает на сервере. Для обеспечения safety сервера, они должны ограничивать уровень доступа API программы. Другими словами, им нужно создать песочницу и запустить в ней вашу программу.

Если у вас есть подходящий sandox, вы можете даже запустить зараженный вирусом файл и остановить всю вредоносную активность вируса и убедиться в том, что он пытается сделать. Фактически, это будет первый шаг исследователя антивирусов.

Ответ 2

Это определение песочницы в основном означает наличие тестовых сред (интеграция разработчиков, обеспечение качества, этап и т.д.). Эти тестовые среды имитируют производство, но они не разделяют каких-либо производственных ресурсов. У них есть полностью отдельные серверы, очереди, базы данных и другие ресурсы.

Чаще всего я видел, что песочница ссылается на нечто вроде виртуальной машины - изолируя некоторый код на машине, чтобы он не мог повлиять на базовую систему.

Ответ 3

Для конкретного примера: предположим, что у вас есть приложение, которое занимается денежными переводами. В производственной среде обменены реальные деньги. В изолированной среде все работает точно так же, но деньги виртуальны. Это для целей тестирования.

Paypal предлагает такую ​​изолированную среду, например.

Ответ 4

Для "песочницы" в разработке программного обеспечения это означает, что он развивается, не беспокоя других изолированным способом.

Это не похоже на контроль версий. Но некоторый метод управления версиями (как ветвление) может помочь создавать песочницы.

Ответ 5

Виртуальная машина - лучший пример sendbox, VM - полный хост-компьютер, на котором обычная операционная система может загружаться и запускаться как на реальном оборудовании. В гостевой операционной системе работает изолированная песочница в том смысле, что она не работает на хосте и не может работать только с эмулятором

Ответ 6

Песочница - это тип среды тестирования программного обеспечения, который позволяет изолированно выполнять программное обеспечение или программы для независимой оценки, мониторинга или тестирования.

В реализации песочница также может называться тестовым сервером, сервером разработки или рабочим каталогом.

Как одна из самых распространенных методик тестирования программного обеспечения, песочница полезна в средах с одной или несколькими одновременно работающими программами. Песочница создает операционную среду, в которой другие работающие программы не влияют на выполнение, работу и процессы тестирования программного обеспечения.

Кроме того, техника песочницы реализована в информационной безопасности для оценки подозрительного программного обеспечения или файлов, содержащих вредоносный код.

Как правило, исходный код изолированного программного обеспечения не тестируется перед изоляцией, что снижает неожиданное поведение.

Это определение было написано в контексте разработки программного обеспечения

Ответ 7

Чаще всего мы ссылаемся на на другую песочницу.


В любом случае песочница часто означает изолированную среду. Вы можете делать все, что вам нравится в песочнице, но его эффект не будет распространяться вне песочницы. Например, при разработке программного обеспечения это означает, что вам не нужно возиться с материалом в /usr/lib, чтобы протестировать вашу библиотеку и т.д.

Ответ 8

Google NaCl может быть хорошим примером, и вы можете найти много хороших примеров и объяснений там.