HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
♥️
2기 최종 프로젝트 팀별 공간
/
팀 02 : 머쓱한녀석들
팀 02 : 머쓱한녀석들
/
🎏
BackEnd
/
💬
멘토님과의 소통 (임시)
/
07.18 ~ 07.22

07.18 ~ 07.22

태그
주차별 비동기

😠 훈수 미팅

1기 선배님들 초대 : 함승훈님, 한재원님
 

최종 플젝 이후 느낀점

의도는 좋지만 자신의 역량을 쥐어짜낼 수 있는 주제가 되었으면 좋겠다.
DevNity를 하면서 돌아보니 기술적으로 아쉬웠던 거 같다.
 
기능은 많이 만들려고 했지만 CRUD 뿐이 없었다.
기능은 적더라도 딥하게 들어갈 수 있도록 했으면 좋았겠다.
지금 취준하면서 인프라는 어느정도만하고 하나의 기능을 짜더라도 고민을 해라. 조회를 할때도 캐시에 대한 부분에서 고민하는 등에서~
 
사용했다가 중요한게 아니고 이것을 사용하면서 어떤 생각을 가지고 사용한 것인가?
사용해보려고 하면 이 기술에 대해서 알고 사용해야한다.
 

프로젝트때 이건 챙겼으면 하는 것

  • CI/CD
    • 무중단 배포
  • 부하 테스트
  • 코드 리뷰
  • 웹 서버, 캐시
  • API 문서 자동화
  • 기술 선택하는 과정에서 고민을 해봤냐??
  • 일관적인 코드를 짜라 ( 5명이 짜도 1사람이 짠 것처럼 )
  • 비즈니스쪽으로 정책이 있는 것이 좋다.
    • 신고 기능
    • 조회수 어뷰징
      • 외부에서 for문으로 요청을 보낸다면 어떻게 막을것인가?
    • 이미지 저장
 

해주고 싶은 말

  • 자소서에 쓴 내용은 다 알아야 한다.
    • 나의 프로젝트는 다 알아야 한다.
  • 자신감을 가져라
    • 모르겠으면 당당히 말해라
  • 현실과 타협할 줄 알아야 한다.
    • 조금 준비가 되었다고 생각하면 면접을 봐라
  • 매일 스터디 최대한 자주
    • 이론 돌리기
    • 주제 선정 → 공유 → 피드백
    • 정하고 만나서 질문
  • 자신감을 가져라
 

🚀 주제 관련 미팅

  • 지금 기능은 거의 CRUD 복붙과 같은 느낌이다.
    • 기술게시판과 질문게시판 동일하다.
  • 하나의 게시판을 조금 더 딥하게 가져가는 게 좋을 것 같다.
  • 지도 써보는 것도 좋다.
  • 간단한 채팅은 아니더라도 쪽지 기능
    • 단방향 전송
    • 채팅과 쪽지의 창
      • 서로 주고 받을 수 있도록 하던가?
      • 비동기적 쪽지로 보낸다
        • API 해결할 수 있다.
  • 모집 게시판을 가져갈 거면 복잡도를 올려서 처리해보도록 한다.
    • 신청을 한다
    • 주최자가 수락 및 거절한다.
    • 신청자가 수락 및 거절에 대한 쪽지를 보낸다.
    • 혹은 거절 및 수락에 대한 알람을 보내도록 한다.
  • 하나의 서비스를 가지고 깊게 파고 들어가라~
    • 신고하기
      • 신고에 당한 자는 그 안의 정책을 가져갔으면 좋겠다
        • ex) 신고당한 자는 한달동안 신청할 수 없다.
    • 블랙리스트 등록
  • 스터디를 하면서 했던 것들을 기술블로그로 확장할 수 있도록?
  • 벌금 정책
  • 강퇴 기능
    • 쫒겨난 사람은 스터디 지원 및 개설을 못하도록 한다.
  • 쪽지, 모집, 지도
  • 회의록 생성, 주차별 회의 출석 비율
  • 출석 조회
  • 내부게시판 같은 기능
    • 스터디 내에서 해봐라
 

