1. 메모이제이션 (Memoization)
ㅇ 재귀적 함수 호출에서, 중복 계산이 없도록, 한 번 계산된 값을 저장해서,
이를 이용하여 프로그램을 빠르게 수행하는 기법
- 즉, 그때그때의 계산결과를 저장하고, 다음 계산에 이를 사용함
ㅇ 주요 구현 방식
- 함수에서, 주어진 매개변수에 의해 연산을 할 때 마다,
. 그 결과 값을 주어진 매개변수를 키 값으로 하는 캐시에 저장해 두고,
- 후에, 이 함수가 같은 매개변수로 호출되면,
. 같은 연산을 하는 대신에, 기존에 저장된 캐시의 값을 반환하게 함
2. 꼬리 재귀 (Tail Recursion)
ㅇ 재귀 함수를 호출할 때, 스택 메모리를 재사용하면서 메모리를 과도하게 사용하지 않도록,
최적화 하는 방법
3. 코드 리펙토링 (Code Refactoring)
ㅇ 기존 코드와 동일한 임무를 수행하되, 좀 더 효율적이고 우아하게 작동되도록 고치는 것
4. 리액티브 프로그래밍 기법 (Reactive Programming)
ㅇ 데이터 흐름(data flow)과 변경 전파(propagation of change)에 촛점을 둔 프로그래밍 기법
5. 다큐먼트 (Document)
ㅇ 프로그램 (소프트웨어)를 만들면, 사용자를 위해, 반드시 필요한 문서 작업
ㅇ 例) 사용자 가이드, 튜토리얼, 레퍼런스 메뉴얼 등
6. 플러그인 (Plugin)
ㅇ 기본 어플리케이션의 공통 기능을 제외한,
필요시 마다 확장시킬 수 있는 라이브러리 형태를 말함
7. 디버깅 (Debugging)
ㅇ 프로그래밍에서 결함(Bug)(문법 오류나 논리 오류)를 찾아 바로잡아 가는 과정
ㅇ 통상, 예상되는 줄에, 중단점(break point)를 설정하여, IDE를 통해 추적 함
1.
2.
3.
4.
5.
6.
7.