login register Sysop! about ME  
qrcode
    최초 작성일 :    2002년 03월 26일
  최종 수정일 :    2002년 03월 26일
  작성자 :    taeyo
  편집자 :    Taeyo (김 태영)
  읽음수 :    162,462

강좌 목록으로 돌아가기

필자의 잡담~

태오의 ASP.NET 연재 강좌가 시작됩니다. 강좌는 한주일에 2번을 올릴 예정으로 작성하고 있습니다. 그리고, 일단 저도 경축해 봅니다. 한글 Visual Studio.NET 의 탄생을 말입니다... 한글!!! -_-+

.NET 이라는 새로운 혁명

여러분이 ASP(Active Server Pages : 이하 ASP) 라는 기술을 이전에 만나본 적이 있는 웹 프로그래머이거나, 혹은 윈도우즈 프로그래머라면, 아니 심지어는 Microsoft 기반 기술에 이제 막 관심을 가지기 시작한 초보자일지라 하더라도 .NET이라는 말은 근간에 적어도 한번 이상씩은 들어보았을 것이다.(물론 들어 보지 못했다 하더라도 그것으로 창피함을 느낄 이유는 전혀 없다.)

.NET!! 그것이 명확히 무엇인지는 모른다고 하더라도 마이크로소프트가 다시금 뭔가 대단한 것을 꺼내놓았다는 것은 짐작 할 수 있을 것이다. 그렇다. .NET은 일종의 새로운 혁명이며, 마이크로소프트가 제시하는 새로운 세상이다. 태오가 간만에 새로운 강좌를 진행한다고 해서 조금은 거창하게 .NET을 표현한다고 생각할 수도 있지만, 그만큼 .NET은 기존의 마이크로소프트 기술들을 전체적으로 새롭게 정리한 기술이라고 볼 수 있을만한 새로운 개념이다.

그렇지만 .NET 이라는 새로운 환경이 걱정할 만큼 그리 이해하기 어려운 것은 아니다. 단지, 그 동안 우리가 봐왔던 모습과 조금 많이 다를 뿐이다. 그래서, 달리 생각하면 오히려 재미있을 수도 있다. 게임으로 본다면 2D의 세상에서 마치 3D의 세상으로 올라선 그러한 새로운 기분과 비교할 수 있을지도 모른다.

ASP.NET이 세상에 처음 자신의 존재를 드러낸 것은 1999년 워싱턴 DC에서의 Wrox 회의였다. 혁명이라는 환호성을 얻으며 등장한 ASP.NET은 앞으로의 웹 프로그래밍 세계에 엄청난 변화를 있을 것이라는 기대를 주기에 충분하였다.(사실, 태오가 그 자리에 있었던 것은 아니다)

그 이후, 2000년 7월 PDC에서 공식적인 첫 출시를 한 ASP.NET은 실로 이제는 새로운 세계에 우리가 이르러 있음을 느끼게 하였으며, 전 세계의 많은 이들로 하여금 .NET의 정식버전이 출시되기도 전에 이를 알고자 하는 열병을 앓게 하였다. 베타 버전부터 사람들의 관심이 집중되어 베타 버전용 .NET 책이 출시되는가 하면, 많은 .NET 세미나들이 앞다투어 열리기도 하였다.

.NET의 완전한 모습이 갖추어지기도 전부터 이렇듯 활발하게 이루어진 새로운 지식에 대한 갈망은 1년 못 되는 베타 기간 중에 잠시 시들해지기도 하였으나, 이제 .NET의 완전한 모습이 공개되자 다시금 그 동안 움츠려 들었던 개발자들이 .NET을 향한 돌진을 시작하고 있다. 그리고, 여러분도 이 순간 이미 그러한 흐름에 가세한 것이다.

강좌를 읽을 준비가 되어있는가?

