20240330 김명국 멘토님 멘토링
- 큰 프로젝트가 아니기 때문에 지속적인 코드 리뷰를 통해 다른 사람 담당 파트의 코드도 알고 있어야 한다.
시간에 쫓겨서 그럴 여유가 없는 경우, 파트 담당자가 세션을 이용해 코드 리뷰?
- 타입스크립트는 어떻게 사용하느냐에 따라서 자바스크립트처럼 사용할 수 있다.
타입들은 많이 써봐야 익숙해진다.
다른 소스 코드 참고, 특정 부분은 any타입(웬만하면 비추지만 어쩔 수 없이 사용할 수 있음)
개발 생산성에 도움을 주기 때문에 써보면 좋다.
- Q. 고민 등록 시, 랜덤 전송 유저가 활동을 하지 않으면 유저가 답변을 받지 못하기 때문에
다른 유저에게 할당하는 방식을 고려해봐야 한다.
- 로그인 타임 체크,
- 좋아요가 고민에 반영이 안되고 댓글에 반영이 되는 방향이라면, 좋아요 테이블에 worryId가 굳이 필요 한지 의문.
- Q. 보관함의 API 질문.
API 쪼개는 방식이 더 낫다고 보인다.
타입을 받아서 로직을 나누게 된다. 나누는게 이해하는데 더 괜찮아 보인다.
페이지네이션은 사실상 필수.
데이터베이스. 데이터베이스는 확장을 할 수 없다.
데이터베이스에서 크게 가져오는건 최대한 지양하자. 차라리 API 호출을 많이 하자.
같은 고민에 대한 내용이라서 헷갈려할 수도 있는데 비즈니스 로직이 다른 것 같아 보인다.
예를 들어, 페이지네이션이 들어갔을 때
해결된 고민은 100개인데 해결한 고민은 5개 밖에 안되는 상황이라면?
그 5개 때문에 로직이 달라지는데 API를 줄였을 때의 장점이 크게 보이진 않는 것 같다.
- Q. 토큰 어디에 담아서 FE에 보내줄지?
쿠키에 담을거면, 도메인을 맞춰야 한다.
도메인이 달라도 사용할 수는 있다. 써드 파티 쿠키 -> 보안에 취약해서 비추천.
액세스 토큰에 담아서 보내는 것도 괜찮다. FE에서 어떻게 관리할지가 더 중요하다.
토큰에는 정답이 없다. 조금 더 고민 해보고 다음주에 한 번 더 질문을 해보자.
BE에서 어떤 방법 할지 확실히 정해 놓고 그 방법에 대해서 질문을 가져오자.
- Q. 유저 관리
현재 프로젝트는 유저 관리가 핵심. 백엔드에서 계속 중요하게 고민해봐야한다.
욕설 필터링 & 신고 시스템 도입.
신고 시스템이 도입되면 허위 신고도 문제가 될 수가 있는데, 여기까지 고민할 필요는 없을 것 같다.
욕설 필터링이나 (이것도 잘못된 경우도 많다.) 신고 제도로 운영하면 되지 않을까 싶다.
댓글 삭제 기능보단 -> 신고 제도로
유저 차단 기능까지 생각해보자.
- 소켓은 무조건 사용하는 쪽으로!^^
- 코멘트
대댓글은 테이블 1개로 무한 뎁스로 구현할 수도 있고, 리코멘트 테이블로 구현하는 방향도 있다.