Microsoft PowerPoint - hci2-lecture1.ppt [호환 모드]

Similar documents
(Microsoft PowerPoint - hci2-lecture1.ppt [\310\243\310\257 \270\360\265\345])

임베디드 시스템 소프트웨어

Java 프로그래머를 위한 C# 비교 활용

Microsoft PowerPoint - chap01-C언어개요.pptx

C# Programming Guide - Types

초보자를 위한 C# 21일 완성

초보자를 위한 ASP.NET 21일 완성

1

Microsoft PowerPoint - Windows CE Programming_2008 [호환 모드]

슬라이드 1

1

JVM 메모리구조

(Microsoft PowerPoint - Ch03_1.ppt [\310\243\310\257 \270\360\265\345])

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

초보자를 위한 한글 Visual Basic .NET 21일 완성

PCServerMgmt7

서현수

(Microsoft PowerPoint - Ch02.ppt [\310\243\310\257 \270\360\265\345])

PowerPoint Presentation

제 1장 C#의 개요


Windows Embedded Compact 2013 [그림 1]은 Windows CE 로 알려진 Microsoft의 Windows Embedded Compact OS의 history를 보여주고 있다. [표 1] 은 각 Windows CE 버전들의 주요 특징들을 담고

02 C h a p t e r Java

TTA Journal No.157_서체변경.indd

DBMS & SQL Server Installation Database Laboratory

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

초보자를 위한 ADO 21일 완성

슬라이드 1

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

thesis

제8장 자바 GUI 프로그래밍 II

PowerPoint 프레젠테이션

Microsoft PowerPoint - Introduction to Google Guava.pptx

Microsoft PowerPoint - hci2-lecture2.ppt [호환 모드]

untitled

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

!K_InDesginCS_NFH


ALTIBASE 사용자가이드 Templete

Microsoft PowerPoint - CSharp-10-예외처리

C#과 .NET 플랫폼 - 정식버전판

Intro to Servlet, EJB, JSP, WS

초보자를 위한 C++

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id="entitymanagerfactory" class="org.springframework.orm.jpa.localentitymanagerfactorybean" p:persistenceunitname=

thesis

17장 클래스와 메소드

쉽게 풀어쓴 C 프로그래밍

Visual Studio online Limited preview 간략하게살펴보기

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

hw 2006 Tech guide 64p v5

Visual Basic Visual Basic 소개

초보자를 위한 자바 2 21일 완성 - 최신개정판

슬라이드 1

1. 제품 개요 AhnLab Policy Center 4.6 for Windows(이하 TOE)는 관리대상 클라이언트 시스템에 설치된 안랩의 안티바이러스 제품인 V3 제품군에 대해 보안정책 설정 및 모니터링 등의 기능을 제공하여 관리대상 클라이언트 시스템에 설치된 V3

Microsoft PowerPoint - CSharp-2-기초문법

THE TITLE

슬라이드 1

vm-웨어-01장

PowerPoint Presentation

Windows 8에서 BioStar 1 설치하기

Domino Designer Portal Development tools Rational Application Developer WebSphere Portlet Factory Workplace Designer Workplace Forms Designer

초보자를 위한 ASP.NET 2.0

API 매뉴얼

PowerPoint 프레젠테이션

Interstage5 SOAP서비스 설정 가이드


PowerPoint 프레젠테이션

Chap7.PDF

ThisJava ..

final_thesis

PowerPoint 프레젠테이션

DocsPin_Korean.pages

Secure Programming Lecture1 : Introduction

슬라이드 1

슬라이드 1


PowerPoint 프레젠테이션

Microsoft PowerPoint App Fundamentals[Part1](1.0h).pptx

Design Issues

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

untitled

PowerPoint Presentation

프로그램을 학교 등지에서 조금이라도 배운 사람들을 위한 프로그래밍 노트 입니다. 저 역시 그 사람들 중 하나 입니다. 중고등학교 시절 학교 도서관, 새로 생긴 시립 도서관 등을 다니며 책을 보 고 정리하며 어느정도 독학으르 공부하긴 했지만, 자주 안하다 보면 금방 잊어

PowerPoint 프레젠테이션

05Àå

untitled

DataBinding

Cisco FirePOWER 호환성 가이드

untitled

Microsoft PowerPoint - java1-lecture1.ppt [호환 모드]

Microsoft PowerPoint - 권장 사양