총 정리

  • 게시판 갯수를 처리한다
    • 기술 블로그 하나만 남도록 한다.
      • 조회수
      • 좋아요
  • 모집 서비스에 대한 기능을 강화한다
    • 게시판이 아닌 신청으로 수락 및 거절할 수 있도록한다.
    • 수락 및 거절에 대한 알람/쪽지가 가도록 한다.
    • 출석, 출석 조회
  • 지도
    • 스터디 장소
  • 정책까지도 정하면 좋을듯
  • 스트레스 테스트 하면 좋다.
 

❓ 비동기 질문과 답변 모음

질문

  1. 예전부터 질문해왔던 서비스가 서비스를 의존하는 것에 대한 질문입니다!! 만약 예약 도메인쪽에서 User에 대한 객체가 필요할 때 서비스를 통해 받아오게 된다면 User 자체를 넘겨주는 메서드를 구현해야할 것 같은 데 UserService에 User를 넘겨주는 UserProvider라는 인터페이스를 구현하여 넘겨주는 것이 더 좋을 까요?
  1. User 객체로 연관관계를 잡는 것이 아닌 userId로만 연관관계를 잡는다고 하면 UserService에게 존재하는 지에 대한 메시지만 보내도 충분할까요?
  1. 프로젝트를 시작할때 기능 명세를 쭉 뽑고 객체를 먼저 설계한 후 디비를 설계하시나요? 아니면 반대로 하시나요?
  1. 프론트와의 협업을 위해 더미데이터를 넘겨주는 컨트롤러단을 먼저 구현한 뒤 이후 서비스나 도메인을 구현하고 싶은데 이런 식으로도 협업을 진행하나요??
 

답변

  1. UserService에서 직접 User를 넘겨줘도 될 것같은데.. UserProvider엔 어떤게 들어가게 되는거죠?
    1. UserProvier는 User 객체 자체를 넘겨주고 UserService는 Dto만 넘겨주는 식으로 될 것 같습니다. 그냥 UserService가 다 책임지고 controller에서 entity -> dto로 변환하는 것이 맞을까요?
    2. 좀 더 객체를 쪼갠다면 그렇게 해도 될것 같긴한데.. 저는 controller에서 entity-> dto 변환도 괜찮다고 생각합니다.
  1. 넵넵, userId만 필요하면 userId가 유효한지 여부만 체크해도 될것 같아요!
  1. 기능명세를 만든 후, 디비를 설계하고, 그걸 바탕으로 객체를 만드는데 어떻게 보면 둘이 거의 동시에 이뤄지는 작업인 것 같아요! 그래서 어떤걸 먼저해도 상관없을것 같습니다.
  1. api spec을 미리 정해서 넘겨주고, 그걸로 프론트에서 모킹을 할 수 있도록 하기도 하고, 만약 실 api를 원하면 controller를 먼저 구현할 수 도 있을것 같아요. 보통은 api가 전체 완성되고 프론트에게 제공해주는데 controller를 먼저 제공해주는 것도 하나의 방식인것 같습니다.
  1. 추가적으로 MSA에서 User에 대한 정보가 필요하면 API로 통신하는 것으로 아는 데 이때 받는 값은 User 객체 자체인가요 아니면 Dto인가요??
    1. 1. MSA로 변환시 하나의 api이기 때문에 (물론 내부적으로 사용할 api를 따로 만들수도 있지만) 언제 어디서 호출될지 모르기 때문에  User객체보다는 Dto로 넘겨줍니다!

질문

이번 프로젝트때 스웨거를 한번 도입해보려고 하고 있는 데 스웨거 어노테이션을 많이 붙이면 자세히설명해줄 수 있긴 하지만 너무 프로덕션 코드가 더러워진다? 라는 단점이 있는데 멘토님이 사용하실 땐 어느정도 선까지 사용하시나요?
 

답변

저는 사실 그렇게 자세하게 적진 않습니다.
필요에 따라 커뮤니케이션으로 가능한 부분이 있어서..
어떤 용도인지 정도만 적어줍니다
 

질문

멘토님의 경우 Service단 테스트는 Mock으로 처리하시나요?? 저희가 일단 정한 건 @SpringBootTest를 통해 서비스레이어는 통합으로 가져가기로 했습니다
 

답변

보통 모킹을 하지만 테스트 간소화를 위해서 SpringBootTest를 사용하는것도 나쁘지 않다고 생각합니다~ 간소화라기 보다는.. 핵심만 테스트하자?