22년 7월 3주차 주간 회고

JongHoon Son·2022년 7월 25일
0

주간 회고

목록 보기
16/38
post-custom-banner

PFL_V2

PFL_V2의 일단 기본적인 기능은 모두 구현이 끝났고, 현재 게시판 기능을 한참 개발중이며, 이번주 내로 기능 구현을 마치려고 한다.


게시판 기능에 대한 얘깃거리

게시판 기능을 구현하는 과정에서 몇가지의 객체를 사용할까에 대한 고민이 있었다.
우선적으로 떠올랐던 것은 게시판 객체와 게시글 객체 두 가지를 이용하는 것이었다.
근데 이 경우에는 게시판 객체가 갖고 있는 것은 사실 상 게시판의 이름과, 해당 게시판에 작성된 게시글의 목록인데, 생각해보니 이는 게시글에 자기가 속한 게시판의 이름을 속성으로 갖고 있는 방식으로 구현할 수도 있었다. 따라서 게시판+게시글 객체를 이용하는 방식과 게시글 객체만 이용하는 방식의 장단점을 비교해보았다.


1. 게시판 객체와 게시글 객체를 같이 이용하는 경우

생성 방식 : 게시글이 생성되면, 해당 게시글이 속한 게시판의 게시글 목록에 생성된 게시글이 들어간다.
처리 과정 : 1. 사용자로가 생성할 게시글이 속하는 게시판의 이름을 req.body로 받는다. -> 2. 게시판 객체 중에서 게시판 이름 속성이 사용자가 보낸 게시판 이름 값과 일치하는 게시판 객체를 찾는다. -> 3. 해당 게시판 객체에서 게시글 목록을 가져온다. -> 4. 사용자에게 게시글 목록을 보여준다.
장점 : 원하는 게시판을 골라서, 해당 게시판에 쓰인 글만 불러오므로, 검색 범위가 작아서 검색 속도가 빠름
단점 : 전체게시판을 구현하기 위해서 모든 게시판의 게시글을 불러와 게시글을 작성시간 순으로 정렬하거나, 전체게시판 객체를 만들어서 게시글 객체가 생성될 때 전체게시판 객체의 게시글 목록에 생성된 게시글을 넣어야 하므로, 상대적으로 DB에 저장해야하는 데이터의 양이 많음.

2. 게시글 객체만 이용하는 경우

생성 방식 : 게시글이 생성될 때 게시글의 카테고리 속성에 게시글이 속하는 게시판의 이름을 넣는다.
처리 과정 : 1. 사용자로가 생성할 게시글이 속하는 게시판의 이름을 req.body로 받는다. -> 2. 모든 게시글 객체를 불러온다. -> 3. 모든 게시글 객체 중에서 카테고리 속성의 값이 사용자가 보낸 게시판 이름 값과 일치하는 게시글 객체를 따로 리스트에 저장한다. -> 4. 따로 저장된 리스트를 바탕으로 사용자에게 게시글 목록을 보여준다.
장점 : 상대적으로 DB에 저장해야하는 데이터의 양이 적음.
단점 : 모든 게시글을 가져오고, 가져온 게시글 중에서 카테고리가 게시판 이름과 일치하는 게시글을 찾아야 하므로, 시간이 오래 걸리고, 해당 로직을 구현하는 시간이 소비됨

위 두 가지 경우의 장단점을 비교해서, 게시판과 게시글 객체를 모두 만들기로 하였다.


이번주 계획표

목~금에 휴가가 예정되어 있기 때문에 나머지 요일의 시간을 좀 더 많이 투자할 예정이다.

profile
FE 공부
post-custom-banner

0개의 댓글