개요
CMI에서 백엔드 개발 스택을 정했다. 기존 node.js
+ express
+ mysql2
조합에서
NestJS
+ TypeORM(mongo로 migration 하기 전까지 사용)
+ mongoose(기존 mariadb migration)
으로 변경하기로 했다. 이유는 다음과 같다.
변경 이유 및 장점
- TypeScript를 주언어로 사용하기로 정했다.
- 프론트와 백엔드에서 dto 양식을 공동폴더에 설계하는 것이 유지보수에 효과적이다.
- ORM은 express+Typescript에서 사용하기 난해하다.
- 스타일이 Spring과 유사하다.
- 새로 들어오신 백엔드 개발자 대부분이 Spring MVC패턴에 익숙하다.
- express는 라우팅을 일일히 require로 선언하기 때문에 폴더구조를 바꾸면 유지보수가 힘들다.
- ES11 이상 문법을 사용할 수 있다.
- 특정 기능을 담당하는 모듈을 싱글톤으로 선언할 수 있다.
- express에서 ORM사용 시 모듈화 과정에서 여러번 커넥션을 만들 수 있는 실수를 방지해준다.(예전 코드...)
학습 계획
공식문서를 통해 공부하고 레포지터리에 목차별로 브랜치 생성후 squash and merge
Index
- Introduction
- Overview
- Fundamentals
- Techniques
- Security
- GraphQL
- Websocket
- Microservices
- Standalone Application
- CLI
- OpenAPI
- Recipes
- FAQ
- Migration Guide