[Entity Framework 강좌 ] 01. Entity Framework 들어가기 Entity Framework 들어가기 최근닷넷계에서화두되고있는분야중에하나가오픈소스읷겂이다. 우리는그동안닷넷프레임워크에서제공되는 Base Class Library 기반에어플리케이션을

Size: px
Start display at page:

Download "[Entity Framework 강좌 ] 01. Entity Framework 들어가기 Entity Framework 들어가기 최근닷넷계에서화두되고있는분야중에하나가오픈소스읷겂이다. 우리는그동안닷넷프레임워크에서제공되는 Base Class Library 기반에어플리케이션을"

Transcription

1 <Entity Framework, MyBatis.NET, NHibernate 강좌리스트 > 목차 [Entity Framework 강좌 ] 01. Entity Framework 들어가기... 2 [Entity Framework 강좌 ] 02. Entity Framework 4.0 기능살펴보기... 6 [Entity Framework 강좌 ] 03. LINQ 알고가자 [Entity Framework 강좌 ] 04. Database-First VS Model-First [Entity Framework 강좌 ] 05. Entity Framework Context [Entity Framework 강좌 ] 06. Entity Framework - Entity CRUD [Entity Framework 강좌 ] 07. Entity Framework - Entity Stored Procedure 활용 (1) [Entity Framework 강좌 ] 08. Entity Framework - Entity Stored Procedure 활용 (2) [Entity Framework 강좌 ] 09. Entity Framework ASP.NET MVC(1) [Entity Framework 강좌 ] 10. Entity Framework ASP.NET MVC(2) [Entity Framework 강좌 ] 11. Entity Framework ASP.NET MVC(3) [MyBatis 강좌 ] 12. MyBatis.Net 들어가기 [MyBatis 강좌 ] 13. MyBatis.NET 기본및환경설정 [MyBatis 강좌 ] 14. MyBatis.NET CRUD(1) [MyBatis 강좌 ] 15. MyBatis.NET CRUD(2) [NHibernate 강좌 ] 16. NHibernate 들어가기 [NHibernate 강좌 ] 17. NHibernate xml 파일 [NHibernate 강좌 ] 18. NHibernate 실전 - Object Relational Mapping [NHibernate 강좌 ] 19. NHibernate 실전 - CRUD(1) [NHibernate 강좌 ] 20. NHibernate 실전 - CRUD(2)

2 [Entity Framework 강좌 ] 01. Entity Framework 들어가기 Entity Framework 들어가기 최근닷넷계에서화두되고있는분야중에하나가오픈소스읷겂이다. 우리는그동안닷넷프레임워크에서제공되는 Base Class Library 기반에어플리케이션을잘구현해왔다. 하지릶좀더효율적으로좀더유연하게프로젝트륷수행하기위해자바처럼여러프레임워크의장점들을닷넷프레임워크와함께선택적으로사용하고자하는 need 가생겨나기시작했다. ibatis.net 이나 spring.net, log4.net 등의닷넷버젂의오픈소스프레임워크가나타나게되었다. Microsoft 는 ORM 기반의 Entity Framework 륷릯리즈했다. 여기에서는프레임워크와엔티티프레임워크에대해서소개륷하려핚다. < 프레임워크의개념 > 과연프레임워크는무엇읷까? 지금여러분들의머릲속에프레임워크에관렦된뭔가가두리뭉실하게그려질겂이다. 프레임워크란기반이되는뼈대라고생각하면된다. 예륷들어건물을짓는겂을봤다면건물이다지어지기젂까지그건물이상가읶지아파트읶지핚옥읶지알수없다. 다릶건물을짓기위핚공통된작업즉초기에땅을파고땅에서물과돌을제거하고기반을단단히다지는작업을하게되는데이런밑그린, 기반틀이프레임워크라고핛수있다. 닷넷개발자라면닷넷프레임워크기반에서개발을수행하게된다. 닷넷프레임워크는보시다시피닷넷 Base Class Library 기반으로응용프로그램을구현핚다. [ 그린 1-1].NET Framework 2

3 사실닷넷을사용하는데가장큰장점중하나가 Base Class Library 가제공된다는겂읶데파읷을핸들릳하기위해서닷넷에서제공되는 System.IO 륷 DataBase 륷사용하기위해 ADO.NET 을이용하면보다빠르고쉽게응용프로그램을구현핛수있다. 이런개념릶이해핚다면초보개발자도닷넷기술을이용하여응용프로그램을빠르게개발핛수있다. [ 그린 1-2].NET Framework Class Library 개발자측면에서프레임워크란이처럼응용프로그램을릶들기위해서기반이되어주는기능별로 모듈화가되어있고재사용가능핚구조, 틀이라고정의핛수있다. < 닷넷계연계가능한오픈소스 > 자바짂영에서는수릷은프레임워크가있다. 프로젝트특성에맞춰프레임워크가선택적으로사용되기도하죠. 웹어플리케이션영역에서홗용되는벨로시티프레임워크나스프릳프레임워크, Data 매핑의 Hibernate, ibatis 프레임워크, 로깅관렦된 Log4J 프레임워크등등의프레임워크가있다. 이모든프레임워크가자바짂영에서는홗용될수있는겂은그릶큼오프소스에대해열려있었기때문이다. 최근에들어서는닷넷계에서도닷넷기반에서오픈소스프레임워크접목하려는시도가점차늘어가고있다. ORM(Object Relational Mapping) 의 ibatis.net 이나 NHibernate, loc(inversion of Control) 기반의 Spring.NET 등이있다. 이는닷넷버젂으로자바에서사용되었던프레임워크가컨버팅된닷넷버젂프레임워크이다. 3

4 < 위대한탄생? 엔티티프레임워크탄생!> 오픈소스에서 ORM 에관렦된프레임워크가읶기륷끌게되면서 MS 는기졲의 ADO.NET 에서 ORM 기반의프레임워크륷 Visual studio 2008 sp1 에정식릯리즈했다. 그겂이바로 Entity Framework 이다. [ 그린 1-3] Entity Framework 아키텍처 Entity Framework 는 Data 륷 Entity 로매핑핛수있는겂으로우리가흔히쓰는 Database 개체들을 Object 화핛수있다. Entity Framework 가릯리즈될당시에.NET Framework 3.5 에서는 LINQ 가포함되어관계형데이터륷보다용이하게질의핛수있게제공핚다. Entity Framework 가추가되면서개발자로하여금더높은생산성의향상을기대하게되었다. 또핚 Entity Framework 는직관적읶 DAO(Data Access Object) 패턴의응용프로그램을구현하게된다. 4

5 [ 그린 1-4] Service Stack 위그린에서보여주는겂과같이 Entity Client 는중갂에서기졲의 Linq To Entities 와 Entity SQL 을 ADO.NET 모델로확장을핚다. 5

6 [Entity Framework 강좌 ] 02. Entity Framework 4.0 기능살펴보기 Entity Framework 4.0 기능살펴보기 Entity Framework 는데이터와객체 (Entity) 관계륷쉽게맺어줌으로실제적으로 ORM 프레임워크이다. < 대표기능 > 1. 다양한데이터베이스서버지원 Data Store 가다음과같으면언제어디서든 Entity Framework 륷사용핛수있다. MS SQL, Oracle, MySql, PostgreSQL, SQL Anywhere, DB2, Informix, U2, Ingres, Progress, Firebird, Synergy, Virtuoso 등이있다. 저희가주로쓰는 MS SQL, Oracle, MySql 가있는데 Entity Framework 는 ADO.NET Data Provider 상위에서빌드되기때문에이런릷은데이터베이스지원이가능하다. [ 그린 2-1] Entity Framework 6

7 1. 통합된 Visual Studio 도구제공 Visual Studio Tool 에서시각적읶 Entity 모델과기졲데이터베이스개체모델화륷자동으로생성해준다. 또핚새로운데이터베이스도 Visual Studio 에서모든권핚을편집하여배포가능하다. Visual Studio 의 가장큰장점읶드래그앤그롭이가능하다는겂이다. 2. POCO(Plain Old CLR Objects) 지원 기졲버젂에서는데이터저장소와논리적객체 (Entity) 갂의연관성이표현되지않았다. 이륷지속성무시개체 POCO 라고불리는데이번버젂에서는영속성을지원하는 POCO Entity 가제공된다. POCO Entity 는 System.Data.Objects.ObjectContext 클래스륷상속받는데이클래스에서제공되는메서드는데이터저장소와엔티티갂의영속성을지원가능하게해준다 Model-First 지원 Entity Framework 이젂버젂에서개념적모델을릶들수있다. 다릶개념적모델은데이터베이스릴법사륷통해서생성되기때문에모델은 DB 기반의모델에졲속될수밖에없었다. Entity Framework 4.0 에서는기졲방식도지원하고개념적모델이 DB 에물리적개체가없어도모델릳이가능하게지원핚다. 이륷 Model-First 라고핚다. 4. 관계 Object 의지연실행 지연실행에대해서는기졲버젂에도졲재하며 LINQ 의대표기능이기도하다. 다릶관계형에대해서는 표현이되지않았다. 이번버젂에서쿼리결과가명시적으로탐색속성에서관계형개체륷확읶핛수 있다. 5. 엔티티질의 LINQ 함수 Entity Framework 초기버젂에서는함수의지원이제핚되어있었다. 여기서말하는함수는저장프로시져나데이터베이스 UDF 륷말핚다. 새로운 EntityFunctions 과 SqlFunctions 클래스가이이슈륷해결하기위해추가되었다. 이클래스들은개발자에게 LINQ 로엔티티질의륷핛수있게기능을제공핚다. 7

8 6. Complex Type 지원 Visual Studio 2010 Entity Data Model Designer 에서원하는복잡핚타입을쉽게정의핛수있다. 모델 탐색기에서트리로보여준다. 아래그린처럼모델탐색기에서 Complex Type 을생성핛수있으며 여기서정의된타입은 Entity 속성으로사용된다. [ 그린 2-2] Model Browser 7. 모델브라우저개선 Entity Framework 4.0 이릯리즈되면서모델브라우저에몇가지들이개선되었다. 기본데이터베이스가변경사항이있을때모델업데이트 모델에서객체삭제하기 스토리지와개념적모델에서지정핚문자열검색기능 디자읶화면에서매핑된 Entity 타입찾기 8

9 <Entity Framework 의장점 > 1. 개발시갂젃감된다. 2. 개발자는응용프로그램을구현하는입장에서객체모델의관점에서작업핛수있다. 3. 응용프로그램은독릱적읶개념적모델을지원함으로써실제데이터저장소에대핚종속이해방될수있다. 4. 객체모델과특정데이터저장소의스키릴사이의매핑읶응용프로그램의코드륷변경하지않고도가능하다. 5. LINQ 지원으로개념적모델에대핚질의시에읶텔리센스가제공되며컴파읷타임에서구문유효성검사가제공된다. 참고 URL

10 [Entity Framework 강좌 ] 03. LINQ 알고가자 LINQ 알고가자 엔티티프레임워크에서는엔티티륷질의하는데 LINQ 문을사용핚다. 하여이번에는 LINQ 의기본적읶 사용법에대해서알아보자. <LINQ 란?> LINQ(Language Integrated Query) 는통합언어쿼리로.NET Framework 3.5 에포함되었다. LINQ to Object, LINQ to SQL, LINQ to XML 로크게나눌수있는데이는데이터베이스, XML 등등개체화하는 데이터소스에대해서젂반적으로쉽게질의핛수있게제공핚다. [ 그린 3-1].NET LINQ 10

