PowerPoint 프레젠테이션

Size: px
Start display at page:

Download "PowerPoint 프레젠테이션"

Transcription

1

2

3

4 1. AOP - 개요 (1/7) 서비스개요 객체지향프로그래밍 (Object Oriented Programming) 을보완하는개념으로어플리케이션을객체지향적으로모듈화하여작성하더라도다수의객체들에분산되어중복적으로존재하는공통관심사가여전히존재한다. AOP는이를횡단관심으로분리하여핵심관심과엮어서처리할수있는방법을제공한다. 로깅, 보안, 트랜잭션등의공통적인기능의활용을기존의비즈니스로직에영향을주지않고모듈화처리를지원하는프로그래밍기법 객체지향개발 AOP 적용 객체지향 + AOP 개발 Page l 4

5 1. AOP - 개요 (2/7) 주요개념 Join Point 횡단관심 (Crosscutting Concerns) 모듈이삽입되어동작할수있는실행가능한특정위치를말함 메소드호출, 메소드실행자체, 클래스초기화, 객체생성시점등 Pointcut Pointcut은어떤클래스의어느 JoinPoint를사용할것인지를결정하는선택기능을말함 가장일반적인 Pointcut은 특정클래스에있는모든메소드호출 로구성된다. 애스펙트 (Aspect) 어플리케이션이가지고있어야할로직과그것을실행해야하는지점을정의한것 Advice와 Pointcut의조합 Advice Advice는관점 (Aspect) 의실제구현체로결합점에삽입되어동작할수있는코드이다 Advice 는결합점 (JoinPoint) 과결합하여동작하는시점에따라 before advice, after advice, around advice 타입으로구분된다 특정 Join point에실행하는코드 Weaving Pointcut에의해서결정된 JoinPoint에지정된 Advice를삽입하는과정 Weaving은 AOP가기존의 Core Concerns 모듈의코드에전혀영향을주지않으면서필요한 Crosscutting Concerns 기능을추가할수있게해주는핵심적인처리과정임 Page l 5

6 1. AOP - 개요 (3/7) 주요개념 조인포인트 (JoinPoint), 포이트컷 (Pointcut), 어드바이스 (Advice) Pointcut JoinPoint Advice Page l 6

7 1. AOP - 개요 (4/7) 주요개념 포인트컷 (PointCut) 예제 : bean() Pointcut 을이용하여종적및횡적으로빈을선택 Page l 7

8 1. AOP - 개요 (5/7) 주요개념 Weaving 방식 컴파일시엮기 : 별도컴파일러를통해핵심관심사모듈의사이사이에관점 (Aspect) 형태로만들어진횡단관심사코드들 이삽입되어 관점 (Aspect) 이적용된최종바이너리가만들어지는방식이다. (ex. AspectJ, ) 클래스로딩시엮기 : 별도의 Agent 를이용하여 JVM 이클래스를로딩할때해당클래스의바이너리정보를변경한다. 즉, Agent 가 횡단관심사코드가삽입된바이너리코드를제공함으로써 AOP 를지원하게된다. (ex. AspectWerkz, ) 런타임시엮기 : 소스코드나바이너리파일의변경없이프록시를이용하여 AOP를지원하는방식이다. 프록시를통해핵심관심사를구현한객체에접근하게되는데, 프록시는핵심관심사실행전후에횡단관심사를실행한다. 따라서프록시기반의런타임엮기의경우메소드호출시에만 AOP를적용할수있다는제한점이있다. (ex. Spring AOP, ) Advice 결합점결합타입 Before advice: joinpoint 전에수행되는 advice After returning advice: joinpoint가성공적으로리턴된후에동작하는 advice After throwing advice: 예외가발생하여 joinpoint가빠져나갈때수행되는 advice After advice: join point를빠져나가는 ( 정상적이거나예외적인반환 ) 방법에상관없이수행되는 advice Around advice: joinpoint 전, 후에수행되는 advice Page l 8

9 1. AOP - 개요 (6/7) 주요기능 횡단관심 (CrossCutting Concern) 모듈이삽입되어동작할수있도록지정하는 JointPoint 기능 횡단관심모듈을특정 JointPoint에사용할수있도록지정하는 Pointcut 기능 Pointcut 지정을위한패턴매칭표현식 Pointcut에서수행해야하는동작을지정하는 Advice 기능 Pointcut에의해서결정된 JoinPoint에지정된 Advice를삽입하여실제 AOP 방식대로동작 Page l 9

10 1. AOP - 개요 (7/7) 장점 중복코드의제거 횡단관심 (CrossCutting Concerns) 을여러모듈에반복적으로기술되는현상을방지 비즈니스로직의가독성향상 핵심기능코드로부터횡단관심코드를분리함으로써비즈니스로직의가독성향상 생산성향상 비즈니스로직의독립으로인한개발의집중력을높임 재사용성향상 횡단관심코드는여러모듈에서재사용될수있음 변경용이성증대 횡단관심코드가하나의모듈로관리되기때문에이에대한변경발생시용이하게수행할수있음 Page l 10

