내코드

강사님 코드

강사님은 relTypeCode와 relId라는 컬럼으로 답글에 달린 코멘트인지, 게시글에 달린 코멘트인지를 구분.
각각 장단점이 있을거 같으니, 양쪽 방식 전부 기억해두자.
댓글 crud 완료(에러처리는x) -> 전부 ajax로 처리하느라 시간이 오래걸렸다.
후반에 특히 속을 썩인건 아래 수정 부분이다.

댓글 insert 기능을 처음에는 일반적인 방식으로 구현했는데,
기왕이면 insert기능도 ajax로 처리하고 싶어졌다.
문제는 내가 짠 댓글의 레벨 구조인데,
댓글을 다는 기능은 크게나눠서 세가지로 분류된다.
문제는 2와 3이 화면상에서 깊이 차이가 났는데,
나는 되도록이면 한번 구현한 대댓글의 기본 로직 자체는 변경하고 싶지 않았다.
그래서 대댓글의 구현 로직은 따로 doCorrentWriterDescendant라는 함수에 정의해 놓고,
호출된 곳이 댓글인가 대댓글인가에 따라 doCorrentWriterDescendantLv1이란 함수와
doCorrentWriterDescendantLv2라는 함수에 감싸서 호출하도록 했다.
조금 힘들었던 부분은 위 스크린 샷의 555번째 줄인데, doCorrentWriterDescendant의 로직 자체는 동일하게 가져가기 위하여, 마치 동일한 곳에서 호출된 것 처럼 요소의 위치를 맞춰주는 작업이었다.