이 강좌는 물론, 독자 여러분들이 ASP에 대한 약간의 지식이 있으리라는 기대 하에서 쓰여지고 있다. 물론, 그 약간의 지식이라는 기분은 모호하다. 필자는 여러분들이 적어도 데이터베이스를 연동하는 방명록 정도는 만들 수 있다는 가정을 하고 이 강좌를 진행하려 한다. 그렇다면, 적어도 여러분들이 HTML 이나 클라이언트 스크립트(Javascript, VBScript) 또한 어느 정도 구사할 수 있을 것이라는 기대도 가지고 글을 집필하고 있다고 생각하면 아주 정확한 생각인 것이다.

만일, 이 강좌에서 이해할 수 없는 HTML 태그나 스크립트가 나온다면 이들에 대해서는 관련 서적을 통해서 심화학습을 반드시 해 주기를 기대해 본다. 만일, 그 들에 대한 지식까지 이 강좌에서 거론한다면 이 책에서 정작 해야 할 이야기는 꺼내지도 못하게 될 것이고, ASP.NET 강좌가 아닌 HTML 혹은 스크립트 강좌가 될지도 모르겠다. 설마 여러분이 그것을 원하는 것은 아닐것이다.

마음 가짐은?

여러분은 .NET의 여러 기술 중에서도 ASP.NET 에 많은 궁금함을 가지고 이 강좌를 접한 것이리라. 하지만, 여러분들로 하여금 부디 조금은 마음을 가라앉힌 상태에서 .NET 이라는 기술을 접하게 하기 위하여 때오는 이러한 말을 먼저 하고 싶다.

"ASP를 스스로 어느 정도 한다고 생각한다면 일단, ASP 때의 모든 기억을 가급적 잠시 지우도록 하라."

물론, ASP를 알고 있다는 사실은 ASP.NET을 공부함에 있어 사실상 상당한 도움이 되지만, 적어도 ASP.NET을 처음 공부하려 하는 지금은 아니다. 지금은 겸손한 자세로, 나는 아무 것도 알지 못한다는 자세로 ASP.NET을 접하려고 노력할 필요가 있다. 그렇지 않으면 여러분은 ASP.NET을 공부하고도 여전히 한동안은 ASP 식으로 프로그래밍을 하게 될 런지도 모른다.

필자는 처음 객체지향 프로그래밍을 배울 때 선배(?)로부터 이러한 말을 들은 적이 있다.

"네가 C(언어)를 차라리 모르고 있다면, 객체지향 프로그래밍은 더욱 배우기 쉬울 수 있다. 미리 그 어떠한 선입견도 갖지 않을 것이고, 의심이 없는 자세로 모두를 흡수할 것이니 말이다."

이 말을 나는 이 책을 읽는 독자들에게 그대로 전해주고 싶다.

"ASP를 차라리 모르고 있다면 ASP.NET을 공부하기가 더 쉬울 수 있다. 그렇다면 의심하지 않고, 어떠한 선입견도 없이 모든 내용을 그냥 받아들이려고만 노력할 것이기 때문이다."

언제나 그렇지만, 프로그래밍에서 가장 무서운 적은 "어설프게 알고 있는 것"과 "자만"이다.

프로그래밍 언어는?

이 책은 ASP.NET의 기초부터 여러분이 활용할 수 있을만한 예제까지를 다루는 서적이 되고자 하지만, 그렇다고 오로지 ASP.NET 만을 이야기할 수는 없다. 왜냐하면 ASP.NET은 사실 .NET 프레임워크 전체의 일부일 뿐이며 .NET의 기본적인 구조를 이해하지 못하고서는 ASP.NET도 이해할 수 없기 때문이다.