11 1. AOP - 설명 (1/17) Spring의 AOP 지원 스프링은프록시기반의런타임 Weaving 방식을지원한다. 스프링은 AOP 어노테이션을이용한 AOP 구현 XML Schema를이용한 AOP 구현 스프링 API를이용한 AOP 구현 표준프레임워크실행환경은 XML Schema 를이용한 AOP 구현방법을사용한다. Page l 11

12 1. AOP - 설명 (3/17) XML 스키마를이용한 AOP 지원 (2/11) Aspect 정의하기 Advice 정의 JoinPoin t 정의 <bean id="adviceusingxml" class="egovframework.rte.fdl.aop.sample.adviceusingxml" /> <aop:config> <aop:pointcut id="targetmethod" expression="execution(* egovframework.rte.fdl.aop.sample.*sample.*(..))" /> <aop:aspect ref="adviceusingxml"> <aop:before pointcut-ref="targetmethod" method="beforetargetmethod" /> <aop:after-returning pointcut-ref="targetmethod" method="afterreturningtargetmethod" returning="retval" /> <aop:after-throwing pointcut-ref="targetmethod" method="afterthrowingtargetmethod" throwing="exception" /> <aop:after pointcut-ref="targetmethod" method="aftertargetmethod" /> <aop:around pointcut-ref="targetmethod" method="aroundtargetmethod" /> </aop:aspect> </aop:config> PointCut 정의 Aspect 정의 Page l 12