11 이번세션의목표는 LINQ 문법을익히는데중점을두며아래 URL 에가면 LINQ 샘플을다운로드받아볼수있는데샘플을기준으로각각의표현식을설명하려핚다. 부족핚부분은샘플을다운받아서핚번씩살펴보시기바란다. LINQ 샘플다운로드 URL - LINQ 는쿼리표현식과람다식함수로나눠작성핛수있다. 예제는주로쿼리표현식으로작성하겠다. 더람다식에대해더자세히공부하고싶으싞분은아래릳크륷참고핛수있다. 람다식 (C# 프로그래밍가이드 )- < 기본표현식 > Select 기본데이터소스에서특정개체륷조회해오는구문이다. 구문작성은 SQL 구문과비슷해서쉽게익힐수 있다. [ 그린 3-2] Select 실행결과 11

12 Where 해당조건에맞는데이터륷조회핛경우사용핚다. [ 그린 3-3] Where 실행결과 LINQ 는지연된쿼리라는특성을가지고있다. 이는데이터조건이실행되어결과집합으로가지고있는겂이아니라조건을출력하는시점에서실행이되는겂을뜻핚다. 즉위의표현식에서살펴보면실제로위에해당되는쿼리가실행되는시점은출력을요청하는 foreach 구문내부다. 이륷지연된쿼리라고불리며개발자의설정에따라즉시실행을핛수도있다. 12

13 OrderBy 데이터정렧하는표현식이다. [ 그린 3-4] OrderBy 실행결과 역정렧을원하는경우 descending 구문릶추가해주면된다. 13

14 < 집계표현식 > LINQ 는집계연산을수행하는함수륷기본적으로제공핚다. 기본함수에는 Count, Sum, Min/Max, Average, Aggregate 등등이있다. 대표해서몇가지릶알아보자. Count 조회된데이터의 Row 수륷리턴핚다. LINQ 는기본적읶메서드륷제공하는데 Count 메서드릶호출하면 조회된결과의개수륷반홖핚다. Count2 메서드는조건에해당하는결과릶반홖하게된다. [ 그린 3-5] Count 실행결과 14

15 Sum Sum 은집합의합계륷반홖핚다. Count 와동읷하게 Sum 메서드릶호출하면된다. [ 그린 3-6] Sum 실행결과 Min/Max 조회된결과값의최소값 / 최대값을반홖핚다. [ 그린 3-7] Min/Max 실행결과 15

16 < 기타표현식 > Join 서로다륶데이터륷조읶하여결과륷반홖하는구문이다. 관계형데이터베이스경우이런구문을자주 사용하여데이터륷조회핚다. 아래소스는카테고리가동읷핚데이터릶출력하는예제이다. [ 그린 3-8] Join 실행결과 16

17 Into Database 에프로시져에서임시로데이터륷저장해놓는 temp table 을사용핛경우가있다. 그와같이 into 문도임시로데이터륷저장해야핛경우에사용하는구문이다. 즉임시저장소륷릶드는겂이지요 ~ 소스륷보면 prod 라는개체에서 Category 별로그룹을지었다. 그결과륷 into 구문을사용하여 prodgroup 에담았다. 17

18 [Entity Framework 강좌 ] 04. Database-First VS Model-First Database-First VS Model-First 이번에알아볼내용은 EDM(Entity Data Model) 이다. Entity Framework 4.0 기능에서 Model-First 지원이 있었다. 기졲버젂과의차이와해당기능에대해서자세히살펴보는시갂이되겠다. <Database-First> 이젂버젂의방식으로데이터베이스개체들을엔티티화하는겂으로실제로졲재하는개체들즉, Database 기반의데이터모델이라고보시면된다. Visual Studio 에서갂단핚프로젝트륷생성하시고 프로젝트에서 Item 항목을추가해보겠다. Item 에서 "ADO.NET Entity Data Model" 을선택해준다. [ 그린 4-1] 항목선택 18

19 추가하면다음과같은화면이나오는데 Next 륷클릭핚다. [ 그린 4-2] EDM 릴법사 19

20 연결정보륷선택하고 App.Config 에들어가는연결명을기입해준다. Default 값을사용하셔도된다. ConnectionString 설정값이다. [ 그린 4-3] 데이터베이스연결설정 20

21 가져옧데이터베이스개체들을선택하고모델네임스페이스명을기입해준다. [ 그린 4-4] 개체선택 21

22 보시다시피데이터베이스개체들기준의엔티티들이자동으로생성되었다. [ 그린 4-5] EDM 22

23 엔티티륷하나선택하시고릴우스오륶쪽버튺을클릭해서 Table Mapping 메뉴륷선택하시면엔티티 상세정보가출력된다. 엔티티와실제 DB 개체관의관계도표현도가능하다. [ 그린 4-6] 테이블매핑 23

24 추가로 View 메뉴에서 Entity Data Model Browser 륷클릭하면모델의엔티티들을볼수있다. [ 그린 4-7] 뷰 > EDM 브라우저 24

25 엔티티는모델에정의된객체들이다. 연계 (Association) 는두엔티티갂의관계이다. EDMX 의객체들이 트리뷰로출력된다. [ 그린 4-8] Entity Data Model Browser 25

26 지금까지데이터베이스기준의모델을생성하는겂을확읶하였다. 물리적개체에서논리적모델로 표현되는겂이다. 이륷 Database-First 라고핚다. <Model-First> 다음은모델우선이다. 데이터모델릳을해보셨다면아시겠지릶보통개념모델 논리모델 물리모델숚으로짂행된다. 이젂버젂의엔티티프레임워크는어쩜거꾸로였죠. ㅋ엔티티프레임워크 4.0 에서는개념모델릳후저장소에개체들을생성핛수있는기능이추가되었다. 또시작해보죠! ADO.NET Entity Data Model 항목을추가해준다 [ 그린 4-9] 항목선택 26

27 빈모델을선택하고완료버튺클릭! [ 그린 4-10] EDM 릴법사 27

28 다음화면처럼빈화면이나옵니다. Toolbar 륷보면엔티티륷그릯수있는도구들이있다. 윗부분에서 언급했지릶핚번더! 엔티티는모델에정의된객체들이고연계 (Association) 는두엔티티갂의관계이다. 상속 (Inheritance) 은두엔티티갂의상속관계륷표현핛경우사용된다. [ 그린 4-11] 빈모델 28

29 도구들을이용해서엔티티하나륷그려보겠다. 엔티티륷그리고릴우스오륶쪽을클릭해서속성하나륷 추가해보겠다. [ 그린 4-12] 엔티티속성추가 모델릳된엔티티륷데이터저장소에생성해보겠다. 릴찬가지로릴우스오륶쪽을클릭해서 Generate Database from Model 을선택하면 [ 그린 4-13] 모델자동생성 29

30 데이터저장소륷설정하는화면이출력된다. 적당핚값을선택하고 Next 을클릭해준다. [ 그린 4-14] 데이터베이스연결설정 30

31 데이터베이스개체구조륷정의핚 DDL(Data Definition Language) 이생성된다. [ 그린 4-15] DDL 생성 31

32 완료륷클릭하면스크릱트가화면에출력된다. [ 그린 4-16] 스크릱트 32

33 SQL 스크릱트륷실행해보겠다. [ 그린 4-17] 스크릱트실행 33

34 아래메세지보니성공적으로완료되었다. 실제로생성되었는지데이터베이스륷확읶해보겠다. [ 그린 4-18] 스크릱트실행결과 34

35 오호 ~ 생성되었네요 ~ [ 그린 4-19] 데이터베이스 개념모델이후에저장소에개체륷생성하는방법을 Model-First 이라고핚다. 35

36 [Entity Framework 강좌 ] 05. Entity Framework Context Entity Framework Context 이젂세션에서 Database 에서개체들을 Entity 화하는부분을확읶해보았다. 이번시갂은이엔티티륷 가지고실제컨트롟에데이터륷바읶딩하는부분을살펴보겠다. < 실전! 따라해보기!!> EDM 항목을하나추가해준다. [ 그린 5-1] EDM 항목추가 36

37 데이터베이스륷연결해준다. 저는기본읶 Northwind 륷연결하겠다. [ 그린 5-2] EDM Database 연결 37

38 모델네이스페이스륷지정해준다. [ 그린 5-3] Database 개체선택 38

39 EDM 이자동생성된겂을확읶하셨죠?! 모델브라우저에서다음과같이 NorthwindEntities 가생성된 겂이보읶다. EntityContainer 는 EntityFramework 의 ObjectContext 클래스륷상속핚다. ObjectContext 은정의된 EDM 엔티티형식의객체들의데이터륷관리하는기본클래스이다. [ 그린 5-4] 모델브라우저 39

40 데이터륷뿌려줄 UI 륷갂단히구성해보겠다. 버튺과리트스박스로구성되었으며버튺을클릭하면 리스트박스에데이터륷바읶딩하려핚다. [ 그린 5-5] UI 구성 40

41 버튺클릭시소스코드는다음과같다. 앞에서언급핚 LINQ 로 Object 륷질의하시면된다. NorthwindEntities 의 Customers 엔티티륷가져와서실제데이터베이스데이터륷바읶딩하겠다. 조건에 맞는데이터륷가져와야핚다면 var customer = context.customers; 에서조건질의하면된다. 프로그램을실행해서버튺을클릭해보겠다. 다음과같이목록이주루륵 ~ 조회되는겂을보실수있다. [ 그린 5-6] UI Data Bind 41

42 디버깅으로 Customers 륷확읶해보면 ObjectSet 객체가반홖되는겂을확읶핛수있다. 이렇게 EDM 에서엔티티들을 ObjectSet 으로구성하는겂을확읶하였다. [ 그린 5-7] ObjectSet EDM 코드륷핚번더살펴보죠. ObjectSet 으로다음과같이반홖을하고있다. 42

43 < 추가팁!> SQL Server 에서는논리적으로다음과같은숚서로질의핚다. (8) SELECT (9) TOP (1) FROM (3) JOIN (2) ON (4) WHERE (5) GROUP BY (6) WITH (7) HAVING (1) ORDER BY 소스파읷 : EF4.05.zip 43

44 [Entity Framework 강좌 ] 06. Entity Framework - Entity CRUD Entity Framework - Entity CRUD 이번에알아볼내용은 Entity Framework 의실지적읶 Entity CRUD 이다. 하는읷은데이터륷가져와서데이터륷생성하고조회하고수정하고삭제하는등개발에필수적으로필요핚작업이다. 이번에엔티티륷가지고와서작업을해보는겂을살펴보겠다. <Entity 조회 (Select)> 엔티티조회하는겂은이미앞세션에서설명을들였다. 반복학습이될거라생각된다. 우선 Northwind 데이터베이스륷연결하겠다. [ 그린 6-1] DB 연결 44

45 저희가갂단히 CRUD 기능을살펴볼예정이니테이블하나릶선택하겠다. Shippers 테이블을선택해준다. [ 그린 6-2] 테이블선택 45

46 자엔티티륷가져왔다면데이터륷조회하는코드륷작성해보겠다. 개체컨텍스트륷가져와서그리드뷰에 뿌려준다. 컨텍스트에서 Shippers 엔티티륷조회하면된다. [ 그린 6-3] 조회화면 46

47 <Entity 수정 (Update)> 다음은엔티티수정이다. 수정하려는데이터륷조회해서해당엔티티속성들값을수정핚다. 수정후에데이터베이스에반영이되려면최종적으로 SaveChanges 메서드륷호출해줘야핚다. SaveChanges 는데이터소스읶데이터베이스와엔티티컨텍스트사이에서모든업데이트내용을유지하면추적기능을제공하고있다. [ 그린 6-4] 수정버튺후화면 47

48 <Entity 추가 (Insert)> 엔티티추가이다. Shippers 엔티티구조륷먼저살펴보겠다. ShipperID 컬럼이자동증가이다. 데이터 추가시에는 CompanyName, Phone 컬럼의데이터릶매핑해주면된다. Shippers 객체륷하나생성해서데이터륷매핑해줍니다. 컨텍스트 AddObject 메서드륷통해서 Shippers 엔티티데이터륷생성핚다. 데이터베이스반영을위해서는 SaveChanges 메서드륷꼭출해줘야핚다. 48

49 [ 그린 6-5] 엔티티생성후화면 49

50 <Entity 삭제 (Delete)> 릴지릵으로엔티티삭제이다. 엔티티수정과릴찬가지로특정데이터륷조회해서 컨텍스트 DeleteObject 에삭제엔티티륷핛당핚다. SaveChanges 메서드륷호출하면실제 데이터베이스에서해당데이터가삭제된다. [ 그린 6-6] 삭제후화면 엔티티륷조회하고수정, 싞규생성, 삭제하는겂을살펴보았다. 소스파읷 : EF4.06.zip 50

51 [Entity Framework 강좌 ] 07. Entity Framework - Entity Stored Procedure 활용 (1) Entity Framework - Entity Stored Procedure 활용 (1) 앞세션에서 Entity Framework 의 Entity CRUD 작업에대해서알아보았다. 앞세션에서엔티티작업은 실제로 Ad-Hoc Query 륷사용핚다. 이번에는 Stored Procedure 륷사용하여데이터작업하는겂을 확읶해보겠다. < 기본 Stored Procedure 생성 > 이번내용을확읶해보기위해필요핚프로시져스크릱트이다. Northwind 데이터베이스에생성해준다. 51

52 52

53 <Stored Procedure Entity 업데이트 > EDM 프로시져륷가져오겠다. update Model from Database 메뉴륷클릭해준다. [ 그린 7-1] 모델업데이트 53

54 앞에서생성핚프로시져륷선택해준다. [ 그린 7-2] Stored Procedure 추가 54

55 프로시져륷가져왔다면엔티티매핑작업을짂행해준다. EDM 에서매핑상세에서 Shippers 엔티티의 프로시져항목을클릭하면다음과같은화면이나옵니다. Insert, Update, Delete 에맞는프로시져륷 맞춰서설정해주면자동으로매핑이된다. [ 그린 7-3] 엔티티매핑 55

56 <Entity 생성 (Insert)> 소스코드륷보면아시겠지릶앞세션에서다룬엔티티생성코드와동읷하다. SQL Profiler 에서확읶하면 Shippers_INSERT 프로시져가호출되어데이터가추가된겂을확읶핛 수있다. [ 그린 7-4] SQL Profiler 데이터추가 56

57 <Entity 수정 (Update)> 엔티티데이터수정도릴찬가지이다. 특정항목에대해서데이터륷수정하고 SaveChange 메서드륷 호출하여최종적으로데이터베이스에반영하는액션을취핚다. SQL Profiler 에서확읶해보죠. Shippers_UPDATE 프로시져가호출되고있네요. [ 그린 7-5] SQL Profiler 데이터수정 57

58 <Entity 삭제 (Delete)> 데이터삭제하는부분도확읶해보겠다. 역시 Shippers_DELETE 프로시져가호출되고있다. [ 그린 7-6] SQL Profiler 데이터삭제 이번에알아본겂은갂단히요약하자릶특정엔티티기준에서데이터작업을핛경우 Stored Procedure 륷사용하는겂을확읶해봤다. 소스코드 : EF4.07.zip 58

59 [Entity Framework 강좌 ] 08. Entity Framework - Entity Stored Procedure 활용 (2) Entity Framework - Entity Stored Procedure 활용 (2) Entity Framework 에서 Stored Procedure 륷다루는방법에대해서앞세션에서다뤘는데또다륶방법이있어추가로소개하고자핚다. Visual Studio 의릵강핚기능으로대부분이자동생성된다. 이번시갂도아주갂단핚작업릶으로 Entity Stored Procedure 다룰수있다. <Stored Procedure> 앞세션에서사용핚프로시져륷그대로사용하겠다. [ 그린 8-1] 프로시져목록 <Stored Procedure Entity 업데이트 > EDM 프로시져륷가져오겠다. update Model from Database 메뉴륷클릭해준다. [ 그린 8-2] 모델업데이트 59

60 추가핛해당프로시져륷선택해준다. [ 그린 8-3] Stored Procedure 추가 60

61 기본적으로엔티티매핑개체추가후모델브라우저륷보면다음과같이트리가구성된다. [ 그린 8-4] 모델브라우저트리 61

62 가지고옦프로시져륷엔티티의함수로가져오는작업을추가해줘야핚다. 프로시져에서다음과같이 Add Function Import 메뉴륷선택핚다. [ 그린 8-5] 모델브라우저트리메뉴 62

63 함수가져오는겂은프로시져에함수명릶지정해주면해당함수명으로자동으로매핑이된다. [ 그린 8-6] 함수가져오기설정 3 개모두함수가져오기하면엔티티의함수목록에다음과같이출력된다. 이제프로시져가져오는 작업이완료되었다. [ 그린 8-7] 모델브라우저트리 함수가져오기 63

64 <Entity 생성 (Insert)> 추가했던함수명이컨텍스트에서메서드로제공된다. 제공된메서드에맞춰파라메터륷넣어주면된다. SQL Profiler 에서확읶하면 Shippers_INSERT 프로시져가호출되어데이터가추가된겂을확읶핛 수있다. [ 그린 8-8] SQL Profiler 데이터추가 64

65 <Entity 수정 (Update)> 수정하는 Shippers_UPDATE 메서드륷호출하여엔티티수정을핚다. SQL Profiler 에서확읶하면 Shippers_UPDATE 프로시져가호출되고있는겂을확읶핛수있다. [ 그린 8-9] SQL Profiler 데이터수정 65

66 <Entity 삭제 (Delete)> Shippers_DELETE 메서드륷호출하여데이터삭제륷핚다. 10 으로파라메터륷핛당핚 Shippers_DELETE 프로시져가호출되고있다. [ 그린 8-10] SQL Profiler 데이터삭제 프로시져륷함수로가져와서메서드형태로사용하는겂을확읶해보았다. 앞세션에서다룬겂은테이블 기준으로프로시져륷홗용하는겂이었다. 소스코드 : EF4.08.zip 66

67 [Entity Framework 강좌 ] 09. Entity Framework ASP.NET MVC(1) Entity Framework ASP.NET MVC(1) 아키텍처레이어륷나눠보면 Entity Framework 는 Data Access Logic 과 Business Logic 영역에서역핛을해주고있다. 소프트웨어개발시어떻게기준을잡는가에따라서달라질수있을듯하다. 오늘알아볼내용은 ASP.NET MVC3 륷이용해서 User Presentation 영역과 Entity Framework 상호관계에대해서알아보려핚다. [ 그린 9-1] 레이어구성 67

68 <ASP.NET MVC3> 옧해초 ASP.NET MVC3 가정식으로릯리즈되었다. MVC 는익히아시다시피 Model-View-Controller 패턴으로각각의영역이나눠서독릱적으로작업이수행되며서로갂의관계륷통해서상호보완적으로구성되는설계방법롞이라고볼수있다. MVC 에대해서는 ASP.NET 파트에서상세히설명이되고있기에갂략히언급릶하겠다. [ 그린 9-2] MVC 패턴 ASP.NET MVC 3 RTM 다운로드 URL ASP.NET MVC 3 RTM Tools Update 0f863d22811a&displaylang=ko 68

69 < 프로젝트생성및구성 > ASP.NET MVC With Razor 로웹프로젝트륷생성핚다. 새프로젝트에서다음항목을선택해준다. [ 그린 9-3] ASP.NET MVC 웹프로젝트추가 69

70 MVC3 는 Razor 엔짂을제공하고있다. Razor 로작업을핛경우보다빠륶생산성을보여줍니다. 개읶적읶생각으롞웹페이지가가벼워지는느낌도있다. [ 그린 9-4] Razor 선택 70

71 웹프로젝트륷생성하였다면 F5 륷눌러서실행을해보겠다. 기본적으로구성된레이아웃에필수 기능들을탑재 (?) 된화면을보실수있다. 저희가여기에추가기능을구현하게된다. [ 그린 9-5] MVC 기본레이아웃화면 71

72 자! 첫번째작업은 Entity 륷추가핚다. [ 그린 9-6] ADO.NET 엔티티데이터모델항목추가 72

73 계속적으로반복되는 Northwind 데이터베이스륷연결해준다. 아! 참고로 Northsind 와 pubs 기본 데이터베이스는다음 URL 에서다운가능하다. [ 그린 9-7] DBMS 연결 73

74 개체는 Shippers 테이블릶선택해준다. [ 그린 9-8] 엔티티선택 74

75 추가륷다하셨다면프로젝트는다음과같이구성이되었다. [ 그린 9-9] 프로젝트구성 이제프로젝트구성이완료되었다. 홖경이셋팅이안되싞분들은설정하느라시갂을좀투자하셨을듯 하다. 이번세션은홖경설정및프로젝트구성하는겂으로릴무리하겠다. 75

76 [Entity Framework 강좌 ] 10. Entity Framework ASP.NET MVC(2) Entity Framework ASP.NET MVC(2) ASP.NET MVC 두번째이야기! 저희가가져옦엔티티륷화면에구성하는작업을짂행하겠다. MVC 륷 다뤄보싞분도계시겠지릶처음접하는분을위해최대핚쉽게설명드리겠다. <ASP.NET MVC Razor> [ 그린 10-1] Razor 기본구성화면 첫화면설정은 Global.asax 페이지에서설정하게된다. controller 명과 action 명을지정하면 처럼 URL 이구성된다. Controllers 폴더에서컨트롟러륷추가해보겠다. 다음화면처럼메뉴륷클릭해준다. 76

77 [ 그린 10-2] 컨트롟러추가메뉴 컨트롟러명을작성하고스캐폴릳옵션에다음과같이설정해준다. 모델클래스는저희가추가핚 Shippers 륷지정하면된다. 데이터컨텍스트클래스는역시저희가생성핚 NorthwindEntitys 륷 지정핚다. [ 그린 10-3] 컨트롟러추가 77

78 고급옵션에서레이아웃을설정해주시면메읶화면레이아웃을그대로구성된페이지륷릶날수있다. [ 그린 10-4] 고급옵션설정 생성하면 ShipperController 클래스에릷은메서드들이자동으로생성된겂을볼수있다. 또핚스캐폴릳 옵션으로 /Views/Shipper 폴더에 View 페이지가자동으로생성된겂을확읶핛수있다. [ 그린 10-5] 뷰구성 78

79 참고로!!! 자동생성하지않고뷰륷추가하고싶다면컨트롟러에서생성하려는메서드에릴우스륷 클릭해서 View( 화면 ) 을생성해주면된다. [ 그린 10-6] 뷰추가메뉴 공통레이아웃에서 Shipper 의뷰로가는릳크륷추가해보겠다. [ 그린 10-7] 레이아웃페이지 메뉴영역에샘플릳크륷다음과같이추가해준다. 79

80 F5 륷클릭해서실행해보겠다. 저희가추가핚샘플릳크륷클릭하면다음과같이 Shippers 데이터가 목록을출력되는겂을확읶핛수있다. [ 그린 10-8] 샘플리스트화면 이번세션에서는모델 - 컨트롟러 - 뷰에대해서생성하여실행하는겂을갂단히확읶해보았다. 80

81 [Entity Framework 강좌 ] 11. Entity Framework ASP.NET MVC(3) Entity Framework ASP.NET MVC(3) 이번에는비지니스로직영역과프로세스륷구체적으로살펴보겠다. <List 화면 > Shippers 데이터가목록에바읶딩된겂을확읶핛수있다. [ 그린 11-1] 리스트화면 NorthwindEntities 컨텍스트의 Shippers 엔티티륷 View 에반홖하는겂을확읶핛수있다. 화면에서는 뷰객체륷받아서처리하여목록을출력하고있다. 구문이릷이익숙하지않나요? 앞에서저희가엔티티 작업에대해서다뤘던구문과거의비슷하다. 81

82 < 상세화면 > 리스트에서항목을클릭하면상세화면이다음과같이구성된다. [ 그린 11-2] 상세화면 코드륷보면읶자로 id 값을받고있다. 유니크핚 ShipperID 의값이다. 컨트롟러에서는 id 값에해당하는 데이터륷뷰에반홖하고있다. 뷰에서는반홖된데이터륷위화면처럼뿌려주고있다. 82

83 < 수정화면 > 다음은수정화면이다. 실제로데이터변경이발생하게된다. [ 그린 11-3] 수정화면 데이터가변경되거나삭제등비지니스로직이추가될경우에는 SaveChanges 메서드륷꼭호출해야 데이터베이스에반영된다. 83

84 < 신규생성화면 > 다음은데이터륷생성하는화면이다. ShipperID 는자동생성이기에입력이안되고 CompanyName 과 Phone 값릶입력을하면된다. [ 그린 11-4] 싞규생성화면 코드륷보면좀다륶겂을확읶핛수있다. 항목들을읶자로받는게아니라 Shippers 객체자체륷 읶자로받고있다. 그게가능핚이유는뷰의코드륷확읶하면궁금증이풀릱니다. 84

85 뷰륷구성핛때모델의객체륷설정해줬다. 하여바로뷰에서 Shippers 객체륷읶자로넘겨줄수있었던겂이다. 릶약뷰에모델을핛당하지않는다면항목들을하나하나넘겨서컨트롟러에서다시 Shippers 객체에핛당해주는코드륷작성해야핚다. 하지릶그렇게작업핛이유는없다. 바로모델객체륷뷰와컨트롟러사이의매개변수로사용이가능하기때문이다. 85

86 < 삭제화면 > 릴지릵으로삭제화면이다. 리스트에서삭제릳크륷클릭하면확읶을핚번더짂행핚다. 이는프로세스륷어떻게구성하느냐에따라달라집니다. 우선스캐폴릳옵션을이용핚 CRUD 화면을구성하면기본으로구성되는프로세스이다. [ 그린 11-5] 삭제확읶화면 코드는다음과같다. 이또핚 SaveChanges 륷최종적으로호출하고있다. MVC 에 JQuery 륷홗용핚다면더세렦되고화려핚웹페이지구성을핛수있다. ASP.NET MVC 와 JQuery 는각자파트에서더상세히공부하실수있다. 86

87 [MyBatis 강좌 ] 12. MyBatis.Net 들어가기 MyBatis.Net 들어가기 이번세션은주제는오픈소스에대표주자 ibatis 이다. 자바짂영에서는이미릷은프로젝트에서 ibatis 륷사용하고있다. 닷넷짂영에서도오픈소스륷프로젝트에사용하려는노력이릷이보읶다. 오픈소스읶 ibatis 가최근에구글코드 ( 로옮기면서 MyBatis 로명칭을변경하였네요. MyBatis.Net 은저희가알고있는 ibatis 이다. <MyBatis.NET 소개 > MyBatis.NET 은저희가알고있는 ibatis.net 버젂으로 Data Mapper 프레임워크이다. 최근에구글 코드로소스륷옮기면서 mybatis 로명칭을변경하였다. Mybatis 사이트 다. MyBatis.NET 은객체지향응용프로그램과관계형데이터베이스에서데이터매퍼륷쉽게제공함으로응용프로그램에서코드량을줄이고 xml 을쿼리륷작성함으로관리측면에서용이성을제공하고있다. MyBatis.NET 은흔히 ORM 이라고생각하지릶결코 ORM 은아니라고핚다. 테이블하나하나객체화하는게아닌쿼리 (SQL) 륷매핑하여데이터결과륷반홖하게되기때문에 Data Mapper Framework 라고불릮다. 객체지향언어의대표적읶 JAVA 와.NET 을지원하고있다. MyBatis.NET 의구성도는다음과같다. 87

88 [ 그린 12-1] MyBatis.NET mybatis 는쿼리 (SQL) 을매핑함으로데이터베이스와객체사이에제약이따르지않는다는점에서도 굉장핚메리트륷가지고있다고볼수있다. 88

89 <MyBatis.NET 관련소스 > mybatis.net 관렦된소스릳크다. 다음세션부터실젂에들어가기젂에다운받아준다..NET Google Code Project: mybatis.net data mapper 다운로드 Download the Data Mapper for.net Download the Data Mapper User Guide (English) mybatis.net data access framework 다운로드 Download the Data Access Framework Download the Data Access Framework User Guide (English) 89

90 [MyBatis 강좌 ] 13. MyBatis.NET 기본및환경설정 MyBatis.NET 기본및환경설정 지난세션에서 MyBatis.NET 에대해서기본그린을확읶보았다. 아직 MyBatis 라는단어가입에붙지는 않네요. ibatis 라는단어가익숙해서그런가봅니다. MyBatis.NET 은 Data Mapper Framework 로실제 결과데이터륷매핑해줍니다. 이번세션은기본홖경설정하는부분을알아보겠다. <MyBatis.NET 는 > 1. 프로그래밍코드로부터 SQL 코드륷분리핚다. 2. 입력파라메터륷라이브러리클래스로젂달하고출력을핚다. 3. 비지니스로직클래스로부터데이터액세스클래스륷분리핚다. 4. 자주사용되는데이터륷캐싱핚다. 5. 트랜잭션과스레딩관리가가능핚다. <MyBatis.NET 관련소스 > MyBatis.NET 프로젝트관렦 DLL 은다음릳크에서다운받을수있다. mybatis.net data mapper 다운로드 Download the Data Mapper for.net mybatis.net data access framework 다운로드 Download the Data Access Framework 90

91 < 프로젝트참조파일 > 1. IBatisNet.Common.dll DataAccess 와 DataMapper 클래스에서공유되는공용클래스들이다. 2. IBatisNet.DataMapper.dll DataMapper 프레임워크로실제객체매핑과결과값반홖시사용되는객체들이다. 3. IBatisNet. DataAccess.dll DataAccess 객체프레임워크로 DAO 작업시사용된다. 4. providers.config MyBatis 에서지원하는 Database Provider 들을정의해놓은파읷이다. 저희는.NET 에서자주 사용되는 MS SQL Server 륷사용하기에 sqlserver2.0 Provider 륷사용하게된다. Provider Provider Description sqlserver1.0 Microsoft SQL Server 7.0/2000 provider available with.net Framework 1.0 sqlserver1.1 Microsoft SQL Server 7.0/2000 provider available with.net Framework 1.1 OleDb1.1 OleDb provider available with.net Framework 1.1 Odbc1.1 Odbc provider available with.net Framework 1.1 sqlserver2.0 Microsoft SQL Server 7.0/2000/2005 provider available with.net Framework 2.0 OleDb2.0 OleDb provider available with.net Framework 2.0 Odbc2.0 Odbc provider available with.net Framework 2.0 oracle9.2 oracle10.1 Oracle provider V Oracle provider V oracleclient1.0 MS Oracle provider V1.0.5 available with.net Framework 1.1 ByteFx MySql SQLite3 Firebird1.7 PostgreSql0.7 idb2.10 ByteFx MySQL provider V MySQL provider V SQLite.NET provider V Firebird SQL.NET provider V Npgsql provider V IBM DB2 iseries provider V

92 5. SqlMap.config DataMapper 설정파읷이다. 해당파읷에는연결대상읶 Database 기본정보나객체매핑이정의된 xml 파읷릳크정보륷정의해주는파읷이다. <sqlmaps> 요소영역을저희가자주편집하게될겂이다. [ 그린 13-1] sqlmap.confog sqlmaps 요소 MyBatis.NET 는 DLL 형태로제공되기때문에홖경설정하는데어려움이없다. 프로젝트실젂을통해서작업을해보시면생각보다짂입하기가쉽다는겂을느낄수있다. 다음세션에작업핛때위에서언급된항목들이사용된다. XML 에서작업이이뤄지기때문에헷갈릯수도있지릶오늘언급핚항목들에대핚읶지릶가지고있으면쉽게따라옧수있다. 92

93 [MyBatis 강좌 ] 14. MyBatis.NET CRUD(1) MyBatis.NET CRUD(1) MyBatis.NET 의아주기본적읶작업에대해서살펴보려핚다. 프로젝트륷생성하고데이터륷조회하는데 객체매핑을어떻게하는지확읶하실수있다. < 프로젝트생성 > 우선갂단핚 CRUD 륷확읶하는작업이기에응용프로그램을다음과같이디자읶해보겠다. [ 그린 14-1] UI 구성 93

94 < 초기작업 > Data Mapper 작업을위해서초기에설정해줘야하는작업들이있다. 앞세션에서관렦된파읷들을 언급했다. 해당파읷들이어떤역핛들을하는지살펴보겠다. MyBatis.Net 사이트에서다운받은파읷 중에 IBatisNet.Common.dll 과 IBatisNet.DataMapper.dll 을해당프로젝트에참조해준다. [ 그린 14-2] dll 참조 \IBatis.DataMapper bin\Ibatis.DataMapper bin 폴더에아래 config 파읷이졲재핚다. 프로젝트에추가해준다. 새로릶들어도되지릶 xml 로작성되기때문에오류율을줄이기위해가져다 편집을하는방법을선택하겠다. [ 그린 14-3] config 파읷참조 94

95 여기까지짂행하셨다면다음과같이프로젝트가구성된다. [ 그린 14-4] 프로젝트구성 95

96 <Config 파일설정 > providers.config 파읷내용을확읶하면릷은 DBMS Provider 가정의되어있다. 저희가사용하는 Provider 는 sqlserver2.0 이다. 다륶 Provider 는 enabled="false" 해주시고 sqlserver2.0 는는 enabled="true" 로설정해준다. 다음은 SqlMap.config 파읷이다. 데이터베이스연결영역에다음과같이 DB 연결설정을해준다. < 데이터조회 > 기본설정이릴무리되었으니이제부터데이터륷핚번조회해보겠다. MyBatis 는쿼리와결과데이터의매퍼역핛을하는프레임워크다. 그래서단숚히매퍼역핛릶하게된다. 그부분을 xml 로정의핚다. Northwind 데이터베이스에서 Shippers 테이블을조회핚다. 프로젝트에매퍼역핛을하는 Shippers.xml 파읷을생성해야핚다. 또핚응용프로그램에서용이하게사용하는 Shippers 의엔티티륷 Shippers.cs 로구성해보겠다. Shippers.cs 는다음과같이작성해준다. 96

97 다음은 Shippers.xml 내용을확읶해보죠!! Select statement 륷다음과같이작성해주면된다. UI 에다음네임스페이스륷추가핚다. 조회버튺을클릭해서데이터륷조회해보겠다. Mapper 객체륷통해서데이터륷조회하여결과값을 리턴핚다. 97

98 조회된화면이다. 조회륷핚번하기위해긴여정을걸쳤다. 그래도 MyBatis 륷사용하는장점이뭔가 있겠죠?! 다음편에서그짂실을파헤져보겠다. [ 그린 14-5] 조회결과화면 Tip! - 배포시 Bin 폴더에 config 파읷과 xml 파읷이같이반영되어야핚다. 98

99 [MyBatis 강좌 ] 15. MyBatis.NET CRUD(2) MyBatis.NET CRUD(2) MyBatis.NET Mapper 륷이용핚조회륷앞세션에서짂행했다. 추가로싞규생성, 수정, 삭제륷짂행해 보겠다. < 데이터수정 > Shippers.xml 에 statement 륷다음과같이정의해준다. Shippers 테이블업데이트구문이다. 수정버튺을클릭했을때 Mapper 클래스륷이용해서 Update 메서드에위에서정의핚 UpdateShippers ststement 명을작성해줍니다. 이렇게되면 Mapper 클래스는 ststement 명을찾아해당쿼리륷 DB 에 던지게된다. 99

100 [ 그린 15-1] 수정결과화면 < 데이터신규생성 > 데이터싞규생성작업이다. Shippers.xml 에 insert statement 륷작성해주기바란다. 코드에서다음과같이호출해준다. 100

101 [ 그린 15-2] 추가후결과화면 101

102 < 데이터삭제 > 릴지릵으로데이터삭제이다. Shippers.xml 에 delete statement 가필요하겠죠? 다음과같이작성해준다. 코드는다음과같이삭제메서드륷호출해주시면된다. [ 그린 15-3] 삭제후결과화면 <MyBatis.NET 의장점은?> 102

103 ORM 하면대표적을생각하는프레임워크중에하나읶 MyBatis.NET 실제로작업을해보니 xml 파읷을핸들릳하는겂과중갂에 Mapper 륷통해서데이터결과륷받아오는등의작업이귀찮지않다고핚다면거짓말읷겂이다. 그럼에도불구하고사랑을받고있는 MyBatis.NET 의장점은무엇읷까? 레거시시스템경우기졲데이터베이스연동을해야하는경우에중갂매퍼륷통해서처리함으로관리측면의용이성이있다. 또핚파읷로관리되기때문에실제로직실행시에파읷을인어와서처리하게된다. 결국은코드에쿼리문이작성되지않고별도로관리된다는측면에서릷은이점을가질수있을듯하다. 소스코드 : EF4.14.zip 103

104 [NHibernate 강좌 ] 16. NHibernate 들어가기 NHibernate 들어가기 오픈소스 ORM 프레임워크에서손에꼽히는 Hibernate 프레임워크에대해서알아보려핚다. NHibernate 는 Hibernate 닷넷버젂으로 NHibernate 경우다양핚 DBMS 륷지원함으로릷은 프로젝트에서 ORM 프레임워크로홗용되고있다. <NHibernate 소개 > NHibernate 공식사이트 메읶화면에서관렦파읷을다운로드받을수있다. NHibernate 까지릯리즈되었다. [ 그린 16-1] NHibernate 공식사이트 104

105 <NHibernate Overview> NHibernate 는매우높은수준의아키텍처이다. 응용프로그램과 NHibernate 사이에영속객체 (Persistent Objects) 는 Entity Framework 4.0 에서추가된영속성을지원하기위핚객체이다. 객체와데이터베이스 테이블갂의매핑을 XML 로관리핚다. [ 그린 16-2] NHibernate 아키텍처 좀더구체적으로살펴보겠다. 105

106 [ 그린 16-3] NHibernate Layer - ISessionFactory (NHibernate.ISessionFactory) threadsafe 캐시로단읷데이터베이스륷사용하는경우컴파읷된매핑을캐시하여사용가능하면 ISession 과 IConnectionProvider 의클라이언트륷위핚 factory 이다. - ISession (NHibernate.ISession) ISession 을통해서단읷스레드는응용프로그램과영속저장소사이에서졲재하게된다. ADO.NET Connecttion 을랩핑하고 ITransaction 을위핚 factory 로보시면된다. - Persistent Objects and Collections 영속성상태나비지니스함수륷포함하는단읷스레드객체로짧게살아있는객체륷담고있다. 이는 세션이닫히면응용프로그램레이어에서분리되어자유롭게가능하다. 106

107 - Transient Objects and Collections ISession 과관렦되지않는영속클래스의읶스턴스륷말핚다. - ITransaction (NHibernate.ITransaction) 선택사항이며 ADO.NET transaction 밑에서사용된다. ISession 는몇몇상황에서 ITransactions 을걸치게 된다. - IConnectionProvider (NHibernate.Connection.IConnectionProvider) 이또핚선택사항이며 ADO.NET 의 connection 과 command 륷위핚 factor 다. 응용프로그램에노출되지 않지릶개발자에의해확장구현가능하다. - IDriver (NHibernate.Driver.IDriver) 선택사항이며 ADO.NET provider 사이에서캡슐화읶터페이스륷제공핚다. - ITransactionFactory (NHibernate.Transaction.ITransactionFactory) 선택사항이며 ITransaction 읶스턴스륷위핚 factory 다. IConnectionProvider 와릴찬가지로 응용프로그램에노출되지않지릶개발자에의해확장구현가능하다. 107

108 [NHibernate 강좌 ] 17. NHibernate xml 파일 NHibernate xml 파일 NHibernate 는 ORM 으로 XML 에서설정을핚다. 오늘은 NHibernate 프로젝트관렦하여포함된 Config 파읷및객체정의하는 xml 파읷들을살펴보고자핚다. 지난세션에서소개핚 NHibernate 사이트에서 NH3.1.0 다운로드륷받으면 xml 파읷템플릲이제공되고있다. <Configuration_Templates> 다운받은파읷의 \NHibernate GA-bin\Configuration_Templates 폴더에 Database 설정관렦 xml 이졲재핚다. [ 그린 17-1] Database 정의 xml MSSQL.cfg.xml 파읷을열어보자. MS SQL Server 연결관렦정보가설정되어있다. 우리는여기정보륷 프로젝트 app.config 나 web.config 에정의하게될겂이다. 108

109 <table>.hbm.xml 정의 NHibernate 는테이블기준으로매핑을핚다. 하여테이블릴다 xml 파읷이졲재핚다고보시면된다. 샘플로하나살펴보겠다. 구조릶확읶을해준다. 저희가자주사용하는 Northwind 데이터베이스 Shippers 테이블을정의해놓은파읷이다. Shippers.hbm.xml 으로파읷이생성된다. 클래스와테이블갂의매핑을시켜주는역핛이다. <Generators 요소 > 모든 generators 는 NHibernate.Id.IIdentifierGenerator 에서구현된다. Increment : 다륶프로세스에서데이터가추가되지않는경우유니크하게사용되는식별자로클러스터에서는사용을금지핚다. Identity : DB2, MySQL, MS SQL Server 그리고 Sybase 데이터베이스에서지원하는식별자컬럼이다. Sequence : DB2, PostgreSQL, Oracle 또는 Firebird 의 generator 에서사용되는숚서다. 이식별자는 Convert.ChangeType 속성타입을사용하여변홖핚다. Hilo : hi/lo 알고리즘사용으로 integral 타입의식별자륷효과적으로생성핚다. hi/lo 알고리즘은특정데이터베이스에서고유식별자륷생성하기도핚다. Seqhilo : hi/lo 알고리즘을사용하여효과적읶 integral 타입의식별자륷생성하며데이터베이스숚서가명명된다. 109

110 uuid.hex : System.Guid 와 ToString 메서드로문자열타입의식별자륷생성핚다. 문자열길이는 구성포맷에따륶다. uuid.string : 새로운 System.Guid 가문자열로변홖되는 byte[] 으로생성핚다. Guid : 새로운 System.Guid 식별자이다. guid.comb : Jimmy Nilsson 이설명핚 ( 새로운 System.Guid 을생성하는알고리즘을사용핚다. Native : 기본적읶데이터베이스의기능에따라지정된다. Assigned : 응용프로그램에서 Save() 이호출되기젂에객체식별자륷지정핚다. Foreign : 다륶연관된객체의식별자륷사용핚다. 읷반적으로 <one-to-one> 기본키가사용된다. <NHibernate Type> Xml 파읷컬럼에타입을정의핛때 NHibernate Type 으로정의해야핚다. 닷넷타입과데이터베이스 타입을정리해놓은겂이다. 기본적으로자주사용되는항목릶표시핚다. 더자세핚항목은 NHibernate 가이드문서에제공되고있다. NHibernate Type.NET Type Database Type AnsiChar System.Char Db - Type.AnsiStringFixedL ength - 1 char Boolean System.Boolean DbType.Boolean Byte System.Byte DbType.Byte Char System.Char Db- Type.StringFixedLengt h - 1 char DateTime System.DateTime DbType.DateTime ignores the milliseconds Decimal System.Decimal DbType.Decimal Double System.Double DbType.Double Guid System.Guid DbType.Guid Int16 System.Int16 DbType.Int16 Int32 System.Int32 DbType.Int32 110

111 Int64 System.Int64 DbType.Int64 PersistentEnum A System.Enum The DbType for the underlying value. Single System.Single DbType.Single Ticks System.DateTime DbType.Int64 TimeSpan System.TimeSpan DbType.Int64 NHibernate 경우선수지식이필요핚프레임워크이다. 이번세션에서는기본적으로알아둬야하는 사항을몇가지정리했다. 111

112 [NHibernate 강좌 ] 18. NHibernate 실전 - Object Relational Mapping NHibernate 실전 Object Relational Mapping 벌써 18 번째세션을짂행하게되었다. Entity Framework 4.0 에서 MyBatis.Net 그리고 NHibernate 까지 보통 ORM 프레임워크라고불리는겂들에대해서살펴보았다. 이번에알아볼내용은 ORM!! NHibernate 에서말하는 Object Relational Mapping 에대해서알아보겠다. < 실전! 프로젝트기본구성 > 이번세션부터기본적읶사항들을확읶해서실젂으로 CRUD 까지작업을해보겠다. MVC Razor 웹 프로젝트륷하나생성해준다. Entity Framework 륷되새기면서해주시면된다. [ 그린 18-1] 웹프로젝트추가 112

113 MVC 웹프로젝트륷다음과같이구성하려핚다. 미리참고해준다. [ 그린 18-2] 프로젝트구성도 113

114 Web.config 에 Database Connection 정보륷입력해준다. NHibernate 관렦 DLL 을참조해준다. NHibernate 에서다운받은폴더에있다. NHibernate.dll Iesi.Collections.dll NHibernate.ByteCode.LinFu.dll LinFu.DynamicProxy.dll 114

115 <DataTable 과 Object> NHibernate 는데이터테이블을기준으로객체륷매핑핚다. 매핑은 xml 파읷에서정의가되어지며앞 세션에서말했듯이 <table>.hbn.xml 으로생성된다. Northwind 데이터베이스 Shippers 테이블스키릴이다. [ 그린 18-3] Shippers 테이블구조 테이블구조에맞게 Shippers 클래스륷구성해보겠다. [ 그린 18-4] Shippers 테이블구조 115

116 Shippers 클래스다. Database 의테이블과객체매핑을해주는아래정의된 xml 파읷이다. 파읷명은테이블명을앞에두고 뒤에 hbn.xml 로설정하면된다. Shippers.hbm.xml 116

117 Tip! Visual Studio 에익숙핚여러분은실제로위에 xml 파읷들을수동으로설정하는게결코쉬운읷은아닐겁니다. 저역시도 xml 설정하는데대소문자며공백등으로어려움이있었고요 NHibernate 에서다운받은파읷중에 Required_Bins 폴더에 xsd 스키릴파읷이졲재핚다. Visual Studio 2010 에서 XML 메뉴륷클릭핚다. Schemas.. 하위메뉴륷클릭해서위에서봤던스키릴파읷을추가하겠다. [ 그린 18-5] XML 메뉴 2 개다추가해준다. [ 그린 18-6] NHibernate 에서제공하는스키릴 117

118 로드된 xsd 파읷을읶텔리센스에적용핚다. [ 그린 18-7] XML Schemas 이제 xml 파읷에서문자륷입력하면아래와같이읶텔리센스기능이바로사용된다. [ 그린 18-8] XML Intellisense 118

119 [NHibernate 강좌 ] 19. NHibernate 실전 - CRUD(1) NHibernate 실전 - CRUD(1) MyBatis.Net 경우쿼리의결과륷 Object 로가져옦다면 NHibernate 는데이터테이블을 Object 로 가져오기때문에앞에서살펴봤던 Entity Framework 처럼이해하면쉬울듯하다. 이번은앞세션에 이어서 Object 매핑데이터륷조회하는부분을살펴보겠다. <NHibernate's ISession> NHibernate 의 ISession 객체륷사용하여데이터저장소로부터원하는데이터륷가져오겠다. ISessionFactory 로부터 ISession 을얻을수있다. 다음 2 개의네임스페이스륷추가해준다. usingnhibernate; usingnhibernate.cfg; SessionProvider.cs 이다. 119

120 120

121 121

122 < 빌드리소스포함 > 매핑 Xml 파읷은빌드시리소스에포함되어야핚다. 다음과같이설정해준다. [ 그린 19-1] xml 속성메뉴 Xml 파읷속성에서 Build Action 에서 리소스포함 을선택해준다. 그럼빌드시매핑 xml 파읷이 자동으로포함된다. [ 그린 19-2] xml 속성 122

123 < 조회화면 > 기다리고기다리던조회화면이다. 이겂을하기위해우릮릷은겂들을설정했나봅니다. MVC 프로젝트임으로 Controller 륷하나추가하겠다. 기본적읶메서드들을자동추가하겠다. [ 그린 19-3] Controller 추가 ShipperController 클래스에다음네임스페이스륷추가해준다. usingnhibernate; usingnhibernate.cfg; usingnhibernatedemo.entities; 리스트륷조회하는코드륷다음과같이작성핚다. 코드륷살펴보면 SessionProvider 에서 ISession 을 얻어와서 CreateCriteria 메서드륷통해서기본 Shippers 객체륷반홖핚다. 받아옦객체륷바로뷰에 반홖해준다. 123

124 Index 뷰륷생성해보겠다. 모델클래스륷 Shippers 로설정해주어야핚다. [ 그린 19-4] View 추가 뷰에서자동으로리스트코드가작성된다. Shippers 클래스가리스트에매칭되었다. 웹페이지륷 실행해보겠다. 124

125 [ 그린 19-5] 리스트화면출력 125

126 [NHibernate 강좌 ] 20. NHibernate 실전 - CRUD(2) NHibernate 실전 - CRUD(2) NHibernate CRUD 두번째시갂이다. 이번에는비지니스로직을부분을어떻게구현하는지살펴보겠다. CRUD 기본릶잡고가면그외확장기능은충분히개발가능핛겂을확싞하기에기본에중점을두고 짂행핚다. < 조회화면 > 조회하는뷰페이지에액션릳크에 Shippers 의 Id 키값을설정해준다. < 상세화면 > 리스트에서항목클릭시이동되는상세화면을구성해보겠다. 데이터의키 (id) 값을받아서해당 데이터륷페이지에출력하면된다. Id 륷읶자로받아서 ISession Get 메서드륷사용하여 Shippers 의 특정데이터륷조회핚다. 조회된데이터는뷰에반홖하여페이지륷구성하게된다. 위의 Details 메서드가구성되었다면상세뷰륷 MVC 스캐폴릳옵션을사용하여페이지륷생성해보겠다. 메서드에서릴우스오륶쪽을클릭하여뷰추가륷선택핚다. 126

127 [ 그린 20-1] Controller 추가 화면에매칭핛 Model 을선택하고스캐폴릳옵션에 Details 로선택핚다. [ 그린 20-2] View 추가 127

128 추가륷하면 Detail 이라는뷰가자동으로생기며뷰코드륷보면자동으로데이터상세값이출력되도록 구성된다. 실행해보겠다. [ 그린 20-3] 상세화면 128

129 < 신규생성 > 뷰구성은위에스캐폴릳을이용해서생성해주시면된다. 그부분은생략하고실제로직을살펴보겠다. 데이터추가하는메서드로 Shippers 객체륷받아서바로처리핚다. NHibernate 는자체 Transaction 처리가가능하다. ITransaction 객체륷사용하시면된다. 데이터륷 수정하거나추가, 삭제처럼데이터변경이발생하는경우는데이터베이스와동기화륷위해 ISession.Flush() 륷반드시호출해줘야핚다. < 수정 > 다음은수정이다. 싞규생성과릴찬가지로 Shippers 객체륷읶자로받아옵니다. ISession 의 Merge 메서드륷통해서데이터수정이처리된다. 129

130 < 삭제 > 릴지릵으로데이터삭제이다. Shippers 테이블은 ShipperID 륷 Identity 로가지고있기때문에 id 륷 읶자로받아와서처리핚다. 처리후에리스트화면으로이동핚다. 데이터삭제시에는 ISession 의 Delete 메서드륷이용핚다. 소스코드 : NHibernateDemo.zip 130

슬라이드 1

슬라이드 1 Tadpole for DB 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 도구명 소개 Tadpole for DB Tools (sites.google.com/site/tadpolefordb/) 웹기반의데이터베이스를관리하는도구 Database 스키마및데이터관리 라이선스 LGPL (Lesser General Public License) 특징 주요기능

More information

DBMS & SQL Server Installation Database Laboratory

DBMS & SQL Server Installation Database Laboratory DBMS & 조교 _ 최윤영 } 데이터베이스연구실 (1314 호 ) } 문의사항은 cyy@hallym.ac.kr } 과제제출은 dbcyy1@gmail.com } 수업공지사항및자료는모두홈페이지에서확인 } dblab.hallym.ac.kr } 홈페이지 ID: 학번 } 홈페이지 PW:s123 2 차례 } } 설치전점검사항 } 설치단계별설명 3 Hallym Univ.

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

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

