Computer Science

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은 값..
0.개요OpenAPI라는 용어를 가끔한번씩 듣게 되는데 이 기회에 OpenAPI가 뭔지 정확하게 알기 위해 찾게 되었다.      1.OpenAPIOpenAPI는 API의 사양(Specification)을 정의하는 표준을 의미한다.RESTful API를 설계하고 문서화할 때 사용되며, API가 어떻게 동작하는지, 어떤 요청을 받을 수 있는지, 어떤 응답을 반환하는지를 명확하게 설명하는 역할을한다.즉 OpenAPI는 API를 문서화 하기위해 사용하는것이다.Swagger UI, Redoc같은 API 문서화 도구를 만들때 해당 Open API 표준을 이용하여 만든다.    2.OpenAPI 형태OpenAPI는 YAML 또는 JSON 형식으로 작성되고 Swagger UI, Redoc같은 문서화 도구는 해당 파일..
1.트레이드오프(Trade-off)두 가지 이상의 상충되는 요구사항이나 목표 사이에서 어떤 선택을 해야 할지 결정하는 과정을 의미하는 단어입니다.소프트웨어 개발과정뿐 아니라 일상에서 들을수있는 과정입니다.성능 vs. 가독성 속도 vs. 안정성메모리 사용 vs. 처리 속도개발 속도 vs. 품질와같은 요소들로 트레이드오프를 고려해야합니다. 모든 목표를 동시에 최적화하는 것은 어려운일이기에 개발자는 우선순위를 정해서 이런 요소들을 해결해야합니다.    https://ko.wikipedia.org/wiki/%ED%8A%B8%EB%A0%88%EC%9D%B4%EB%93%9C%EC%98%A4%ED%94%84 트레이드오프 - 위키백과, 우리 모두의 백과사전위키백과, 우리 모두의 백과사전. 트레이드오프(trade-off..
아사_
'Computer Science' 카테고리의 글 목록 (4 Page)