login register Sysop! about ME  
qrcode
    최초 작성일 :    2008년 03월 17일
  최종 수정일 :    2008년 03월 18일
  작성자 :    taeyo
  편집자 :    Taeyo(김 태영)
  읽음수 :    40,056

강좌 목록으로 돌아가기

필자의 잡담~

이번 강좌는 왜 이리 늦게 올라왔냐구요? 아무도 Talk 게시판에 응원을 안 해 주셨잖아욧! 흥!

이전 강좌에 대한 변명(?)

이전 강좌의 피드백 중에는 "강좌의 내용이 너무 짧았다. 좀 더 상세하고 속 시원하게 말을 해주면 좋았을 것 같다"는 내용이 있었습니다만, 그 부분은 제가 확신을 가지고 말씀 드릴 수 있는 부분이 아니기 때문에 비교만을 해드린 것입니다. 더불어, Page 컨트롤러와 Front 컨트롤러의 차이나 장, 단점의 비교를 보다 구체적으로 해 주었으면 좋겠다는 의견도 있었습니다만, 이는 상당히 많은 이야기가 수반되어야 하기에 제 강좌에서는 설명을 생략(?)하고 관심이 있는 개발자들이 스스로 학습하시도록 방관(?)한 것이 사실입니다. ^^ 죄송합니다.

사실, 웹 폼은 웹 폼만의 많은 장점을 가지고 있고(아이러니하게도 MVC가 지원되니깐 오히려 웹 폼의 장점이 더 눈에 잘 보이더군요), 장기간 동안 시장에서 사용되어 온 기술이기에 사용층도 폭도 매우 넓습니다. 그렇기에, MVC 프레임워크가 등장한 이후에도 많은 프로젝트들은 웹 폼 기반으로 이루어질 것으로 보입니다. 아직까지도 ASP 기술이 사용되고 있듯이, 기존 ASP.NET의 웹 폼 모델도 차후 오랫동안 꾸준히 사용될 것임이 자명하기 때문입니다. Microsoft가 웹 폼 모델도 꾸준히 업데이트하고 지원할 것이라고 말했듯이, MVC 모델은 기존 웹 폼 모델을 대체하기 위한 것이 아닌 병행적으로, 선택적으로 사용할 수 있는 개발 방법이기 때문입니다.

그런 상황에서 제가 MVC가 새로 지원되는 기술이라는 이유로 강조해서 설명을 드리게 되면 혹시 몇몇 분들은 혹~해서 지나치게 MVC 기술에 대해 긍정적인 선입견을 갖게 될 수도 있기 때문에 저는 조심스럽게 말씀드릴 수 밖에 없습니다. 그 어떤 것이 절대적으로 좋은 것이 아니라, 상황과 환경, 시나리오에 따라 선택적으로 채택할 수 있는 기술이기 때문인 것이죠.

A 경우에는 MVC가 B 경우에는 웹 폼이 좋다고 누구도 장담할 수 없을 것입니다. 그것은 다양한 환경적인 요소들에 의해 선택적으로 채택될 수 있는 것이기 때문입니다. MVC가 쿨하게 보이는 기술이기는 하지만 그것이 만능해답인 것은 아닙니다. 고로, 지금은 강좌를 통해서 단지 이 기술이 어떤 즐거움을 우리에게 선사할 것인지 정도를 느껴보시는 것으로 충분합니다. 어느 정도 익숙해지고 난 다음에서야 우리는 본격적으로 진지한 토론을 할 수 있을테니까요. 겉모습만을 살펴본 상태에서 침을 튀겨가며 무언가에 대해 섣부른 판단을 하는 것은 바람직하지 않습니다. 사람들이 겉만 보고 태오를 평가했다면, 아마도 저는 지금 개발자가 아닌 연예인이 되어 장동건과 쌍벽을 이루고 있을지도 모를 노릇이지만, 저는 개발자를 하고 있지 않습니까? (응? 브라우저는 왜 닫으시려는 것이어요? 네? 왜???)

ASP.NET MVC 개발환경 구성하기

자. 그렇다면, 이제 간단한 샘플 애플리케이션을 통해서 모델을 구성하고 개발하는 방법을 시작으로 MVC 각각의 단계를 파고들어 보도록 하겠습니다. 당장 소스 그대로 가져다 써먹을만한 실용적인 샘플을 다루는 것을 원하시는 분들도 있겠습니다만, 그렇게 하면 MVC에 대한 설명보다는 오히려 그 복잡한 구성에 대한 설명으로 강좌의 목적이 방향을 잃을 수 있기에, 예제는 간단한 것으로 진행하려는 것입니다. 진짭니다. 진짠데… (태오 쉿! 더 말하면, 진짜 티나!)

우선, MVC 애플리케이션을 작성하기 위한 사전 준비가 필요한데요. 아시다시피, 현재는 이를 편하게 개발하려면 Visual Studio 2008이 필요합니다. 물론, 그러한 훌륭한 도구없이 메모장에서 개발을 할 수도 있겠습니다만, 그렇게 하려면 너무 많은 준비가 필요하기에 저는 VS 2008 기준으로 작성하도록 할까 합니다.

VS 2008이 준비되신 분들은 이어서 계속 따라해 주시면 감사하겠고요. 도구가 없으신 분은 일단은 눈으로라도 따라해 봐 주시면 또한 감사하겠습니다.