13 1. AOP - 설명 (4/17) XML 스키마를이용한 AOP 지원 (3/11) Advice 정의하기 before advice public class AdviceUsingXML { public void beforetargetmethod(joinpoint thisjoinpoint) { Class clazz = thisjoinpoint.gettarget().getclass(); String classname = thisjoinpoint.gettarget().getclass().getsimplename(); String methodname = thisjoinpoint.getsignature().getname(); // 대상메서드에대한로거를얻어해당로거로현재 class, method 정보로깅 Log logger = LogFactory.getLog(clazz); logger.debug(classname + "." + methodname + " executed."); Page l 13

14 1. AOP - 설명 (5/17) XML 스키마를이용한 AOP 지원 (4/11) Advice 정의하기 After returning advice After returing advice 는정상적으로메소드가실행될때수행된다. public class AdviceUsingXML { public void afterreturningtargetmethod(joinpoint thisjoinpoint, Object retval) { System.out.println("AspectUsingAnnotation.afterReturningTargetMethod executed. + return value is [ + retval + "]"); Page l 14

15 1. AOP - 설명 (6/17) XML 스키마를이용한 AOP 지원 (5/11) Advice 정의하기 After throwing advice After throwing advice 는메소드가수행중예외사항을반환하고종료하는경우수행된다. public class AdviceUsingXML {... public void afterthrowingtargetmethod(joinpoint thisjoinpoint, Exception exception) throws Exception{ System.out.println("AdviceUsingXML.afterThrowingTargetMethod executed."); System.err.println(" 에러가발생했습니다.", exception); throw new BizException(" 에러가발생했습니다.", exception);... Page l 15

16 1. AOP - 설명 (7/17) XML 스키마를이용한 AOP 지원 (6/11) Advice 정의하기 After (finally) advice After (finally) advice 는메소드수행후무조건수행된다. After advice 는정상종료와예외발생경우를모두처리해야하는경우에사용된다 ( 예 : 리소스해제작업 ) public class AdviceUsingXML { public void aftertargetmethod(joinpoint thisjoinpoint) { System.out.println("AspectUsingAnnotation.afterTargetMethod executed."); Page l 16

17 1. AOP - 설명 (8/17) XML 스키마를이용한 AOP 지원 (7/11) Advice 정의하기 Around advice Around advice 는메소드수행전후에수행된다. Return값을가공하기위해서는 Around를사용해야한다. public class AdviceUsingXML { public Object aroundtargetmethod(proceedingjoinpoint thisjoinpoint) throws Throwable { System.out.println("AspectUsingAnnotation.aroundTargetMethod start."); long time1 = System.currentTimeMillis(); Object retval = thisjoinpoint.proceed(); System.out.println("ProceedingJoinPoint executed. return value is [ + retval + "]"); retval = retval + "(modified)"; System.out.println("return value modified to [" + retval + "]"); long time2 = System.currentTimeMillis(); System.out.println("AspectUsingAnnotation.aroundTargetMethod end. Time(" + (time2 - time1) + ")"); return retval; Page l 17

18 1. AOP - 설명 (9/17) XML 스키마를이용한 AOP 지원 (8/11) Aspect 실행하기 정상실행의경우 public class AnnotationAspectTest = advicesample") AdviceSample public void testadvice () throws Exception { SampleVO vo = new SampleVO();.. String resultstr = annotationadvicesample.somemethod(vo); assertequals("somemethod executed.(modified)", resultstr); Page l 18

19 1. AOP - 설명 (10/17) XML 스키마를이용한 AOP 지원 (9/11) Aspect 실행하기 정상실행인경우 콘솔로그출력 Advice 적용순서 1.before 2.around ( 대상메소드수행전 ) 3. 대상메소드 4.after-returning 5.after(finally) 6.around ( 대상메소드수행후 ) Page l 19

20 1. AOP - 설명 (11/17) XML 스키마를이용한 AOP 지원 (10/11) Aspect 실행하기 예외발생의경우 public class AnnotationAspectTest = advicesample") AdviceSample public void testadvicewithexception() throws Exception { SampleVO vo = new SampleVO(); // exception 을발생하도록플래그설정 vo.setforceexception(true);.. try { String resultstr = annotationadvicesample.somemethod(vo); fail( exception 을강제로발생시켜이라인이수행될수없습니다."); catch(exception e) {... Page l 20

21 1. AOP - 설명 (12/17) XML 스키마를이용한 AOP 지원 (11/11) Aspect 실행하기 예외발생의경우 콘솔로그출력 Advice 적용순서 1.before 2.around ( 대상메소드수행전 ) 3. 대상메소드 (ArithmeticException 예외가발생한다 ) 4.afterThrowing 5.after(finally) Page l 21

22 1. AOP - 설명 (13/17) Pointcut 지정자 execution: 메소드실행결합점 (join points) 과일치시키는데사용된다. within: 특정타입에속하는결합점을정의한다. this: 빈참조가주어진타입의인스턴스를갖는결합점을정의한다. target: 대상객체가주어진타입을갖는결합점을정의한다. args: 인자가주어진타입의인스턴스인결합점을정의한다. Pointcut 표현식조합 '&& : anypublicoperation() && intrading() ' ' : bean(*datasource) bean(*datasource) '!' :!bean(accountrepository) Page l 22

23 1. AOP - 설명 (14/17) Pointcut 정의예제 Pointcut 선택된 Joinpoints execution(public * *(..)) execution(* set*(..)) execution(* com.xyz.service.accountservice.*(..)) execution(* com.xyz.service.*.*(..)) execution(* com.xyz.service..*.*(..)) within(com.xyz.service.*) within(com.xyz.service..*) this(com.xyz.service.accountservice) target(com.xyz.service.accountservice) args(java.io.serializable) bean(accountrepository)!bean(accountrepository) bean(*) bean(account*) bean(*repository) bean(accounting/*) bean(*datasource) bean(*datasource) public 메소드실행이름이 set으로시작하는모든메소드명실행 AccountService 인터페이스의모든메소드실행 service 패키지의모든메소드실행 service 패키지와하위패키지의모든메소드실행 service 패키지내의모든결합점 service 패키지및하위패키지의모든결합점 AccountService 인터페이스를구현하는프록시개체의모든결합점 AccountService 인터페이스를구현하는대상객체의모든결합점하나의파라미터를갖고전달된인자가 Serializable인모든결합점 accountrepository 빈 accountrepository 빈을제외한모든빈모든빈이름이 'account' 로시작되는모든빈이름이 Repository 로끝나는모든빈이름이 accounting/ 로시작하는모든빈이름이 datasource 나 DataSource 으로끝나는모든빈 Page l 23

24 1. AOP - 설명 (15/17) 실행환경 AOP 가이드라인 실행환경은예외처리와트랜잭션처리에 AOP 를적용함 실행환경 AOP 가이드라인 예외처리 (1/2) 관점 (Aspect) 정의 : resources/egovframework.spring/context-aspect.xml Pointcut 정의 JoinPoint 정의 <bean id="exceptiontransfer" class="egovframework.rte.fdl.cmmn.aspect.exceptiontransfer">... </bean> <aop:config> <aop:pointcut id="servicemethod" expression="execution(* egovframework.rte.sample..impl.*impl.*(..))" /> <aop:aspect ref="exceptiontransfer"> <aop:after-throwing throwing="exception pointcut-ref="servicemethod" method="transfer" /> </aop:aspect> </aop:config> Advice 정의 Aspect 정의 Page l 24

25 1. AOP - 설명 (16/17) 실행환경 AOP 가이드라인 예외처리 (2/2) Advice 클래스 : egovframework.rte.fdl.cmmn.aspect.exceptiontransfer public class ExceptionTransfer { public void transfer(joinpoint thisjoinpoint, Exception exception) throws Exception {... if (exception instanceof EgovBizException) { log.debug("exception case :: EgovBizException "); EgovBizException be = (EgovBizException) exception; getlog(clazz).error(be.getmessage(), be.getcause()); processhandling(clazz, exception, pm, exceptionhandlerservices, false); throw be; else if (exception instanceof RuntimeException) { log.debug("runtimeexception case :: RuntimeException "); RuntimeException be = (RuntimeException) exception; getlog(clazz).error(be.getmessage(), be.getcause()); processhandling(clazz, exception, pm, exceptionhandlerservices, true);... throw be; else if (exception instanceof FdlException) {... throw fe; else {... throw processexception(clazz, "fail.common.msg", new String[] {, exception, locale); Page l 25

26 1. AOP - 설명 (17/17) 실행환경 AOP 가이드라인 트랜잭션처리 관점 (Aspect) 정의 : resources/egovframework.spring/context-transaction.xml <!-- 트랜잭션관리자를설정한다. --> <bean id="txmanager" class="org.springframework.jdbc.datasource.datasourcetransactionmanager"> <property name="datasource" ref="datasource"/> </bean> <!-- 트랜잭션 Advice 를설정한다. --> <tx:advice id="txadvice" transaction-manager="txmanager"> <tx:attributes> <tx:method name="*" rollback-for="exception"/> </tx:attributes> </tx:advice> <!-- 트랜잭션 Pointcut 를설정한다.---> <aop:config> <aop:pointcut id="requiredtx expression="execution(* egovframework.rte.sample..impl.*impl.*(..))"/> <aop:advisor advice-ref="txadvice pointcut-ref="requiredtx" /> </aop:config> Page l 26

27 2. ID Generation 개요 (1/3) 서비스개요 다양한형식의 ID 구조및다양한방식의 ID 생성알고리즘을제공하여시스템에서사용하는 ID(Identifier) 를 생성하는서비스 Page l 27

28 2. ID Generation 개요 (2/3) 주요기능 UUID(Universal Unique Identifier) 생성 : UUID(Universal Unique Identifier) 를생성한다. Sequence ID 생성 : 순차적으로증가또는감소하는 Sequence ID를생성한다. 시스템에서는다수의 Sequence ID가사용되므로, 각각의 Sequence ID는구별된다. 시스템의재시작시에도 Sequence ID는마지막생성된 ID의다음 ID를생성한다. Sequence ID 생성 : DB의 SEQUENCE를활용하여 ID를생성한다. Table ID 생성 : 키제공을위한테이블을지정하여 ID를생성한다. Page l 28

29 2. ID Generation 개요 (3/3) UUID(Universally Unique Identifier) 란 UUID는 OSF(Open Software Foundation) 에의해제정된고유식별자 (Identifier) 에대한표준이다. UID는 16-byte (128-bit) 의숫자로구성된다. UUID를표현하는방식에대한특별한규정은없으나, 일반적으로 16 진법으로 형식으로표현한다. 550e8400-e29b-41d4-a UUID는다음 5개의 Version이존재한다. Version 1 (MAC Address) UUID를생성시키는컴퓨터의 MAC 어드레스와시간정보를이용하여 UUID를생성한다. 컴퓨터의 MAC 어드레스를이용하므로어떤컴퓨터에서생성했는지정보가남기때문에보안에문제가있다. Version 2 (DCE Security) POSIX UID를이용하여 UUID를생성한다. Version 3 (MD5 Hash) URL로부터 MD5를이용하여 UUID를생성한다. Version 4 (Random) Random Number를이용하여 UUID를생성한다. Version 5 (SHA-1 Hash) SHA-1 Hashing을이용하여 UUID를생성한다. Page l 29

30 2. ID Generation UUID Generation(1/4) 개요 새로운 ID 를생성하기위해 UUID 생성알고리즘을이용하여 16 바이트길이의 ID 를생성한다. String 타입의 ID 생성과 BigDecimal 타입의 ID 생성을지원한다. 지원하는방법은설정에따라서 Mac Address Base Service, IP Address Base Service, No Address Base Service 세가지유형이있다. Mac Address Base Service(1/2) MAC Address 를기반으로유일한 Id 를생성하는 UUIdGenerationService 설정 <bean name="uuidgenerationservice class="egovframework.rte.fdl.idgnr.impl.egovuuidgnrservice"> <property name="address"> <value>00:00:f0:79:19:5b</value> </property> </bean> Page l 30

31 2. ID Generation UUID Generation(2/4) Mac Address Base Service(2/2) private EgovIdGnrService public void testuuidgeneration() throws Exception { assertnotnull(uuidgenerationservice.getnextstringid()); assertnotnull(uuidgenerationservice.getnextbigdecimalid()); Page l 31

32 2. ID Generation UUID Generation(3/4) IP Address Base Service IP Address 를기반으로유일한 Id 를생성하는 UUIdGenerationService 설정 <bean name="uuidgenerationservicewithip" class="egovframework.rte.fdl.idgnr.impl.egovuuidgnrservice"> <property name="address"> <value> </value> </property> </bean> private EgovIdGnrService public void testuuidgenerationip() throws Exception { assertnotnull(uuidgenerationservicewithip.getnextstringid()); assertnotnull(uuidgenerationservicewithip.getnextbigdecimalid()); Page l 32

33 2. ID Generation UUID Generation(4/4) No Address Base Service IP Address 설정없이 Math.random() 을이용하여주소정보를생성하고유일한 Id 를생성하는 UUIdGenerationService 설정 <bean name="uuidgenerationservicewithoutaddress" class="egovframework.rte.fdl.idgnr.impl.egovuuidgnrservice /> private EgovIdGnrService public void testuuidgenerationnoaddress() throws Exception { assertnotnull(uuidgenerationservicewithoutaddress.getnextstringid()); assertnotnull(uuidgenerationservicewithoutaddress.getnextbigdecimalid()); Page l 33

34 2. ID Generation Sequence Id Generation(1/4) 개요 새로운 ID 를생성하기위해 Database 의 SEQUENCE 를사용하는서비스이다. 서비스를이용하는시스템에서 Query 를지정하여아이디를생성할수있도록하고 Basic Type Service 와 BigDecimal Type Service 두가 지를지원한다. Basic Type Service(1/2) 기본타입 ID 를제공하는서비스로 int, short, byte, long 유형의 ID 를제공한다. DB Schema CREATE SEQUENCE idstest MINVALUE 0; 설정 <bean name="primarytypesequenceids class="egovframework.rte.fdl.idgnr.impl.egovsequenceidgnrservice destroy-method="destroy"> <property name="datasource" ref="datasource"/> <property name="query" value="select idstest.nextval FROM DUAL"/> </bean> Page l 34

35 2. ID Generation Sequence Id Generation(2/4) Basic Type Service(2/2) private EgovIdGnrService public void testprimarytypeidgeneration() throws Exception { //int assertnotnull(primarytypesequenceids.getnextintegerid()); //short assertnotnull(primarytypesequenceids.getnextshortid()); //byte assertnotnull(primarytypesequenceids.getnextbyteid()); //long assertnotnull(primarytypesequenceids.getnextlongid()); Page l 35

36 2. ID Generation Sequence Id Generation(3/4) BigDecimal Type Service(1/2) BigDecimal ID 를제공하는서비스로기본타입 ID 제공서비스설정에추가적으로 usebigdecimals 을 true 로설정하여사용하도록한다. DB Schema CREATE SEQUENCE idstest MINVALUE 0; 설정 <bean name="bigdecimaltypesequenceids" class="egovframework.rte.fdl.idgnr.impl.egovsequenceidgnrservice" destroy-method="destroy"> <property name="datasource" ref="datasource"/> <property name="query" value="select idstest.nextval FROM DUAL"/> <property name="usebigdecimals" value="true"/> </bean> Page l 36

37 2. ID Generation Sequence Id Generation(4/4) BigDecimal Type Service(2/2) private EgovIdGnrService public void testbigdecimaltypeidgeneration() throws Exception { //BigDecimal assertnotnull(bigdecimaltypesequenceids.getnextbigdecimalid()); DB 벤더별 SEQUENCE 및 Query 설정 DB 벤더별로 SEQUENCE 에대한지원여부및사용방식이다르므로이를고려하여설정해야한다. (DB 벤더 별 SEQUENCE 지원여부및설정방식은 wiki 참조 ) Page l 37

38 2. ID Generation Table Id Generation(1/6) 개요 새로운아이디를얻기위해서별도의테이블을생성하고키값과키값에해당하는아이디값을입력하여관리 하는기능을제공하는서비스로 table_name(char 또는 VARCHAR 타입 ), next_id(integer 또는 DECIMAL type) 두칼럼을필요로한다. 별도의테이블에설정된정보만을사용하여제공하는 Basic Service 와 String ID 의경우에적용이가능한 prefix 와채울문자열지정이가능한 Strategy Base Service 를제공한다. Basic Service(1/3) 테이블에지정된정보에의해서아이디를생성하는서비스로사용하고자하는시스템에서테이블을생성해서 사용할수있다. DB Schema ID Generation 서비스를쓰고자하는시스템에서미리생성해야할 DB Schema 정보임 CREATE TABLE ids ( table_name varchar(16) NOT NULL, next_id DECIMAL(30) NOT NULL, PRIMARY KEY (table_name)); INSERT INTO ids VALUES('id','0'); Page l 38

39 2. ID Generation Table Id Generation(2/6) Basic Service(2/3) 설정 <bean name="basicservice" class="egovframework.rte.fdl.idgnr.impl.egovtableidgnrservice" destroy-method="destroy"> <property name="datasource" ref="datasource"/> <property name="blocksize" value="10"/> <property name="table" value="ids"/> <property name="tablename" value="id"/> </bean> blocksize: Id Generation 내부적으로사용하는정보로 ID 요청시마다 DB 접속을하지않기위한정보 ( 지 정한횟수마다 DB 접속처리 ) table: 생성하는테이블정보로사용처에서테이블명변경가능 tablename: 사용하고자하는아이디개별인식을위한키값 ( 대개의경우는테이블별로아이디가필요하 기에 tablename 이라고지정함 ) Page l 39

40 2. ID Generation Table Id Generation(3/6) Basic Service(3/3) private EgovIdGnrService public void testbasicservice() throws Exception { //int assertnotnull(basicservice.getnextintegerid()); //short assertnotnull(basicservice.getnextshortid()); //byte assertnotnull(basicservice.getnextbyteid()); //long assertnotnull(basicservice.getnextlongid()); //BigDecimal assertnotnull(basicservice.getnextbigdecimalid()); //String assertnotnull(basicservice.getnextstringid()); Page l 40

41 2. ID Generation Table Id Generation(4/6) Strategy Base Service(1/3) 아이디생성을위한룰을등록하고룰에맞는아이디를생성할수있도록지원하는서비스로위의 Basic Service 에서추가적으로 Strategy 정보설정을추가하여사용할수있다. 단, 이서비스는 String 타입의 ID 만 을제공한다. DB Schema CREATE TABLE idttest( table_name varchar(16) NOT NULL, next_id DECIMAL(30) NOT NULL, PRIMARY KEY (table_name)); INSERT INTO idttest VALUES('test','0'); Page l 41

42 2. ID Generation Table Id Generation(5/6) Strategy Base Service(2/3) 설정 <bean name="ids-testwithgenerationstrategy class="egovframework.rte.fdl.idgnr.impl.egovtableidgnrservice" destroy-method="destroy"> <property name="datasource" ref="datasource"/> <property name="strategy" ref="strategy"/> <property name="blocksize" value="1"/> <property name="table" value="idttest"/> <property name="tablename" value="test"/> </bean> <bean name="strategy class="egovframework.rte.fdl.idgnr.impl.strategy.egovidgnrstrategyimpl"> <property name="prefix" value="test-"/> <property name="cipers" value="5"/> <property name="fillchar" value="*"/> </bean> strategy: 아래에정의된 MixPrefix 의 bean name 설정 prefix: 아이디의앞에고정적으로붙이고자하는설정값지정 cipers: prefix 를제외한아이디의길이지정 fillchar: 0 을대신하여표현되는문자 Page l 42

43 2. ID Generation Table Id Generation(6/6) Strategy Base Service(3/3) private EgovIdGnrService public void testidgenstrategy() throws Exception { initializenextlongid("test", 1); // prefix : TEST-, cipers : 5, fillchar :*) for (int i = 0; i < 5; i++) { assertequals("test-****" + (i + 1), idstestwithgenerationstrategy.getnextstringid()); Page l 43

44 3. Logging - 개요 서비스개요 Logging은시스템의개발이나운용시발생할수있는어플리케이션내부정보에대해서, 시스템의외부저장소에기록하여, 시스템의상황을쉽게파악할수있게지원하는서비스 표준프레임워크 3.0부터 SLF4J가적용이되었으며 Log4j를함께사용하였다. 주요기능 로깅환경설정지원 서브시스템별상세한로그정책부여 다양한형식 ( 날짜형식, 시간형식등 ) 의로그메시지형태지정 다양한매체 (File, DBMS, Message, Mail 등 ) 에대한기록기능설정 로그기록 레벨 (debug, info, warn, error 등 ) 별로로그를기록 Page l 44

45 3. Logging - 설명 (1/4) Logging 서비스 시스템의개발이나운용시발생할수있는사항에대해서, 시스템의외부저장소에기록하여, 시스템의상황을 쉽게파악할수있음. 많은개발자가 Log 을출력하기위해일반적으로사용하는방식은 System.out.println() 임. 하지만이방식은간편한반면에다음과같은이유로권장하지않음. 콘솔로그를출력파일로리다이렉트할지라도, 어플리케이션서버가재시작할때파일이 overwrite될수도있음. 개발 / 테스팅시점에만 System.out.println() 을사용하고운영으로이관하기전에삭제하는것은좋은방법이아님. System.out.println() 호출은디스크 I/O동안동기화 (synchronized) 처리가되므로시스템의 throughput을떨어뜨림. 기본적으로 stack trace 결과는콘솔에남는다. 하지만시스템운영중콘솔을통해 Exception을추적하는것은바람직하지못함. Page l 45

46 3. Logging - 설명 (2/4) Log4j 환경설정하는방법 프로그래밍내에서직접설정하는방법 설정파일을사용하는방법 중요컴포넌트설명 컴포넌트 Logger Appender Layout 설명 로그의주체 ( 로그파일을작성하는클래스 ) 설정을제외한거의모든로깅기능이이를통해처리됨. 어플리케이션별로사용할로거 ( 로거명기반 ) 를정의하고이에대해로그레벨과 Appender 를지정할수있음. 로그를출력하는위치를의미하며, Log4J API 문서의 XXXAppender 로끝나는클래스들의이름을보면, 출력위치를어느정도짐작할수있음. Appender 의출력포맷 - 일자, 시간, 클래스명등여러가지정보를선택하여로그정보내용으로지정할수있음. Page l 46

47 3. Logging - 설명 (3/4) 로그레벨지정하기 log4j 에서는기본적으로 debug, info, warn, error, fatal 의다섯가지로그레벨이있음 (ERROR > WARN > INFO > DEBUG > TRACE) 로그레벨 설명 Error - 요청을처리하는중문제가발생한상태를나타냄 Warn - 처리가능한문제이지만, 향후시스템에러의원인이될수있는경고성메시지를나타냄. Info - 로그인, 상태변경과같은정보성메시지를나타냄. Debug - 개발시디버그용도로사용할메시지를나타냄. Trace - 디버그레벨이너무광범위한것을해결하기위해서좀더상세한상태를나타냄. Page l 47

48 3. Logging - 설명 (4/4) Appender log4j 는콘솔, 파일, DB, socket, message, mail 등다양한로그출력대상과방법을지원하는데, 이에대해 log4j 의 Appender 로정의할수있다. Appender 설명 ConsoleAppender - 콘솔화면으로출력하기위한 appender 임 - org.apache.log4j.consoleappender : Console 화면으로출력하기위한 Appender FileAppender - FileAppender 는로깅을파일에하고싶을때사용함. RollingFileAppender JDBCAppender - FileAppender 는지정한파일에로그가계속남으므로한파일의크기가지나치게커질수있으며, 계획적인로그관리가불가능해짐. - RollingFileAppender 는파일의크기또는파일백업인덱스등의지정을통해서특정크기이상파일의크기가커지게되면기존파일을백업파일로바꾸고, 다시처음부터로깅을시작함 - DB 에로그를출력하기위한 Appender 로하위에 Driver, URL, User, Password, Sql 과같은 parameter 를정의할수있음. - 다음은 log4j.xml 파일내의 JDBCAppender 에대한속성정의내용임. - EgovConnectionFactory 빈설정이필요함 Page l 48

49 Page l 49

4 주차 - SPRING 환경설정및구현 Spring 기반의웹프로젝트를구성하고싶어요 T^T Spring 기반의웹환경구축 1. web.xml 수정으로 Spring 을설정하는방법 2. eclipse Spring Plug-In 을활용한템플릿프로젝트자동구성필수는아니지만해놓으면편

4 주차 - SPRING 환경설정및구현 Spring 기반의웹프로젝트를구성하고싶어요 T^T Spring 기반의웹환경구축 1. web.xml 수정으로 Spring 을설정하는방법 2. eclipse Spring Plug-In 을활용한템플릿프로젝트자동구성필수는아니지만해놓으면편 4 주차 - SPRING 환경설정및구현 Spring 기반의웹프로젝트를구성하고싶어요 T^T Spring 기반의웹환경구축 1. web.xml 수정으로 Spring 을설정하는방법 2. eclipse Spring Plug-In 을활용한템플릿프로젝트자동구성필수는아니지만해놓으면편리한것들 1. slf4j 를활용한 Logger 생성을편리하게해보자 2. AOP 설정 JDBC

More information

슬라이드 1

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

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

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

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

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

JAVA PROGRAMMING 실습 09. 예외처리

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

PowerPoint Presentation

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

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 프레젠테이션

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

More information

쉽게 풀어쓴 C 프로그래밊

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

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

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

* 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

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

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

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

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 ALTIBASE HDB 6.5.1.5.10 Patch Notes 목차 BUG-46183 DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG-46249 [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4 BUG-46266 [sm]

More information

PowerPoint Presentation

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

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

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

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

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

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

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

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

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

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

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

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

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

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

9장.예외와 단정

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

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

예제 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

I. Introduction... 1 II. Jdbc Support 구현배경 사용자요구사항 p6spy Architecture Architecture InjectionPa

I. Introduction... 1 II. Jdbc Support 구현배경 사용자요구사항 p6spy Architecture Architecture InjectionPa Anyframe Jdbc Support Plugin Version 1.1.0 저작권 2007-2014 삼성 SDS 본문서의저작권은삼성 SDS 에있으며 Anyframe 오픈소스커뮤니티활동의목적하에서자유로운이용이가능합니다. 본문서를복제, 배포할경우에는저작권자를명시하여주시기바라며본문서를변경하실경우에는원문과변경된내용을표시하여주시기바랍니다. 원문과변경된문서에대한상업적용도의활용은허용되지않습니다.

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

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

Dialog Box 실행파일을 Web에 포함시키는 방법

Dialog Box 실행파일을 Web에 포함시키는 방법 DialogBox Web 1 Dialog Box Web 1 MFC ActiveX ControlWizard workspace 2 insert, ID 3 class 4 CDialogCtrl Class 5 classwizard OnCreate Create 6 ActiveX OCX 7 html 1 MFC ActiveX ControlWizard workspace New

More information

어댑터뷰

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

More information

JVM 메모리구조

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

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

실용적인 스프링 AOP

실용적인 스프링 AOP 스프링 AOP 선택, 활용, 이슈 2008.10.12 백기선 한국스프링사용자모임 (http://ksug.org) 1 안녕하세요. 백기선입니다. http://whiteship.me whiteship2000@gmail.com 목표 : 행복한개발자. 취미 : 블로깅, 스크린캐스팅, 스프링, 하이버네이트, 번역, 큐브, 피아노 현재 새싹 OpenSprout 여친구함

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

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

歯JavaExceptionHandling.PDF

歯JavaExceptionHandling.PDF (2001 3 ) from Yongwoo s Park Java Exception Handling Programming from Yongwoo s Park 1 Java Exception Handling Programming from Yongwoo s Park 2 1 4 11 4 4 try/catch 5 try/catch/finally 9 11 12 13 13

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

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

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

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

JAVA PROGRAMMING 실습 08.다형성

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

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

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

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

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

슬라이드 1

슬라이드 1 11. 예외처리 학습목표 음악재생프로그램예외처리방법 try/catch 블록예외선언방법 위험한행동 예상치못한상황 파일이없는경우 서버가다운되는경우 장치를사용할수없는경우 이런예외적인상황을처리하기위한방법이필요합니다. 자바의예외처리메커니즘 try/catch 블록 예외선언 음악재생프로그램 JavaSound API JavaSound API MIDI 악기디지털인터페이스 (Musical

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

17장 클래스와 메소드

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

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

PowerPoint Presentation

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

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

01(767-774) SAV12-04.hwp

01(767-774) SAV12-04.hwp XML 관점 명세를 이용한 관점지향 프로그래밍의 개선 767 XML 관점 명세를 이용한 관점지향 프로그래밍의 개선 (Improving Aspect Oriented Programming with Aspect Specification using XML) 김 은 선 이 병 정 이 재 호 (Eunsun Kim) (Byungjeong Lee) (Jaeho Lee) 요

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

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

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

<property name="configlocation" value="classpath:/egovframework/sqlmap/example/sql-map-config.xml"/> <property name="datasource" ref="datasource2"/> *

<property name=configlocation value=classpath:/egovframework/sqlmap/example/sql-map-config.xml/> <property name=datasource ref=datasource2/> * 표준프레임워크로구성된컨텐츠를솔루션에적용 1. sample( 게시판 ) 프로젝트생성 - egovframe Web Project next generate example finish 2. 프로젝트추가 - 프로젝트 Import 3. 프로젝트에 sample 프로젝트의컨텐츠를추가, 기능동작확인 ⓵ sample 프로젝트에서 프로젝트로복사 sample > egovframework

More information

PowerPoint 프레젠테이션

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

More information

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

More information

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가 혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가웹페이지내에뒤섞여있어서웹페이지의화면설계가점점어려워진다. - 서블릿이먼저등장하였으나, 자바내에

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

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

자바-11장N'1-502

자바-11장N'1-502 C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),

More information

PowerPoint Template

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

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

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

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V Mobile Service > IAP > Android SDK IAP SDK TOAST SDK. IAP SDK. Android Studio IDE 2.3.3 Android SDK Version 2.3.3 (API Level 10). Name Reference Version License okhttp http://square.github.io/okhttp/ 1.5.4

More information

쉽게 풀어쓴 C 프로그래밍

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

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

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

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

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

Microsoft PowerPoint - RMI.ppt

Microsoft PowerPoint - RMI.ppt ( 분산통신실습 ) RMI RMI 익히기 1. 분산환경에서동작하는 message-passing을이용한 boundedbuffer 해법프로그램을실행해보세요. 소스코드 : ftp://211.119.245.153 -> os -> OSJavaSources -> ch15 -> rmi http://marvel el.incheon.ac.kr의 Information Unix

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

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

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

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

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

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

No Slide Title

No Slide Title 예외처리 이충기 명지대학교컴퓨터공학과 예외필요성 오류처리지금까지 : 오류처리를거의하지않았다. 일이의도한대로잘될것이라고가정했다. 주먹구구식방법 : 프로그래머는컴파일오류를찾아서수정하기위해서시험하고오류수정을해야한다. 컴파일러는실행오류의문제를해결하지못한다 ( 예 : 부정확한값이나상태 ). 프로그래머는실행오류가있더라도프로그램이우아하게돌아가야한다는것을보장해야한다. 우아하게

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Programming Languages 모듈과펑터 2016 년봄학기 손시운 (ssw5176@kangwon.ac.kr) 담당교수 : 임현승교수님 모듈 (module) 관련있는정의 ( 변수또는함수 ) 를하나로묶은패키지 예약어 module과 struct end를사용하여정의 아래는모듈의예시 ( 우선순위큐, priority queue) # module PrioQueue

More information

Spring Batch 2.0 시작하기

Spring Batch 2.0 시작하기 작성자 : 최한수 (cuteimp@gmail.com) 최종수정일 : 2009 년 6 월 22 일 본문서는 Spring Batch을학습하고자하는사람들을위하여 Sample Project를통해 Spring Batch 의기본적인이해와사용을돕는것을목적으로한다. Spring Batch 소개 Spring Batch 란? 우리가일반적으로알고있는 Batch라는것은일괄적으로어떠한작업을반복적으로처리하는것이다.

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

다른 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 Template

PowerPoint Template 10. 예외처리 대구가톨릭대학교 IT 공학부 소프트웨어공학연구실 목차 2 10.1 개요 10.2 C++ 의예외처리 10.3 Java 의예외처리 10.4 Ada 의예외처리 10.1 예외처리의개요 (1) 3 예외 (exception) 오버플로나언더플로, 0 으로나누기, 배열첨자범위이탈오류와같이프로그램실행중에비정상적으로발생하는사건 예외처리 (exception handling)

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