Published on2026년 4월 11일명령형 vs 함수형, 이번엔 구구단이다 — fxjs2 · lodash/fp · Ramdajavascripttypescriptfunctional-programmingfxjs2lodashramdacomparison별 그리기에 이어, 이번에는 구구단을 명령형과 함수형 네 가지 스타일로 풀어본다. 중첩 반복이 필요한 문제에서 명령형의 이중 루프와 함수형의 중첩 파이프라인이 어떻게 다른지, 그리고 라이브러리마다 중첩 구조를 다루는 방식의 차이를 비교한다.
Published on2026년 4월 11일명령형 vs 함수형, 별 그리기로 비교해보자 — fxjs2 · lodash/fp · Ramdajavascripttypescriptfunctional-programmingfxjs2lodashramdacomparison같은 별 그리기 문제를 명령형, fxjs2, lodash/fp, Ramda 네 가지 스타일로 풀어본다. 명령형과 함수형의 근본적 차이, 그리고 FP 라이브러리마다 달라지는 pipe·map·range 사용법을 비교한다.
Published on2026년 2월 16일모나드(Monad)란 무엇인가? 🤔javascriptfunctional-programmingmonadfunctorapplicativecategory-theory모나드는 함수형 프로그래밍에서 효과를 포함한 계산을 합성하기 위한 규약이다. 위키피디아 정의를 바탕으로 Functor→Applicative→Monad 계층과 모나드 법칙을 정리하고, JavaScript에서 Array/Promise/Maybe/Either로 어떤 의미를 가지는지 이론적으로 설명한다.
Published on2026년 2월 15일go, pipe, reduce에서 비동기 제어 — Promise를 값으로 다루는 함수 합성javascriptfunctional-programmingpromiseasyncreducegopipego, pipe는 reduce로 구현되어 있다. reduce 하나만 고치면 비동기 상황에서도 함수 합성이 안전하게 동작한다. 유명 함수와 재귀로 동기 구간의 성능을 지키면서, Promise.reject까지 안전하게 처리하는 방법을 알아보자.
Published on2026년 2월 15일비동기를 값으로 만드는 Promise — 모나드와 Kleisli Compositionjavascriptfunctional-programmingpromiseasynckleisli-compositionmonadcallback은 결과를 값으로 돌려주지 못한다. Promise는 비동기를 일급 값으로 만들어 합성을 가능하게 한다. 모나드 관점에서 Promise의 안전한 합성을 이해하고, Kleisli Composition으로 외부 상태 변화까지 다뤄보자.