⚙️ Back-End
🎯 이번주 한일 (하면서 느낌점, 배운점)
멘토링 질문사항
- MSA 기반으로 프로젝트를 작성하고 있는데 WebFlux를 통한 비동기 방식으로 코드를 작성하는 것에 대해서 어떻게 생각하는지? 신입 개발자에게 과도한 내용인지?? 요새는 completeable future 보다는 webflux를 많이 쓰는지?
→ webflux를 통해서 비동기화 한다고해서 꼭 속도에서 장점이 있는 것이 아니다. ContextSwitching 비용이 더 클 수도 있고, 비동기화 요청해놓았던 곳에서 동시에 많은 데이터가 유입되면 서버에서 감당이 안될 수 도 있다. 우선 동기적으로 처리하고 다른부 분에 집중하는 것이 좋을 것으로 생각됨.
- 회원정보수정 API를 활용하여 회원정보를 바꾸는데, 회원의 모든 정보를 하나의 API를 통해서 바꾸려다보니 프론트 쪽에서 해당 API 사용법에 혼동이 있었음. 프론트 쪽에서 비밀번호 변경, 이메일변경, (닉네임,전화번호)으로 3개로 분리해주었으면 좋겠다고 의견을 주어서 변경했는데 이렇게 되면 화면 중심적인 API가 아닌지 의문이 들었음. API 기획에 방향성 고민이 됨.
→ 상황에 따라 다르다. 기본적으로 화면중심적으로 API를 짤 필요는 없으나 특정 기능을 위해서는 API를 분리할 필요가 있을 수도 있다. 근거가 무엇인지 생각해볼것.
→ Client가 전송해주었으면 하는 데이터가 있다면 API 명세서에 넣는 것은 상관없다.
멘토링 내용요약
- Pull Request는 포트폴리오에서 큰 역할을 한다. Pull Request를 가이드 문서에서 제시한 것만큼 자세히 작성해라. 그리고 Pull Request에서 상호간 토론한 내역을 구체적으로 달 수 있도록 해라. 협업을 하는 방식에 대한 어필이 된다. 처음보는 사람이 이해할 수 있을 정도로.
- Pull Request는 작은 단위로 작성하고 Test Code는 즉시 즉시 짤것. API테스트를 어떻게 했는지도 상세하게 작성하면 좋을 것.
🚒 회고
석승민 :
ERD 기반으로 API명세서를 만들다 보니 프론트분들 입장에선 화면 중심 API가 필요할 때도 있다는 점을 느꼈다.
ERD 기반의 API 설계도 좋지만 때로는 화면도 생각해서 타협 할 줄 아는 개발자가 되어야겠다.
변상화:
각 선택마다 장단점이 있으며, 회사의 상황에 맞추어서 선택을 해야한다. 그러므로 성능문제는 문제가 되기전까지는 문제가 아님을 배움.