고로, 여러분은 이 책과 함께 .NET 프레임워크에 대해서도 일부 지식을 채워야 할 것이며, 사실상 ASP.NET을 위한 필수 언어인 Visual C#.NET(이하 C#) 혹은 Visual Basic.NET(이하 VB.NET) 등의 언어에 대해서도 병행된 공부를 해주어야 할 것이다. 여러분이 ASP를 이전에 공부해 보았다면 ASP를 작성하는 실제 코드는 대부분 VBScript 이었음을 알 것이다. 그리고, 그 코드의 결과를 브라우저에 표현해주는 것이 (대부분의 경우) HTML 이었음도 알 것이다. 이는 ASP.NET에 들어서도 크게 달라지지 않는다. 단지, ASP.NET을 작성하는 실제코드는 사실상 C# 이나 VB.NET 혹은 기타 .NET 언어들이 될 것이며, 여전히 그 언어에 의한 결과물을 사용자 브라우저에 표현하는 것은 HTML이 주를 이룰 것이다. 고로, 좀 더 수준이 있는 ASP.NET 어플리케이션을 개발하기 위해서는 적어도 하나 이상의 .NET 언어를 깊게 공부해 주어야 한다. 필자는 개인적으로 배우기 그다지 어렵지 않은(하고자 하는 열의만 있다면) 새로운 언어인 C#을 추천하지만, 그것은 지극히 개발자의 주관적인 취향에 따라 결정될 사항이며, 어떠한 언어를 선택한다고 해도 .NET을 지원하는 언어를 선택한다면 ASP.NET을 더욱 재미있게 즐길 수 있을 것이라 믿는다.

물론, 이 책을 따라함에 있어서 여러분이 C# 이나 VB.NET, .NET 프레임워크에 대한 지식을 모두 꿰고 있을 필요까지는 없지만, 만일 이들에 대한 지식을 어느 정도 갖추면서 이 책을 같이 해 나간다면 더욱 이해하기가 수월할 것이며, 한층 더 ASP.NET을 재미있게 배울 수 있으리라 기대한다.

ASP.NET을 시작하기 위해 필요한 것은?

ASP.NET이 구동될 수 있는 환경이 무엇보다 먼저 필요할 것이다. 여러분은 가장 먼저 OS를 신경쓸 것임에 틀림이 없다. 태오는 개인적으로 Windows 2000 서버군과 Windows XP, Windows.NET 정도만을 추천한다. 물론, Windows 98이나 기타 OS도 .NET 프레임워크를 설치할 수 있다면 똑같은 방식으로 사용가능하다.

그러나, 언제나 공부하기에, 개발하기에 추천 환경이라는 것은 있는 것이고, 그 추천은 다분히 경험 기반적인 조언이니 따르는 것이 여러분들에게 좋을 것이라 말해두고 싶다.

그리고, 솔직히는 Visual Studio.NET 이 필요하다. 물론, 이 도구가 없이도 개발을 할 수가 없는 것은 아니다. .NET은 기존의 Visual Basic 이나 Visual C++ 처럼 반드시 개발도구가 있어야만 개발할 수 있다는 제한을 풀어버렸다. 단지 여러분은 .NET 프레임워크만을 여러분의 OS 위에 설치하면 되고, 소스는 일반 에디터들로 충분히 코딩할 수 있다. .NET 프레임워크는 무료로 제공되어지고 있으며, 그 안에는 컴파일러와 여러 유틸들이 포함되어져 있어 개발할 수 있는 환경을 제공해 준다.

.NET 프레임워크 SDK 를 다운로드 받을 수 있는 경로는 다음과 같다. 하지만, 이 경로는 변경될 수 있다.

Download .NET Framework SDK (MSDN Link)

그러나, 사실 프레임워크만을 설치하고, 메모장과 같은 에디터로 개발을 한다는 것은, 상당한 무리임에는 틀림이 없다. 개발을 할 수는 있겠지만, 효과적인 개발은 어려울 것이고, 제대로 공부하기에도 엄청난 무리가 따른다. 부산까지 가는 방법에 있어, 걸어갈 수도 있겠지만 차를 타고 가능 방법도 있다. 만일, 우리가 개발을 몇년정도는 할 생각을 한다면, 선택의 여지는 더욱 Visual Studio.NET으로 좁혀진다.

물론, 태오가 이러한 추천으로 인해 MS로부터 VS.NET을 하나 선물받는다거나 하는 일은 없다. 물론, 이 강좌 이후에 혹시 준다면 감사하게 받을 수도 있기는 하지만, 설마 그럴리가 있겠는가....  -_-+

