치과 의사에게 가서 치아를 뽑아 놓았다고 가정 해 봅시다.
접수 원이 귀하의 이름을 물으면 약속을 시작하는 데 필요한 정보입니다. 이 예에서 귀하의 이름은 상황 정보 입니다. 그래서에서 상황에 맞는 치과 의사를 방문, 당신은 당신의 치아를 뽑아 얻을 당신의 이름을 제공해야합니다.
이제 은행으로 걸어 가자고합시다.
은행에서는 $ 100을 인출하도록 요청합니다. 텔러는 돈을주기 전에 신원을 확인해야하므로 운전 면허증을 보여 주거나 ATM 카드를 스 와이프하고 PIN 번호를 입력해야합니다. 어느 쪽이든, 당신이 제공하는 것은 context 입니다. 텔러는이 정보를 사용하여 거래를 진행시킵니다. 그러면 어떤 계정에서 탈퇴 할 것인지 묻습니다. "저축 예금 계좌"라고 대답하면 훨씬 더 문맥 입니다.
더 많은 맥락을 제공할수록 상대방이 귀하의 요청을 처리하는 데 도움이되는 지식이 많아집니다. 경우에 따라 문맥은 선택 사항이며 (더 나은 결과를 얻기 위해 Google 검색에 더 많은 단어를 입력하는 것과 같이) 때로는 ATM에서 PIN 번호를 제공하는 것과 같이 필요할 수도 있습니다. 어느 쪽이든, 그것은 일반적으로 일을하는 데 도움이되는 정보입니다.
이제 당신이 $ 100를 가지고 입이 치유되는 동안 따뜻한 곳으로 비행기 티켓을 구입한다고 가정 해 봅시다.
당신은 좋은 햇볕이 잘 드는 목적지에 도착하지만, 가방은 그것을 만들지 않습니다. 공항 시스템 어딘가에서 길을 잃었습니다. 따라서 "수하물 청구 표"(바코드가 붙어있는 스티커)를 "잃어버린 수하물 사무소"로 가져 가십시오. 책상 뒤에있는 사람이 가장 먼저 요구하는 것은 수하물 번호가 적힌 티켓입니다. 이것이 필요한 컨텍스트 의 예입니다 .
그러나 수하물 사람은 자세한 내용을 요청 가방에 대한 더 쉽게 찾을 수 있도록있다. 그들은 " 무슨 색입니까? 어떤 크기입니까? 바퀴가 있습니까? 단단하거나 부드럽습니까? "그런 정보가 반드시 필요한 것은 아니지만, 정보를 제공하면 사물을 좁히는 데 도움이됩니다. 문제 영역 : 검색 속도가 훨씬 빨라집니다 ( 선택적 문맥) .
흥미로운 부분은 다음과 같습니다. 많은 소프트웨어 및 API의 경우 필수 컨텍스트는 일반적으로 메소드 서명의 실제 매개 변수로 끝나고 선택적 컨텍스트 는 무엇이든 포함 할 수있는 유연한 키-값 맵과 같이 다른 곳으로갑니다 (비어있을 수 있음) ) 또는 필요한 경우 액세스 할 수있는 스레드 로컬 스토리지에 저장하십시오.
위의 예는 실생활에서 얻은 것이지만 컴퓨터 과학 영역에 쉽게 매핑 할 수 있습니다. 예를 들어 HTTP 헤더에는 컨텍스트 정보가 포함됩니다. 각 헤더 는 요청중인 정보 에 관한 것 입니다. 또는 2 단계 커밋 프로세스의 일부로 글로벌 트랜잭션 ID를 전송할 때 해당 트랜잭션 ID는 컨텍스트입니다. 트랜잭션 관리자 가 현재 진행중인 전체 작업에 대한 정보이므로 작업을 조정하는 데 도움이됩니다 .
희망이 도움이됩니다.