본문 바로가기
반응형

typescript4

2. NestJS & TypeORM 환경에서 Monorepo 구성하기 - TypeORM 추가하기 지난 시간 에 이어, Monorepo로 구성된 프로젝트에 TypeORM을 추가해보겠습니다. 1. 환경 설정 저 같은 경우 PostgreSQL을 사용할 예정이라 pg 를 기반으로 진행하겠습니다. 필요한 패키지들을 먼저 추가합니다. yarn add @nestjs/typeorm typeorm pg typeorm-naming-strategies class-transformer typeorm-naming-strategies TypeORM에서 Camelcase 필드를 Snake 컬럼에 매핑하기 를 위해 사용됩니다. class-transformer Entity Json을 Dto Instance으로 편하게 변환하기 위해 사용합니다. 그리고 TypeORM과 연동되어 로컬에서 실행할 PostgreSQL DB를 위해 doc.. 2021. 9. 3.
IntelliJ & Webstorm import시 double quotes 대신에 single quotes 기본값으로 사용하기 IntelliJ나 Webstorm을 통해 JS / TS를 개발하다보면 import 구문에서 " 로 인해 불편할때가 많은데요. 이를테면 팀 컨벤션으로 import를 Single Quotes 로 해놓은 경우에는 자동 import 를 통해 "로 import 되면 매번 수동으로 Single Quotes 로 바꿔야만 합니다. 1. Auto Import 하는법 먼저 Jetbrains IDE의 Auto Import 는 다음과 같이 사용할 수 있는데요. 아래와 같이 Import되지 않는 클래스나 function에 포커스를 두고, 단축키를 통해 import를 수행합니다. option + Enter: 제안 목록 보기 option + shift + Enter: 전체 full import 여기서 단일 import인 optio.. 2021. 8. 6.
Lerna와 yarn-workspace를 활용한 Mono Repo (Typescript & Jest) 환경 구성하기 보통 하나의 도메인 시스템을 운영할때 프로젝트 하나만으로는 해결이 안될 때가 많습니다. 이를테면 다음과 같은 경우인데요. 어떤 분은 이걸 보고 MSA 라고 하시기도 하는데요. API / Admin / Batch 가 분리된걸로 절대로 MSA 라고 하진 않습니다. 하나의 주문시스템을 위해 3개의 하위 프로젝트가 있는 상태입니다. 주문 어드민 주문 API 주문 배치 이 3개는 주문시스템을 이루는 프로젝트들입니다. 배포되는 서버도 다르고 다른 코드 베이스를 가지고 있는데요. 하지만 이들이 공통적으로 필요로 하는 Order Entity는 어떻게 관리해야할까요? npm 저장소에 올려서 사용하기에는 실시간성이 떨어집니다 모든 하위 프로젝트들이 동일한 파일을 복사해서 관리하는건 유지보수가 굉장히 힘듭니다. 그래서 이런.. 2021. 7. 13.
[Typescript] 1. TypeORM에서 페이징 API 만들기 - 기본페이징 기능 웹 서비스를 구현하는 과정에서 페이징 API는 가장 기본적인 기능인데요. Java 기반의 페이징 구현 코드는 많은데, Typescript 와 TypeORM 의 구현 코드가 많지 않아 작성하게 되었습니다. 현재 Typescript 와 TypeORM 스펙으로 웹 서비스를 구현하신다면 한번쯤 참고해보셔도 좋을것 같습니다. 전체 코드는 Github에 있습니다. 여기서는 기본적인 페이징에 대해서만 소개 드리는데요. 고성능의 페이징 API가 필요하다면 이전의 포스팅들을 참고해주세요. 1. NoOffset 사용하기 2. 커버링 인덱스 사용하기 3-1. 페이지 건수 고정하기 3-2. 첫 페이지 조회 결과 cache 하기 1. 프로젝트 구조 사용된 대표적인 패키지는 다음과 같습니다. Typescript TypeDI DI.. 2021. 6. 10.

728x90