최종프로젝트 게시글 태그 조회, 수정, 태그 구상

우정·2023년 2월 14일
0

게시글 태그 조회를 구현하고 태그 수정을 구현하는 과정에 태그에 대해 한번 더 생각을 하게 되었다.
그냥 막연히 태그 작성에 대한 칸이 따로 있기 때문에 게시글처럼 구현하면 되겠지~ 했는데 생각해 볼 것들이 너무 많아서 정리를 해보기로 함

원래는 태그 작성 칸에 작성한 모든 태그들이 하나의 tagName으로 생각하고 코드를 짜고 있었음
그러다가 막힘

예시)

태그 작성 : "#태그 #구현 #너무어렵다" (인스타 느낌)
or
태그 작성 : 태그 구현 너무어렵다 이런 식으로 내용을 적고 Enter Or Space를 할 때마다 DB에 저장하는 방법 (벨로그 느낌)

  • 태그 생성

    • TagRepository에 저장

    • Tag Table

      idtagName
      1#태그
      2#구현
      3#너무어렵다
    • TagCreateRequest에 정규표현식 작성하기(맞는 건지 모르겠음...)(태그 작성 칸은 하나인데 이곳에서 태그를 여러개 작성하려면 어떻게 해야하나..)
      ('#'필수, '숫자, 영어대소문자, 한글' 가능, '특수문자, 띄어쓰기' 불가능)

    • PostTag Table

      idpostIdtagId
      111
      212
      313
    • 테이블에 똑같은 태그가 이미 존재한다면 저장되지 않아야 함
      (검색 기능을 한다면 태그에 count도 있어야 할 듯..?)

    • 만약 Tag Table에 tagCount도 있다면?

      idtagNametagCount
      1#태그2
      2#구현0
      3#너무어렵다0
  • 태그 조회

    • 태그 1개씩 조회 => 프론트 작성할 때 여러 개를 모아서 조회하게 해줌
    • PostTagRepository에서 조회 -> url과 맞는 postId를 가져오기? 근데 이러면 postId가 여러개 일 때 어떻게 처리??
      PostTag의 id로 조회 -> url과 id에 해당하는 postId가 동일하면 tagId 가져오기(or id 가져오기)
  • 태그 수정

    • 태그 수정을 없애면 어떨까..
    • 만약 띄어쓰기 or 엔터로 구분을 한다면
      태그 입장에서 생각해보면 게시글을 쓸 때 태그가 아예 지워진 후 다시 생성이 되는 거라고 생각됨 -> 팀원들과 얘기해보기(띄어쓰기or엔터를 한 이후 바로 DB에 저장되기 때문에)
  • 태그 삭제

    • tagCount가 0일 때 아예 삭제, 만약 0이 아니라면 -1 해주기

오늘의 교훈
느낌적으로 아 이렇게 하면 되겠지~ 하지 말고
따로 적어가면서 정리를 하기!!!
느낌적으로 했다가 지금 이틀을 날려먹었어요...ㅜ
그래도 한 번 정리를 하니까 뭔가 코드를 더 잘 짤 수 있을 거 같은 느낌적인 느낌!!!
지금은 넘 늦었으니까 이만 자고 내일 해봐야쥐~

0개의 댓글

관련 채용 정보