-
project-layout참고을 참고한 디렉토리 구조 설정.
- 프로젝트 구조 설정하는게 다른 프레임워크, 언어에 비해 자유도가 상당히 높다. c언어같음.
- go module을 사용하면 go.mod가 설치된 하위 디렉토리 어디에서든 go파일을 사용할 수 있다.
- internal 이라는 이름이 붙은 디렉토리는 해당 디렉토리의 부모만 사용가능하다.
-
mysql dump
- 테스트 데이터베이스를 덤프, private subnet에 위치한 데이터베이스라서 로컬->바스티온호스트->데이터베이스 이렇게 2중으로 덤프를 해와야하는 번거로움(보안 관점에선 장점일수도?)이 있었다.
-
db scheme
- 아직 테스트는 안했고, pkg/models 에 분리만 해놓았다.
- 기존에 1개로된 openapi3.0 서버 문서를 여러 파일로 분리했다. 원래 이렇게 했어야했는데, 이건 실제 배포된 레포지토리에도 추후에 적용해야할 것 같다.
- 분리된 문서들을 swagger-cli를 통해 1개로 합치고, oapi-codegen을 통해 스키마/쿼리파라미터 등에 대해 보일러플레이트 코드를 생성.
- 구조체 임베딩을 통해 interface에 1개로 뭉쳐서 생성된 server interface를 controller별로 분리해서 구현.
- prisma scheme => gorm scheme에 맞게 변경.
- 데이터베이스 연결 및 커넥션 풀 확인,
- 프로메테우스 메트릭스 라우터 설치.(담주중으로 GKE에 배포하는거 해볼예정, 홈서버는 회사에서 지원해주시기로해서 그거가지고 같이 공부해나갈듯)