.NET 프레임워크 개요.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

프로그램이란 프로그램 생성 과정 프로젝트 생성 프로그램 실행 컴퓨터를 사용하는 이유는 무엇인가 ? – 주어진 문제를 쉽고, 빠르게 해결하기 위해서 사용한다. 컴퓨터를 사용한다는 것은 ? – 컴퓨터에 설치 혹은 저장된 프로그램을 사용하는 것이다. 문제를 해결하기 위한.
제 11 장 프로그래밍 언어. 2/24 목차 1. 프로그래밍 언어 2. 주요 프로그래밍 언어 3. 제 4 세대 언어 4. 객체지향 언어 5. UNIX/Linux 기반 언어들 6. 닷넷 기반 언어 제 11 장 프로그래밍 언어.
KUMHO SOFTWARE DEVELOPMENT 자바 개발 환경 2.2 자바 통합환경 2.3 자바 응용 프로그램과 애플릿 프로그램 2.4 자바 응용 프로그램 2.5 자바 애플릿 프로그램 2. 자바 환경과 자바 프로그램.
.Net History. Visual Studio.Net 2002 /.Net Framework 1.0 제품의 버전 / 특징 2002 년 - Visual Studio.Net 2002 /.Net Framework 1.0 첫 통합 개발 환경 - C# 언어 등장 (C# 1.0)
컴퓨터와 인터넷.
Chapter1 : 자바 소개 1.1 자바(JAVA) 언어의 역사 1.2 프로그래밍 언어 : 자바 1.3 플랫폼 : 자바
컴퓨터 운영체제의 역사 손용범.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Security Solutions (S/W) - Fortify
제1장 C#의 기초 1.1 .NET Framwork 1.2 .NET Environment 1.3 C# 소개.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Windows Server 장. Windows Server 2008 개요.
1장. 이것이 C 언어다.. 1장. 이것이 C 언어다. 프로그래밍 언어 1-1 C 언어의 개론적 이야기 한글, 엑셀, 게임 등의 프로그램을 만들 때 사용하는 언어 ‘컴퓨터 프로그래머’라는 사람들이 제작 C 언어(C++ 포함)를 가장 많이 사용함.
3조 오세혁 김문환 김용현.
Power Java 제2장 자바 개발 도구.
C 언어 1 1주차 C언어 시작하기 - 1차시 C 언어 특징 및 프로젝트 생성 Programming Language.
1장 C#의 배경.
시스템집적반도체 설계 검증 환경과 기법 Ch 7.
JSP Programming with a Workbook
Java 기초 (Java JDK 설치 및 환경설정)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Visual Basic .NET 처음 사용하기.
1. C++ 시작하기.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Chapter 03 : 서블릿 ( Servlet ) 개요. chapter 03 : 서블릿 ( Servlet ) 개요.
Visual C++ Programming
Program Language 환경공학과 천대길.
Wireless Java Programming
AVR – ATmega103(ATMEL) Compilers & ISP
Method & library.
C# 12장. 웹 응용 프로그램 제작.
Spring 프레임워크의 이해 2. Spring Introduction.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
컴퓨터소프트웨어설계및실험 년 1학기 실험계획 -.
제 1장. C++ 시작하기.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
자바 5.0 프로그래밍.
LabVIEW WiznTec 주임 박명대 1.
Part 1 개요 Chapter 1 : 컴퓨터와 프로그램 그리고 자바 Chapter 2 : 자바의 환경
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
( Windows Service Application Debugging )
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
STS 에서 웹 서버 설치 방법.
암호학 응용 Applied cryptography
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Spring Introduction.
Chapter 01 자바의 개요 자바는 최초 전자기기의 내장형 소프트웨어를 위해 개발되었으나, 최근 엔터프라이즈 응용에도 폭 넓게 활용됨 자바의 특징과 실행방법, 개발 환경 및 도구에 대해 소개.
발표자 : 이지연 Programming Systems Lab.
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
1장 C 언어의 개요 C 언어의 역사와 기원 C 언어의 특징 프로그램 과정 C 프로그램 구조 C 프로그램 예제.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
CHAP 15. 데이터 스토리지.
CODE INJECTION 시스템B 김한슬.
자바 프로그래밍 입문 : 객체지향적 사고법 chapter 01. 자바 언어의 소개.
7 생성자 함수.
1장. C Language Synopsis.
6 객체.
JAVA 프로그래밍 16장 JNLP.
Presentation transcript:

.NET 프레임워크 개요

목차 .NET과 언어 닷넷의 의미와 특징 닷넷 프레임웍(.NET Framework) 닷넷의 특징 닷넷 언어의 핵심 중간언어 Just In Time Compiler CLR(Common Language Runtime) 컴파일과 실행 .NET과 언어 .NET과 C# C#과 자바 C#