비디오 / 그래픽 아답터 네트워크 만약에 ArcGolbe를 사용하는 경우, 추가적인 디스크 공간 필요. ArcGlobe는 캐시파일을 생성하여 사용 24 비트 그래픽 가속기 Oepn GL 2.0 이상을 지원하는 비디오카드 최소 64 MB 이고 256 MB 이상을 메모리

(Microsoft PowerPoint - AndroG3\306\367\306\303\(ICB\).pptx)

PowerPoint Template

Transcription:

Overview C# 과.NET Environment 321190 2013년가을학기 9/3/2013 박경신 2 Problem Statement 훌륭한프로그램을작성하는것은매우어려운일 어떤프로그래밍언어를사용해야하는가? COM/DCOM을사용하면해결될수있지않을까? 필요한컴포넌트를자신의프로그램에 attach 하여사용하면편하기는하지만.. COM 은너무구체적인코딩지식을요구함 COM은각응용마다부수적인인프라구조가필요함 예 ) Class Factory, Interface Marshaler COM은클라이언트와서버가지리적으로멀리떨어져있다고가정하여구현상의문제발생 예 ) 문자열처리 개발자코드를다양한플랫폼에서수행시킬수있길원함 Platform-independent application 효율적인자동메모리관리의필요성 Garbage collection Problem Statement 소프트웨어버전관리 (version control) 의자동화필요 서버가프로그램의버전을자동으로감지하여최신버전을로딩? 서버가갖고있는프로그램의버전을알려줄수있는표준메커니즘이필요 객체지향프로그래밍을모든프로그램언어사이에서사용할수있길원함 예 ) VB으로작성된 COM 객체를 VC++ 에서상속받아확장? 안정성 (safety) 을위해코드연산을제한할수있길원함 예 ) 다운로드한코드는로컬디스크에있는파일을읽을수는있어도쓰지는못하도록하고싶다면? OS 기능들을논리적으로연관된그룹으로나누어관리 원하는기능을쉽게찾아쓸수있도록하여 OS를효과적으로이용 그리고, 기존의 COM 객체와문제없이상호연동되어야함!

란윈도우기반응용프로그램을만들기위하여서로다른프로그래밍언어와라이브러리들이같이개발되고수행되는환경 언어독립적 - 다양한언어사용개발가능 웹응용프로그램, GUI 등다양한 Windows 응용프로그램지원 방대한코드라이브러리로구성 & 용도와목적에따라다른모듈로구성.NET 응용프로그램은 상에서만동작 즉, 모든.NET 응용프로그램은 에의해서관리 상에서관리되어실행되는응용프로그램은 Managed Code 라하고, 기존 Windows 에서직접동작하는응용프로그램은 Unmanaged Code라함 에의한서로다른기종들간의통합 현재 Windows 운영체제에서만실행, 차후 FreeBDS, Linux, Mac., PDA 등에서실행되는버전개발 특징 Garbage Collection 을통해자동으로메모리를관리해줌 표준화된소프트웨어버전관리기능제공 객체지향프로그래밍의특성을모든 Visual Studio.NET 에서지원하는모든언어에서사용할수있게해줌 시스템의기능을여러계층의네임스페이스로정리하여제공 코드에대한보안을지원함 (Code Access Security) COM 클라이언트나 COM 서버모두와의상호운용성 (Interoperability) 를지원 즉, COM 객체가.NET 객체인것처럼 wrapper 객체로둘러쌈 의단점 운영체제가무거워짐 시스템하드웨어요구사항이커짐 닷넷 (.NET) 구성도 Visual Studio.NET.NET Window Server Framework System.Net Building Block Service User Services Interface Data & XML Base Class Library (BCL) COM Interfaces Visual Studio.NET : C# 등의닷넷언어로프로그램을만들기위한통합개발환경 닷넷프레임워크 : 닷넷을사용할수있는환경을제공 윈도우서버시스템 : 닷넷을이용한윈도우프로그램개발이나웹사이트구축시필요한윈도우요소를지원 닷넷빌딩블록서비스 : 닷넷의문제해결을위해설계된시스템 Service Common Language Runtime (CLR) XML Service

