
초기 세팅
팀 프로젝트를 진행하며 적용할 계획 및 백로그, 팀 그라운드 룰을 작성했고 이제는 같은 분야 백엔드 캠퍼와 호흡을 맞춰야 했다.
우선은 TypeScript 언어를 사용하며 Nest.js 프레임워크를 사용할 계획이었기에 Prettier와 Eslint 설정을 맞췄다.
ex : Prettier 설정

함께 이야기를 나누며 어떤 규칙을 적용할 것인지 서로 편한 방식으로 합의하였다.
그리고 프로젝트 주제에 맞는 어떤 기술을 적용할 것인지에 대한 기술적 고민에 대해서 얘기했다.
기술적 고민 규칙
Ncloud 서버 구축
NCloud를 이용한 웹 어플리케이션 서버 및 데이터 베이스 서버를 구축해야 했다.
아래도 정리해 두었으나, 자세한 내용은 https://velog.io/@rmsgur/cloud-serviceserverless-application 를 참고하자
그 전에, 백엔드 인원들과, 안드로이드 인원들이 사용할 계정을 sub계정으로 각각 만들어 사용을 구분했다.
다음으로 , 백엔드 계정으로 NCloud의 어떤 서버를 이용할 것인지를 선택했다.

웹 어플리케이션 서버는 Ubuntu Public 서버로써, 공인 IP를 받아 사용할 계획이었으나, DB서버를 선택하는 것에 고민이 되었다.
Cloud DB for PostgreSQL과 같은 DB 기능지원을 하는 서버를 사용해보고 싶기도 하였으나, 비용적인 측면과 일반 VPC 서버를 DB서버로 만들어 관리해보는 것이 프로젝트를 운영하고 관리하는 경험에 도움이 더 될 것 같다는 판단을 했다.

VPC 서버를 이용하기로 했는데, Classic 서버로는 DB와 같은 서버를 private 서버로 만들기가 어렵기 때문이었다.
우리는 하나의 VPC를 생성하고, 내부에 Public, Private 서버로 분리하여 Public에는 WAS, Private에는 DB를 두어 VPC 내부의 Public에서만 Private서버와 통신이 가능하도록 구현하기로 했다.

VPC Management를 통해서 VPC를 생성했는데 CIDR 블록은 일반적인 10.0.0.0/16을 사용했다.
다음으로는 Subnet을 생성했다. Public, Private 각각의 subnet을 생성해주었다.
이후 ACG를 설정해 각 서브넷의 인바운드, 아웃바운드 허용 규칙을 정해주었다.
여기서 나중에 발견한 하나의 실수가 있었다.
바로 하나의 ACG를 두 서버에 모두 적용한 것이었는데, 이는 DB서버가 VPC 내 Private서버더라도 WAS 서버의 인바운드 규칙과 같은 규칙을 적용하는 것이 Private를 관리하는 측면에서 굳이 열어도 되지 않는 포트를 더 연다는 느낌이 들어 이를 각 서버의 ACG로 분리하였다.
Nest.js 시작
Ncloud 서버를 구축하고, Prettier와 Eslint 적용을 제외하고 본격적인 개발을 시작했다.
첫 Api endpoint 처리 함수 구현은 페어 프로그래밍으로 함께 개발하기로 했고 해당 부분은 '회원가입' 부분이었다.
우선 nest 에서 모듈 및 컨트롤러를 생성하고 컨트롤러에서 호출하는 서비스 함수를 작성했다.
이런 과정에서 Nest.js 서버가 DB와 통신을 해야했는데, 우리는 DB 서버를 VPC 내 private서버로 두어 로컬 개발환경에서 통신할 방법이 없었고 이를 로컬 환경 DB로 대체하기로 했다.
그러다 각 feature 개발이 완료되고 develop/be 브랜치 및 relesase 브랜치로 병합이 된다면 이를 public 서버로 옮겨 확인하기로 하였다.
기술적 도전
위에서 말한 것과 같이 이번 주 기술적 도전 사항들에 대해서 나열해보려 한다.
선택 이유
typeorm 과 prisma 중 왜 typeorm을 선택했는가?
선택 이유
선택 이유
선택 이유
정리 및 후기
이번 주는 개발 환경을 세팅하는 시간이 더 많았던 것 같다. 직접적인 api 구현은 회원가입 과 마이페이지, 로그인 이었는데 6주라는 시간에 모든 기능을 구현할 수 있도록 부지런히 움직여야겠다는 생각이 든다.
페어 프로그래밍을 통해서 늦어졌던 부분이 있지만, 이것이 결코 끝까지 가는 속도라고는 생각하지 않는다. 오히려 지금 많은 부분을 서로 맞춰놓았기에 더 빠르게 치고 나갈 수 있지 않을까 라는 생각이 든다.
부스트캠프 챌린지 때 잤던 시간과 비슷해지는 것 같은데, 그만큼 더 자기관리에도 신경을 써야겠다!