Skip to content

기술 스택

AJM edited this page Nov 28, 2022 · 6 revisions

✳️ 공통

기슬 스택 선정 이유
node.js v16.18.1 LTS - node.js v18 이상 버전 사용하면 ncloud에 배포시 에러 발생
TypeScript
Jest
ESLint
Prettier
Docker
Github Action
Socket.io - 연결이 끊어지면 연결을 재시도하여 websocket에 비해 안정적인 기술이다.
- 분산 서버를 염두하여 redis-adapter를 활용하면 멀티 노드를 사용할 수 있게 한다.
Nginx - apache server에 비해 10k 문제를 더 효율적으로 해결합니다.
- 80, 443 같은 포트의 포트포워딩을 위해서 사용합니다.
- client, server간의 손 쉬운 통신 및 cors문제를 해결하기 위해 reverse proxy의 용도로 사용합니다.

💻 FE

기슬 스택 선정 이유
React
CRA + Craco
Emotion
Storybook
WebRTC

📀BE

기슬 스택 선정 이유
Nest.js - 구조가 어느 정도 잡혀 있어서 협업 간의 코드 스타일을 맞출 수 있습니다.
- 여러 boilerplate를 cli로 간단하게 생성할 수 있어서 개발 시간을 단축시켜 줍니다.
- 여러가지 middleware를 목적에 맞게(guard, filter, interceptor 등) 사용할 수 있도록 요청 생명주기(Request Lifecycle)를 프레임워크에서 지원을 해주기 때문에 조금 더 체계적인 구조의 디렉토리 구조를 만들 수 있습니다.
- 의존성 주입을 통해 DIP원칙을 지킬 수 있도록 nest container에서 DI를 지원을 해줍니다.
redis - in-memory DB로 사용합니다.
- 분산 서버 간의 메모리 공유를 위해 adapter로 사용합니다.
- DB 데이터 캐싱을 위해서 사용합니다.
MySQL - 유저 정보같은 데이터 무결성이 필요한 정보들을 저장하는 것에는 rdb가 적합하다고 생각했습니다.
- rdbms중에서는 가장 많이 사용해봤으며, 레퍼런스도 가장 많은 Mysql을 사용했습니다.
Clone this wiki locally