티스토리 뷰

※ 샌드박스 (Sandbox)

샌드박스를 이해하려면 먼저 어원을 알아보기로 하자.

샌드박스는 영어 그대로 해석하자면 "모래상자"라는 뜻이다. 아이들이 놀이터에서 놀 수 있는 공간을 의미한다.
모래 상자 안에는 당연히 모래가 있겠고 아이들이 모래를 가지고 놀다보면 그 공간은 상당히 더러워(?)질 수가 있다. 어원에 담겨 있듯이 샌드박스란 정해진 공간 안에서 형식 없이 마음껏 자유자재로 놀아라는 뜻을 가지고 있다.

즉 컴퓨터에서는 어떤 프로그램/코드를 실행할 때 제한된 공간에서 벗어나지 않고 허용되는 범위 안에서 마음껏 작업을 할 수 있음을 뜻한다.


자바스크립트에서 샌드박스 패턴을 사용하면 콜백함수로 코드를 감싸기 때문에 전역 네임스페이스를 보호할 수 있다.


샌드박스 생성자구현 (자바스크립트 코딩기법과 핵심패턴 참고)

위의 함수는 책에 있는 예제이며 상황에 맞게 직접 구현해도 괜찮다



샌드박스 모듈생성

<소스>



샌드박스 모듈호출

<소스>


샌드박스 결과

<결과>

결과를 보면 샌드박스에서 사용하고 싶은 모듈만 불러와서 호출 된 것을 확인할 수 있다.


샌드박스를 사용하는 이유는 결국 전역 네임스페이스를 보호하기 위함이다