그러나 기쁜 소식은 Visual Studio.NET 한글판 정식버전을 공짜로 요즘 나눠준다는 사실이다. 단지, 60일 제한이라는 꼬리가 붙기는 하지만, 가난한 개발자들은 vs.Net을 한번 재미있게 두달동안 공부해 볼 좋은 기회이다. 정보문화사의 서적등 출판사에서 출간된 .NET 관련서적을 구입하면 그 안에 들어있기도 하거니와, 세미나등을 잘 참석하면 무료로 받을 수도 있다.

이 강좌 또한 Visual Studio.NET 을 사용하여 프로그래밍을 해 나갈 것이다.

ASP.NET 개념 맛보기

중요한 사실은 ASP.NET은 프로그래밍 언어가 아니라는 것이다. 그것은 단지 웹상에서 어플리케이션을 구동할 수 있게 해주는 환경일 뿐이다. ASP가 서버 스크립트가 아닌 서버상의 동적인 페이지 기술이었던 것처럼 ASP.NET 도 마찬가지이다.

  ASP는 개념적인 기술이다!!

ASP를 서버 사이드 스크립트라고 말하는 사람이 많은데 절대 그렇지 않다. ASP는 단지 기술일 뿐이다. ASP는 개념적인 것이며, ASP 를 나타내기 위해 여러 서버 스크립트들과 컴포넌트들을 사용해 왔던 것이다.

다시 말하자면, ASP 에서는 주로 VBScript를 서버 사이드 스크립트로써 사용하여 ASP 페이지를 꾸미고는 하였을 것이다. ASP.NET 에서는 이제 VBScript가 아닌 좀 더 강력한 컴파일 언어(.NET 언어) Visual C#.NET, Visual Basic.NET, Visual C++.NET, Java.NET(아마도) 등등을 사용하게 된다.(인터프리트 언어인 VBScript나 Jscript는 지원되지 않는다. 확실하게 미련을 버려라.)

이제는 .NET을 지원하고, 중간언어인 MSIL을 생성할 수 있는 컴파일 언어라면 어떤 언어이던지 사용할 수가 있게 되었으며, 뿐만 아니라 여러 언어를 교차적으로 사용할 수도 있다.

참고 : 그러나, 하나의 ASP.NET 페이지에서는 하나의 .NET 언어만을 사용할 수 있다는 것 또한 기억하자.

ASP.DLL 이 여러분의 ASP 페이지의 실행과 관리를 담당해 주었었던 것처럼 ASP.NET 에서는 .NET 프레임워크의 주(主)라고 볼 수 있는 C.L.R(Common Language Runtime) 이 보다 나은 방법으로 메모리를 관리하고, 나은 수행성과 보안성을 제공해 준다. 여러분은 C.L.R 의 내부에 대해서 깊이 알지 않아도 안정적인 새로운 개발환경을 마음껏 사용할 수 있다. (물론, C.L.R의 내부에 대해서 이해하고 있다면 개발에 더욱 도움이 되기는 할 것이다. 만일, 고급 프로그래밍으로 들어가고자 한다면 C.L.R의 이해는 필수라고 볼 수 있다)

하지만, 여러분이 관심이 아주 많이 생기지 않는 한 아직은  C.L.R 에 대해서는 대략적으로만 이해해도 충분할 것이다. 만일, 초급 프로그래머라면 C.L.R 에 대해서 구체적인 이야기를 듣는 그 순간 프로그래밍 자체가 피곤한 것이구나라고 느낄지도 모르겠고, 프로그래밍을 하면 로보트 태권브이같은 것도 만들 수 있나보다라는 말도 안되는 기대를 할런지도 모르겠다. 물론, 언젠가~~~라면 못 만들것도 없겠지만 말이다.

강좌와는 무관한  Behind Sroty !!!!

태오는 대학시절 합기도를 배웠었다. 검은띠까지 딸 정도로 열심히 다녔었는데(순수 자비로 말이다) 어느날인가, 조금은 말이 없고, 사교성이 없어보이는 나이들은 한 청년이 입관을 해서는... 정말로 열심히 운동을 하는 것이었다. 지나칠 정도로 열심히 하는 그 친구를 보고서는 경쟁심에 평소보다 태오도 조금은 더 열심히 운동을 하던 어느 날...  그 친구가 뭔가 너무나도 궁금한 것이 있다는 표정으로 (조금은 불만도 있어보이는 표정과 함께) 사범님께 조용히 한마디를 건넸다.