프로그래밍 이란? 프로그래밍 언어란? 프로그래밍이란 컴퓨터를 이용하여 어떠한 계산이나 출력 등의 목적에 맞게 프로그램을 설계하고 만드는 과정을 의미한다. 즉, 필요한 프로그램을 만드는 과정을 프로그래밍이라 한다. 프로그램을 만들고 정상적으로 실행하기 위하여, 프로그램이 실제 실행되는 컴퓨터와 이러한 프로그램을 만드는 프로그래머와의 의사소통 도구를 프로그래밍 언어라 할 수 있다.

프로그래밍 언어의 역사 오늘날의 C#언어에 이르기까지 사용했던 프로그래밍 언어

함수중심적 언어와 객체지향적 언어의 비교 함수중심적 언어 객체지향적 언어 BASIC,FORTRAN,PASCAL,C SMALLTALK,C++,JAVA 함수를 중심으로 이루어져 있음 데이터가 중심으로 이루어져 있음 자료는 인자를 전달받아 처리함 함수는 데이터와 같이 존재할 때 의미 있음

닷넷(.NET)이란? 마이크로소프트에서 2000년 7월 새롭게 발표한 닷넷(.NET)은 지금까지 존재했던 마이크로소프트의 모든 S/W기술을 총망라하고 다른 언어들의 장점을 접목한 새로운 기술 닷넷의 구성 Visual Studio .NET : C# 등의 닷넷 언어를 만들기 위한 도구 닷넷 프레임워크 : 닷넷을 사용할 수 있는 환경을 제공 윈도우 서버 시스템 : 닷넷을 이용한 윈도우 프로그램 개발이나 웹사이트 구축시 필요한 윈도우 요소를 지원 닷넷 빌딩 블록 서비스 : 닷넷의 문제해결을 위해 설계된 시스템

닷넷 프레임워크의 개요 닷넷프레임워크는 크게 두 가지로 나눌 수 있는데, 프로그램을 개발을 할 때 필요한 서비스들의 집합과  프로그램 실행환경으로 구성된다.

닷넷 프레임워크의 구성 요소 BCL : 클래스 라이브러리 중 가장 핵심적인 기능을 하는 클래스의 모음 ADO.NET : 데이터베이스를 사용할 때 지원하는 클래스 윈도우 UI : 닷넷 언어로 윈도우 프로그램을 만들 때 지원하는 클래스 ASP.NET : 닷넷 언어로 웹 프로그래밍을 할 때 지원하는 클래스

CLR(Common Language Runtime) CLR의 주요 기능은 JIT(Just-in-Time) 컴파일러를 통해 MSIL 코드를 네이티브 코드(실행가능 코드)로 변환한다

CLR의 역할 CLR은 닷넷언어로 만들어진 코드를 읽고 해석하여 실행하는 일종의 가상머신(Virtual Machine)이다. Visual Basic .NET, C# 등과 같은 닷넷 언어는 윈도우 운영체제의 네이티브 코드(native code)로 컴파일되지 않고, 마이크로소프트 중간 언어(MSIL, MicroSoft Intermediate Language)로 컴파일된다. 따라서 닷넷 애플리케이션은 윈도우에서 바로 실행할 수 없는데, 닷넷 프레임워크의 CRL에 있는 JIT(Just In Time) 컴파일러가 MSIL 코드를 네이티브 코드로 변환해 실행 가능하게 해준다.

BCL(Base Class Library)

ADO.NET & XML ADO.NET은 닷넷 프레임워크의 일부로 System.Data 네임스페이스와 하위 네임스페이스에서 제공하는 데이터 접근 기술로 이루어짐 System.Data 네임스페이스는 ADO.NET 객체 모델을 구성하는 클래스로 이루어져 있다. System.Xml 네임스페이스는 W3C 호환 XML 파서와 XML 작성기 (XMLWriter), 그리고 XSLT와 XPath 등 많은 XML 관련 기술을 위한 클래스로 이루어져 있다.

윈도우 UI 윈도우 폼 생성에 관련된 클래스는 System.Windows.Forms 네임스페이스에 포함되어 있으며, 윈도우 폼 유형은 크게 표준 윈도우, MDI 윈도우, 대화상자로 나눌 수 있다

ASP.NET ASP.NET은 강력한 웹 애플리케이션을 개발하기 위한 프로그래밍 프레임워크 ASP.NET 웹 폼(Web Forms)은 쉬우면서도 강력한 방법으로 웹 사용자 인터페이스(Web UI) 페이지를 생성할 수 있도록 한다

C# 이란? C#은 C++처럼 강력하고, JAVA처럼 유연하다.

