fp-ts4 [ts, fp] @fp-ts/schema를 사용한 안전한 데이터 유효성 검사, 변환 선행으로 Either과 Option에 대한 이해가 필요합니다. fp-ts가 3버전으로 개발하면서 기존의 io-ts를 fp-ts/schema가 대체하게 된다. 아직 레포가 생성된지 오래되지 않아 부족한 것이 있겠지만, 기존의 io-ts보다 훨신 진일보한 모습에 반해 파고들게 되었다. zod에 대비해 뚜렷한 강점도 보이고 fp-ts를 기존에 사용하던 유저라면 같이 쓰기에 훨신 강력할 수 있을 것 같다. 사용하기에 앞서 먼저 사전 지식에 대해 설명하겠다. 0. AST AST 유형은 ADT(대수 데이터 유형), 즉 구조체 및 튜플과 같은 공용체에 대한 명세서이다. Schema에서의 AST는 더 대략적이고 작은 부분을 다룬다. 밑에 설명할 Schema는 AST의 wrapper라고 이해하면 쉽다. 1. Schema.. 2023. 2. 6. 2022년 개발 회고 2022년을 돌아보면 아쉽기도 하고, 그래도 나름의 성과도 있음에 약간의 만족을 하기도 하다. 2022년을 시작하며 내가 세 가지 길에 대한 고민을 했었다. 1. 타입스크립트를 깊게 파보고 nextjs를 해보고 프론트엔드 관련 공부를 계속할 것인가. 2. 러스트를 통한 웹 어셈블리, 차세대 웹 프레임워크를 배울 것인가. 3. 하스켈을 배우고 하스켈 프로그래머가 되고 싶다. 연말쯤 되서야 어느 정도 방향성을 정했다. 러스트를 이용한 프론트엔드 개발은 아직 좀 멀었다. (최근 주목받는, 내가 사용해보고 싶은 leptos는 아직 0.1 alpha이다.) 그러니 기존의 프론트엔드 개발을 하며 서서히 Rust 기반으로 넘어갈 것이며, 하스켈은 공부 목적으로 계속 공부를 하면서 서브 언어로 쓸 것이다. Rust는 .. 2023. 1. 2. ts) N차 함수 N번째 항에서 함수합성하기 두 개의 함수가 있다고 해보자. f: A -> B -> C g: C -> D 이 두 함수를 합성한다면 f∘g: A -> B -> D 처럼 된다. 문제는 이것을 typescript에서 어떻게 합성하냐인데.. 흔히 함수 합성에 자주 사용되는 pipe, flow를 사용하면 다음과 같이 해야한다. (pipe나 flow는 특정 함수의 이름이 아닌, 프로그래밍 언어 공통적으로 통용되는 기능의 용어이다. 그러므로 lodash, ramda, fp-ts 등의 많은 유틸리티 라이브러리에서 제공된다.) const f = (a: number) => (b: string) => new Array(a).fill(b) const g = (arr: string[]) => arr.map(str => ({data: str})) // co.. 2022. 5. 25. fp-ts를 통해 함수형 프로그래밍 용어 정리 https://github.com/rjcnd105/my-new-playgound/blob/main/apps/playground/fpts/guide.md GitHub - rjcnd105/my-new-playgound Contribute to rjcnd105/my-new-playgound development by creating an account on GitHub. github.com 제가 초반에 함수형 프로그래밍, 그리고 fp-ts 공부하면서 용어땜시 많은 어려움이 있었으니 정리할겸 다른 분들께 도움이 되라고 작성합니다. 계속 업데이트 중 임돠.. 허졉하지만 수학 관점에서 참고하실라면 https://hj1.notion.site/01f55ada5f6548b3a071275a984e03a7 이것도 보면 쪼금.. 2022. 5. 8. 이전 1 다음