- JPA를사용하는경우의스프링설정파일에다음을기술한다. <bean id=entitymanagerfactory class=org.springframework.orm.jpa.localentitymanagerfactorybean p:persistenceunitname= JPA 와 Hibernate - 스프링의 JDBC 대신에 JPA를이용한 DB 데이터검색작업 - JPA(Java Persistence API) 는자바의 O/R 매핑에대한표준지침이며, 이지침에따라설계된소프트웨어를 O/R 매핑프레임워크 라고한다. - O/R 매핑 : 객체지향개념인자바와관계개념인 DB 테이블간에상호대응을시켜준다. 즉, 객체지향언어의인스턴스와관계데이터베이스의레코드를상호대응시킨다.

More information

PowerPoint Presentation

PowerPoint Presentation 6 장 SQL (section 4-6) 목차 SECTION 01 SQL 의개요 1-1 SQL의역사 1-2 SQL의유형별종류 SECTION 02 데이터정의어 (DDL) 2-1 스키마 2-2 테이블생성 (CREATE TABLE) 2-3 테이블변경 (ALTER TABLE) 2-4 테이블제거 (DROP TABLE) 2-5 제약조건 SECTION 03 데이터조작어 (DML)

More information

슬라이드 1

슬라이드 1 Visual 2008 과신속한애플리케이션 개발 Smart Client 정병찬 ( 주 ) 프리엠컨설팅개발팀장 johnharu@solutionbuilder.co.kr http://www.solutionbuilder.co.kr 목차 Visual Studio 2008 소개 닷넷프레임워크 3.5 소개 Language Integrated Query (LINQ) 어플리케이션개발홖경

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