다시 리뷰 - 다른 책에서 정리 한 것

닷넷의 의미와 특징 닷넷이란(프로그래머 입장) 닷넷의 특징 C# 모든 것을 포괄하고 있는 이상적인 개발환경 플랫폼 독립성 닷넷 프레임웍만 설치되어 있으면 다양한 플랫폼에 동작 다양한 언어의 지원 개발자는 다양한 언어로 개발, 닷넷에서 하나의 방식으로 동작 MS에서 개발한 언어끼리의 통합(C#, Mananged C++, VB.NET, JScript.NET) 상호 운용성 서로 다른 언어들끼리의 호환성 C# 닷넷을 대표하는 언어 개발 툴 개발 언어 라이브러리 기반 기술 프로그래머 입장에서 닷넷은 이상적인 개발환경이다.

닷넷 프레임웍(.NET Framework) VB.NET C# Managed C++ JScript.NET Common Language Specification 공통 언어 스펙 .NET Framework Visual Studio .NET .NET Library Common Language Runtime 공통언어 런타임 Base Class Library Data and XML Web Services User Interface CLS의 규칙을 따르는 언어로 작성된 애플리케이션은 닷넷 프레임웍에서 동작할 수 있다. .NET 런타임

플랫폼 독립성(Plaform Independent) 닷넷의 특징 플랫폼 독립성(Plaform Independent) 닷넷 프레임웍만 설치되어 있다면 어떠한 운영체제에서도 닷넷 애플리케이션이 동작할 수 있다. 다양한 언어의 지원 CLS(Common Language Specification) 닷넷 프레임웍에서 동작하기 위해서 언어들이 지켜야 하는 표준 스펙 상호 운용성(Interoperability) 서로 다른 언어끼리의 호환성 C#에서의 COM 사용 C#에서의 Win32 API 사용 닷넷 지원 언어들끼리의 호환성

CLR이 실행 중간언어 C# 코드 VB.NET 코드 Managed C++ 코드 C# 컴파일러 VB.NET 컴파일러 Microsoft Intermediate Language CLR이 실행 C# 어셈블리

Just In Time Compiler 중간언어(Intermediate Language) 중간언어와 동적 컴파일 기계어로 변환하기 쉬운 상태의 중간 단계의 언어 중간언어와 동적 컴파일 중간언어 C#의 최종 결과물(컴파일한 결과파일) 재컴파일 중간언어는 완벽한 기계어로 컴파일되어야만 실행될 수 있다. JIT(Just In Time Compiler) 중간언어를 동적으로 컴파일하는 컴파일러

Just In Time Compiler 운영체제 소스코드 중간언어(IL) JIT 컴파일러 완전한 기계어 JIT 컴파일러의 정확한 이름은 Just-In-Time 컴파일러이다. 소스코드 컴파일 중간언어(IL) 어셈블리 CLR이 중간언어로 컴파일된 파일을 로딩하면 CLR 내의 JIT 컴파일러가 기계어로 컴파일하게 된다. 이 작업은 동적으로 이루어진다. JIT 컴파일러 동적 컴파일러 동적 컴파일 Common Language Runtime 완전한 기계어 프로그램 실행 운영체제

CLR(Common Language Runtime) .NET에서 프로그램을 로딩하고 동적 컴파일하며 실행해주는 메모리 관리까지 해주는 가상적인 운영 시스템 프로그래머 입장에서는 닷넷 프레임웍 자체를 CLR로 보아도 된다. 닷넷 프레임웍 내에 CLR이 포함되어 있다. CLR의 역할 프로그램 로딩 사용자가 프로그램을 실행하면 CLR이 프로그램을 로딩한다. 동적 컴파일 로딩된 프로그램은 CLR 내의 JIT에 의해서 동적으로 컴파일된다. 실행 동적으로 컴파일된 코드는 동적으로 적재되어 프로그램이 실행된다. 메모리 관리 CLR은 내부의 메모리 관리를 자동으로 하며 Garbage Collector를 운영한다.

컴파일과 실행 닷넷의 컴파일과 실행 C#의 어셈블리 어셈블리의 종류 컴파일 실행 중간언어(IL) 형태로 만든다. 실행 IL형태의 언어를 JIT가 재컴파일하여 .NET 환경의 CLR이 실행시킨다. C#의 어셈블리 중간언어 형태의 .exe나 .dll 파일들을 C#에서는 어셈블리(Assembly)라고 한다. 어셈블리의 종류 사설 어셈블리 Copy & Paste 개념의 프로그램 복사해서 사용하면 된다. 공용 어셈블리 레지스터 개념에서 발전된 형태 공용 어셈블리를 등록하는 것은 레지스터와 동일하다. 버전별로 독립적으로 관리하며 복사버젼을 보관한다. CLSID 대신 디지털 서명 방식으로 관리한다.

