샌드 박싱이란 무엇입니까?
나는 Wikipedia 기사를 읽었 지만 그것이 무엇을 의미하는지, 버전 관리 와 그것이 얼마나 유사한 지 잘 모르겠습니다 .
누군가가 샌드 박싱이 무엇인지 매우 간단한 용어로 설명 할 수 있다면 도움이 될 것입니다.
모래밭 또는 샌드 박스는 아이들이 놀 수있는 모래로 채워진 낮은 넓은 용기 또는 얕은 우울증이다. 아이들이있는 많은 주택 소유자들은 많은 운동장 장비와 달리 쉽고 저렴하게 건축 할 수 있기 때문에 뒤뜰에 모래 파는 곳을 짓습니다. "모래 구멍"은 구덩이 모래 광산을 나타낼 수도 있습니다.
Well, A software sandbox is no different than a sandbox built for a child to play. By providing a sandbox to a child we simulate the environment of real play ground (in other words an isolated environment
) but with restrictions on what a child can do. Because we don't want child to get infected or we don't want him to cause trouble to others. :) What so ever the reason is, we just want to put restrictions on what child can do for Security Reasons
.
Now coming to our software sandbox, we let any software(child) to execute(play) but with some restrictions over what it (he) can do. We can feel safe & secure about what the executing software can do.
You've seen & used Antivirus software. Right? It is also a kind of sandbox. It puts restrictions on what any program can do. When a malicious activity is detected, it stops and informs user that "this application is trying to access so & so resources. Do want to allow?".
Download a program named sandboxie and you can get an hands on experience of a sandbox. Using this program you can run any program in controlled environment.
The red arrows indicate changes flowing from a running program into your computer. The box labeled Hard disk (no sandbox) shows changes by a program running normally. The box labeled Hard disk (with sandbox) shows changes by a program running under Sandboxie. The animation illustrates that Sandboxie is able to intercept the changes and isolate them within a sandbox, depicted as a yellow rectangle. It also illustrates that grouping the changes together makes it easy to delete all of them at once.
Now from a programmer's point of view, sandbox is restricting the API that is allowed to the application. In the antivirus example, we are limiting the system call (operating system API).
Another example would be online coding arenas like topcoder. You submit a code (program) but it runs on the server. For the safety
of the server, They should limit the level of access of API of the program. In other words, they need to create a sandbox and run your program inside it.
If you have a proper sandox you can even run a virus infected file and stop all the malicious activity of the virus and see for yourself what it is trying to do. In fact, this will be the first step of an Antivirus researcher.
This definition of sandboxing basically means having test environments (developer integration, quality assurance, stage, etc). These test environments mimic production, but they do not share any of the production resources. They have completely separate servers, queues, databases, and other resources.
More commonly, I've seen sandboxing refer to something like a virtual machine -- isolating some running code on a machine so that it can't affect the base system.
For a concrete example: suppose you have an application that deals with money transfers. In the production environment, real money is exchanged. In the sandboxed environment, everything runs exactly the same, but the money is virtual. It's for testing purposes.
Paypal offers such a sandboxed environment, for example.
For the "sandbox" in software development, it means to develop without disturbing others in an isolated way.
It is not similiar to version control. But some version control (as branching) method can help making sandboxes.
More often we refer to the other sandbox.
어쨌든 샌드 박스는 종종 격리 된 환경을 의미 합니다 . 샌드 박스에서 원하는 작업을 수행 할 수 있지만 그 효과는 샌드 박스 외부로 전파되지 않습니다. 예를 들어 소프트웨어 개발에서 /usr/lib
라이브러리 등을 테스트하기 위해 물건을 엉망으로 만들 필요가 없습니다 .
참고 URL : https://stackoverflow.com/questions/2126174/what-is-sandboxing
'IT story' 카테고리의 다른 글
Android 맞춤 드롭 다운 / 팝업 메뉴 (0) | 2020.07.30 |
---|---|
.map, .every 및 .forEach의 차이점은 무엇입니까? (0) | 2020.07.30 |
특정 유형의 Windows Forms 양식 (버튼 / 텍스트 상자)의 모든 자식 컨트롤을 얻는 방법은 무엇입니까? (0) | 2020.07.30 |
Angular2 RC6 : ' (0) | 2020.07.30 |
3 계층 웹 아키텍처 속도 향상을위한 Memcache (d) 및 Varnish (0) | 2020.07.30 |