
프로젝트를 진행하면서 직면한 문제를 어떤 과정으로 해결 하셨는지, 스택별로 기록 해 주세요
기술적 의사결정을 기본으로, 트러블슈팅도 있다면 기록해둡시다.
| 도입 이유 | 웹 스크래핑 소요 시간 단축을 위해 (Puppeteer는 1분 30초 걸리던걸 Axios는 3초만에 끝냄) |
|---|---|
| 문제 상황 | Axios만으로는 긁어오지 못하는 CSR환경이 나타남 |
| 해결 방안 | Puppeteer와 Axios를 같이 쓰면 모두가 행복해짐 |
| 의견 조율 | Axios를 써서 긁어올 수 있는 SSR 환경은 Axios를쓰고 CSR 환경은 퍼펫티어를 쓰기로 조율함 |
| 의견 결정 | Axios와 Puppeteer를 혼용하기로 결정 |
| 도입 이유 | 개발 및 배포 프로세스를 자동화하고 효율화하기 위해서 도입 |
|---|---|
| 문제 상황 | 개발환경과 CI/CD환경 간의 설정 및 의존성이 일치하지 않은 경우, 보안관련 CD파이프라인에서 배포단계가 실패할 수 있음(보안취약점) |
| 해결 방안 | 정확한 빌드를 설정하고, 배포환경 안에서 설정해야 하는 값들을 잘 설정하기 |
| 의견 조율 | 첫 목표의 맞게 개발환경과 실제 배포환경을 조율해서 금액적인 부분을 조율하고, 1차 테스트이후에 성능최적화에 몰두하기로함 |
| 의견 결정 | 많은 tool이 있지만 쉽게 접할 수 있는 Gitaction을 활용했고, 추후에 docker를 활용해서 고도화시킬 예정 |
| 도입 이유 | 스크래핑된 데이터를 저장하고, 검색에 특화된 DBMS로 활용 가능 |
|---|---|
| 문제 상황 | 신발 데이터가 17000개 및 스크래핑 되는 데이터가 누적됨에 따라 빠르게 검색하기 위함 |
| 해결 방안 | Elasticsearch 인덱스를 활용해 접근하면 빠르게 가져올 수 있음 |
| 의견 조율 | 처리할 수 있는 데이터양을늘리면 비용이 비싸짐 elasticsearch 환경 오류가 계속되어 AWS Elasticsearch 활용하기로 함 |
| 의견 결정 | 관리 및 운영 부담이 적은 AWS Elasticsearch 활용해보기로 결정 |
| 도입 이유 | 정형화된 데이터를 저장하기 위함 |
|---|---|
| 문제 상황 | 스크래핑 된 데이터를 그대로 보여주면 서버 끄면 없어지는 상황 |
| 해결 방안 | 스크래핑 된 데이터를 저장하고 클라이언트에게 보여주기 위해 도입 |
| 의견 조율 | 각 docker 로컬로 사용하고 발표에 rds로 취합 |
| 의견 결정 | NoSQL보다 우리 프로젝트에 더 적합하므로 선택함 |
| 도입 이유 | MySQL같은 툴을 하나씩 다운받지 않고 이미지로 가상환경에 띄워 사용하기 위함 |
|---|---|
| 문제 상황 | 안쓰면 다 하나씩 다운받고 개인 작업 공간에 영향을 끼침 |
| 해결 방안 | Docker 컨테이너 및 이미지로 관리함 |
| 의견 조율 | 각 로컬 환경에 Docker설치 |
| 의견 결정 | 개발의 편의성을 위해 도입함 |
ㅤ
1) 미구현 된 MVP 기능
2) 추가/개선 할 기능과 그 이유
3) 추가/개선할 기능을 어떻게 구현 할 것인지
| 순위 | 구분 | 앞으로의 계획 (구체적으로) | 마감예정일자 |
|---|---|---|---|
| 1 | MVP | - Elastic Search 적용 완료 시키기 ( 인덱스로 검색할 수 있게 ) | |
| 2 | MVP | - Docker 배포 | |
| 3 | 개선 | -프론트는 마지막에 시간 남으면 하겠습니다. | |
| 4 | 추가 | - 대용량 트래픽 처리 및 부하 테스트 | |
| 5 | 추가 | - 실시간 채팅에 활용 할 라이브러리 학습 및 적용하기 |