데브엔톡 서버 비익명 / 익명 게시판 서비스 기능을 제공하는 서버 1. 댓글기능 구현 기존에 했던 방식에서 개선했던 방법 1-1. 문제상황 부모댓글과 자식 댓글은 삭제 방식이 달랐음 댓글 종류별 삭제 방식차이 때문에 실제 댓글갯수와 보여지는 댓글 갯수가 달랐음 댓글 삭제 코드의 가독성이 매우 떨어졌음 1-2. 해결 방법 1. 댓글을 softDelete 처리하기 위해 삭제되지 않은 댓글만을 가지는 뷰 테이블을 만들었음 2. 실제로 삭제되지 않은 댓글만 가져오고, 부모 댓글 기준으로 Map을 사용해서 한 곳으로 모았음 3. 이때 부모댓글을 발견하지 못하면 삭제된 부모댓글이므로, 가짜 Dto을 만들어 넣어줌 4. 가짜 DTO이기 때문에 시간순으로 정렬이 불가능 해 보였는데,다행히 이 정보를 자식 댓글의 부모 댓글 번호로 확인이 가능했음 2. 단순한 게시글 삭제 구현 2-1 문제 상황 이전에 진행했던 프로젝트에서 댓글에 좋아요를 누를 수 있는 기능이 있었음 게시글 삭제시 댓글과,좋아요 갯수까지 전부 삭제하게 구현했었음 너무 복잡하고, 시간이 지날수록 이해하기 어려워지는 코드가 작성되는 것 같았음 2-2 해결 방법 생각보다 너무 간단했는데 softDelete처리를 하면 되었음 결국 데이터베이스에서 게시글과 댓글이 1:N 댓글과 좋아요 여부가 1:N 으로 연결되는 상황이기 때문에 게시글만 삭제 처리해도 사용자는 다른 정보를 확인할 수 없었음 **중요한 부분이 데이터를 삭제하는 것이라면 이전처럼 진행해야 하지만 사용자에게 보여주지 않는 것이라면 게시글만 삭제처리 해도 문제 없음