게시판에 대하여 [간단한 이해, 설명 그리고 종류]
오늘은 게시판에 대해서 써볼려고 합니다. 우리가 인터넷에서 가장 많이 보는 구성이 바로 게시판구성입니다.
게시판에는 목록(LIST)페이지과 뷰(VIEW)페이지, 등록( REG)페이지, 수정(EDIT)페이지로 구성되어 있습니다.
티스토리에서 보이는 글 구성 또한 게시판 구성입니다.
목록페이지가 보이고 해당 목록에 게시글을 클릭하면 글에 대한 상세 내용이 보이며 글쓰는 버튼을 통해 글을 쓸 수 있습니다.
보통 등록(REG)페이지와 수정(EDIT)페이지는 거의 비슷하기 떄문에 같은 페이지로 구성하는 경우가 많습니다.
티스트리가 대표적인 등록(REG)페이지와 수정(EDIT)페이지가 같은 경우입니다.
게시판에 대해서 간단히 먼저 설명 후 추가 설명을 시작하겠습니다. 그 뒤에 종류에 대해서 설명하도록하겠습니다.
게시판은 먼저 목록(LIST)페이지가 있습니다. 목록(LIST)페이지는 등록한 글 목록을 보여줍니다.
다시 말하면 내가 쓴 글에 대한 제목들로 구성된 화면구성이 나옵니다.
목록(LIST)페이지는 보통 글번호와 글제목과 작성자와 등록일 등으로 구성되어 있습니다.
이부분은 게시판의 특성에 따라 달라지기 때문에 상황에 따라 달라질수 있다고 생각하시기 바랍니다.
두번째로 뷰(VIEW)페이지가 있습니다. 종종 리드(READ)페이지라고 하는 사람도 있습니다.
저는 뷰(VIEW)페이지로 이야기 하겠습니다. 뷰(VIEW)페이지는 목록(LIST)페이지에서 게시물을 선택하여 클릭하면 접근할 수 있으며 뷰페이지(VIEW)에는 고유적인 글번호가 존재합니다.
글 번호를 기준으로 뷰(VIEW)페이지 내용이 바뀌게 됩니다. 뷰(VIEW)페이지에 표시되는 내용은 글 등록할 때 등록한 내용들을 표현해줍니다.
세번째로 등록(REG)페이지가 있습니다. 등록(REG)페이지는 게시물의 특징에 따라 제목, 작성자, 등록일, 추가적인 내용으로 구성되어 있습니다. 게시판의 성격에 따라 추가적인 내용이 차이가 납니다.
보통 등록(REG)페이지와 수정(EDIT)페이지를 구분하는 경우가 많은데, 등록(REG)페이지와 수정(EDIT)페이지를 같이 이야기 하겠습니다. 등록(REG)페이지는 내용이 없는 상태에서 글내용을 저장하는 페이지이고, 수정(EDIT)페이지는 저장된 글내용을 불러온후 저장하는 페이지입니다. 결국 등록한 내용이 표시 되는 점만 다를뿐 등록(REG)페이지와 수정(EDIT)페이지는 비슷합니다.
[수정(EDIT)페이지는 등록한 내용이 나와야하기 때문에 해당게시물의 번호를 가지고 있어야 합니다. ]
이상 게시판의 간단한 설명이였습니다.
이제 개발자의 마인드로 게시판에 대해서 접근하도록하겠습니다.
다시 목록(LIST)페이지으로 돌아옵니다.
목록(LIST)페이지에서는 글제목들이 나열됩니다. 보통 5개 또는 10개가 나열이 되며 제목을 클릭하게 되면 해당 게시물의 번호를 가지고 해당 뷰(VIEW)페이지로 이동하게 됩니다. 뿐만 아니라 목록에는 몇가지 추가적인 기능이 필요합니다.
목록(LIST)페이지에서는 글검색이 가능해야합니다. 종종 없는 경우도 있지만 게시물이 많은 경우 글 검색하는 로직을 추가하여야합니다. 상황에 따라 구분값을 가지고 검색하기도 합니다. [EX ) 제목, 내용 , 제목 + 내용 ]
그 다음으로는 목록(LIST)페이지에는 페이징처리 부분이 필요합니다. 페이징처리란 글 목록 아래 나오는 번호들을 말합니다.
페이징번호는 해당페이지 번호를 말하며 페이지번호를 클릭시 해당 페이지로 이동하게 됩니다. 게시물이 5개씩 나오는 경우는 1페이지는 1~5번까지 보여지고, 2페이지는 6~10번까지 보여지고, 3페이지는 11~15번까지 보여집니다. 게시물이 10개씩 나오는 경우는 1페이지는 1~10번까지 보여지고, 2페이지는 11~20번까지 보여지고, 3페이지는 21~30번까지 보여지게 됩니다. 페이징에 필요한 정보는 전체게시물 개수, 페이지당 보여질 글개수, 현재페이지번호입니다. 먼저 전체게시물의 개수를 페이징당 보여질 글개수로 나눈 후(소수점을 버려줍니다.) 1을 더하면 전체페이지 개수가 됩니다. 예를 들어봅시다 게시물이 43개가 있고 페이지당 보여질 글개수는 10개라고 가정해봅니다. 43/10은 4.3이고 4+1을 하면 5가 됩니다. 즉 43개의 게시물이 있는 경우 5페이지까지 존재합니다.
[1페이지는 1~10, 2페이지는 11~20, 3페이지는 21~30, 4페이지는 31~40, 5페이지는 41~43으로 구성됩니다.]
현재페이지는 각 페이지에서 시작되는 시작번호를 알아내는데 꼭 필요한 정보입니다. 3페이진 경우 21~30번이 나와야하기 때문에 시작번호는 21이 됩니다. (현재페이지 -1 )에 페이지당 보여질 글개수를 곱한 후 1을 더해주면 현재페이지에서 시작하는 번호를 알 수 있습니다. 3페이지에서 (3-1) * 10 + 1 = 21이 됩니다. 그러므로 3페이지에서는 21부터 시작하면됩니다.
목록에서 또 필요한 것은 글제목을 눌렀을때 뷰페이지로 이동하는 기능과 글쓰기 버튼이 필요합니다.
글제목을 눌렀을 때는 글번호를 가지고 뷰페이지로 이동하면 되고 글쓰기버튼을 누를 경우 REG페이지로 이동하면됩니다.
목록은 이정도만 아시면 개발가능합니다.
이제 뷰(VIEW)페이지로 갑니다.
뷰(VIEW)페이지는 등록, 수정(REG) 페이지에서 등록수정한 내용을 보여줍니다. 그래서 내용을 보여주기 위한 번호(고유값)를 가지고 있으며, 뷰(VIEW)페이지에서는 등록한 내용을 잘 보여줍니다. (등록한 내용을 모두 보여줄 필요는 없습니다. 상황에 따라 정하시기 바랍니다. )
뷰(VIEW)페이지에서는 선택한 번호에 해당하는 내용이 잘 나오는지 확인하고 버튼들(수정, 삭제, 목록)만 확인하시면 됩니다.
수정버튼은 수정(REG)페이지로 해당게시물번호를 가지고 이동합니다. 삭제버튼은 해당게시물을 가지고 해당게시물정보를 삭제합니다. 목록버튼은 게시물로 이동하기전 목록(LIST)페이지로 이동합니다. 이동하기 전 목록(LIST)페이지로 이동하기 위해서는 현재페이지 번호를 목록으로 전달하여야합니다.
뷰(VIEW)페이지에서 종종 이전글, 다음글이 나오기도 합니다. 이부분은 게시판 성격에 따라 있어도 되고 없어도 됩니다.
이제 등록,수정(REG)페이지로 갑니다.
등록(REG)페이지에서는 게시물에 필요한 상황에 따라 필요한 값들을 입력합니다. 보통 글번호는 자동증가값으로 생성되며(중복되면 안됩니다.) 게시물 제목과 게시물내용, 작성자, 등록일 입력받습니다. 등록(REG)페이지에서는 필요한 입력값도 있지만 선택적으로 입력가능한 값이 있기 때문에 꼭 필요한 값인지, 선택적으로 필요한 값인지 구분하여 입력값이 제대로 입력되었는지 확인을 해야합니다. 이 확인은 저장(등록)버튼을 클릭했을때 저장(등록)하기 전에 입력값들을 확인하여 조건에 맞는지 확인하고 조건에 맞지 않다면 해당 입력값을 다시 입력하도록 안내하며 저장(등록)이 되지 않습니다.
등록(REG)페이지는 저장(등록)버튼과 목록버튼이 있습니다. 목록버튼은 뷰(VIEW)페이지와 마찬가지로 현재페이지값을 가지고 목록(LIST)페이지로 이동하여 글등록전에 보여졌던 페이지로 이동합니다. 저장(등록)버튼 클릭시에는 글내용이 저장되며 목록(LIST)페이지로 이동하여 1페이지가 표시됩니다. 수정(REG) 페이지는 경우 저장(등록)버튼이 수정페이지로 바뀌고 2가지가 다릅니다. 첫번째는 입력내용이 게시물번호를 가지고 알게된 정보가 자동입력되게 됩니다. 그 내용을 바탕으로 수정을 하시면됩니다. 두번째는 입력내용이 수정후 목록(LIST)리스트로 이동시 저장(등록)버튼과는 다르게 해당 게시물로 보이는 페이지로 이동하게 됩니다.
이상 게시판에 대해서 알아보았습니다.
추가적으로 궁금한전은 댓글로 달아주시면 자세하게 추가설명드리겠습니다.
마무리로 다시 확인사항을 다시 정리해보겠습니다.
게시판은 목록(LIST)페이지, 뷰(VIEW)페이지, 등록수정(REG)페이지로 구성됩니다.
목록(LIST)페이지는 목록내용이 잘나오는지 확인하고, 뷰(VIEW)페이지로 잘 이동하는지 확인하고, 검색이 잘되는지 확인하고, 페이징처리가 잘되는지 확인합니다. 또한 등록버튼 클릭시 등록(REG)페이지로 잘이동하는지도 확인합니다.
뷰(VIEW)페이지는 해당 게시물번호에 맞는 내용이 잘나오는지 확인합니다. 수정버튼 클릭시 수정(REG)페이지로 게시물번호를 가지고 이동하는지 확인하고, 삭제버튼클릭시 해당게시물이 지워지는지 확인하며, 목록버튼 클릭시 해당목록(LIST)페이지로 잘이동하는지도 확인합니다.
등록(REG)페이지는 등록인경우 입력값이 필수이며 입력값체크를 하며 저장이 잘되는지 확인합니다. 목록버튼클릭시 목록(L:IST)페이지로 1페이지로 이동하는지 확인합니다.
수정인경우 게시물내용이 입력칸에 잘 나오는지 확인하며 입력값체크를 하며 수정이 잘되는지 확인합니다. 목록버튼 클릭시 해당게시물에 있는 목록으로 이동하는지 확인합니다.
마지막으로 게시판의 종류에 대해서 설명하도록하겠습니다.
보통의 게시판은 목록(LIST)페이지, 뷰(VIEW)페이지, 등록(REG)페이지로 구성되어 있습니다.
하지만 게시판 성격에 따라 목록(LIST) 페이지만 존재하는 게시판, 목록(LIST)페이지와 뷰(VIEW)페이지로 구성된 게시판도 있습니다.
목록(LIST)페이지만 존재하는 게시판은 대표적으로 트위터 같은 SNS게시판, 간단한 내용만 보여주는 게시판(글제목만 있고 글내용이 없는 게시판)의 경우가 있습니다.
목록(LIST)페이지와 뷰(VIEW)페이지로 구성된 게시판은 공지사항, Q&A같은 게시판을 예를 들수 있습니다.
관리자만 목록(LIST)페이지, 뷰(VIEW)페이지, 등록(REG)페이지 모두 사용하지만, 일반 사용자는 목록(LIST)페이지와 뷰(VIEW)페이지만 사용하는 경우를 예를 들수 있습니다. 또한 회원으로 글을 등록하는 게시판의 경우도 마찬가지입니다.
회원으로 글을 쓰는 게시판은 로그인하지 않으면 목록(LIST)페이지와 뷰(VIEW)페이지만 이용가능하고 로그인을 하면 목록(LIST)페이지와 뷰(VIEW) 페이지와 등록(REG)페이지가 이용가능 하는 게시판의 경우가 이에 해당합니다.
이상입니다. 저장하는 부분은 다음에 디비 설명과 함께 다시 안내하도록하겠습니다.
긴글 읽어주셔서 감사합니다.
'컴퓨터 > 프로그래밍' 카테고리의 다른 글
프로그래밍 조언(잔소리) - 2 (0) | 2017.08.02 |
---|---|
프로그래밍 조언(잔소리) - 1 (0) | 2017.07.31 |
프로그램밍 기초 - 배열, 리스트 (0) | 2017.07.29 |
프로그래밍 기초 - 변수 (0) | 2017.07.21 |
프로그래머 개발 가이드, 팁 ( 초보 개발자를 위한 글 ) (0) | 2017.06.14 |