프레임워크설계및구축 Spring.NET 어플리케이션 프레임워크 어플리케이션프레임워크란단어는자바개발자들에겐지겨울정도로자주듣는말이겠지만, 닷넷개발자들에겐그리익숙한단어가아니었다. 그만큼어플리케이션프레임워크가가져다주는편리함을누리지못함은물론이고각프레임워크들이내재하고있는디자인패턴

Size: px
Start display at page:

Download "프레임워크설계및구축 Spring.NET 어플리케이션 프레임워크 어플리케이션프레임워크란단어는자바개발자들에겐지겨울정도로자주듣는말이겠지만, 닷넷개발자들에겐그리익숙한단어가아니었다. 그만큼어플리케이션프레임워크가가져다주는편리함을누리지못함은물론이고각프레임워크들이내재하고있는디자인패턴"

Transcription

1 프레임워크설계및구축 Spring.NET 어플리케이션 프레임워크 어플리케이션프레임워크란단어는자바개발자들에겐지겨울정도로자주듣는말이겠지만, 닷넷개발자들에겐그리익숙한단어가아니었다. 그만큼어플리케이션프레임워크가가져다주는편리함을누리지못함은물론이고각프레임워크들이내재하고있는디자인패턴, 아키텍처등에대한건전한토론과논쟁조차도활발하지못했으며이는곧닷넷기반에서개발된어플리케이션에대한불신과선입견을준것또한사실이다. 다행히최근국내와국외를막론하고닷넷환경에서도어플리케이션프레임워크도입과관련한활발한의견이개진되고있으며, 특히오픈소스어플리케이션프레임워크를실제어플리케이션에적용한사례도하나둘씩늘어나고있다. 스텝 3 바이스텝 연재순서 1 회 애플리케이션과프레임워크동시개발 2 회 프레임워크엔지니어링 1 3 회 프레임워크엔지니어링 2 4 회 Spring.NET 어플리케이션프레임워크 5 회 ibatis.net 연재가이드운영체제 윈도우 2K/XP 사용도구 VS2005, Spring.NET 기초지식 C# 응용분야 엔터프라이즈프로그래밍 권효중 nygangstar.tistory.com ( 주 ) 중외정보기술솔루션개발팀에근무하고있으며, 닷넷환경에서도어플리케이션프레임워크, 오픈소스가널리사용되길바라는평범한개발자이다. 필자는어플리케이션프레임워크중오픈소스기반의 Spring.NET과데이터베이스접근기술인 ibatis.net에대해서 2회에걸쳐연재하려고한다. Spring.NET을한마디로설명한다면닷넷환경에서사용할수있는 IoC(Inversion of Control) 기반의어플리케이션프레임워크라고할수있다. Spring 프레임워크는자바개발환경에서이미널리사용되고있는프레임워크이며 Spring.NET은이의닷넷버전이다. 그렇다고는하나 Spring.NET은자바버전의프레임워크와는많은부분에서다른기능을제공하고있다. 물론 IoC, AOP 등의핵심기술과사상은동일하다. 덧붙여이글을읽게될독자분들께바램이있다면 Spring. NET이근원적으로지향하는부분은단지어플리케이션프레임워크로써다양한기능을제공하는데있는것이아니라특정모듈로부터상속받지않은순수닷넷객체 (PONO) 를활용하여어플리케이션전체의유연성을극대화하고자하는것이므로 Spring.NET의세세한기능에만너무몰입하지않기를바란다. Spring.NET에서제공하는주요기능은다음과같다. - Dependency Injection / Inversion of Control - Aspect Oriented Programming - Data Access 지원 : ADO.NET, NHibernate 래퍼제공및편리한트랜잭션지원 - ASP.NET WebForm 지원 : ASP.NET 페이지에대한 DI, 양방향데이터바인딩, 유효성검증기능등 - 분산기술지원 : PONO 기반 Remoting, Web Service, Enterprise Service 지원이외에도 Job Scheduling 라이브러리인 Quartz.NET, 메시지전달기술인 Apache ActiveMQ, MSMQ와의연동모듈을제공하고있다. 여기에서는이중에서도가장많이사용되는기능인 DI, AOP, Database Access, 분산기술지원 ( 일명 Spring Services) 에대해서알아보도록하겠다. Dependency Injection Spring.NET의가장핵심은 Sring.Core 어셈블리에서제공하는 DI 기능이다. Spring.NET이제공하는나머지기능들도모두 DI 또는후에설명할 AOP에기반한기능들이라고볼수있다. 물론, DI 기능자체를개발자의어플리케이션에서사용하는것또한가능하다. 262 m a s o

