게시글 태그 조회를 구현하고 태그 수정을 구현하는 과정에 태그에 대해 한번 더 생각을 하게 되었다.
그냥 막연히 태그 작성에 대한 칸이 따로 있기 때문에 게시글처럼 구현하면 되겠지~ 했는데 생각해 볼 것들이 너무 많아서 정리를 해보기로 함
원래는 태그 작성 칸에 작성한 모든 태그들이 하나의 tagName으로 생각하고 코드를 짜고 있었음
그러다가 막힘
예시)
태그 작성 : "#태그 #구현 #너무어렵다"
(인스타 느낌)
or
태그 작성 : 태그
구현
너무어렵다
이런 식으로 내용을 적고 Enter Or Space를 할 때마다 DB에 저장하는 방법 (벨로그 느낌)
태그 생성
TagRepository에 저장
Tag Table
id | tagName |
---|---|
1 | #태그 |
2 | #구현 |
3 | #너무어렵다 |
TagCreateRequest에 정규표현식 작성하기(맞는 건지 모르겠음...)(태그 작성 칸은 하나인데 이곳에서 태그를 여러개 작성하려면 어떻게 해야하나..)
('#'필수, '숫자, 영어대소문자, 한글' 가능, '특수문자, 띄어쓰기' 불가능)
PostTag Table
id | postId | tagId |
---|---|---|
1 | 1 | 1 |
2 | 1 | 2 |
3 | 1 | 3 |
테이블에 똑같은 태그가 이미 존재한다면 저장되지 않아야 함
(검색 기능을 한다면 태그에 count도 있어야 할 듯..?)
만약 Tag Table에 tagCount도 있다면?
id | tagName | tagCount |
---|---|---|
1 | #태그 | 2 |
2 | #구현 | 0 |
3 | #너무어렵다 | 0 |
태그 조회
태그 수정
태그 삭제
오늘의 교훈
느낌적으로 아 이렇게 하면 되겠지~ 하지 말고
따로 적어가면서 정리를 하기!!!
느낌적으로 했다가 지금 이틀을 날려먹었어요...ㅜ
그래도 한 번 정리를 하니까 뭔가 코드를 더 잘 짤 수 있을 거 같은 느낌적인 느낌!!!
지금은 넘 늦었으니까 이만 자고 내일 해봐야쥐~