슬라이드 제목 없음

슬라이드 제목 없음 MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS 로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS 보다가격이매우저렴한편이고,

More information

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher( 실행할페이지.jsp); 다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher

More information

[Brochure] KOR_TunA

[Brochure] KOR_TunA LG CNS LG CNS APM (TunA) LG CNS APM (TunA) 어플리케이션의 성능 개선을 위한 직관적이고 심플한 APM 솔루션 APM 이란? Application Performance Management 란? 사용자 관점 그리고 비즈니스 관점에서 실제 서비스되고 있는 어플리케이션의 성능 관리 체계입니다. 이를 위해서는 신속한 장애 지점 파악 /

More information

Spring Boot/JDBC JdbcTemplate/CRUD 예제

Spring Boot/JDBC JdbcTemplate/CRUD 예제 Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.

More information

Microsoft PowerPoint - 10Àå.ppt

Microsoft PowerPoint - 10Àå.ppt 10 장. DB 서버구축및운영 DBMS 의개념과용어를익힌다. 간단한 SQL 문법을학습한다. MySQL 서버를설치 / 운영한다. 관련용어 데이터 : 자료 테이블 : 데이터를표형식으로표현 레코드 : 테이블의행 필드또는컬럼 : 테이블의열 필드명 : 각필드의이름 데이터타입 : 각필드에입력할값의형식 학번이름주소연락처 관련용어 DB : 테이블의집합 DBMS : DB 들을관리하는소프트웨어

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

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

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager

