티스토리 뷰

반응형

※ 이 게시글은 ASP.NET에 관련하여 자주 업데이트 될 예정입니다.


.NET Framework

웹 서비스 및 기타 응용 프로그램의 작성, 배포 및 실행을 위한 환경을 의미한다. 

거의 모든 종류의 프로그램을 개발할 수 있도록 만들어진 크고 포괄적인 개발 프레임워크이다.

 

ASP.NET  :   응용 프로그램을 만들기 위해 특별히 설계된 .NET Framework의 한 부분




CLR (Common Language Runtime)공통 언어 런타임 

Framework 클래스 및 ASP.NET의 세 가지 주요 부분으로 구성되어지는 환경을 의미한다.

 .NET 타입들의 위치를 지정하고, 로드하고, 관리하는 역할을 담당한다. 자동으로 메모리를 관리해 주고, 언어를 통합할 수 있도록 하는 것이다.





CTS (Common Type System) 규칙

모든 타입들을 확실히 명세하고, 언어에 상관없이 타입을 공유하도록 함

: 언어는 문법의 차이만 있고, 내부적으로는 같은 타입을 사용하도록 한다 >.NET 프레임워크에서 제공하는 기반 클래스들을 가져다가 사용하는 것이다.

"컴파일" 과정이 있으므로 가능 (어떤 언어든지 컴파일 후엔 MSIL > dll , exe......로 변경됨)





CLS (Common Language Specification) :

      새로운 타입을 작성하고자 할 경우에, 그 기준이 되어주는 일종의 명세서

이 명세에 맞추면 여러 언어들이 닷넷을 지원하도록 제작 가능 (Python, Java 등..)





.aspx  파일과 .ascx 파일의 차이

 

(1) aspx : asp.net 의 확장자,  C # 코드를 포함하는 서버에서 생성 된 웹 페이지, 닷넷 시스템 위에서 동작하는 서버 스크립트

HTML + 서버 코드 가 완전히 분리되어 구동 (<-> asp는 HTML과 서버코드가 합쳐져서 하나의 페이지로 작동)

페이지 내의 스크립트는 웹 서버에서 처리되고, 생성된 HTML을 브라우저로 전송한다


(2) ascx : User Control (사용자 정의 컨트롤)

: ASP.NET 페이지의 일부를 컨트롤화 함. 작은 ASP.NET 페이지

코드 비하인드를 가질 수 있고, 스크립트와 HTML 요소를 포함할 수 있지만 <HTML>, <BODY>, <FORM> 태그는 가질 수 없음

여러 페이지에서 반복적으로 사용되는 독립 모듈을 위한 타입


ex) 풋터, 메뉴바, CopRight 문구 등 고정적인 것들...


>> 차이점 : ascx는 웹페이지의 일부이므로 "독립적인 실행은 불가능"하며, 호스트하는 웹페이지가 필요함




그냥 참고용 > asp랑 aspx 비교

 

 asp (Active Server Pages)

aspx 

 방식 (컴파일 유무)

인터프리터 방식

컴파일러 방식 

 기반 언어

VBScript / JScript 

닷넷 언어들 (C#, VB,  ... )

 구동 플랫폼

IIS 

IIS, .NetFramework 

 페이지 형태

하나의 ASP 페이지에 디자인과 제어 코드가 섞여 있음 (객체 지향 X) 

객체 지향형, 디자인과 코드가 분리된 MVC 패턴의 유사 형태

 관리

ASP.DLL

 ASP 페이지의 실행과 관리를 담당

C.L.R(Common Language Runtime)




인터프리터(Interpreter)

프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다. 

고급 언어를 즉시 실행시킬 수 있다는 장점을 가지며, 코드의 수정을 바로 테스트 해 볼 수 있어서 프로그램 개발 단계에서 종종 사용된다.


장점 : 컴파일 없이 큰 파일도 바로 실행 가능

단점 : 실행할 때마다 번역 필요 -> 인터프리터 필요. 효율성이 떨어짐



컴파일러(Compiler)

원시 언어에서 목적 언어로 바꾸는 작업을 하는 것을 말한다. 좀더 쉽게 말하면 A라는 언어에서 B라는 언어로 통역을 해주는 작업 또는 그 작업을 하는 것이다. 

프로그래밍에서는 주로 고급언어 -> (중간언어 ->) 기계어로 바꿔주는 것을 말한다.


장점 : 어떠한 환경에 구애받지 않고, 고급언어 + 컴파일러만 있으면 실행 가능

단점 : VM 을 거칠 경우, 속도가 느림(JAVA)


참고 http://tutankhamenkr.me/posts/9


.cs 파일

C# 소스의 기본 확장자. .NET Framework 위에서 동작







.cshtml

Razor 페이지에서 사용되는 확장자





Razor

ASP.NET MVC 3를 위한 새로운(? 2010년) 뷰 엔진. 클라이언트 컨텐츠에 서버 코드를 끼워넣는 방법 중 하나다.

클라이언트 컨텐츠 : HTML, CSS , Javascript, Text ....

 

- 페이지에 서버 코드 有 -> 브라우저에 페이지를 전송하기 전, 서버 코드 실행 -> 정적 HTML과 함께 전송

- 서버 코드는 클라이언트 컨텐츠를 동적으로 생성할 수 있고, 뷰 단에서 서버 코딩을 할 때에는 기존의 <%%> 가 아닌, @ 문자를 사용한다

- HTML 도우미 메서드(Helper)를 제공한다. ex) .LabelFor, .ValidationMessageFor .....


[그림 설명] 각각 하위의 것을 기반으로 실행된다.

출처 : http://i1.asp.net/umbraco-beta-media/2573127/Windows-Live-Writer_2--.

NET-Web-Programming-Using-the-Razor-_7D39_ch02_programmingintro-8_4.jpg





.NET MVC : 모델-뷰-컨트롤러 패턴으로 관심사(처리, 데이터, UI)를 분리시켜서 구현한다.

  separation of concerns (processing, data, and UI layers)





참고

http://www.taeyo.net/Columns/List.aspx?SEQ=6&IDX=0

http://taeyo.net/Columns/View.aspx?SEQ=442&PSEQ=35&IDX=1

http://blog.naver.com/PostView.nhn?blogId=julymorning4&logNo=100160097990

반응형
댓글