전공 지식 - 자주 마주치는 용어(개념)

virtual, logical

구체적인 대상이 아닌 표상. 표상에 대응된 사물이 있을 수도 있고 없을 수도 있다.
구체적인 대상에 신경쓰지 않고 간단한 표상만을 조작하면 의미 있는 결과를 얻을 수 있다.

  • virtual memory(가상 메모리) - 구체적인 메모리 공간에 대응되는 숫자들의 집합.
  • virtual machine(가상 머신) - 물리적인 시스템이 무엇이든 원하는 환경을 만들어준다.

abstraction

추상화. 구체적인 대상들로부터 공통된 속성을 뽑아내 표상, 관념으로 만듦.

  • ‘사람’이라는 사람은 없다. ‘사람’이라는 단어는 구체적인 ‘홍길동’, ‘김철수’ 로부터 추상화된 표상이다.
  • Java의 추상 클래스에 대응되는 인스턴스는 있을 수 없다. 여러 클래스들을 한층 더 추상화 한 클래스이다.

dynamic, static

dynamic - 프로그램 실행 중에 무언가 진행됨
static - 프로그램 실행 전에 이미 결정됨

  • static_cast
  • dynamic_cast
  • Java의 generic

비동기적(ansynchronously)

작업들이 순서대로 진행되지 않음

  • javascript - blocking call(네트워크 io 등)이 발생하면 다음 작업을 진행한다.

동기적(synchronously)

프로그래머가 의도한 순서대로 코드가 실행됨

resolve

환원하다. 추상적인 무언가를 이해하기 쉬운 가장 단순한 형태로 바꿈.

  • symbol resolution을 통해 symbol을 실행 가능한 명령어로 바꾼다.

caching

빈번하게 필요한 데이터를 가장 빨리 접근할 수 있는 곳에 저장해둠. 지금 필요한 물건이 caching 되어 있지 않다면 이 상황을 miss라고 하고 반대는 hit라고 한다. Hit ratio가 높을수록 프로그램의 동작 속도가 빨라진다.

  • 핸드폰을 주머니에 넣어두면 가방에 넣어둔 것보다 빨리 꺼낼 수 있다.

parse

입력으로 받은 데이터를 원하는 형태의 데이터로 바꿈.

  • 웹 브라우저는 HTML 파일을 DOM Tree 형태로 변환한다.

random access

많은 양의 데이터 중 한 개를 임의로 선택함.

  • 영어 사전에서 특정 한 단어를 찾는 경우

Euclidean space

유클리드가 연구했던 공간(평면 포함)을 일반화한 것.
임의의 개수의 숫자로 표현 할 수 있는 모든 것들은 유클리드 공간의 점으로 표현된다. 유클리드 공간의 점들에 대해서는 여러 가지 연산(거리, 각도 측정 등)을 할 수 있다.

  • 회원을 (나이, 키, 몸무게) 로 표현했다면 모든 회원들을 3차원 유클리드 공간의 점으로 표현한 것이다.

Comments