제스트에서 타입스크립트 테스트 하기(with babel)

타입스크립트 테스트하기 준비 $ yarn add --dev jest $ yarn add --dev babel-jest @babel/core @babel/preset-env @babel/preset-typescript @types/jest 타입스크립트를 jest로 테스트 할때 TypeScript를 사용하기 위해서는 ES6+ 하위 호환 및 ts -> js 변환을 위한 babel이란 녀석이 꼭 필요하다고 합니다. 과정 TypeScript를 사용하는 프로젝트인데 jest를 사용하고 싶었다. import부터 제대로 되지 않는다… 프론트에서도 테스트를 사용해 내가 원하는 기능은 먼저 테스트해 보고, 화면을 그리는 UI나에게는 매우 어려운 작업은 눈으로 테스트해 보려고 했습니다. 그런데 처음부터 만나게 된 import를 할 수 없다는 오류 메시지.

Read More

Deprecated Implicit Conversion

스칼라의 Implicit 마법과 작별 준비 스칼라에서 implicit, implicitly가 저 같은 입문자를 괴롭힌다는 소식을 접했지만 이내 Scala 3에서는 사용하지 않아도 충분한 대안이 마련되었다고 합니다. 대안은 다음 글에 작성하도록 하겠습니다(아직은 몰라요). 그럼 implicit이 사라지기 전에 가볍게 한 번 보고 지나가겠습니다. 예제 스칼라를 더 나은 자바로 사용하기 위해서 아래와 같은 코드를 사용했습니다. 이 예제 하나를 위해서는 그럭저럭 작성할 만한 코드같습니다. 먼저 아래 코드를 보시죠. 입장 case class Point(x: Int, y: Int) @tailrec def sumP(xs: List[Point], acc: Point = Point(0, 0)): Point = xs match { case h :: t => sumP(t, Point(acc.

Read More

스칼라로 본 Functional Programming(FP) - 2

스칼라로 본 Functional Programming(FP) - 2 Cats와 함께하는 FP (Cats 문서 내용을 토대로 내용을 전개합니다.) Type classes 이전 글에서 Monoid를 이런게 있구나 하고 훑어보았습니다. 이번에는 Functor를 훑어보겠습니다. Functor Functor is a type class that abstracts over type constructors that can be map‘ed over. Examples of such type constructors are List, Option, and Future. 펑터는 map이 가능한 타입 생성자를 추상화하는 type class 입니다. Monoid에서도 봤듯 type class란 어떤 행위를 할 수 있는지 미리 정해놓은 모음(일단은…)이라고 봐도 좋습니다.

Read More