프롬프트 AI&OpenAPI&공공데이터를 활용한 웹앱개발자 양성 과정 48일차

서명원·2024년 2월 19일

1. 강사님과 내코드의 db설계비교

내코드

강사님 코드

강사님은 relTypeCode와 relId라는 컬럼으로 답글에 달린 코멘트인지, 게시글에 달린 코멘트인지를 구분.
각각 장단점이 있을거 같으니, 양쪽 방식 전부 기억해두자.

2. 강사님의 프로젝트 조언

  1. 경로 기록 방식은 상시 기록이 있는 편이 좋다.
    일단 웹으로도 상시기록이 가능하도록 해놓자. (프로젝트의 아이덴티티 이기 때문)
  2. 테마 및 태그 요소를 적극 도입하자. 그럼으로써 부가적으로 랭킹시스템이나 테마 여행 등의 부가 기능이 탄탄해진다.
  3. 유저의 레벨 개념을 도입해서 특정 혜택을 끌어내자.
  4. 서류 작업은 일단 기존서비스 조사(기획안) -> 기능 상세 -> UI, UX 설계 순으로 진행한다.

3. 과제- 댓글 개발 관련

댓글 crud 완료(에러처리는x) -> 전부 ajax로 처리하느라 시간이 오래걸렸다.
후반에 특히 속을 썩인건 아래 수정 부분이다.

댓글 insert 기능을 처음에는 일반적인 방식으로 구현했는데,
기왕이면 insert기능도 ajax로 처리하고 싶어졌다.
문제는 내가 짠 댓글의 레벨 구조인데,
댓글을 다는 기능은 크게나눠서 세가지로 분류된다.

  1. 게시글에 다는 댓글.
  2. 댓글에 다는 대댓글.
  3. 대댓글에 다는 대댓글이다.

문제는 2와 3이 화면상에서 깊이 차이가 났는데,
나는 되도록이면 한번 구현한 대댓글의 기본 로직 자체는 변경하고 싶지 않았다.
그래서 대댓글의 구현 로직은 따로 doCorrentWriterDescendant라는 함수에 정의해 놓고,
호출된 곳이 댓글인가 대댓글인가에 따라 doCorrentWriterDescendantLv1이란 함수와
doCorrentWriterDescendantLv2라는 함수에 감싸서 호출하도록 했다.

조금 힘들었던 부분은 위 스크린 샷의 555번째 줄인데, doCorrentWriterDescendant의 로직 자체는 동일하게 가져가기 위하여, 마치 동일한 곳에서 호출된 것 처럼 요소의 위치를 맞춰주는 작업이었다.

profile
백엔드 취업을 꿈꾸는 일본어 전공자

0개의 댓글