Data Sync Manager(DSM) Example Guide Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager Data Sync Manager (DSM) Example Guide DSM Copyright 2003 Ari System, Inc. All Rights reserved. Data Sync Manager are trademarks or registered trademarks of Ari System, Inc. 1 Table of Contents Chapter1

More information

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E > 6. ASP.NET ASP.NET 소개 ASP.NET 페이지및응용프로그램구조 Server Controls 데이터베이스와연동 8 장. 데이터베이스응용개발 (Page 20) 6.1 ASP.NET 소개 ASP.NET 동적웹응용프로그램을개발하기위한 MS 의웹기술 현재 ASP.NET 4.5까지출시.Net Framework 4.5 에포함 Visual Studio 2012

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 - 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 - ArrayAdapter ArrayAdapter adapter = new ArrayAdapter(this, android.r.layout.simple_list_item_1,

More information

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아 LG U+ SMS/MMS 통합클라이언트 LG U+ SMS/MMS Client Simple Install Manual LG U+ SMS/MMS 통합클라이언트 - 1 - 간단설치매뉴얼 1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml

More information

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이타베이스 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2013.05.15. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

3. 저장위치를 바탕화면으로 설정하고, 저장을 하고, 실행을 합니다. 4. 바탕화면에 아이콘이 생성되고 아이콘을 더블 클릭합니다. 5. 실행을 클릭하여 프로그램을 설치합니다. 다음버튼을 클릭하고, 사용권 계약에서는 예를 클릭합 니다. 6. 암호 입력창이 뜨면 기본 암호

3. 저장위치를 바탕화면으로 설정하고, 저장을 하고, 실행을 합니다. 4. 바탕화면에 아이콘이 생성되고 아이콘을 더블 클릭합니다. 5. 실행을 클릭하여 프로그램을 설치합니다. 다음버튼을 클릭하고, 사용권 계약에서는 예를 클릭합 니다. 6. 암호 입력창이 뜨면 기본 암호 쉽고 간단한 스마트폰 앱 제작하기 우리가 읷반적으로 사용하고 있는 용어 응용 소프트웨어(application software)는 넓은 의미에서는 운영 체제 위에서 실행되는 모든 소프트웨어를 뜻합니다. 앱(APP) 이라고 줄여서 말하기도 하고, 어플, 어플리케이션 이라고도 합니다. 해당 앱만 설치하면 갂편하게 읶터넷 뱅킹도 이용하고 버스나 지하철 노선이나 차량

More information

Microsoft Word - src.doc

Microsoft Word - src.doc IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...

More information

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드] MS SQL Server 마이크로소프트사가윈도우운영체제를기반으로개발한관계 DBMS 모바일장치에서엔터프라이즈데이터시스템에이르는다양한플랫폼에서운영되는통합데이터관리및분석솔루션 2 MS SQL Server 개요 3.1 MS SQL Server 개요 클라이언트-서버모델을기반으로하는관계 DBMS로서윈도우계열의운영체제에서만동작함 오라클관계 DBMS보다가격이매우저렴한편이고,

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

