프로그래밍 기타 용어

(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. 코드 리펙토링
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
          2. 프로그래밍 기법
      1.   프로그래밍 언어론
      2.   구조적 프로그래밍
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
      9.   프로그래밍 기타일반
        1.   1. 프로그래밍 기타 용어
            2. 래퍼 함수
            3. 핸들
            4. 플러그인
            5. 연산자
            6. 코드 리펙토링
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

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