📚요약
지난 시간에 이어 프로젝트를 살펴보겠습니다.
📖웹 기반 문서 편집기 제작 프로젝트
📄응용 구조의 설계
📑구성요소
- FE
- React를 사용한 UI 서비스
- API 호출의 경우 브라우저의 js 실행 → BE의 url을 가지고 있어야 한다.
- BE
- Express를 사용해 데이터베이스를 이용한 데이터 모델 서비스
- JWT를 이용한 사용자 인증을 통해 데이터 접근 보호
- CORS 정책을 통해 악의적인 접근을 방지 → FE의 url을 가지고 있어야 한다.
- Database
- prgms_notes라는 이름의 데이터 베이스에 두 개의 테이블
📄개발 환경과 배포 환경
📑개발 환경
개발 환경 Mariadb를 사용해 데이터 베이스를 구축하고, FE, BE와 함께 로컬 클러스터 내부에 구축합니다. 접근의 경우 웹 브라우저를 통해 바로 접근할 수 있도록 합니다.
개발 환경은 배포 환경과 다르게 변화를 빠르게 확인할 수 있어야 하기 때문에 배포 환경보다 간단하게 설정합니다.
📑배포 환경
배포 환경은 개발 환경과 달리 AWS EC2 내부에 Nginx의 Reverse Proxy를 통해 접근을 통제하고 Mariadb를 사용해 데이터 베이스를 구축합니다. FE와 BE는 k8s의 Minikube 클러스터 내부에 구축합니다.
📑데이터 베이스
추가적으로 데이터 베이스의 경우 실제 프로덕션 환경에서 사용되는 데이터 베이스와 다른 것을 사용하는 것이 매우 중요합니다. 왜인지 많이들 아실 수 있지만 데이터는 너무나도 중요한 요소 중 하나이기 때문에 프로덕션과 개발 환경에서 같은 데이터 베이스를 사용하다가 데이터가 사라지거나 없던 데이터가 추가되는 등 큰 문제가 발생할 수 있기 때문입니다.
📄개발 계획 수립
목표를 확인할 수 있고 해당 목표를 언제까지 완성할지, 어떻게 해서 완성할지에 대한 길잡이 역할을 해주기 때문에 계획은 언제나 중요합니다. 프로젝트를 계획할 때 고려해야 할 부분은 역할, 개발 방법, 팀 내 인터페이스, 대응책 등 다양한 상황과 환경을 고려해야 합니다.
📑개발을 위해서 계획해야 할 부분
- 활용 기술, 최종 서비스 실행 환경
- 개발 프로세스 모델
- 코딩 스타일 규약(코드 컨벤션)
- 코드 리뷰 계획, 통합 주기와 방법
- 개발 환경과 통합/테스트 도구, 릴리스 정책과 방법
- 서비스 운영 계획, 유지보수 정책과 범
📑테스트 계획
- 단위 테스트(UT)
- 통합 테스트(IT)
- 인수 테스트(AT)
- 스모크 테스트(ST)
📑개발 외 일들
- 배포 및 운영 구조 설계 및 구현
- 빌드 및 통합 환경에 필요한 요소의 개발
- 코드 품질 확보
- 서비스 운영 모니터링 계
📑문서화
개발자들이 개발만 한다고 생각하는데 문서를 작성하는 것 또한 개발만큼 중요한 일입니다. 문서를 남겨두면 본인의 일을 일일이 설명할 필요 없이 문서를 공유하는 것으로 설명하는 시간을 줄일 수 있고, 시간이 지나서 다시 코드를 살펴볼 때 남겨두었던 문서를 통해 빠른 이해가 가능하기 때문입니다. 또한 협업을 하는 입장에서 문서는 본인이 어디서부터 어디까지 어떻게 했는지를 알려주는 도구가 될 수 있습니다.
다음 시간에 계속...
출처 & 참고
강사님의 강의
'개발 > 프로그래머스 데브코스' 카테고리의 다른 글
| 프로그래머스 데브코스 96일차 with. TS 웹 풀스택 (0) | 2024.08.19 |
|---|---|
| 프로그래머스 데브코스 19주차 회고 with. TS 웹 풀스택 (0) | 2024.08.16 |
| 프로그래머스 데브코스 93일차 with. TS 웹 풀스택 (0) | 2024.08.14 |
| 프로그래머스 데브코스 92일차 with. TS 웹 풀스택 (0) | 2024.08.13 |
| 프로그래머스 데브코스 91일차 with. TS 웹 풀스택 (0) | 2024.08.12 |