본문 바로가기

TypeScript2

지스토리 프로젝트 회고록 2 : 정의되지 않음과 없음에 관해 지스토리는 리액트로 만들어졌습니다. 당연히 JavaScript를 많이 쓸 수 밖에 없습니다. TypeScript로 마이그레이션 하기는 했지만 TS도 결국 JS로 돌아가기 때문에, JS의 문제점도 어느정도 가지고 가야 합니다. 특히 지스토리처럼 나중에 TS로 마이그레이션 한 경우는 다 엎을 수 없으니 이런 문제가 더 많습니다. 오늘은 그 문제 중 가장 대표적인 undefined와 null에 대해 논하겠습니다. undefined와 null이란? 우리는 산술적으로 없음을 표기할 때 0이라는 값을 사용합니다. 그렇지만 이 것말고도 또 다른 값이 존재할 수도 있습니다. 예를 들어, 변수를 선언하고 값을 정의하지 않았다면, 이 변수의 값은 무엇이 되어야 할까요? 만약 변수를 사용하고, 그 값이 유효하지 않아서 변수.. 2022. 2. 23.
뉴스레터 리팩토링 2. 타입스크립트 적용 저장소 # 저번의 첫 번째 뉴스레터 개선에 이어서 이번에 두번째 개선을 진행하였습니다. 가장 큰 변화는 Typescript 도입, Yarn PnP 도입, 커스텀 에러 정리를 진행하였습니다. 1. Yarn PnP 적용 및 패키지 업데이트, Workflow 수정 첫번째 리팩토링에서 밝혔듯이, 이 프로젝트는 npm을 사용해서 진행하고 있었습니다. 그렇지만 npm 대신에 다시 Yarn을 사용하게 되었습니다. Yarn이 2.x 이상 버전으로 올라오면서(code명 berry) Plug'nPlay라는 기능이 추가되었습니다. # node_modules라는 폴더를 만들어서 사용하던 기존 방식은 굉장히 비효율적인 관리 방식입니다. 의존성을 정리하는 과정에서 package.json에 없는 패키지임에도 사용할 수 있게 되는 .. 2021. 11. 21.