.NET과 C# .NET과 C#의 호환 C# 언어의 특징 C#의 라이브러리 .NET을 위해서 새롭게 만들어진 언어 기존 언어들의 장점만을 살려서 만든 언어 C#은 C++의 문법을 표준화하고 정리하고 발전시킨 언어이다. C#에서 C 문법을 사용할 수 있다.(포인터) C#에서 기존의 COM 컴포넌트를 사용할 수 있다. C#의 라이브러리 XML.NET ADO.NET ASP.NET XML Web Services

C#과 자바 인터프린터와 컴파일 언어 자바 C# 컴파일 언어는 프로그램을 한꺼번에 기계어로 변환해서 사용한다. 인터프린터와 컴파일 언어 컴파일 언어는 프로그램을 한꺼번에 기계어로 변환해서 사용한다. 인터프린터 언어는 한 줄씩 진행해 나가며 필요한 코드를 기계어로 해석해서 실행하는 방식이다. 자바 자바는 동적 해석 언어이다. 바이트코드를 인터프린터 방식으로 해석해서 실행 C# C#은 동적 컴파일 언어이다. JIT 컴파일러에 의해서 동적으로 중간언어(IL)을 재컴파일해서 실행 비슷한 개념

C# C#의 문법 C#의 특징 C#의 구성 문법적인 면에서 C보다 C++보다 명확하고 발전된 형태 모든 문법은 익숙해지기 전까지는 어렵다. C#의 특징 C#은 프로그래밍 언어이다. 엄청난 라이브러리를 제공하는 프로그래밍 언어이다. 라이브러리라기 보다는 기반 기술을 제공하는 개발환경이다. C#의 구성 기본 유틸 라이브러리 스레드 프로그래밍 네트워크 프로그래밍 XML.NET ADO.NET 웹 폼 프로그래밍 윈도우즈 프로그래밍 .NET Remoting XML Web Services 27

.NET Framework 3.5에 포함된 기능  .NET Framework 개요 .NET Framework 차세대 응용 프로그램 및 XML Web services를 만들고 실행하는 것을 지원하는 필수적인 Windows 구성 요소이다. .NET Framework 3.5 - .NET Framework 3.5, 2.0 및 3.0 용 서비스 팩을 포함하여 .NET Framework 2.0 및 .NET Framework 3.0을 기반으로 한다.

.NET Framework 2.0/ 3.0 /3.5에 포함된 기능 - CLR(공용 언어 런타임) - 제네릭 형식 및 메서드에 대한 지원 - C#, Visual Basic, C++ 및 J#용 컴파일러 - 기본 클래스 라이브러리 - ADO.NET - ASP.NET - Windows Forms - 웹 서비스

.NET Framework 2.0/ 3.0 /3.5에 포함된 기능 - WPF(Windows Presentation Foundation) - WCF(Windows Communications Foundation) - Windows WF(Workflow Foundation) .NET Framework 3.5에 포함된 기능 - LINQ - C#, Visual Basic 및 C++용 새 컴파일러 - ASP.NET AJAX - 기본 클래스 라이브러리의 추가 클래스

.NET Framework 버전 2.0, 3.0 및 3.5의 관계 2.0 3.0 3.5 CLR(공용 언어 런타임) 제네릭 형식 및 메서드에 대한 지원 C#, Visual Basic, C++ 및 J#용 컴파일러 기본 클래스 라이브러리 ADO.NET ASP.NET Windows Forms 웹 서비스 WPF(Windows Presentation Foundation). WCF(Windows Communications Foundation) Windows WF(Workflow Foundation) + 2.0 LINQ C#, Visual Basic 및 C++용 새 컴파일러 ASP.NET AJAX 기본 클래스 라이브러리의 추가 클래스 +2.0 + 3.0 (sp1)

.NET Framework 버전 3.5의 새로운 기능 .NET Compact Framework .NET Compact Framework 버전 3.5에서는 WPF(Windows Presentation Foundation) 기술을 비롯한 분산 모바일 응용 프로그램에 대한 지원을 확장합니다. 또한 커뮤니티 피드백을 기반으로 LINQ 등의 새 언어 기능과 새 API를 추가하고 업데이트된 진단 도구와 기능을 사용하여 디버깅을 향상시킵니다. ASP.NET .NET Framework 3.5에는 ASP.NET 및 Visual Web Developer의 대상 영역에 대한 향상된 기능이 있습니다. 가장 중요한 개선 사항은 AJAX 사용 웹 사이트의 개발에 대한 지원 향상입니다.