프로그래밍 기타 용어

(2019-05-23)

메모이제이션, 꼬리 재귀, heredoc, Here Document, Side Effect, 부수 효과, 부가 효과

1. 메모이제이션 (Memoization)재귀적 함수 호출에서, 중복 계산이 없도록, 한 번 계산된 값을 저장해서,
     프로그램이 빠르게 수행하는 기법

  ㅇ 주요 구현 방식
     - 함수에서, 주어진 매개변수에 의해 연산을 할 때 마다,
        . 그 결과 값을 주어진 매개변수를 키 값으로 하는 캐시에 저장해 두고,
     - 후에, 이 함수가 같은 매개변수로 호출되면, 
        . 같은 연산을 하는 대신에, 기존에 저장된 캐시의 값을 반환하게 함


2. 꼬리 재귀 (Tail Recursion)재귀 함수를 호출할 때, 스택 메모리를 재사용하면서 메모리를 과도하게 사용하지 않도록,
     최적화 하는 방법


3. Here Document (heredoc)

  ㅇ heredoc 용도
     - 여러 행의 문자열을 쉽게 정의/초기화/만들 수 있게 함
     - 프로그램에게 명령어 리스트를 스크립트 처럼 써서 입력시키는 등

  ㅇ heredoc 구성
     - 구조 : 통상, << 또는 <<< 에 이어서 임의 식별자로써 문장을 감싸게 함
     - 시작 식별자 : << 또는 <<< 바로 뒤에 붙임
     - 종료 식별자 : 문장이 끝난 다음 줄 1행에 종료 식별자를 두고,
                     때론, 바로뒤에 세미콜론(;)을 붙여, 개행시킴
     - 임의 식별자 명칭 : 주로, EOD,EOT,EOL,END 등을 사용


4. 부수 효과/부가 효과 (Side Effect)표현식,함수 등이 결과값을 반환하는(돌려주는) 고유의 동작이 아니고,
     - 외부의 상태를 변경하거나, 
        . 입력받거나, 출력하거나, 변수의 변경, 배열 항목의 변경, DB의 변경, 상태의 변화,
        . 함수로 들어온 인수를 직접 변경하는 등의 것

  ㅇ 즉, 함수 내의 실행으로 인해, 함수 외부가 영향을 받는 경우

  ㅇ 例) 
     - print() 함수 형태는, 반환값 없이 외부에 서식문자열에 따라 화면 출력 만 함
     - void main() 함수 형태는, 명시적인 return 문이 없어도 됨


[프로그래밍 기타일반] 1. 프로그래밍 기타 용어 2. 래퍼 함수 3. 핸들 4. 플러그인 5. 연산자 6. 코드 리펙토링 7. 널 문자

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