20~21주차
두 주간 프론트엔드와 백엔드 몇명이 모여 미니 프로젝트를 진행했다.
간단한 웹사이트를 만드는 것으로 기획하고, 컨텐츠는 "이어쓰는 동화".
기본적인 CRUD를 구현하는 많은 예제에서 사용하는 게시판, 블로그와 동일한 형식이라 새로운 건 없지만, 그간 배운것을 실제 배포하고, FE와 같이 협업해본다는 점에서 새롭고 많은 것을 배울 수 있었다.
1. github 사용
팀원과 함께 쓰는 github은 처음이었고, 의외로 별다른 문제 없이 쉽게 흘러갔다. 다만 사용하며 아쉬운 것은 main 브랜치에 서로 푸시를 한 점이다. 서로 어떤 부분을 작성하는지에 대한 논의가 잘 되어서 다행이었으나, 꼬이기 시작하면 한도 끝도 없었을 듯. 그래도 API 명세서가 자세했고, 역할분담이 명확했기 때문에 문제가 발생하지 않았던 것 같다. 그래서 이번에 진행하는 프로젝트는 fork - pull request 하는 방식으로 사전에 정했다.
2. cors
워낙 자료가 많아서 오히려 어려운 것 같아 보이는 문제다. 해결은 간단한 데, 사소한 오류에 대한 설명이 없어서 잠시 해맨 기억 정도는 남는다. 예를들면, cors 라이브러리를 써서, 설정해줄 때, origin 주소 뒤에 /를 붙이면 안된다는 점 같은?
'http://localhost:3000' ok, 'http://localhost:3000/' no
3. https
이번 프로젝트에서는 백엔드 서버에 https 적용을 시간내 못했다. aws EB로 올린 서버에 route53을 이용하고, certi manager 에서 발행하고.. EB에 로드밸런스 설정 해주고...자세히 알지 못하는 상태에서 글을 따라 하는 것으로는 설정이 되지 않았다. 조금 더 상황을 이해하고 적용해보는 것을 오는 2주간의 목표로 진행 해볼 예정.
4. cookie
cors와 credential 설정과도 연결되는데, https가 아니면 쿠키를 백엔드 서버에서 바로 set-cookie 헤더를 통해 만들어주는게 잘 안됐다. chrome에서 차단했다는 메시지가 뜨는데, domain 설정을 잘 했고, cors설정도 문제 없는데 안되는 이유를 찾다 시간이 없어 해결하진 못했다. FE와는 헤더나 바디로 토큰을 전달하면 되니 문제는 없지만, 해결하고 싶었는데... 오는 2주간의 다른 목표 중 하나.
5. swagger
swagger를 yaml 파일로 만들어 써 봤다. 음... swagger ui 를 통해서 API 동작이나 테스트를 해볼 수 있는 점에서 좋았다. 다만 yaml파일을 만들기 위한 노력이 조금 들어가서, 항상 쓰거나 모든 API에 쓰기엔 어려울 것 같다는 생각.
6. docker 배포
2023.05.15 - [daily] - Dockerization [0]
2023.05.15 - [daily] - Dockerization [1]
를 통해서 정리했다. docker로 배포하는 방식은 참 편리했다. 나중에는 gitaction을 통해서 CI/CD까지 가는 것을 목표로.
7. sequelize
시퀄라이즈는 친해지기 어렵다. 그러다 이때까지 모르던 기능을 설명하는 좋은 글을 발견해서 갈무리.
'daily' 카테고리의 다른 글
Dockerization [2] - awsebcli로 deploy할 때 알아야 할 세 가지 (0) | 2023.06.03 |
---|---|
23.05.27. SSE(Server-Sent-Event) 구현해보기 (0) | 2023.05.27 |
23.05.27. openAI API + node.js, express로 연결해보기[1] (0) | 2023.05.27 |
23.05.26. openAI API + node.js, express로 연결해보기[0] (1) | 2023.05.27 |
Swagger (0) | 2023.05.16 |