항해14기 본과정/항해14기 개발일지

[항해 14기] 개발일지 51 (실전프로젝트 - Swagger, 멘토링)

스쿼트잘함 2023. 6. 3. 14:29

실전프로젝트 - 3주차

 

1. 회의 내역(BE 안건)

1) 로그인 이슈

- req.cookies/headers 이슈

2) 스웨거

- 추가하기로 결정

 

 

 

2. 작업 내역

1) FE-BE 로그인 연결

- headers/소문자 이슈

2) swagger 세팅/작성

- swagger-autogen으로 틀 생성 후 parameter/response 하드 코딩 진행

- 기존 세팅방법 이용 : 본과정 개발일지 27번 (https://jujiprogram.tistory.com/57)

 

 

 

3. 멘토링/회고

1) swagger 관련

(1) 방법1 swagger-autogen : api별로 path자동 생성, 이후 parameter/response 수동입력 필요

(2) 방법2  swagger-jsdocs : api마다 전용 문법으로 swagger용 주석작성, 이후 자동 문서화

(3) 어떤 방법을 쓰던간에 하드코딩이 불가피하여 멘토님께 질문들 드렸는데, autogen으로 path가 생기는것만 해도 많이 발전한 라이브러리라는 답변을 해주셨다. 어느정도의 하드코딩은 불가피하다고 판단

(4) 타입스크립트의 경우 js보다 엄격한 구조로 인해 조금더 자동화가 잘될 것으로 예상

 

2) ci/cd tool 관련

(1) 현업에서 젠킨스/도커를 많이 사용하는 것으로 파악됨

(2) 현재 빠른 세팅을 위한 github actions와 aws codedeploy를 이용하여 구축하였는데 젠킨스/도커를 추가로 연습하는것이 필요할지에 대해 질문

(3) 프로젝트 기능상으로는 필요없다는 답변, but 개인적인 호기심과 욕심이 있다면 프로젝트 외적으로 남는시간에 연습하는걸 추천

 

3) 서버 운영/관리

(1) 현재 ec2 micro t2로 관리중인데 prettier 특유의 문제점으로 인하여(프로젝트 규모나 빌드되는 프레임워크/라이브러리 들이 조금만 커져도 cpu가 99%로 돌다가 인스턴스 접근 불가상태로 바뀜) 서버가 자주 다운되는 상황

(2) 수직적 확장(미디움 등으로 업그레이드)과 수평적 확장(추가 서버 개설하여 서버스와핑 혹은 로드밸런서 구축)에 대하여 좋은 선택방법에 대해 질문을 드림

(3) 현재 서비스는 t2 medium 으로 업그레이드를 추천, 과금이 걱정되면 최대한 micro로 버티다가 유저 피드백 직전에 진행. 현업에서는 c4 medium이상을 주로 쓰는것으로 파악

(4) 나중에 여유가 생기면 추가 인스턴스 생성을 통하여 오토스케일링/로드밸런서 세팅 연습 권장