일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 정렬
- mongoose
- nestjs
- MongoDB
- 자료구조
- GIT
- jest
- typeORM
- Bull
- class
- TypeScript
- flask
- Nest.js
- MySQL
- Dinosaur
- 게임
- react
- JavaScript
- Sequelize
- dfs
- nodejs
- Python
- Queue
- Express
- OCR
- AWS
- cookie
- game
- 공룡게임
- Today
- Total
포시코딩
3월 2주차 - 스파르타 내일배움캠프 17주차 본문
이번 주 알게 된 점
event-emitter
이번주에는 아프기도 했고 지금까지 배웠던 걸 발산하는 시간이라
크게 새롭게 배운건 없다.
다만 진짜 새롭게 배운게 딱 하나 event-emitter인데
서버 내부에서 socket 사용하듯 메서드끼리의 통신이 가능한 기능이었다.
생각보다 유용하게 쓰이는 부분이 있는 것 같은데
일단 나는 Bull Queue 대기열에 추가하고
해당 대기열에서 빠져나와 작업을 처리할 job을 기다리는 용도로 사용했다.
이것도 팀원이 추천해준 기능이고 기초 응용 방법을 내 코드에 적용해 보여주었는데
아직도 배울게 많다는 걸 느낀다.
이번 주 목표 달성
Nest.js 동시성 문제 해결
드디어 오랫동안 잡고 있던 동시성 문제를 해결할 수 있었다.
Bull Queue를 통해 대기열을 만들어 동시에 들어오는 요청들을 제어할 수 있었고
event-emitter를 통해 대기열에 넣고 기다리는 클라이언트의 요청에 대해 응답을 리턴해 줄 수 있었다.
이 과정을 rabbitMQ? 를 통해 해결할 수도 있다고도 하고
실제로 참고한 당근마켓에서는 모임 참여에 대해 어떤 로직이 들어가는지 정말 궁금해졌다.
위 방법을 통해 해결을 했지만 오히려 더 개선할 수 있다는 생각이 끊이질 않았는데
일단은 이번 프로젝트에서는 더 해결해야할 부분이 많기 때문에 여기까지 하고 나중에 개인적으로 알아봐야겠다.
프로젝트 1차 배포
Front-End
프로젝트를 외부에서 접속 가능하게 배포를 미리미리 진행해보자는 의견이 있어
진행하게 되었다.
일단 React로 이루어진 프론트엔드 서버는 vercel을 이용하기로 했고
사용 결과 매우 쉽게 배포할 수 있었는데
그냥 내 개인 repo의 브랜치를 업로드하면 알아서 {이름}.vercel.app 도메인으로 접속 가능한
정적 사이트를 만들어주었다.
우리 팀의 organization으로 만들어진 repo로 배포되게 적용하고 싶었지만 그건 유료라 일단 패스..
나중에 S3에 세팅하는 방법을 알아보자는 팀원의 말이 있어 그쪽으로 시간되면 알아볼 계획
Back-End
백엔드는 일단 EC2에서 git clone을 하고 npm run start를 통해 서버 실행을 해놓은 상태이다.
빌드 후 빌드 파일을 실행하는 방법이 나중에 CI/CD를 고려해 더 나아 보이는데
당장은 방법을 몰라 알아보는중..
그와 별개로 프론트와 백 둘 다 상용 서버로 만든 후 쿠키에서 말썽이 있었는데
프론트 서버의 도메인을 백 서버의 도메인과 같에 (root 도메인이 같게) 만든 후
쿠키를 저장할 때 document.cookie에서 domain 세팅 옵션을 추가함으로 해결을 했다.
글로 설명하니 단 두줄로 요약이 되었는데 참 오래 걸리고 복잡한 문제였다. 흑흑..
당장은 누구에게 보여주기 위한 세팅은 끝났고
이제 내부적으로 우리가 사용하기 쉽게 배포 환경을 구성해야 한다.
이 과정도 만만치 않아 보이지만 그래도 믿음직스러운 팀원들이 있기에 힘내서 해낼 생각이다. ㅍㅇㅌ
다음 주 목표
- 중간 발표 준비
'WIL' 카테고리의 다른 글
3월 4주차 - 스파르타 내일배움캠프 19주차 (0) | 2023.03.27 |
---|---|
3월 3주차 - 스파르타 내일배움캠프 18주차 (0) | 2023.03.20 |
3월 1주차 - 스파르타 내일배움캠프 16주차 (0) | 2023.03.06 |
2월 3주차 - 스파르타 내일배움캠프 14주차 (0) | 2023.02.20 |
2월 2주차 - 스파르타 내일배움캠프 13주차 (0) | 2023.02.12 |