2 Spring.NET 애플리케이션프레임워크 이번기고에서는 Dependency Injection이무엇이며그와관련된쟁점이나필요성, 장단점을다루는것이목적이아니므로이에대해궁금한독자들은아래의페이지를참조하길바란다. - 위키피디아의 DI 페이지 : - 마틴파울러블로그의 DI 기사 : Spring.NET에서는 Spring.Core 어셈블리를통해서 DI 기능을제공하고있으며, IObjectFactory 인터페이스가객체의생성과소멸등을관리하는최상위인터페이스이며, 개발자는 IObjectFactory를구현한 IApplicationContext를통해 DI 기능을사용하게된다. Spring.NET은 XML을사용한선언적방식, 또는프로그래밍방식을통해서 DI 기능을사용할수있도록하고있으며주로 XML을사용하는것이일반적이고, 윈폼어플리케이션의경우 App.Config, 웹어플리케이션의경우엔 Web.Config 파일을사용할수있다. Spring.NET에서객체를실제코드에주입하는방법은프로퍼티를사용하는방식과생성자의인자값에주입하는방식, 두가지가있다. 어떤방법이더유용한지에대해서는많은논쟁들이있으며, 어떤방법이더나을것인지는개발환경에따라다를수있을것이다. 참고로 Spring.NET 개발팀에서는생성자를사용하는방법이너무비대한생성자를만들어낼수있다는이유로프로퍼티를이용한주입방식을옹호하고있지만, 상황에따라유연하게사용할것을권장하고있다. 프로퍼티를사용하여객체를주입하는방법은 < 리스트 1> 에서처럼설정파일에사용할객체를선언하고 < 리스트 2> 와같이코드에서는프로퍼티에선언한객체의인스턴스가마치생성된것처럼사용하면된다. < 리스트 1> DI 설정 XML 파일 <object id="serviceobject" type="serviceapp.serviceobject, ServiceApp"> <property id="dao" ref="daoobject"/> <object id="daoobject" type="daoapp.daoobject, DaoApp"> < 리스트 2> 주입받은인스턴스를사용하는코드 public class ServiceObject : IService { private IDAO dao; // XML 파일에서설정한객체의인스턴스가 Dao 프로퍼티에 // 주입된다. public IDAO Dao { get { return dao; set { dao = value; public void AddUser(int id, string name) { // 프로퍼티에주입된인스턴스를사용하여로직구현 Dao.InsertUser(id, name); 어플리케이션개발시 DI 기능이쓰일만한곳은어떤상황일까? 기본적으로어플리케이션전체를아우르는객체의생성과소멸을관장하는역할을할수있을것이다. 코드에서는인터페이스에기반한계약된메소드를활용하고실제사용될객체는 XML 파일에서선언적으로지정함으로써흔히들객체지향프로그래밍방식의최종목표처럼예를드는레고조립이나자동차부품조립하듯모듈간의 Dependency를최대한줄여주어궁극적으로소프트웨어의진정한모듈화를가져올수있을것이다. 구체적으로는다음과같은상황도충분히 DI 기능을고려해볼만할것이다. - 어플리케이션이지원해야할데이터베이스의종류가다양한경우 - 특정시점에실행시켜야할모듈이많거나변경이잦은경우 첫번째의경우에대해서설명하자면, 데이터베이스접근코드를사용하는클라이언트레이어또는서비스레이어의코드변경없이 DI 설정파일의변경만으로데이터베이스를유연하게변경해가며사용할수있도록하는것이다. 물론, ORM 프레임워크를사용하는경우엔예외가될수있을것이지만, 데이터베이스종류별로다르게지원되는특화된기능들을여전히사용하고픈개발자들에겐매력적인기능일것이다. 두번째상황은 < 리스트 3> 을참조하자. < 리스트 3> 의코드는개발자들이코딩할때흔히만들어낼수있는코드중하나다. < 리스트 3> 폼시작시초기화작업을수행하는코드샘플 public class Form { public Form() { NetworkCheck(); GetUserAuthority(); SetUI(); SetGrid(); m a s o 263

3 스텝바이스텝 3 어떠한어플리케이션이시작되거나폼이구동될때초기화를위해여러가지체크를하는경우가많을것이고, 더상황이안좋은경우는이러한체크가더늘어나거나자주변경되는경우가있을것이다. 이러한경우도 DI 기능을이용하면훨씬유연하고우아한코드를만들어낼수있다. 구체적으로설명하자면, 우선초기화메소드들을클래스로뽑아내고공통의인터페이스를구현하게한후 DI 설정파일에서초기화에사용될객체들을선언하고사용할폼이나어플리케이션시작모듈에주입해주면추후에초기화모듈이더해지거나수정되더라도코드는변경할필요없이설정파일의변경만으로원하는효과를만들어낼수있다. < 리스트 4> 와 < 리스트 5> 의코드는이러한동작을수행할코드의주요부분이다. 먼저초기화작업을시행할객체들을 DI 방식으로생성하고 Form 클래스생성자의인자값에주입한다. < 리스트 4> 초기화작업을수행할객체들을 DI 방식을사용하여선언하고주입한다. <object id="networkcheck" type="myapp.networkcheck, MyApp" /> <object id="getuserauthority" type=" MyApp.GetUserAuthority, MyApp" /> <object id="setui" type="myapp.setui, MyApp" /> <object id="setgrid" type=" MyApp.SetGrid, MyApp" /> <object id="form" type="myapp.form, MyApp"> <constructor-arg name="startmodules"> <list> <ref object=vnetworkcheck" /> <ref object="getuserauthority" /> <ref object="setui" /> <ref object="setgrid" /> </list> </constructor-arg> 이후 < 리스트 5> 의코드에서처럼생성자를통해주입된객체를컬렉션에서꺼내어실행시킨다. < 리스트 5> DI 를사용한초기화작업진행 public class Form : IForm { public Form(){ public Form(IList startmodules) { // 생성자의인자로전달받은컬렉션에서인스턴스들을꺼내어 // 각각의모듈들을실행시킨다. foreach (IStartModule module in startmodules) { module.execute(); // 개별모듈들이구현할인터페이스 public interface IStartModule { void Execute(); public class NetworkCheck : IStartModule { Console.WriteLine("NetworkCheck Class Excuted"); public class GetUserAuthority : IStartModule { Console.WriteLine("GetUserAuthority Class Excuted"); public class SetUI : IStartModule { Console.WriteLine("SetUI Class Excuted"); public class SetGrid : IStartModule { Console.WriteLine("SetGrid Class Excuted"); Aspect Oriented Programming 이번엔 Spring.NET의또하나의핵심기능인 AOP 기능에대해서알아보도록하자. AOP의개념에대해서는인터넷을통해수많은글들을볼수있으니, 여기서는 Spring.NET에서제공하는 AOP 지원기능에대해서만보도록하겠다. Spring.NET은아래의 4가지인터페이스를통해서메소드의실행전, 실행후, 실행전후, 예외발생시에개발자가필요한기능을실행시킬수있다. - IAfterReturningAdvice - IMethodInterceptor - IMethodBeforeAdvice - IThrowsAdvice < 리스트 6>,< 리스트 7>,< 리스트 8> 의코드는 IMethodInter ceptor 인터페이스를구현하여메소드의실행시간을추출하는간단한샘플이다. 264 m a s o

4 Spring.NET 애플리케이션프레임워크 < 리스트 6> 수행시간을측정할메소드를사용하는코드 class Program { static void Main(string[] args) { IApplicationContext ctx = ContextRegistry.GetContext(); ICommand command = (ICommand)ctx["MyCommand"]; command.targetmethod(); public interface ICommand { void TargetMethod(); public class MyCommandObject : ICommand { public void TargetMethod() { for (int i = 0; i < 100; i++) { Thread.Sleep(10); Console.WriteLine(" 실행완료 "); < 리스트 7> Around Advice // IMethodInterceptor 인터페이스를구현하여타겟메소드의실행전과후를캡쳐한다. public class RunningTimdAroundAdvice : IMethodInterceptor { public object Invoke(IMethodInvocation invocation) { Stopwatch stopwatch = new Stopwatch(); stopwatch.start(); object returnvalue = invocation.proceed(); stopwatch.stop(); Console.WriteLine(string.Format("{0 메소드의실행시간은 {1 입니다.", invocation.method.name, stopwatch.elapsed.totalmilliseconds.tostring())); <property name="interceptornames"> <list> <value>aroundadvice</value> </list> </property> AOP는주로어플리케이션에서로깅, 인증등의처리에서자주사용되며, 이후에보게될 Spring.NET 트랜잭션기능도 AOP를사용하여처리하고있다. 주로어플리케이션의코드에서핵심비즈니스로직외에중복사용되는코드들을줄이고자할때매우효율적일것이다. 이렇게실제비즈니스로직외에코드의작동에필요한주변코드들 ( 로깅, 인증, 트랜잭션처리등 ) 이줄어들게되면코드는좀더명확하게어떤의도를가지고있는지보여지게될것이다. 수작업으로처리하던주변코드들 (AOP에서는이를 Cross Concern, 횡단관심사라고부름 ) 은비즈니스로직코드파일이아닌 XML 등의설정파일에선언되어 AOP 컨테이너에의해실제필요한부분에주입되게된다. 이점이바로 AOP가 OOP 의대체개념이아닌 OOP를더욱 OOP답게하는개념이라는것이다. 진정한객체지향적프로그래밍으로보이기위해어쩌면 AOP 개념은반드시필요하다고할수있다. Data Access 다음으로 Spring.NET에서제공하는데이터액세스및트랜잭션기능에대해서보도록하겠다. 이미기존에나와있는데이터액세스프레임워크나라이브러리들이많음에도불구하고 Spring.NET에서별도로데이터액세스모듈을지원하는것은주로아래의기능들을제공하기위해서이다. return returnvalue; 첫째, 데이터베이스공급자에독립적인일관된데이터처리 API 사용둘째, 데이터베이스공급자별로다른예외처리클래스의일원화셋째, 선언적방식의트랜잭션처리전략 < 리스트 8> AOP 설정 XML 파일 // 설정파일에서타겟이될객체에대해서 AOP 를적용하고있다. <object id="aroundadvice" type="myapp.runningtimdaroundadvice, MyApp" /> <object id="mycommand" type="spring.aop.framework. ProxyFactoryObject"> <property name="target"> <object type=" MyApp.MyCommandObject, MyApp" /> </property> 그럼각각의목표를이루기위해제공되는 Spring.NET의세부기능들을보도록하자. ADO.NET의템플릿제공데이터베이스벤더별로서로다른 API를사용해야하는 ADO.NET의단점을개선하기위해서 Spring.NET은 Spring. Data 어셈블리를통해서 AdoTemplate 클래스를제공하고있다. AdoTemplate을사용하기위해서는데이터공급자를지정해 m a s o 265

5 스텝바이스텝 3 주어야하며현재 Spring.NET에서제공하는데이터공급자는 SQL 서버, 오라클, MySql, DB2 등이다. ( 그외의데이터공급자는 Spring.NET 매뉴얼을참조하자.) AdoTemplate은또한기존에 ADO.NET만을사용할때발생할수있는중복되는코드들을제거하고단순화해주는장점을가져다주며입력성쿼리를위한 ExecuteNonQuery, 단일값반환을위한 ExecuteScalar, 다중열형태로반환해주는 Query WithResultSetExtractor, QueryWithRowMapper, Query ForObject, DataTableCreate, DataSetCreate 등다양한메소드를지원해준다. 물론결과값반환시 Generic 형태도제공해주고있다. < 리스트 9>,< 리스트 10> 의코드는순수 ADO.NET 코드만을사용할때와 AdoTemplate을사용해서데이터액세스를할때의차이를잘보여주고있다. < 리스트 9> 순수 ADO.NET 만을사용할경우 public class PureAdoNetDao : IPureAdoNetDao { string connectionstring = "... 커넥션문자열... " public void Add(string id, string name, string address) { using (SqlConnection connection = new SqlConnection(connectionString)) { string sql = String.Format("insert into TestObjects(Id, Name, Address) " + "VALUES ('{0', '{1', '{2')", id, name, address); using (SqlCommand cmd = new SqlCommand(sql, connection) { connection.open(); comm.executenonquery(); < 리스트 10> AdoTemplate 을사용할경우 public class SpringDao : AdoDaoSupport, ISpringNetDao { public void Add(string id, string name, string address) { AdoTemplate.ExecuteNonQuery ( String.Format("insert into TestObjects(Id, Name, Address) " + "VALUES ('{0', '{1', '{2')", id, name, address)) 코드에서볼수있듯이순수 ADO.NET을사용할때보다코드의양도줄어들고, 그로인해발생할수있는에러확률도줄일 수있다. 또한데이터베이스별로다른 API(SQL 서버는 System.Data.SqlClient, 오라클은 System.Data.OracleClient 사용등 ) 를사용하던것을일관되게 AdoTemplate 클래스를사용하도록하여데이터베이스변경에따른코드변경의위험성을줄여준다. 이외에도데이터바인딩시 Null 처리자동화, 데이터처리시사용한객체의자동소멸등유용한기능이많이있으며이에대해서는 Spring.NET 매뉴얼을참조하길바란다. AdoTemplate을사용할경우에는어플리케이션의설정파일 (App.Config나 Web.Cofig 또는지정한설정파일 ) 에서앞서보았던 DI 방식을통해커넥션문자열을설정해준다. < 리스트 11> 의코드는설정파일에서커넥션문자열을설정하고 AdoTemplate의인스턴스를생성하는방식을보여주고있다. < 리스트 11> AdoTemplate 객체에데이터공급자를주입한다. <objects xmlns=" xmlns:db=" database"> <db:provider id="dbprovider" provider="sqlserver-2.0" connectionstring="data Source=(local);Initial Catalog=TEST_DB;Persist Security Info=True;User ID= 아이디 ;Password= 패스워드 "/> <object id="adotemplate" type="spring.data.core. AdoTemplate, Spring.Data"> <property name="dbprovider" ref="dbprovider"/> <object id="dao" type="mysample.springdao, MySample"> <property name="adotemplate" ref="adotemplate"/> </objects> 일관된예외처리 Spring.NET은또한데이터베이스벤더별로일관성없는예외처리를동일한예외처리클래스에서처리할수있도록일종의 translation 작업을지원해준다. 닷넷 1.1에서는데이터베이스벤더별로완전히다른예외처리클래스를사용해야했다. 예를들면, SQL 서버를쓸때는 System.Data.SqlClient.SqlException 클래스, 오라클을사용할때는 System.Data.OracleClient.OracleException 클래스에서제공하는예외클래스를사용해야했으며, 이는닷넷 2.0에서 System.Data.Common.DbException 클래스를제공함으로써조금향상되긴했지만, 여전히문제점을가지고있었다. 이러한단점을보완하고자 Spring.NET은데이터베이스벤더별로다른 266 m a s o

6 Spring.NET 애플리케이션프레임워크 예외를공통의클래스에서처리하도록지원해주고있으며, < 표 1> 은 Spring.NET에서제공하는예외클래스들중일부이다. 메소드에 [Transaction()] 어트리뷰트를선언하는것만으로트랜잭션처리를끝낼수있는것이다. Exception 설명 BadSqlGrammarException 수행한 SQL 의문법에오류가있을 경우 PermissionDeniedDataAccessException 특정테이블등의리소스에접근권 한이없을경우 DataAccessResourceFailureException 데이터베이스연결이실패한경우 DataIntegrityViolationException 중복키삽입등과같이데이터무결 성을위반하는에러가발생한경우 CannotAcquireLockException 업데이트하기위해데이터를가져 와야할경우처럼 DB Lock을얻 지못한경우 < 표 1> Spring.NET에서제공하는주요데이터액세스예외처리클래스 트랜잭션관리 다음으로 Spring.NET의데이터액세스기능이제공하는또 하나의큰장점은선언적방식의트랜잭션지원전략이다. Spring.NET 개발팀의리더를맡고있는 Mark Pollack은기 존에닷넷에서제공하는트랜잭션방식은닷넷 1.1 이후로계속 해서발전해왔지만, 여전한문제점을가지고있다고보았으며 < 표 2> 와같이닷넷에서제공하는트랜잭션방식을정리했다. Local Distributed Declarative Transaction Transaction ADO.NET O X X Enterprise Services X O O System.Transactions O O X < 표 2> 닷넷의트랜잭션지원현황 < 표 2> 에서보듯 Mark Pollack은닷넷에서제공하고있지못한로컬트랜잭션을사용하면서도선언적방식 (Attribute, XML 을사용 ) 의트랜잭션전략이필요하다고생각했으며 Spring. NET은위의 ADO.NET, Enterprise Services, System. Trans actions에서제공하는각각의트랜잭션지원기능을바탕으로각각에해당하는트랜잭션구현체를제공하고있다. - AdoPlatformTransactionManager - ADO.NET에기반한트랜잭션지원 - ServiceDomainPlatformTransactionManager - Enterprise Services 에기반한트랜잭션지원 - TxScopePlatformTransactionManager - System.Transactions에기반한트랜잭션지원즉, 개발자는 < 리스트 12>,< 리스트 13> 의코드처럼응용프로그램에필요한트랜잭션구현체를설정파일에선언하고필요한 < 리스트 12> 트랜잭션어트리뷰트를사용한코드 public class BankServiceObject : IBankServiceObject { // 기존의잡다한트랜잭션처리관련코드들은모두사라진다. [Transaction()] public void AddAccountAndMoney(Account account, int money) { string accountid = AccountDao.Create(account); AccountDao.Create(accountID, money); < 리스트 13> 설정파일에서의트랜잭션선언 // 코드에서트랜잭션을처리하는대신설정파일에서트랜잭션을선언한다. <db:provider id="dbprovider" provider="sqlserver-2.0" connectionstring="data Source=(local);Initial Catalog=TEST_DB;Persist Security Info=True; User ID= 아이디 ;Password= 패스워드 "/> <object id="transactionmanager" type="spring.data.adoplatformtransactionmanager, Spring.Data"> <property name="dbprovider" ref="dbprovider"/> <object id="adotemplate" type="spring.data.adotemplate, Spring.Data"> <property name="dbprovider" ref="dbprovider"/> <object id="accountdao" type="sample.bankdaoobject, SampleAssemply"> <property name="adotemplate" ref="adotemplate"/> <object id="bankserviceobject" type=""ample. BankServiceObject, SampleAssemply"> <property name="accountdao" ref="accountdao"> <tx:attribute-driven transaction-manager= "transactionmanager"/> 기존의트랜잭션처리방식보다스프링에서제공하는선언적트랜잭션방식의장점은코드에서매번반복되는트랜잭션처리코드를깔끔히제거할수있으며, 순수닷넷객체 (PONO) 만을사용하므로엔터프라이즈서비스처럼특정클래스로부터상속받지않아도된다는점, 로컬트랜잭션이든분산트랜잭션이든필요할때마다코드가아닌트랜잭션선언파일만을변경하면된다는점등이되겠다. m a s o 267

7 스텝바이스텝 3 분산프로그래밍지원 - Spring Services 마지막으로 Spring.NET에서제공하는분산프로그래밍기능에대해서알아보도록하자. Spring Services라고명명하고있는이기능은일명 PONO, 즉특정한클래스로부터상속받지않은순수닷넷객체를그대로활용하여웹서비스, 리모팅, 엔터프라이즈서비스로포팅한다. 이기능의장점은비즈니스레이어를일반클래스라이브러리형태로개발해놓고설정파일에서의변경만으로사용자의필요에따라세가지분산서비스형태를제공할수있다는것이다. 어떠한소프트웨어프로젝트를시작하면서개발전에미리분산서비스형태를웹서비스나리모팅, 엔터프라이즈서비스형태로확정짓고개발하게되면어플리케이션개발완료후서비스방식의변경에대한위험성이클수밖에없다. 하지만 Spring Services 기능을활용하게되면서비스방식을언제라도쉽게변경할수있으므로어플리케이션아키텍쳐를훨씬서비스독립적으로가져갈수있을것이다. 간단하게축약된코드를통해서 PONO 객체를웹서비스로포팅하는과정은 < 리스트 14> 와 < 리스트 15>,< 리스트 16>< 리스트 17> 을통해볼수있다. < 리스트 14> 웹서비스로포팅될비즈니스레이어코드 public class UserService : IUserService { public void AddUser(string name, string ) { // --- 로직코드 --- < 리스트 15> Web.Config // 웹프로젝트에서비즈니스객체를웹서비스로포팅한다. <object id="userservice" type="serviceapp.userservice, ServiceApp"/> // id 어트리뷰트의값을사용하여 " URL 주소 /userwebservice.asmx" 로포팅됨. <object id="userwebservice" type="spring.web. Services.WebServiceExporter, Spring.Web"> <property name="targetname" value="userservice" /> <system.web> <httphandlers> <add verb="*" path="*.asmx" type="spring.web.services.webservicehandlerfactory, Spring.Web"/> </httphandlers> </system.web> 앞서설명된리스트에대해간단히설명을덧붙이자면, 일반클래스로만들어진 User Service 객체를 Spring.NET은 Web Service Exporter 클래스를통해서웹서비스로노출하며 http Handlers에 Web Service Handler Factory를등록하여일반객 < 리스트 16> 클라이언트에서웹서비스사용설정파일 <object id="userservice" type="spring.web.services. WebServiceProxyFactory, Spring.Services" > <property name="serviceuri" value=" URL 주소 /userwebservice.asmx"/> <property name="serviceinterface" value="serviceapp. IUserService, ServiceApp"/> <object id="myclient" type="clientapp.myclient, ClientApp"> <property name="userservice" ref="userservice" /> < 리스트 17> 웹서비스를사용하는클라이언트코드 public class MyClient { private IUserService userservice; public UserService { get { return userservice; set { this.userservice = value; public void MyTest() { // 웹서비스로포팅된 UserService 객체를사용하게됨. UserService.AddUser(" 권효중 ", 체를마치웹서비스클래스와웹메소드처럼포팅한다. 이렇게웹서비스로포팅되면예제코드에서처럼 URL 주소 /userwebservice.asmx 형태로웹서비스되고클라이언트에서는 DI 방식을사용하거나기존의방식처럼 WSDL을생성하여 ( 비주얼스튜디오를이용한자동이든수동이든상관없이 ) 사용할수도있다. 이로써 Spring.NET에서제공하는몇가지핵심기능들에대해서알아보았다. 지면관계상 Spring.NET의 ASP.NET Web Form 지원기능이라든지, WCF 지원기능등매력적인몇가지기능들에대해서다루지못한점이매우아쉽긴하지만 Spring. NET을처음접하는개발자들에겐그개념과활용방법을모색해볼수있는기회가되었기를바라며, 기사에서다하지못한이야기들은필자의블로그 ( tistory.com) 를통해서계속공유하도록하겠다. 다음호에서는닷넷환경에서사용할수있는오픈소스데이터베이스프레임워크인 ibatis.net에대해서알아보도록하겠다. 참고자료 Spring.NET 공식메뉴얼, Introduction to Data Access with Spring.NET by Mark Pollack, SpringOne- DataAccess-Pollack.ppt 268 m a s o

쉽게 풀어쓴 C 프로그래밊

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

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

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

Spring Boot

Spring Boot 스프링부트 (Spring Boot) 1. 스프링부트 (Spring Boot)... 2 1-1. Spring Boot 소개... 2 1-2. Spring Boot & Maven... 2 1-3. Spring Boot & Gradle... 3 1-4. Writing the code(spring Boot main)... 4 1-5. Writing the code(commandlinerunner)...

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

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f

* Factory class for query and DML clause creation * tiwe * */ public class JPAQueryFactory implements JPQLQueryFactory private f JPA 에서 QueryDSL 사용하기위해 JPAQuery 인스턴스생성방법 http://ojc.asia, http://ojcedu.com 1. JPAQuery 를직접생성하기 JPAQuery 인스턴스생성하기 QueryDSL의 JPAQuery API를사용하려면 JPAQuery 인스턴스를생성하면된다. // entitymanager는 JPA의 EntityManage

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 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 main(string

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

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

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

Web Services 와 EAI

Web Services 와 EAI Spring.NET 프레임워크활용가이드 Version 0.2 엔소아컨설팅대표컨설턴트전병선 Spring.NET 프레임워크활용가이드 애플리케이션프레임워크 Spring.NET 프레임워크 IoC 컨테이너와 DI AOP (Aspect-Oriented Programming) 애플리케이션프레임워크 프레임워크 (framework) 틀구조, 뼈대, 골격, 구조, 구성 애플리케이션프레임워크

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 - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

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

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

More information

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

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

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1"); void method() 2"); void method1() public class Test 3"); args) A

예제 2) Test.java class A intvar= 10; void method() class B extends A intvar= 20; 1); void method() 2); void method1() public class Test 3); args) A 제 10 장상속 예제 1) ConstructorTest.java class Parent public Parent() super - default"); public Parent(int i) this("hello"); super(int) constructor" + i); public Parent(char c) this(); super(char) constructor

More information

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

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

PowerPoint Presentation

PowerPoint Presentation Package Class 1 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

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

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

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

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

윈도우시스템프로그래밍

윈도우시스템프로그래밍 데이터베이스및설계 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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 예외처리 배효철 th1g@nate.com 1 목차 예외와예외클래스 실행예외 예외처리코드 예외종류에따른처리코드 자동리소스닫기 예외처리떠넘기기 사용자정의예외와예외발생 예외와예외클래스 구문오류 예외와예외클래스 구문오류가없는데실행시오류가발생하는경우 예외와예외클래스 import java.util.scanner; public class ExceptionExample1

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP

More information

Microsoft PowerPoint - hci2-lecture12 [호환 모드]

Microsoft PowerPoint - hci2-lecture12 [호환 모드] Serialization C# Serialization 321190 2012 년가을학기 11/28/2012 박경신 Serializaiton( 직렬화 ) 란객체상태를지속시키거나전송할수있는형식으로변환하는과정으로, Serialization 반대로다시객체로변환하는것을 Deserialization 임 Serialization i 을사용하는이유 객체의상태를저장소에보존했다가나중에똑같은복사본을다시만들기위하거나,

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

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

오버라이딩 (Overriding)

오버라이딩 (Overriding) WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener

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 PowerPoint 장강의노트.ppt

Microsoft PowerPoint 장강의노트.ppt 클래스와객체 클래스와객체 객체 : 우리주변의어떤대상의모델 - 예 : 사람, 차, TV, 개 객체 = 상태 (state) + 행동 (behavior) - 예 : 개의상태 - 종자, 이름, 색개의행동 - 짖다, 가져오다 상태는변수로행동은메소드로나타냄 객체는클래스에의해정의된다. 클래스는객체가생성되는틀혹은청사진이다. 2 예 : 클래스와객체 질문 : 클래스와객체의다른예는?

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

유니티 변수-함수.key

유니티 변수-함수.key C# 1 or 16 (Binary or Hex) 1:1 C# C# (Java, Python, Go ) (0101010 ). (Variable) : (Value) (Variable) : (Value) ( ) (Variable) : (Value) ( ) ; (Variable) : (Value) ( ) ; = ; (Variable) : (Value) (Variable)

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

(Microsoft PowerPoint - hci2-lecture12 [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - hci2-lecture12 [\310\243\310\257 \270\360\265\345]) Serialization C# Serialization 321190 2015 년가을학기 11/27/2015 박경신 Serializaiton( 직렬화 ) 란객체상태를지속시키거나전송할수있는형식으로변환하는과정으로, Serialization 반대로다시객체로변환하는것을 Deserialization 임 Serialization 을사용하는이유 객체의상태를저장소에보존했다가나중에똑같은복사본을다시만들기위하거나,

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

OOP 소개

OOP 소개 OOP : @madvirus, : madvirus@madvirus.net : @madvirus : madvirus@madvirus.net ) ) ) 7, 3, JSP 2 ? 3 case R.id.txt_all: switch (menu_type) { case GROUP_ALL: showrecommend("month"); case GROUP_MY: type =

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

More information

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET 135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lab 4 ADT Design 클래스로정의됨. 모든객체들은힙영역에할당됨. 캡슐화 (Encapsulation) : Data representation + Operation 정보은닉 (Information Hiding) : Opertion부분은가려져있고, 사용자가 operation으로만사용가능해야함. 클래스정의의형태 public class Person { private

More information

Microsoft PowerPoint - Lect04.pptx

Microsoft PowerPoint - Lect04.pptx OBJECT ORIENTED PROGRAMMING Object Oriented Programming 이강의록은 Power Java 저자의강의록을사용했거나재편집된것입니다. Class 와 object Class 와객체 클래스의일생 메소드 필드 String Object Class 와객체 3 클래스 클래스의구성 클래스 (l (class): 객체를만드는설계도 클래스로부터만들어지는각각의객체를특별히그클래스의인스턴스

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 인터페이스 배효철 th1g@nate.com 1 목차 인터페이스의역할 인터페이스선언 인터페이스구현 인터페이스사용 타입변환과다형성 인터페이스상속 디폴트메소드와인터페이스확장 2 인터페이스의역할 인터페이스란? 개발코드와객체가서로통신하는접점 개발코드는인터페이스의메소드만알고있으면 OK 인터페이스의역할 개발코드가객체에종속되지않게 -> 객체교체할수있도록하는역할 개발코드변경없이리턴값또는실행내용이다양해질수있음

More information

슬라이드 제목 없음

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

More information

Microsoft PowerPoint - 2강

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

DocsPin_Korean.pages

DocsPin_Korean.pages Unity Localize Script Service, Page 1 Unity Localize Script Service Introduction Application Game. Unity. Google Drive Unity.. Application Game. -? ( ) -? -?.. 준비사항 Google Drive. Google Drive.,.. - Google

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

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

교육자료

교육자료 THE SYS4U DODUMENT Java Reflection & Introspection 2012.08.21 김진아사원 2012 SYS4U I&C All rights reserved. 목차 I. 개념 1. Reflection 이란? 2. Introspection 이란? 3. Reflection 과 Introspection 의차이점 II. 실제사용예 1. Instance의생성

More information

Interstage5 SOAP서비스 설정 가이드

Interstage5 SOAP서비스 설정 가이드 Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service

More information

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public Chapter 9 Lab 문제정답 1. public class Circle private double radius; static final double PI=3.141592; // PI 이름으로 3.141592 로초기화된정적상수 (1) public Circle(double r) radius = r; (2) public double getradius() return

More information

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

TTA Journal No.157_서체변경.indd 표준 시험인증 기술 동향 FIDO(Fast IDentity Online) 생체 인증 기술 표준화 동향 이동기 TTA 모바일응용서비스 프로젝트그룹(PG910) 의장 SK텔레콤 NIC 담당 매니저 76 l 2015 01/02 PASSWORDLESS EXPERIENCE (UAF standards) ONLINE AUTH REQUEST LOCAL DEVICE AUTH

More information

어댑터뷰

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

More information

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

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

More information

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

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

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

제목

제목 Object-Oriented Design Agile for Software Development Story 4. 작 성 자 : 고형호 메 일 : hyungho.ko@gmail.com 홈페이지 : 최초작성일 : 2007.06.12 최종작성일 : 2007.08.31 1 2 Goal Flexibility & Reusability Content 1. Flexibility

More information

Java Agent Plugin Guide

Java Agent Plugin Guide Java Agent Plugin Guide Whatap Support Version 1.0.2 Table of Contents Java Agent Plugin 가이드..................................................................................... 1 1. 에이전트옵션..........................................................................................

More information

17장 클래스와 메소드

17장 클래스와 메소드 17 장클래스와메소드 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 1 / 18 학습내용 객체지향특징들객체출력 init 메소드 str 메소드연산자재정의타입기반의버전다형성 (polymorphism) 박창이 ( 서울시립대학교통계학과 ) 17 장클래스와메소드 2 / 18 객체지향특징들 객체지향프로그래밍의특징 프로그램은객체와함수정의로구성되며대부분의계산은객체에대한연산으로표현됨객체의정의는

More information

FileMaker 15 ODBC 및 JDBC 설명서

FileMaker 15 ODBC 및 JDBC 설명서 FileMaker 15 ODBC JDBC 2004-2016 FileMaker, Inc.. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker FileMaker Go FileMaker, Inc.. FileMaker WebDirect FileMaker, Inc... FileMaker.

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

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074> 객체지향프로그램밍 (Object-Oriented Programming) 1 C++ popular C 객체지향 (object oriented) C++ C : 상위계층언어특징 + 어셈블리언어특징 C++ : 소프트웨어개발플랫폼에객체지향개념제공 객체지향 : 자료와이들자료를어떻게다룰것인지따로생각하지않고단지하나의사물로생각 형 변수가사용하는메모리크기 변수가가질수있는정보

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2

예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 2 예외 예외정의예외발생예외처리예외전파 단정 단정의선언 단정조건검사옵션 kkman@sangji.ac.kr 2 예외 (exception) 실행시간에발생하는에러 (run-time error) 프로그램의비정상적인종료잘못된실행결과 예외처리 (exception handling) 기대되지않은상황에대해예외를발생야기된예외를적절히처리 (exception handler) kkman@sangji.ac.kr

More information

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\)

작성자 : 김성박\(삼성 SDS 멀티캠퍼스 전임강사\) Session 을이용한현재로그인한사용자의 숫자구하기 작성자 : 김성박 ( 삼성 SDS 멀티캠퍼스전임강사 ) email : urstory@nownuri.net homepage : http://sunny.sarang.net - 본문서는http://sunny.sarang.net JAVA강좌란 혹은 http://www.javastudy.co.kr 의 칼럼 란에서만배포합니다.

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 손시운 ssw5176@kangwon.ac.kr 실제세계는객체로이루어진다. 2 객체와메시지 3 객체지향이란? 실제세계를모델링하여소프트웨어를개발하는방법 4 객체 5 객체란? 객체 (Object) 는상태와동작을가지고있다. 객체의상태 (state) 는객체의특징값 ( 속성 ) 이다. 객체의동작 (behavior) 또는행동은객체가취할수있는동작

More information

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

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

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 웹서버프로그래밍 2 JSP 개요 01. JSP 개요 (1) 서블릿 (Servlet) 과 JSP(Java Server Page) 서블릿은자바를이용한서버프로그래밍기술 초기웹프로그래밍기술인 CGI(Common Gateway Interface) 를대체하기위해개발되었으나, 느린처리속도, 많은메모리요구, 불편한화면제어등의한계로 PHP, ASP 등서버스크립트언어등장 JSP

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 # 왜생겼나요..? : 절차지향언어가가진단점을보완하고다음의목적을달성하기위해..! 1. 소프트웨어생산성향상 객체지향소프트웨어를새로만드는경우이미만든개체지향소프트웨어를상속받거나객체를 가져다재사용할수있어부분수정을통해소프트웨어를다시만드는부담줄임. 2. 실세계에대한쉬운모델링 실세계의일은절차나과정보다는일과관련된많은물체들의상호작용으로묘사. 캡슐화 메소드와데이터를클래스내에선언하고구현

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

설계란 무엇인가?

설계란 무엇인가? 금오공과대학교 C++ 프로그래밍 jhhwang@kumoh.ac.kr 컴퓨터공학과 황준하 9 강. 클래스의활용목차 멤버함수의외부정의 this 포인터 friend 선언 static 멤버 임시객체 1 /17 9 강. 클래스의활용멤버함수의외부정의 멤버함수정의구현방법 내부정의 : 클래스선언내에함수정의구현 외부정의 클래스선언 : 함수프로토타입 멤버함수정의 : 클래스선언외부에구현

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 HTML5 웹프로그래밍입문 부록. 웹서버구축하기 1 목차 A.1 웹서버시스템 A.2 PHP 사용하기 A.3 데이터베이스연결하기 2 A.1 웹서버시스템 3 웹서버의구축 웹서버컴퓨터구축 웹서버소프트웨어설치및실행 아파치 (Apache) 웹서버가대표적 서버실행프로그램 HTML5 폼을전달받아처리 PHP, JSP, Python 등 데이터베이스시스템 서버측에데이터를저장및효율적관리

More information

Cloud Friendly System Architecture

Cloud Friendly System Architecture -Service Clients Administrator 1. -Service 구성도 : ( 좌측참고 ) LB(LoadBlancer) 2. -Service 개요 ucloud Virtual Router F/W Monitoring 개념 특징 적용가능분야 Server, WAS, DB 로구성되어 web service 를클라우드환경에서제공하기위한 service architecture

More information

Semantic Consistency in Information Exchange

Semantic Consistency in Information Exchange 제 6 장제어 (Control) 6.1 구조적프로그래밍 (Structured Programming) 6.2 예외 (Exceptions) Reading Chap. 7 숙대창병모 1 6.1 구조적프로그래밍 숙대창병모 2 Fortran 제어구조 10 IF (X.GT. 0.000001) GO TO 20 11 X = -X IF (X.LT. 0.000001) GO TO

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

<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

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드]

Microsoft PowerPoint - GUI _DB연동.ppt [호환 모드] GUI 설계 6 주차 DB 연동김문정 tops@yd.ac.kr 강의순서강의전환경 JDK 설치및환경설정톰캣설치및환경설정이클립스 (JEE) 설치및환경설정 MySQL( 드라이버 ) 설치및커넥터드라이브연결 DB 생성 - 계정생성이클립스에서 DB에연결서버생성 - 프로젝트생성 DB연결테이블생성및등록 2 MySQL 설치확인 mysql - u root -p MySQL 에데이터베이스추가

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

JDBC 소개및설치 Database Laboratory

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

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