1.엔드투엔드(end-to-end) 테스트시스템의 시작부터 끝까지 모든 단계를 포함하여 전체 프로세스를 처리하거나 테스트하는 접근 방식을 의미한다.(시스템의 전반적인 워크플로와 통합을 고려하여 설계하고 테스트하는 것)소프트웨어의 각 구성 요소(프론트엔드, 백엔드, 데이터베이스 등)가 함께 동작할 때 발생할 수 있는 문제를 사전에 발견하고, 전체 시스템의 동작이 사용자 관점에서 일관되도록 보장하기 위한 중요한 접근 방식이다.
Computer Science
1.가비지 컬렉터(Garbage Collector)프로그래밍 언어에서 메모리 관리를 자동으로 처리하는 시스템Java와 같은 언어에서 내장되어 있으며, 메모리 누수나 오류를 방지하는 중요한 역할을한다. 2.메모리 누수(Memory Leak)로그램에서 사용한 메모리가 더 이상 필요하지 않음에도 불구하고 해제되지 않아, 시스템의 메모리가 점차 고갈되는 현상장기적으로 시스템 성능 저하 및 프로그램 크래시를 초래할 수 있다.
1.콜 스택(Call Stack)프로그램 실행 중 함수 호출을 관리하는 데이터 구조함수 호출 시마다 해당 함수가 콜 스택에 쌓이고, 함수 실행이 완료되면 스택에서 제거된다. public class CallStackExample { public static void main(String[] args) { functionA(); // main에서 functionA 호출 } public static void functionA() { functionB(); // functionA에서 functionB 호출 } public static void functionB() { // 현재 스레드의 콜 스택 출력 StackTraceElement..
1.커링 (Currying)함수형 프로그래밍에서 중요한 개념 중 하나로, 다중 인자를 받는 함수를 단일 인자를 받는 함수들의 연속으로 변환하는 기법이다.// 5개의 인자를 받는 커링 함수function add(x) { return function(y) { return function(z) { return function(a) { return function(b) { return x + y + z + a + b; }; }; }; };}// 커링된 함수 사용 예시const result = add(1)(2)(3)(4)(5); // 1 + 2 + 3 + 4 + 5console.log(result); // 15 1-1.부분 적용(Par..
1.콜백 함수 (Callback Function)다른 함수의 인자로 전달되어 실행되는 함수를 하는 말이다.일반적으로 비동기 작업이나 이벤트 처리에서 사용되고 나중에 호출될 함수로서, 다른 함수의 실행 흐름에 끼어들어 특정 작업을 마친 후 실행된다.// processData를 callback 함수로 받음function fetchData(callback) { setTimeout(() => { const data = "Hello, World!"; callback(data); // 비동기 작업이 끝난 후 콜백 함수 호출 }, 1000);}function processData(data) { console.log("Data received: " + data);}fetchData(processDat..
1.함수형 프로그래밍 (Functional Programming, FP)상태 변화나 변수 변경을 피하고, 순수 함수(pure function)를 중심으로 한 프로그래밍 방식이며 데이터와 그 데이터를 변환하는 함수가 핵심이다.순수 함수, 불변성, 고차 함수 등 여러 핵심 개념을 통해 데이터를 안전하고 효과적으로 처리할 수 있는 방법을 제공한다. 1-1.순수 함수 (Pure Function)입력만을 기반으로 출력을 생성하고, 함수 외부의 상태나 데이터에 영향을 미치지 않는다.같은 입력에 대해 항상 같은 출력을 보장한다.// 순수 함수public int add(int a, int b) { return a + b; // 항상 같은 입력에 대해 같은 결과} 1-2.불변성 (Immutability..
1.Monad?함수형 프로그래밍에서 중요한 개념으로 특정한 형식의 연산을 순차적으로 처리할 수 있도록 해주는 추상화다.값을 컨텍스트 안에서 감싸고, 이를 안전하게 연산하며, 연속적으로 처리할 수 있게 하는 도구라고 볼수있다.(Functor의 확장된 개념으로, 값의 변환뿐 아니라 연산의 체이닝을 가능하게한다.Functor처럼 map 연산을 제공할 뿐만 아니라, flatMap을 통해 중첩된 구조를 평평하게 만든다.) import java.util.Optional;public class MonadOptionalExample { public static void main(String[] args) { // Monad 생성 Optional maybeValue = Optional.o..
1.Functor함수형 프로그래밍에서 값을 감싸는 컨테이너이며, 이 컨테이너 내부의 값을 함수를 사용해 변환할 수 있도록 하는 개념(리스트(List), 옵셔널(Optional), 스트림(Stream)등 이있다.)이 컨테이너 내부에 있는 값은 map 메서드를 통해 변환할 수있다. 2.Functor 특징Functor는 내부 값에 함수를 적용하고, 결과를 새로운 Functor로 반환한다.Functor의 내부 값은 변환되지만, 컨테이너의 구조는 그대로 유지된다.동일성 법칙 (Identity Law): F.map(x -> x)는 F와 동일해야함합성 법칙 (Composition Law): F.map(f).map(g)는 F.map(x -> g(f(x)))와 동일해야함 3.Java 예시Optional은 값..