NET Framework의 구조.NET VB C++ C# JScript CLR의 구성 Base Class Library Support Common Language g g Specification p (CLS) ( ) Visua al Stud dio.net T Class Libraries (FCL) Services User Interface Data and XML Base Class Library (BCL) Thread Support COM Marshaler Type Checker Exception Manager Security Engine Debug Engine IL to Native Compilers Garbage Collector Cl Class Loader d Common Language Runtime (CLR) CLR Code Manager FCL의 구성 CLR(Common Language Runtime) Managed Code 응용프로그램을 개발하기 위한 언어 독립적인 개발, 실행환경 Java의 Virtual Machine 같은.NET NET Framework Application을 실행하는데 필요한 실행 엔진 응용 프로그램 실행 시 자동 연결 실행 Visual Basic.NET, C# 등과 같은 닷넷 언어는 Microsoft Intermediate Language (MSIL)로 컴파일 닷넷 응용프로그램은 윈도우에서 바로 실행할 수 없고, 없고 닷넷 프레임워크의 CLR에 있는 JIT (Just-In-Time) 컴파일러가 MSIL 코드를 Native Code로 변환해 실행 가능하게 해줌 11 Class Libraries (FCL) Services User Interface Data and XML Basic Class Library (BCL)

FCL FCL의 구성 System. ASP.NET FCL (Framework Class Libraries) CLR에서 수행되기 위해 필요한 기능을 제공해주는 클래스들의 집합 BCL (Basic Class Library)는 클래스 라이브러리 중 가장 핵심적인 기능을 하는 클래스의 모음 ADO.NET는 데이터베이스를 사용할 때 지원하는 클래스 ASP.NET는 닷넷 언어로 웹 프로그래밍을 할 때 지원하는 클래스 윈도우 UI는 닷넷 언어로 윈도우 프로그램을 만들 때 지원하는 클래스 UI HtmlControls Discovery Controls Design ComponentModel S System.Drawing D i P Protocols l Caching Security Configuration g Drawing2D SessionState Printing Imaging g g System.Data ADO.NET BCL BCL System.WinForms Services Description Text System.Xml ADO SQL XSLT Design SQLTypes XPath Serialization System Collections IO Security Configuration Net ServiceProcess Diagnostics Reflection Text Globalization Resources Threading Data & XML S stem System System.Data Collections Security ADO SQL Q Configuration ServiceProcess Design SQLTypes Di Diagnostics ti T t Text Globalization Threading IO Runtime N Net InteropServices Reflection Remoting Resources Serialization System Xml System.Xml XSLT XPath Serialization Runtime InteropServices R Remoting ti Serialization UI

Data & XML Forms & Services ADO.NET은닷넷프레임워크의일부로 System.Data 네임스페이스와하위네임스페이스에서제공하는데이터접근기술로이루어짐 System.Data 네임스페이스는 ADO.NET 객체모델을구성하는클래스로이루어짐 System.Xml 네임스페이스는 W3C 호환 XML 파서와 XML 작성기 (XML Write) 그리고 XSLT와 XPath 등많은 XML 관련기술을위한클래스로이루어짐 Services Description Discovery Protocols Caching Configuration System. UI HtmlControls Controls Security SessionState 17 Forms & Services Win Forms ASP.NET은강력한웹응용프로그램을개발하기위한프로그래밍프레임워크 ASP.NET 웹폼 ( Forms) 은쉬우면서도강력한방법으로웹사용자인터페이스 ( UI) 페이지를생성할수있게함 System.WinForms Design ComponentModel System.Drawing Drawing2D Imaging Printing Text 19

Win Forms 닷넷프레임워크기반의윈도우응용프로그램을개발하기위한새로운플랫폼 윈도우 UI 클래스는 System.Windows.Forms 네임스페이스에포함되어있음 윈도우폼유형은크게표준윈도우, MDI 윈도우, 대화상자등으로나눌수있음.NET Language VB C++ C# JScript Common Language Specification (CLS) User Services Interface Data and XML Base Class Library Visua al Stud io.net 21 Common Language Runtime.NET Language CTS 닷넷플랫폼은언어에중립적 (language neutral) 닷넷언어로 VB, C++, C#, Jscript, 등이있음 APL, COBOL, Pascal, Eiffel, Python, Smalltalk 등 third-parties 닷넷언어가현재개발되고있음 CTS(Common Type System) 상호운용성을위한데이터의기본적인특징정의.NET 언어가지원해야할타입과연산자들집합 CLS(Common Language g Specification) 모든.NET 언어가최소한지원해야할 CTS 부분집합 무부호정수 (unsigned integer) 타입은 CTS 에는기술되어있지만 C# 등일부.NET 언어는지원하지않음 임의의.NET 언어에서사용가능한클래스를만들고 싶다면 CLS 를잘준수해야함 23 CTS 타입 CLS 타입여부 C# 타입비고 System.Boolean Yes bool True/false System.Object Yes object 모든클래스의기반클래스 System.String St Yes string ti 문자열 System.Double Yes float 32비트부동소수 System.Byte Yes double 64 비트부동소수 System.Sbyte No byte 무부호 8비트정수 System.Int32 Yes int 부호 32비트정수 System.Uint32 No System.Int64 Yes long 부호 64비트정수 System.Uint64 No System.Char Yes char 16비트유니코드문자 System.DateTime Yes System.DateTime 날짜와시간 24 System.Decimal Yes decimal 10진부동소수