과묵한 친구 : "저... 그런데, 하늘을 날고, 나무 사이를 점프해서 뛰어다니는 것은 언제 배우나요?"
나머지 모두들 : "?? !!! ..............."
사범님 : "??? !!!! ... 에..에.  그것은 미안하지만... 여기서는 배울 수가 없을것 같은데...."

그 날 이후로 그 친구를 도장에서 다시는 볼 수 없었다.

 ASP.NET 에서는 여러분이 어떠한 .NET 언어든지 사용할 수 있다는 것을 알고 있을 것이다. 못 모르고 있었다면 진짜로 그렇다는 것을 이 시점에서 기억했으면 한다. 이러한 .NET 언어는 앞으로도 계속적으로 늘어날 것으로 기대되며, 여러분도 능력이 된다면 새로운 .NET 언어를 제작할 수도 있을 것이다. 그렇다면 그러한 .NET 언어들이 지켜야만 하는 어떠한 규약같은 것이 분명 있을 것이라는 생각이 들 것이다. 물론이다. 아무렇게나 언어를 만들면 그 언어가 .NET에서 동작할 수 있을 리가 없다. 해서 그러한 기술명세를 마이크로소프트가 제시하고 있는데, 그것을 Common Langauge specification 이라고 한다.

현재 .NET에서 사용할 수 있는 .NET 버전의 언어로는 C#, J#, C++, Python, Cobol, Java 등등 약 20여개 이상의 언어가 제공되고 있다. 또한, 이러한 언어들은 기존에 존재했던 언어들 모두를 포함하여 계속적으로 늘어날 것으로기대된다.

이러한 이야기를 지금 왜 하는가?

그것은 여러분이 ASP.NET을 공부하기 위해서는 .NET 이라는 것에 대해서 개략적으로는 이해를 해야 한다는 것을 이야기하고 싶어서이다. .NET에 대한 기반이 전혀없이 ASP.NET 프로그래밍을 할 수도 있지만, 그럴 경우 나중에 이해가 안되어서 골머리를 끌어안고, 그제서야 .NET을 공부하려 할 수 있다.

기본 개념을 이해하는 것은 모든 일의 기본이다. 맘이 급하다고 기본 개념을 이해하지 않고 넘어가면 결과적으로는 남들보다 뒤쳐지게 되거나, 기본을 무시한 댓가로 훨씬 더 많은 노력을 해야만 한다.

자. 그렇다면 이제 알아보자. .NET이라는 것과 ASP.NET을 위한 .NET의 프레임워크에 대해서 말이다.

언제???  (히죽) 알믄서~~~~  ^_____^


authored by

  eklim4254
  2013-02-14(15:14)
캐릭 이미지
기억이 나느건 합기도 청년뿐인가...ㅋㅋㅋ
  khg922
  2017-04-10(17:20)
캐릭 이미지
안녕하세요.
문의 할게 있습니다. 질문하는 메뉴를 찾지를 못해서 여기에 올리게 되어 죄송합니다
비주얼스튜디오 2010( aps.net ) , iis (.net 4.0) 빌더 성공 후 화면 메뉴 클릭하면
아래 처럼 오류가 나와서요.

'mscorlib, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b77a5c561934e089' 어셈블리에
서 'System.Runtime.CompilerServices.ExtensionAttribute' 형식을 로드할 수 없습니
다.

  bluesguy
  2017-04-12(14:10)
빌드 옵션에서 x86 과 anycpu를 확인해서 같은 옵션으로 설정하고 빌드해보세요.
  tjds0ry
  2019-06-03(13:21)
캐릭 이미지
감사합니다~
KEY : .NET이 지원하는 언어는 여러가지지만, 하나의 ASP.NET페이지에는 하나의 ASP.NET
언어만을 사용할 수 있다.


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

로딩 중입니다...

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