강좌를 시작하며
이번 강좌에서 다룰 내용은 (에디터가 아닌) VS.NET으로 게시판 만들기입니다.
글목록, 글보기, 글삭제, 글쓰기/수정 등 기본적인 기능을 제공하는 게시판입니다.
답변 기능이나 검색 기능은 없습니다. 구현이 복잡한 기능은 뺐고, 꼭 필요하다 싶은 기능만 넣었습니다. 이러 저러한 기능 보다는, VS.NET으로 게시판을 어떻게 만드는가, ASP 때와는 무엇이 달라지는가 같은 것들이 중요하리라 생각되었기 때문입니다.
주제는 VS.NET으로 게시판 만들기이고, VS.NET의 특징 이라 하면 아마도 Visual 한 작업 환경이 아닐까 합니다. 그리고 Visual 하다는 것은 직접 소스를 코딩하는 것이 아니라, 마우스로 드래그-드롭하고, 속성 창에서 몇가지 속성을 변경하고, 소스는 몇줄 입력하면 실행되는 그런 것이 아닐까 싶습니다.
실제로, VS.NET하에선 많은 작업들이 Visual 하게 이루어 집니다. 빠르게 개발하는 툴, 즉 RAD 툴이라 불릴수는 있을것 같습니다.
그런데 VS.NET이 쉬운 환경인가 ? 그것은 확답을 못하겠습니다. 비쥬얼 하다고 해서 다 쉬운게 아니더군요. 마우스로 이것저것 드래그-드롭
해놔봐야, 그걸 연결 시키고 필요한 설정을 하지 않는한 작동하지 않습니다.
개인적으론, VS.NET은 메모장(에디터) 환경보다 쉬운 환경이 아니라, 오히려 더 어려운 환경인것 같습니다. 메모장으로 코딩할때 알아야 했던 지식은 기본이고, 그에 더해 VS.NET의 사용법까지 익혀야 합니다.
VS.NET으로 프로그래밍 하는 것은, 에디터로 짜는 것과 많이 다릅니다. 물론, 에디터로 할때 처럼 짜도 됩니다만 이왕에 제공하는 것들이
있으니, 그것들을 이용하는 것이 낫겠고 그게 VS.NET 식이겠죠.
강좌에서 다루고 싶은 것이 그런 것들입니다. 게시판을 어떻게 'VS.NET식'으로 짤수 있을까 ? 그런 걸 다루려 합니다. 그래서,
-
가능한 VS.NET에서 제공하는 것들을 이용하고,
-
가능한 비주얼한 작업으로, 마우스 드래그-드롭으로 하고 코딩은 최소화하고,
-
그럭저럭 쓸만한(?) 기능/속도의 게시판이 되도록 하고,
-
가능한 기존 게시판의 UI에 가깝도록 해서, 기존 UI를 VS.NET으로 어떻게 구현하는지 보여주는
등등을 목표로 하였습니다.
주제가 여러 기능을 넣는것 보다는 Visual 한 환경의 사용법을 보여주는 것이기 때문에, Stored Procedure 나 컴포넌트는 사용하지 않았습니다. 그러나 실제로 사용하기 위해 작성할때는 Stored Procedure를 활용하고, 자주 쓰이는 것들은 컴포넌트에 정의해 놓는 것이 나을 겁니다.
VS.NET으로 하면서 느끼는 겁니다만, 같은걸 수많은 다른 방식으로 짤 수가 있습니다. 꼭 제 강좌대로 프로그래밍해야 되는 것은 아닙니다. 여러 예제중 하나로 보시고요, 여러분들도 나름대로의 방식으로 구현해 보시기 바랍니다.
강좌의 소스 및 테스트
이 강좌의 소스는 다음 링크로 다운로드할 수 있습니다.
zip 파일로 되어 있습니다. 다운로드 하신 후 setup.htm 파일을 보시고, 그에 따라 설정하세요. 소스는 강좌의 내용대로 만들어, 약간의
디자인을 넣은 것입니다.
강좌에서 만든 게시판은 다음 링크에서 테스트해보실수 있습니다.
테스트용 게시판이니, 질문하셔도 답변이 달리리라 기대하진 마세요. 그리고 얼마간 시일이 지난 후엔 링크가 안될 수 있습니다.
강좌의 내용은 제 홈페이지에서도 보실수 있으며, 문의 사항은 제 홈페이지 게시판에 남겨주시면 성의껏 답변드리겠습니다.
DB 테이블 만들기
이번 게시판에서는 MS-SQL 을 사용합니다. Access나 Oracle등의 DB라면, OLE-DB 를 사용해야 하는데요, DB관련 객체가
틀리고, 소스도 약간은 수정해야 합니다. 강좌는 MS-SQL에 맞춰져 있고, OLE-DB는 따로 설명드리지 않습니다.
게시판에 사용될 테이블을 만들고 시작합니다. Query Analyser를 열어, 원하는 DB에 접속하신후 다음 SQL 구문을 실행시켜서
테이블을 만듭니다.
create table cstVSBoard (
seq int identity (1, 1) not null primary key clustered,
writer varchar (20) not null ,
pwd varchar (20) not null ,
email varchar (100) null ,
title varchar (200) not null ,
writedate smalldatetime not null default (getdate()),
readed int not null default (0),
mode tinyint not null ,
content text null
)
Enterprise Manager에서 직접 만드시는 경우엔, seq를 Primary Key로 설정하는 것, writeDate, readed에
기본값 주는 것을 잊지 마세요.
테이블이름 cstVSBoard 는 cassatt Visual Studio Board 의 제맘대로의(?) 약자입니다.
각 필드를 설명하면 다음과 같습니다.
-
seq : 일련번호, 기본키. 각 글을 구분하는 번호입니다.
-
writer : 글쓴이
-
pwd : 비밀번호
-
email : 메일주소
-
title : 제목
-
writedate : 글쓴 일시
-
readed : 조회수
-
mode : 글의 형식( 0-TEXT, 1-HTML 태그 허용 )
-
content : 글의 내용
다음 강좌부터, 프로젝트를 만드는 것에서 부터 시작해서, 필요한 페이지를 하나하나 만들어가게 됩니다. 글쓰기 페이지부터 시작합니다.