C# C++ 를기반으로하고자바의장점을혼합하고닷넷의개념을도입해서만든언어 컴포넌트기반의객체지향적언어 여러개의컴포넌트화된코드가서로유기적으로연결되어사용자가원하는프로그램을쉽게개발할수있음 C# 언어의장점 개발속도가빠름 Windows API 를사용가능함 프로그램컴포넌트를사용하기간편함 닷넷프레임워크프로그래밍모델을가장잘반영함 빠른표준화작업 C# 의 Garbage Collector 객체를검사하여더이상사용되지않는객체를메모리에서 25 자동으로제거함 C# Version C# 2.0 C# Generics Anonymous Method Nullable Type Partial Type yield Keyword C# 3.0 Lambda Expression Anonymous Type Extension Method var Keyword (implicit type) C# 4.0 C# dynamic (late binding) Named Argument Optional Argument Indexed Property C# 5.0 C# async/await 26.NET Environment.NET Environment Visual Studio.NET 차세대운영환경을개발하기위한도구 가상위레벨로존재하는유연한구조 CLS(Common Language Specification, 개발언어인터페이스 ) 는 VB.NET, C# 에맞는런타임인터페이스제공 상위의언어 (C#, VB.NET, C++, Jscript 등 ) 는동일한하부구조의존재로자신에게맞는언어로프로그래밍 하나의프로그램을여러언어로작성가능 자유로운디버깅 통합개발환경 사용자를위한환경설정 MSDN 도움말활용가능 다양한기능이있는도구모음 시작페이지는웹형식으로구성 ( 웹브라우저기본내장 ) Visual Studio.NET 2010 초기화면

Visual Studio.NET 설치하기 Component Update 컴포넌트 (Component) 프로그램을설치하기위한구성요소 Visual Studio.NET 설치의 1단계과정 Windows Component Update 컴포넌트들을 VS.NET 에필요한수준으로업데이트 Visual Studio.NET 설치 설치를위한리소스임시디렉토리에복사 사용권계약 설치옵션설정 응용프로그램작성 C# 언어와 VS.NET의추가적인도구사용 컴파일 2단계의과정을통한실행가능한형태로변환 MSIL(MicroSoft Intermediate Language) 운영체제에국한되지않은중간언어, 직접실행불가능 JIT(Just-In-Time) MSIL 코드를원시코드로컴파일, OS가실행할수있는응용프로그램의형태 Assembly.NET이사용하는프로그램의실행및배포단위.NET run-time이수행하는모든코드는어셈블리안에들어있음 응용프로그램코드와리소스를갖고있는실행파일 (.exe) 이나라이브러리파일 (.dll) 의논리적인집합 어셈블리는 Manifest( 어셈블리내부에들어있는코드와리소스를설명하는메타데이터 ) 목록도포함 어셈블리는단일파일또는다중파일로구성 Manifest 는어셈블리의 exe 파일이나 dll 파일중의하나에들어있을수있음 Managed Code CLR에의한관리기능을이용하여실행되는코드 Garbage Collection 응용프로그램이사용하던메모리를해제 Linking 응용프로그램코드를여러개의소스코드파일로나눈후, 그것을단일한어셈블리로합쳐서컴파일하는것 코드를여러파일로나누어작업 완료시파일은코드단위 작업효율성증가 C# 응용프로그램코드컴파일어셈블리코드 컴파일 네이티브코드 네이티브코드 네이티브코드.NET CLR MSIL 코드로컴파일 결과는어셈블리형태 시스템런타임