본문 바로가기

functional-programming3

[FP] 아무도 모르는 side effect는 괜찮을까? 목차1. 보이지 않는 Side Effect, 정말 괜찮을까?2. Referential Transparency와 순수 함수3. 숨겨진 Side Effect의 위험성4. 성능 최적화를 위한 Side Effect5. Side Effect를 안전하게 관리하는 방법6. 결론💡 Functional-Light JavaScript Chapter 5: Reducing Side Effects의 일부분을 참고했습니다. 1. 보이지 않는 Side Effect, 정말 괜찮을까?If a tree falls in the forest, but no one is around to hear it, does it still make a sound? 좀 철학적인 질문인데, 한 번 생각해볼만 한 질문인 것 같다. 그리고 이걸 프로그래밍의 .. 2025. 2. 26.
[FP] Type Safe Pipe 함수 만들기 목차1. Pipe 함수 소개2. pipe(arg, f1, f2) vs pipe(f1, f2)(arg)3. Typescript 적용4. 마치면서 1. Pipe 함수 소개지난 curry 함수에 이어 이번엔 pipe 함수를 만들어보려고 한다. Pipe 함수는 여러 개의 함수를 왼쪽에서 오른쪽으로 순차적으로 실행하는 함수이다. 데이터 변환의 흐름이 명확하게 표현되어 코드의 동작 흐름을 더 직관적으로 볼 수 있고, 선언적 프로그래밍 스타일을 더 쉽게 적용할 수 있다. 다음 코드를 보자. const add = x => x + 1;const multiply = x => x * 2;const subtract = x => x - 3;const result = subtract(multiply(add(5)));console.. 2025. 2. 19.
[FP] Type Safe Curry함수 만들기 0. 들어가며: 함수형 프로그래밍과 Curry요즘 함수형 프로그래밍(FP)을 공부하면서 "Currying"이라는 개념을 마주하게 되었다. 처음에는 단순히 복잡한 함수를 더 단순한 함수로 분해하는 기법으로만 보였는데, 깊이 들여다보니 Currying이 FP의 철학을 가장 잘 표현하는 기법 중 하나라는 생각이 들었다.  📌 FP의 핵심 철학FP는 다음과 같은 핵심 원칙들을 강조한다. - 함수를 일급 객체(First-Class Citizen)로 취급- 불변성(Immutability)- 순수 함수(Pure Function)- 선언형 프로그래밍(Declarative Programming)- 함수 합성(Composition), 모듈화(Modularity)- 높은 수준의 추상화(Abstraction) 이 원칙들은 .. 2025. 2. 1.