자. 그럼 시작해 볼까요? 고고싱!

이라고 외치자마자 기운을 꺾어서 죄송합니다만, VS 2008 도구가 준비되었다고 바로 ASP.NET MVC 애플리케이션을 작성할 수 있는 것은 아닙니다. ^^; 현재 ASP.NET MVC는 preview 인 상태이기 때문에 , 이를 개발할 수 있게 돕는 별도의 설치파일을 다운로드 하셔서 설치하셔야 합니다. 그러니깐, 아직 ASP.NET MVC는 정식버전은 아니라는 것이죠(2008년 말 즈음 정식 버전이 나올 것으로 예상됩니다). 어쩌면 여러분이 이 강좌를 읽고 있는 시점에서는 설치 파일의 Beta 버전이 나왔을 수도 있습니다. 여러분은 현재 시점에서 최신의 ASP.NET MVC 설치파일을 다운로드 하셔서 설치하시기 바랍니다. ^^

http://www.asp.net/downloads/3.5-extensions/

설치하셨다면, 이제 본격적으로 시작을 해보도록 하겠습니다.

자. 이제 VS 2008을 실행하시고요. 다음과 같이 C# 언어에서 Web 프로젝트 중 ASP.NET MVC Web Application을 선택하세요. 창 중간에 있는 설명에 (Preview)가 확실히 맞는지 확인하시기 바랍니다.

제 VS 2008의 경우는 여러분의 화면보다 조금 복잡하게 보일 수도 있는데요. 이는 저의 경우는 기존 preview 버전도 설치가 되어 있기 때문에 프로젝트 템플릿이 살짝 꼬여있어서 그렇습니다. 그리고, 추가적으로 저의 경우는 VS 2008 한글판을 사용하고 있는데요(세미나 준비 때문에 어쩔 수 없이). 한글판을 사용하는 경우에는 ASP.NET MVC를 설치하더라도 [새 프로젝트] 창에 위의 그림과 같이 ASP.NET MVC Web Application이 나타나지 않을 수 있습니다. 현재 ASP.NET MVC는 영문 버전의 VS 2008만을 올바로 지원하기 때문이지요. 만일, 여러분이 한글판 VS 2008을 사용하고 있다면 다음의 글을 참고하셔서 ASP.NET MVC 설치 후 약간의 세팅을 하셔야 합니다. ^^ (그래서, 태오는 가급적 영문 VS 2008을 사용하실 것은 개인적으로 추천합니다). 하셔야 할 세팅은 태오 사이트의 Knowhow 게시판에 나와있습니다. 다음 링크를 참고하세요

http://taeyo.net/forum/Content.aspx?SEQ=1317&TBL=KNOWHOW

자. 이제 프로젝트를 생성하였다면, 다음과 같은 구조의 프로젝트를 보실 수 있을 것입니다. 저의 경우는 프로젝트 명이 MvcApplication2로 되었는데요. 여러분은 원하시는 프로젝트 명을 사용해도 무방하며, 아무런 변경을 하지 않았다면 아마도 MvcApplication1 이실 겁니다. ^^

프로젝트 구조를 보시면 MVC 답게, Model과 Controller, View가 각각의 폴더로 존재하는 것을 확인하실 수 있습니다. 각각의 폴더에 각각의 모듈을 작성하시면 됩니다. 직관적이죠?

여기서, 다시 한번 강조하고 넘어갈 부분은 MVC 애플리케이션은 기존의 웹 애플리케이션과는 달리 웹으로 통한 요청이 물리적인 aspx 파일에 "직접적으로" 도달하지 않는다는 것입니다. 기존 웹 애플리케이션은 aspx 페이지 단위로 화면을 만들고 그 페이지가 요청의 종점이었지만(예를 들면, http://taeyo.net/board/list.aspx와 같은 식으로 요청을 하죠), MVC 모델에서는 aspx가 실제적인 요청의 종점이 아니라는 것입니다. Aspx는 일종의 뷰 템플릿으로서 사용되며, 요청의 종점 즉, 최종 화면은 URL에 지정된 명령(?)에 따라 컨트롤러에 의해서 결정되게 됩니다. 해서, MVC 모델에서의 URL은 http://taeyo.net/Board/List 와 같은 식으로 구성이 됩니다. 이와 관계된 자세한 내용은 이어지는 강좌(아마도, URL Mapping 강좌)에서 보다 구체적으로 다룰 예정이니 그 때 다시 설명드리도록 하겠습니다.

지금은 저 각각의 폴더들이 각각의 MVC 모듈을 배치하기 위해서 존재한다는 것만을 기억하시면 됩니다.
폴더 구조와 실제 URL 경로와는 아무런 상관관계가 없다는 것 정도만을 알고 계시면 된다는 것이죠 ^^

그럼 이제 Model을 실제로 작성하는 것을 시작으로 하여 예제를 시작해 보도록 하겠습니다.
아시죠? 그 내용은 다음 강좌라는 거~


authored by

  goni0607
  2009-09-08(17:54)
캐릭 이미지
네~ 감사합니다~
  parkdex
  2017-08-22(17:00)
캐릭 이미지
대학 졸업후 여기저기 방황(?)하다 뒤늦게 개발자의 세계로 입문한 햇병아리 입니다
asp.net mvc5로 개발을 해야하는 곳인데... 따라가기 위해 신나게 강의 보고 있습니다
감사합니다


 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})