Context   컨텍스트, 상황 (Context)

(2021-08-17)

문맥, Execution Context, 실행 콘텍스트

Top > [기술공통]
[기초과학]
[진동/파동]
[전기전자공학]
[방송/멀티미디어/정보이론]
[통신/네트워킹]
[정보기술(IT)]
[공학일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
기술공통 > [공통/유사어(ㄱ~ㄴ)]
[공통/유사어(ㄷ~ㄹ)]
[공통/유사어 (ㅁ~ㅂ)]
[공통/유사어(ㅅ)]
[공통/유사어(ㅇ~ㅈ)]
[공통/유사어(ㅊ~ㅌ)]
[공통/유사어(ㅍ~ㅎ)]
[단순기술용어]
공통/유사어(ㅊ~ㅌ)   1. 척도 (scale)
  2. 추상화 (abstraction)
  3. 컨텍스트 (context)
  4. 클래스 (class)
  5. 클러스터 (cluster)
  6. 타이머 (timer)
  7. 태그 (tag)
  8. 트리거 (trigger)

Top > [기술공통]
[기초과학]
[진동/파동]
[전기전자공학]
[방송/멀티미디어/정보이론]
[통신/네트워킹]
[정보기술(IT)]
[공학일반(기계,재료등)]
[표준/계측/품질]
[기술경영]
정보기술(IT) >   1. 정보기술
[전산기초]
[컴퓨터구조]
[프로그래밍]
[데이터베이스]
[소프트웨어 공학]
[운영체제]
[정보보호/보안]
[IT 기타기술]
프로그래밍 >   1. 프로그램, 프로그래밍
[프로그래밍 언어론]
[프로그래밍 방법론]
[객체지향 프로그래밍]
[자료표현코드]
[자료구조]
[알고리즘]
[시스템 소프트웨어]
[프로그래밍언어 종류]
[프로그래밍 기타일반]
프로그래밍언어 종류 >   1. 프로그래밍 언어
[C]
[C++]
[자바(Java)]
[자바스크립트]
[PHP]
[파이썬]
[(기타 언어)]
자바스크립트 >   1. JavaScript
  2. JS 기초 문법
[JS 변수,타입,논리식]
[JS 구문,연산자]
[JS 실행환경]
[JS 함수]
[JS 객체]
[JS 배열/Map/Set]
[JS 활용]
[JS 웹문서 제어]
JS 실행환경   1. 실행 컨텍스트
  2. 스코프
  3. 변수 호이스팅
  4. this 참조
  5. 클로저
  6. IIFE (즉시실행함수)
  7. 모듈

1. 컨텍스트

  ㅇ `상황, 맥락, 문맥 상의 의미` 등으로 이해되는 용어

  ㅇ 사실상, 컨텍스트는,
     - 그냥 텍스트(Text) 처럼 바로 이해되는 단순히 원본 정도가 아니라,
     - 문맥 및 상황에 따라, 어떤 해석이 가미되어 이해되는 한 차원 높은 공간, 영역을 의미

  ㅇ 전산 뿐만 아니라 방송, 예술 등의 분야에서도 널리 사용되는 용어


2. [전산]  컴퓨터 내부 (하드웨어 관점)

  ㅇ 컨텍스트는 컴퓨터 내부에서 볼 때,
     - 프로세서 안에 있는 레지스터, 플래그 등의 현재 값/상태들의 집합을 말함

  ㅇ Context Switching (문맥 교환)
     - 멀티태스킹 작업을 수행하면서, 
     - 각 태스크들을 순서있게 교체 수행하기 위해,  
     - 태스크 상태 정보레지스터들에 저장 또는 이전 상태를 불러오기위한 작업으로써, 
     - 실제 프로그램을 수행하는 작업은 아님


3. [전산]  프로그램 내부 (소프트웨어 관점)

  ㅇ 그때그때 상황에 맞게끔, 실행/판단/결정 등을 해야하는 부분 
     - 例) 할당 연산자(=) 다음에는, 표현식 컨텍스트가 옴
     - 例) if 조건문 다음에 { 가 오면, 문장 컨텍스트가 옴
     - 例) 컨텍스트 메뉴 (context menu)
        . 그 메뉴를 호출한 동작 및 상황에 따라, 다르게 선택 사항들이 나열되는 메뉴


4. [전산]  자바스크립트 실행 컨텍스트 (Execution Context)

  ㅇ 실행에 필요한 다양한 정보를 형상화하고, 이들을 목록화 관리하기 위한, 추상적인 개념
     - 실행 가능한 코드가 실행되는 프로그램 환경
        . 현재 실행중인 부분
     - 결국, 실행에 필요한 정보들로써,
        . 변수 등의 유효 범위(Scope),유효 기간(Lifetime)의 결정을 위한 환경 정보들
        . 실행에 필요한 정보들의 例)
           .. 변수들 (전역변수, 지역변수, 매개변수, 객체프로퍼티)
           .. 함수 선언 정보
           .. 변수의 유효범위(Scope)
           .. this가 가리키는 것 등

  ㅇ 실행 컨텍스트의 관리 및 보유 형태
     - 관리 형태
        . 실행에 필요한 여러 정보들을, 객체 형태로 담아 스택(LIFO)으로 관리 
     - 보유 형태
        . { 렉시컬 환경 : (환경 레코드 + 외부 렉시컬 환경에 대한 참조) }

  ㅇ 만일, 자바스크립트 엔진이, 
     - 실행 가능한 코드를 만나면, 그 코드를 평가해서, 실행 컨텍스트를 만들어냄 
        . 例) 
           .. 만일, 함수를 호출하면, 
           .. 현재 실행중인 코드의 작업을 잠시 멈추고,
           .. 실행 컨텍스트 영역을 생성하고,
           .. 이때 생성된 함수 실행 컨텍스트는 실행 컨텍스트 스택에 푸시되고,
           .. 실행 흐름이 그 실행 컨텍스트로 이동하고,
           .. 함수 안팎의 환경을 찾아내어, 실행되어지며,
           .. 함수 실행이 종료되면, 실행 컨텍스트 스택에서 팝되어 제거됨

     - 실행 가능한 코드의 例)
        . 전역 코드 : 가장 바깥쪽에 존재하는 것
        . 함수 코드
        . eval 함수
        . 모듈 코드


[공통/유사어(ㅊ~ㅌ)] 1. 척도 (scale) 2. 추상화 (abstraction) 3. 컨텍스트 (context) 4. 클래스 (class) 5. 클러스터 (cluster) 6. 타이머 (timer) 7. 태그 (tag) 8. 트리거 (trigger)

 
        최근수정     요약목록     참고문헌