WILT-200103

1 분 소요

오늘 한 일


  1. 협업 프로젝트: 백엔드 회의 참석
    • 이슈 정리 (회의내용)
      1. 삭제된 댓글을 '삭제된 댓글입니다'로 표시할지 아예 보여주지 않을지-> 보여준다면 어떻게 구현할지?

        개인적으론 백엔드에서 삭제된 정보까지 전부 보내준 후 프론트에서 deletedAt의 null체크를 통해 표현하는 것이 좋을 듯

      2. 댓글 생성, 수정, 삭제 시 리턴하는 객체 어떤 걸로 할지? 현재 댓글 객체 리턴
      3. 웹 프론트엔드 로컬 sequealize 에러 처리
        • 본인 로컬 및 aws ec2 서버에서는 comments테이블 생성 및 comment 관련 기능 정상작동 확인
        • 그러나 웹 프론트엔드에서 테스트 시 comment테이블이 생성되지 않는 문제 발생

          error:150 foreign key constraint is incorrectly formed

      4. 댓글 작성 시: 게시물 주인(피드백 주인) 혹은 피드백 조언자만 가능하도록 변경해야 함
        • 댓글 작성 가능한 사람을 따지기 위해 조언자의 정보가 필요한데 댓글과 연결된 게시물에도 피드백 조언자 정보가 없어서 댓글->게시물->피드백 순으로 2번 foreignKey를 타고 올라가서 조언자 정보를 가져와야 할 것 같다.
      5. user_uid를 클라이언트로 보내는 것에 보안 문제는 없는지?
    • 이슈 해결
      1. 삭제된 댓글 관련: 개인적으론 백엔드에서 삭제된 정보까지 전부 보내준 후 프론트에서 deletedAt의 null체크를 통해 표현하는 것이 좋을 듯
      2. 댓글 생성, 수정, 삭제 시 리턴하는 객체 문제
        • 생성, 수정: 그대로 댓글 객체 리턴 (안에 board_id(게시물 번호) 정보 포함됨)
        • 삭제: 기존에 삭제된 댓글의 comment_id(댓글 번호)만 리턴했는데 board_id(게시물 번호)도 필요할 것 같아서 새로운 객체 생성 후 ['comment_id', 'board_id'] 속성 추가해서 보내게 수정함
      3. 웹 프론트엔드 로컬 에러
        • 다른 분의 로컬에서 안 되는 걸 보면 로컬 mariadb의 설정 문제일 가능성이 있어보인다. 실제 로컬 db의 charset을 latin1에서 utf8로 변경하는 과정에서 같은 에러 발생했음. default charset을 utf8로 변경 후 table drop, 재생성하니 정상작동 함.
      4. 댓글 작성자 제한 관련: 현재 댓글->게시물->피드백이 다른 foreignKey로 각각 일대다 관계를 맺고 있어서 어떻게 할지 좀 찾아봐야 할 것 같다.
      5. user_uid를 숨기는 문제
        • 현재 comment를 포함한 거의 모든 response.data 객체가 user_uid를 포함하고 있다. 보통 User정보 find를 한 후 그 결과를 그대로 data에 넣기 때문이다.
        • 만약 select후 user_uid를 사용하지 않는다면 select할 때부터 attributesuser_uid를 제외해도 된다.
        • 그러나 댓글은 user_uid를 기준으로 작성 가능한 인물을 제한하기 때문에 해당 정보가 필요하다.
        • user_uid를 제외한 정보를 보내기 위해서는 다시 select를 하거나 새로운 object를 만들어 보내는 등 추가 절차가 필요할 것 같다.
        • user_uid를 클라이언트로 보내는 것에 보안 문제가 없다면 기존 방식대로 하면 되고, 만약 문제가 있다면 많은 부분을 수정해야 할 것으로 보인다.

댓글남기기