More information

JDBC 소개및설치 Database Laboratory

JDBC 소개및설치 Database Laboratory JDBC 소개및설치 JDBC } What is the JDBC? } JAVA Database Connectivity 의약어 } 자바프로그램안에서 SQL 을실행하기위해데이터베이스를연결해주는응용프로그램인터페이스 } 연결된데이터베이스의종류와상관없이동일한방법으로자바가데이터베이스내에서발생하는트랜잭션을제어할수있도록하는환경을제공 2 JDBC Driver Manager }

More information

@OneToOne(cascade = = "addr_id") private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a

@OneToOne(cascade = = addr_id) private Addr addr; public Emp(String ename, Addr addr) { this.ename = ename; this.a 1 대 1 단방향, 주테이블에외래키실습 http://ojcedu.com, http://ojc.asia STS -> Spring Stater Project name : onetoone-1 SQL : JPA, MySQL 선택 http://ojc.asia/bbs/board.php?bo_table=lecspring&wr_id=524 ( 마리아 DB 설치는위 URL

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 7 장클래스와객체 이번장에서학습할내용 객체지향이란? 객체 메시지 클래스 객체지향의장점 String 클래스 객체지향개념을완벽하게이해해야만객체지향설계의이점을활용할수있다. 실제세계는객체로이루어진다. 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 절차지향과객체지향 절차지향프로그래밍 (procedural programming): 문제를해결하는절차를중요하게생각하는방법

More information

전체설치와사용자지정설치중원하는설치방식을선택합니다. ArcGIS Desktop 설치경로를지정하면설치가짂행됩니다.

전체설치와사용자지정설치중원하는설치방식을선택합니다. ArcGIS Desktop 설치경로를지정하면설치가짂행됩니다. ArcGIS Desktop 10 설치가이드 설치전확인사항 설치하기전에 ArcGIS Desktop 시스템요구사양을 ArcGIS Resource Center을통해확읶하시기바랍니다. (http://resources.arcgis.com/content/arcgisdesktop/10.0/arcgis-desktop-system-requirements) ArcGIS Desktop

More information

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역

WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역 WINDOW FUNCTION 의이해와활용방법 엑셈컨설팅본부 / DB 컨설팅팀정동기 개요 Window Function 이란행과행간의관계를쉽게정의할수있도록만든함수이다. 윈도우함수를활용하면복잡한 SQL 들을하나의 SQL 문장으로변경할수있으며반복적으로 ACCESS 하는비효율역시쉽게해결할수있다. 이번화이트페이퍼에서는 Window Function 중순위 RANK, ROW_NUMBER,

More information

슬라이드 1

슬라이드 1 17.1 데이터베이스트리거 17.2 DML 트리거 17.3 DML 트리거작성 17.4 DML 트리거관리 17.5 INSTEAD OF 트리거 17.6 NON-DML 트리거 17.1 데이터베이스트리거 데이터베이스트리거 (database trigger) 테이블에어떤조작이가해졌을때에미리지정해놓은처리를자동으로실행시키는블록 PL/SQL 블록으로작성, 오라클데이터베이스에저장

More information

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi 소프트웨어공학 Tutorial #2: StarUML Eun Man Choi emchoi@dgu.ac.kr Contents l StarUML 개요 l StarUML 소개및특징 l 주요기능 l StarUML 화면소개 l StarUML 설치 l StarUML 다운 & 설치하기 l 연습 l 사용사례다이어그램그리기 l 클래스다이어그램그리기 l 순서다이어그램그리기 2

More information

Microsoft PowerPoint 웹 연동 기술.pptx

Microsoft PowerPoint 웹 연동 기술.pptx 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우

More information

Spring Data JPA Many To Many 양방향 관계 예제

Spring Data JPA Many To Many 양방향 관계 예제 Spring Data JPA Many To Many 양방향관계예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) 엔티티매핑 (Entity Mapping) M : N 연관관계 사원 (Sawon), 취미 (Hobby) 는다 : 다관계이다. 사원은여러취미를가질수있고, 하나의취미역시여러사원에할당될수있기때문이다. 보통관계형 DB 에서는다 : 다관계는 1

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

arcplan Enterprise 6 Charting Facelifts

arcplan Enterprise 6 Charting Facelifts SQL Server Analysis Services Tip 잘레시아 Copyright c 2010 Zalesia Co., Ltd. Agenda I II SSAS Non-Aggregatable 측정값처리 Copyright c 2010 Zalesia Co., Ltd. 2 Copyright c 2010 Zalesia Co., Ltd. 3 STEP1: Sales 큐브를위해데이터를미리준비한다.

More information

제 5강 리만적분

제 5강 리만적분 제 5 강리만적분 리만적분 정의 : 두실수, 가 을만족핚다고가정하자.. 만일 P [, ] 이고 P 가두끝점, 을모두포함하는유핚집합일때, P 을 [, ] 의분핛 (prtitio) 이라고핚다. 주로 P { x x x } 로나타낸다.. 분핛 P { x x x } 의노름을다음과같이정의핚다. P x x x. 3. [, ] 의두분핛 P 와 Q 에대하여만일 P Q이면 Q

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습문제 Chapter 05 데이터베이스시스템... 오라클로배우는데이터베이스개론과실습 1. 실습문제 1 (5 장심화문제 : 각 3 점 ) 6. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (2) 7. [ 마당서점데이터베이스 ] 다음프로그램을 PL/SQL 저장프로시져로작성하고실행해 보시오. (1) ~ (5)

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

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

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp

A SQL Server 2012 설치 A.1 소개 Relational DataBase Management System SQL Server 2012는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 exp A SQL Server 0 설치 A. 소개 Relational DataBase Management System SQL Server 0는마이크로소프트사에서제공하는 RDBMS 다. 마이크로소프트사는스탠다드 standard 버전이상의상업용에디션과익스프레스 express 버전 의무료에디션을제공하는데, 이책에서는실습을위해 SQL Server 0 익스프레스에디 션 SP

More information

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 고장수목을이용핚테스트케이스의 안전성측정 윤상현, 조재연, 유준범 Dependable Software Laboratory 건국대학교 차례 서론 배경지식 고장수목분석 테스트케이스와고장수목의최소절단집합의비교 개요 소프트웨어요구사항모델 - 핸드폰카메라예제 고장수목분석최소절단집합의 CTL 속성으로의변홖 테스트케이스에서 SMV 입력프로그램으로의변홖 테스트케이스변홖모델에대핚모델체킹

More information

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

제8장 자바 GUI 프로그래밍 II 제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로

More information

서현수

서현수 Introduction to TIZEN SDK UI Builder S-Core 서현수 2015.10.28 CONTENTS TIZEN APP 이란? TIZEN SDK UI Builder 소개 TIZEN APP 개발방법 UI Builder 기능 UI Builder 사용방법 실전, TIZEN APP 개발시작하기 마침 TIZEN APP? TIZEN APP 이란? Mobile,

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

문서 템플릿

문서 템플릿 HDSI 툴분석 [sql injection 기술명세서 ] Sql injection 기술명세서 Ver. 0.01 이문서는 sql injection 기술명세가범위입니다. Copyrights Copyright 2009 by CanvasTeam@SpeeDroot( 장경칩 ) All Rights Reserved. 장경칩의사전승인없이본내용의전부또는일부에대한복사, 전재,

More information

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인

표준프레임워크로 구성된 컨텐츠를 솔루션에 적용하는 것에 문제가 없는지 확인 표준프레임워크로구성된컨텐츠를솔루션에적용하는것에문제가없는지확인 ( S next -> generate example -> finish). 2. 표준프레임워크개발환경에솔루션프로젝트추가. ( File -> Import -> Existring Projects into

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

파워포인트 템플릿

파워포인트 템플릿 ibizsoftware 정호열차장 ( 표준프레임워크오픈커뮤니티커미터 ) Agenda 1. ibatis 와 Hibernate 의개념및특징 2. Hibernate 와 JPA 쿼리종류 3. ibatis 와 Hibernate 동시사용을위한 Transaction 처리방안 4. @EntityListeners 활용방법 Agenda 5. Hibernate 사용시 Dynamic

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 2015 학년도 2 학기 public class Person{ public String name; public int age; public Person(){ public Person(String s, int a){ name = s; age = a; public String getname(){ return name; @ 객체의선언 public static void

More information

MVVM 패턴의 이해

MVVM 패턴의 이해 Seo Hero 요약 joshua227.tistory. 2014 년 5 월 13 일 이문서는 WPF 어플리케이션개발에필요한 MVVM 패턴에대한내용을담고있다. 1. Model-View-ViewModel 1.1 기본개념 MVVM 모델은 MVC(Model-View-Contorl) 패턴에서출발했다. MVC 패턴은전체 project 를 model, view 로나누어

More information

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드] Google Map View 구현 학습목표 교육목표 Google Map View 구현 Google Map 지원 Emulator 생성 Google Map API Key 위도 / 경도구하기 위도 / 경도에따른 Google Map View 구현 Zoom Controller 구현 Google Map View (1) () Google g Map View 기능 Google

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

[Umbraco 강좌 ] 21. 매크로 (Macro) 에파라미터젂달 [Umbraco 강좌 ] 22. 사짂갤러리 (Gallery) 만들기 [Umbraco 강좌 ] 23. 사짂갤러리 (Gallery) 만들기 2 : XSLT 사용하기

[Umbraco 강좌 ] 21. 매크로 (Macro) 에파라미터젂달 [Umbraco 강좌 ] 22. 사짂갤러리 (Gallery) 만들기 [Umbraco 강좌 ] 23. 사짂갤러리 (Gallery) 만들기 2 : XSLT 사용하기 Contents [Umbraco 강좌 ] 1. Umbraco 소개... 3 [Umbraco 강좌 ] 2. Umbraco 개발환경구축... 7 [Umbraco 강좌 ] 3. Umbraco 설치... 17 [Umbraco 강좌 ] 4. 사용자모드와관리자모드 ( 백오피스 )... 27 [Umbraco 강좌 ] 5. 새로운페이지 (Page)

More information

수험번호 성 명 2013 다음커뮤니케이션직무능력테스트 감독관서명 < 본문서는외부비공개문서입니다. 무단배포시법적인챀임을물을수있습니다 > 1

수험번호 성 명 2013 다음커뮤니케이션직무능력테스트 감독관서명 < 본문서는외부비공개문서입니다. 무단배포시법적인챀임을물을수있습니다 > 1 수험번호 성 명 2013 다음커뮤니케이션직무능력테스트 감독관서명 1 2 다음커뮤니케이션 2013 년인턴사원시험문제 Java, C/C++ 중자싞있는프로그래밍언어사용가능. 지필고사이므로문법오류는체크하지않습니다. (include or import 는생략 ) 페이지를넘기면연습장으로사용핛수있도록갂지를넣어두었습니다. 해당페이지에서연습하시고 < 정답 > 이라고쓰인영역에정답을옮겨적으시기바랍니다.

More information

슬라이드 1

슬라이드 1 SW 개발도구연계 Jenkins - Redmine - Mylyn 목차 Intro Mylyn - Redmine 연계 Mylyn - Jenkins 연계및빌드실행 Mylyn에서 Redmine 일감처리 Intro 연계도구 웹기반의프로젝트관리도구 한글화가잘되어있어사용저변이넓음 플러그인을통해다양한도구와연계가능 Eclipse 용 ALM(Application Lifecycle

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Solaris /Linux ArcGIS Engine 설치미디어의 Install_UNIX.htm 을참조하시기바랍니다. 1) ArcObjects SDK 10 for the.net Framework 설치 설치메뉴중 ArcObjects SDK for the.net Framew

Solaris /Linux ArcGIS Engine 설치미디어의 Install_UNIX.htm 을참조하시기바랍니다. 1) ArcObjects SDK 10 for the.net Framework 설치 설치메뉴중 ArcObjects SDK for the.net Framew ArcGIS Engine 10 설치가이드 설치전확인사항 ArcGIS 10 에서는 ArcObejects SDK 와 ArcGIS Engine Runtime 을같이설치해야라이센스 읶증을통해사용이가능합니다. 설치젂에 Microsoft.NET Framework 3.5 SP1 이먼저설치해야합니다. ArcObjects SDK 10 시스템요구사양 http://resources.arcgis.com/content/arcgissdks/10.0/system-requirements

More information

INTERNATIONAL SOS TRAINING HUB Learner Guide ( 온라인교육프로그램안내문 ) V2.0

INTERNATIONAL SOS TRAINING HUB Learner Guide ( 온라인교육프로그램안내문 ) V2.0 INTERNATIONAL SOS TRAINING HUB Learner Guide ( 온라인교육프로그램안내문 ) V2.0 Contents 1. 인터내셔날 SOS 온라인교육프로그램안내 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 홈페이지에서온라인교육프로그램에접속하기온라인교육프로그램로그인페이지계정등록하기강좌콘텐츠개요강좌정보보기수강목록필터설정및보기변경 2.

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

제 3강 역함수의 미분과 로피탈의 정리

제 3강 역함수의 미분과 로피탈의 정리 제 3 강역함수의미분과로피탈의정리 역함수의미분 : 두실수 a b 와폐구갂 [ ab, ] 에서 -이고연속인함수 f 가 ( a, b) 미분가능하다고가정하자. 만일 f '( ) 0 이면역함수 f 은실수 f( ) 에서미분가능하고 ( f )'( f ( )) 이다. f '( ) 에서 증명 : 폐구갂 [ ab, ] 에서 -이고연속인함수 f 는증가함수이거나감소함수이다 (

More information

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2

학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 학습목표 함수프로시저, 서브프로시저의의미를안다. 매개변수전달방식을학습한다. 함수를이용한프로그래밍한다. 2 6.1 함수프로시저 6.2 서브프로시저 6.3 매개변수의전달방식 6.4 함수를이용한프로그래밍 3 프로시저 (Procedure) 프로시저 (Procedure) 란무엇인가? 논리적으로묶여있는하나의처리단위 내장프로시저 이벤트프로시저, 속성프로시저, 메서드, 비주얼베이직내장함수등

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

untitled

untitled PowerBuilder 連 Microsoft SQL Server database PB10.0 PB9.0 若 Microsoft SQL Server 料 database Profile MSS 料 (Microsoft SQL Server database interface) 行了 PB10.0 了 Sybase 不 Microsoft 料 了 SQL Server 料 PB10.0

More information

슬라이드 1

슬라이드 1 전자정부개발프레임워크 1 일차실습 LAB 개발환경 - 1 - 실습목차 LAB 1-1 프로젝트생성실습 LAB 1-2 Code Generation 실습 LAB 1-3 DBIO 실습 ( 별첨 ) LAB 1-4 공통컴포넌트생성및조립도구실습 LAB 1-5 템플릿프로젝트생성실습 - 2 - LAB 1-1 프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new

More information

MyCQ Server 2009

MyCQ Server 2009 We detect events in real-time. 회사소개 최근의금융, 증권, 통싞, 전력, 물류, 국방, 의료, 항공, 우주등의 IT 분야에 서실시갂데이터스트림처리에대핚요구가크게증가하고있습니다. 더 불어, 그에대핚실시갂응용요구사항또핚다양하게증가하고있습니다. ( 주 ) 마이씨큐는실시갂대용량데이터스트림처리에대핚전문적인기술및다양핚분야의소프트웨어기술을보유하고있으며,

More information

Microsoft Office 2010 기술 프리뷰 FAQ

Microsoft Office 2010 기술 프리뷰 FAQ Microsoft Office 2010 FAQ Microsoft Office 2010 정보 1. Office 2010 제품굮에포함되는제품은무엇입니까? 2. 이젂버젂에서 Microsoft Office 2010 제품굮으로업데이트되면서크게바뀐부분은무엇입니까? 3. Office 웹응용프로그램이띾무엇입니까? 4. Office 2010 을사용해야만하는이유가있습니까? 5.

More information

슬라이드 1

슬라이드 1 CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Amazon EBS (Elastic Block Storage) Amazon EC2 Local Instance Store (Ephemeral Volumes) Amazon S3 (Simple Storage Service) / Glacier Elastic File Syste (EFS) Storage Gateway AWS Import/Export 1 Instance

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

Web Scraper in 30 Minutes 강철

Web Scraper in 30 Minutes 강철 Web Scraper in 30 Minutes 강철 발표자 소개 KAIST 전산학과 2015년부터 G사에서 일합니다. 에서 대한민국 정치의 모든 것을 개발하고 있습니다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 목표 웹 스크래퍼를 프레임웍 없이 처음부터 작성해 본다. 스크래퍼/크롤러의 작동 원리를 이해한다. 목표

More information

10.ppt

10.ppt : SQL. SQL Plus. JDBC. SQL >> SQL create table : CREATE TABLE ( ( ), ( ),.. ) SQL >> SQL create table : id username dept birth email id username dept birth email CREATE TABLE member ( id NUMBER NOT NULL

More information

[ASP.NET MVC3 강좌 ] 1. MVC(Model- View Controller) MVC 는제록스팰러앨토연구소에서스몰토크관렦읷을하던 Trygve Reenskaug 에의해 1979 년에처음으로고안되었다. 상당히고젂적읶패턴중의하나로 MVC 라는개념은수맃은형태의패턴을

[ASP.NET MVC3 강좌 ] 1. MVC(Model- View Controller) MVC 는제록스팰러앨토연구소에서스몰토크관렦읷을하던 Trygve Reenskaug 에의해 1979 년에처음으로고안되었다. 상당히고젂적읶패턴중의하나로 MVC 라는개념은수맃은형태의패턴을 목차 [ASP.NET MVC3 강좌 ] 1. MVC(Model- View Controller)... 2 [ASP.NET MVC3 강좌 ] 2. MVC 환경세팅... 5 [ASP.NET MVC3 강좌 ] 3. HelloWorld MVC... 9 [ASP.NET MVC3 강좌 ] 4. Layout, Partial Page...

More information

Web Application을 구성하는 패턴과 Spring ROO의 사례

Web Application을 구성하는 패턴과 Spring ROO의 사례 Spring Roo 와함께하는 쾌속웹개발 정상혁, KSUG (www.ksug.org) 목차 1. Tool 2. Demo 3. Application 1. Tool 1.1 개요 1.2 Command line shell 1.3 Round-trip 1.4 익숙한도우미들 1.1 개요 Text Based RAD Tool for Java Real Object Oriented의첫글자들

More information

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정

목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host) 서버 설정... 9 W7CLIENT (Windows 7 Client) 클라이얶트 설정 W2K8 R2 RemoteApp 및 Web Access 설치 및 구성 Step-By-Step 가이드 Microsoft Korea 이 동 철 부장 2009. 10 페이지 1 / 60 목차 데모 홖경 및 개요... 3 테스트 서버 설정... 4 DC (Domain Controller) 서버 설정... 4 RDSH (Remote Desktop Session Host)

More information

슬라이드 제목 없음

슬라이드 제목 없음 5.2 ER 모델 ( 계속 ) 관계와관계타입 관계는엔티티들사이에존재하는연관이나연결로서두개이상의엔티티타입들사이의사상으로생각할수있음 관계집합은동질의관계들의집합 관계타입은동질의관계들의틀 관계집합과관계타입을엄격하게구분할필요는없음 요구사항명세에서흔히동사는 ER 다이어그램에서관계로표현됨 ER 다이어그램에서다이어몬드로표기 관계타입이서로연관시키는엔티티타입들을관계타입에실선으로연결함

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

Design

Design Team 6 201060682 Valentin 200611450 강세용 200610118 김규수 이문서는 TimeSchedule System 을구현하기위핚기본적인아키텍쳐와구조에대해기술하였습니다. 가장핵심적인부분은 TimeSchedule 이며기본적인구조는, 교수는수업을개설하거나삭제핛수있으며학생은교수가개설핚수업을자싞의시갂표에등록핛수있다. 단학생의수업이다른수업과겹칠경우수업은학생의시갂표에등록되지않으며,

More information

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8> 데이터베이스 (Database) ER- 관계사상에의한관계데이터베이스설계 문양세강원대학교 IT특성화대학컴퓨터과학전공 설계과정 [ 그림 3.1] 작은세계 요구사항들의수정과분석 Functional Requirements 데이타베이스요구사항들 FUNCTIONAL ANALYSIS 개념적설계 ERD 사용 High level ltransaction Specification

More information

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

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일 Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 Introduce Me!!! Job Jeju National University Student Ubuntu Korean Jeju Community Owner E-Mail: ned3y2k@hanmail.net Blog: http://ned3y2k.wo.tc Facebook: http://www.facebook.com/gyeongdae

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

초보자를 위한 ADO 21일 완성

초보자를 위한 ADO 21일 완성 ADO 21, 21 Sams Teach Yourself ADO 2.5 in 21 Days., 21., 2 1 ADO., ADO.? ADO 21 (VB, VBA, VB ), ADO. 3 (Week). 1, 2, COM+ 3.. HTML,. 3 (week), ADO. 24 1 - ADO OLE DB SQL, UDA(Universal Data Access) ADO.,,

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

한국 컴퓨터그래픽스(디지털컨텐츠)의 현황과 미래 위기인가? 기회인가?

한국 컴퓨터그래픽스(디지털컨텐츠)의 현황과 미래 위기인가? 기회인가? Chapter 14 ADO.NET 학습목표 ADO.NET 은데이터베이스사용의편의를위해, MS 사가만든표준데이터베이스인터페이스이다. 프로그램을한다는것에있어서빠질수없는부분이데이터베이스부분이다. ADO.NET 의 C# 에서활용을학습하도록한다. 2 ADO.NET 의개요 ADO.NET.NET 에서데이터베이스조작에관련된.NET 클래스들의집합 다양한방법으로데이터베이스를검색,

More information

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_20160320.pptx (보험TM) 소개서 2015.12 대표전화 : 070 ) 7405 1700 팩스 : 02 ) 6012 1784 홈 페이지 : http://www.itfact.co.kr 목 차 01. Framework 02. Application 03. 회사 소개 01. Framework 1) Architecture Server Framework Client Framework

More information

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 제이쿼리 () 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호 CSS와마찬가지로, 문서에존재하는여러엘리먼트를접근할수있다. 엘리먼트접근방법 $( 엘리먼트 ) : 일반적인접근방법

More information

Portal_9iAS.ppt [읽기 전용]

Portal_9iAS.ppt [읽기 전용] Application Server iplatform Oracle9 A P P L I C A T I O N S E R V E R i Oracle9i Application Server e-business Portal Client Database Server e-business Portals B2C, B2B, B2E, WebsiteX B2Me GUI ID B2C

More information

단계

단계 본문서에서는 Tibero RDBMS 에서제공하는 Oracle DB Link 를위한 gateway 설치및설정방법과 Oracle DB Link 사용법을소개한다. Contents 1. TIBERO TO ORACLE DB LINK 개요... 3 1.1. GATEWAY 란... 3 1.2. ORACLE GATEWAY... 3 1.3. GATEWAY 디렉터리구조...

More information