그누보드 데이타베이스 개선이 필요한 것들 > 그누5튜닝

그누5튜닝

그누보드 데이타베이스 개선이 필요한 것들 정보

그누보드 데이타베이스 개선이 필요한 것들

본문

RESTful를 하기 위해서 직접 그누보드의 데이타 베이스를 읽어 오면서,

 

발견한 개선이 필요한 것들을 개인적인 관점에서 정리해 봤습니다.

 

저장장치가 비쌀 때의 절약을 위한 구조 같은 느낌입니다.

 

메모리냐 속도냐 (이렇게 한다고 속도가 빨라지나요???)

 

1. 멤버 이미지/아이콘을 가져오기

 

멤버 이미지와 멤버 아이콘은

data/member_image/mbId{첫두자}/mbId.[gif,jpg,png]

data/member/mbId{첫두자}/mbId.[gif,jpg.png]

 

에 파일이 있는데,  이것을 아이디를 가지고 파일 패스를 계산합니다.  그리고 가능한 확장자가 gif, jpg, png 3개 이다 보니,

매번 읽어올 때 마다 체크해야 됩니다. 

 

데이타베이스에 필드를 추가해서 저장해 놓으면 편할 것 같습니다.

 

커밋  : 올리는 파일은 3개의 확장자지만,  무조건 gif파일로 되네요

 

2. 메뉴 코드

메뉴의 단계별 구분을

me_code가 1단계는 2자리이고 2단계는 4자리로 되어 있습니다.

1단계가 "10"이라고 하면 서브 메뉴는 "1010", "1020", "1030"으로 되어 있습니다.

 

이것도 쪼개서 읽어야 되는 불편함이 있고, 3단계등으로 확장시에도 문제가 있을 것 같습니다.

 

데이타베이스에서 어떤 구조를 가져가야 될지 고민해 봐야겠습니다.

 

3. 게시판 글(자유게시판, g5_write_free)과 보드(g5_board)의 관계

 

g5_board와 g5_write_free의 관계는 g5_board에서 bo_table을 읽어서 데이타베이스의 테이블 이름을 만들고 (g5_write_[bo_talbe]) 그 테이블을 읽어서 가져오는 구조입니다. 

 

3-1. 다른 분도 지적해 줬던 하나의 테이블 사용

 

3-2. 스크랩에서

게시판이름, 글제목을 한번에 가져오게

 

g5_scrap를 읽어서 글의 제목과 게시판을 뿌려 줄려면,  bo_table을 가지고 g5_board에서 읽고(이것은 JOIN이 가능?)

g5_write_[bo_table]을 만들어서, 해당 글의 제목을 가져와야 됩니다.

 

프로그램적이나, 나중에 확장을 위해서 g5_write_[bo_table] 에 bo_table이나 bo_id(g5_board에 없음)로 연결이 되어야..

3-3. 새글

그룹이름, 게시판이름,  글제목,  닉네임을 한번에 가져오게

 

그룹이름은 g5_board를 통해서 g5_group에서 읽어와야

 

4. 답변글/댓글

g5_comments로 별도 테이블로..

wr_reply, wr_comment_reply에 종속성을 "AAAAAA"으로 되어 있는 것을 (댓글에 댓글은 "ABC"등으로) 개선이 필요합니다.

 

https://www.youtube.com/watch?v=7Gj_zWCHTIk

 

https://www.smashingmagazine.com/2012/05/building-real-time-commenting-system/

 

5. 카테고리의 구조

g5_board의 bo_category_list와 g5_qa_conifg의 카테고리가 "그누보드|영카트|RESTful" 식으로 데이타베이스 그대로 저장되어 있는데

  별도 데이타베이스 테이블 구조로 처리하면, sql에서 한번에 읽어올수 있을 것 같음.

 

캐테고리의 별도 테이블로 만들고,  각 게시판에 해당되는 카테고리 를 넣음.

(다 대 다 구조 with bo_table)

 

5-1. 태그도 넣죠

태그는 카테고리와 같음.  차이는 카테고리는 관리자가 지정하고, 태그는 유저가 집어넣고..

 

 

6. 테이블 인덱스 번호

각 테이블에 자동 index가 빠져있는 것들에 추가 필요 (자동으로 증가되는 id 번호)

 

7. MySQL Set Datatype

Set Datatype이 mysql만 지원함. (앞으로 대세가 되어 가는 JSON타입은??) g5_auth에도 r, w, d

g5_write_[bo_table]에 있는 ,wr_option에 html1, html2, seret, mail 이 들어가는데

비밀글이면 html1, secret, DHTML을 사용안하고, html 체크하면 html2,  답변메일 체크는 mail이네요

없으면 일반텍스트, html1, html2, markdown등...

별도 필드에 secret 옵션을 wr_secret,

mail은 wr_mail로..

 

8. 공지글..

g5_board의 bo_notice에 해당 공지글 번호가 들어가 있음.  일일이 비교해야 됨.

별도 필드로 wr_notice로 boolean으로..

 

그외에 어떤 것이 있을 까요?

공감
4

댓글 3개

g5_write_[bo_table]에 필요한 필드

isRequstMail : 답변 요청 글
isSecret : 비밀글
isNotice : 공지글
wr_option은 enum으로  empty(or text),html1, html2, markdown 으로
전체 64 |RSS
그누5튜닝 내용 검색

회원로그인

진행중 포인트경매

  1. 참여2 회 시작24.04.25 20:23 종료24.05.02 20:23
  2. 참여91 회 시작24.04.19 15:40 종료24.04.26 15:40
(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT