슬라이드 1

Size: px
Start display at page:

Download "슬라이드 1"

Transcription

1 Continuous Integration 지속적인테스트 조영호카페PJT팀

2 목차 1. 지속적인테스트 2. 테스트분류 3. xunit

3 1. 지속적인테스트

4 선형시스템의신뢰도 컴포넌트 A ( 신뢰도 90%) 컴포넌트 B ( 신뢰도 90%) 컴포넌트 C ( 신뢰도 90%) 신뢰도 = 0.9 x 0.9 x 0.9 = / 문서의제목

5 신뢰할수있는시스템 100% 짜리 ( 또는그정도에가까운 ) 서비스수준계약서를 체결한소프트웨어어플리케이션을만들고자한다면, 반드시개별객체수준에서신뢰도를보장해야만할겁니다. 단위테스트 (Unit Test) 5 / 문서의제목

6 신뢰할수있는시스템 단위테스트를통한객체수준의신뢰도보장객체가이용되는상황을효과적으로재현하는테스트케이스구축테스트를자주실행시스템내변경사항발생시언제라도테스트실행 지속적인테스트 6 / 문서의제목

7 자동화된개발자테스트돌리기 소스코드컴파일하기 테스트돌리기 통합하기 검사수행하기 데이터베이스통합하기 소프트웨어배포하기 피드백주기 소프트웨어품질을향상시키고위험을줄이기 P ㅖㅔ { [ ] \ \? / Integrate? / shift 7 / 문서의제목

8 2. 테스트분류 8 / 문서의제목

9 테스트의분류 단위테스트 소프트웨어시스템내의작은요소의행동검증 일반적으로하나의클래스를테스트 컴포넌트테스트 소프트웨어시스템의일부를테스트 상호작용하는컴포넌트들간의행동검증 외부의존성요구완전히설치된시스템, DB, 파일시스템, 네트워크종점 단위테스트보다오래걸림 시스템테스트 전체소프트웨어시스템을실행 완전히설치된시스템요구 설치하는시간이길고실행시간도김 테스트를위한설치작업이빌드의일부로포함 기능테스트 어플리케이션의기능성을클라이언트관점에서테스트 인수테스트 9 / 문서의제목

10 테스트의분류 사용자 사용자 서버 연동시스템 사용자 10 / 문서의제목 데이터베이스

11 단위테스트 네트워크케이블을빼고데이터베이스를종료시키고나서도돌아 가는테스트가진짜단위테스트입니다 사용자 class class 사용자 사용자 class 서버 연동시스템 사용자 데이터베이스 11 / 문서의제목

12 컴포넌트테스트 컴포넌트수준의테스트는 API 를통해코드를수행하지만, 외부 클라이언트에노출될때도있고, 그렇지않을수도있습니다. 사용자 사용자 서버 연동시스템 사용자 12 / 문서의제목 데이터베이스

13 시스템테스트 시스템테스트는웹페이지, 웹서비스종점, GUI 가처음부터끝까지 설계된대로작동하는지를검증합니다. 사용자 사용자 서버 연동시스템 사용자 13 / 문서의제목 데이터베이스

14 기능테스트 어플리케이션의기능을클라이언트관점에서테스트하는것이며, 이는테스트 자체가클라이언트를흉내낸다는뜻입니다. 사용자 사용자 서버 연동시스템 사용자 14 / 문서의제목 데이터베이스

15 테스트의분류 단위테스트컴포넌트테스트시스템테스트기능테스트 소프트웨어시스템내의작은요소의행동검증 일반적으로하나의클래스를테스트 테스트에필요한설치작업에따라테스트분화 소프트웨어시스템의일부를테스트 상호작용하는컴포넌트들간의행동검증테스트 외부실행에의존성요구소요되는시간과직접적인연관완전히설치된시스템, DB, 파일시스템, 네트워크종점 단위테스트보다오래걸림 테스트범주화는지속적인통합문맥하에서매우중요 시간이덜걸리는테스트부터실행 전체소프트웨어시스템을실행 완전히설치된시스템요구 설치하는시간이길고실행시간도김 테스트를 Feedback 위한설치작업이빌드의일부로포함 어플리케이션의기능성을클라이언트관점에서테스트 인수테스트 15 / 문서의제목

16 개발자테스트를여러범주로나누기 Annotation Test Suite 구성 디렉토리분류 project/ src/ main/ java/ test/ java/ unit/ component/ system/ pom.xml 16 / 문서의제목

17 개발자테스트를여러범주로나누기 Maven2 Profile 사용 <profiles> <profile> <id>junit</id> <properties> <deploy.phase>local</deploy.phase> <settings.runenv>test</settings.runenv> <maven.test.skip>false</maven.test.skip> <log4j.runenv>log4j.xml</log4j.runenv> </properties> <build> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-surefire-plugin</artifactid> <version>2.4.2</version> <configuration> <excludes> <exclude>**/*integrationtest.java</exclude> </excludes> </configuration> </plugin> </plugins> </build> </profile> 17 / 문서의제목

18 3. xunit 18 / 문서의제목

19 JUnit Unit 자바프로그래밍언어를위한단위테스팅프레임워크 By Kent Beck and Erich Gamma Kent Beck의 SUnit 프레임워크로부터유래 xunit Family PHPUnit (PHP) NUnit (C#) PyUnit (Python) funit (Fortran) Test::Class, Test::Unit (Perl) CPPUnit (C++) JSUnit (JavaScript) 유사프레임워크 TestNG 19 / 문서의제목

20 JUnit 3.x Unit 이름짓기규약 TestAccount.java Account.java testcreateaccount() testcreateaccdef() testcreateacctdup() createaccount() 20 / 문서의제목

21 JUnit 3.x Unit 단정메소드 asserttrue(boolean condition) assertfalse(boolean condition) assertequals(object expected, Object actual) Uses equals() comparison Overloaded for all primitive types assertsame(object expected, Object actual) assertnotsame(object expected, Object actual) Uses == comparison assertequals(float expected, float actual, float tolerance) TestCase assertnull(object o) assertnotnull(object o) fail(string message) MyTestCase 21 / 문서의제목

22 JUnit 3.x Unit 샘플 package org.eternity.common.money; import junit.framework.testcase; public class FirstTestCase extends TestCase { public FirstTestCase(String method) { super(method); public void testadd() { assertequals(2, 1+1); TestCase MyTestCase 22 / 문서의제목

23 JUnit 3.x Unit Test Fixture public class DatabaseTestCase extends TestCase { private Connection dbconn; protected void setup() { dbconn = new Connection("oracle", 1521, "fred", "foobar"); dbconn.connect(); protected void teardown() { dbconn.disconnect(); dbconn = null; public void testaccountaccess() { // dbconn 사용 //... setup() testaccountaccess() teardown setup() public void testemployeeaccess() { // dbconn 사용 //... testemployeeaccess() teardown() 23 / 문서의제목

24 JUnit 3.x Unit Test Suite junit.framework * <<interface>> Test TestSuite TestCase MyTestCase 24 / 문서의제목

25 JUnit 3.x Unit Test Suite package org.eternity.common.money; import junit.framework.test; import junit.framework.testcase; import junit.framework.testsuite; public class SecondTestCase extends TestCase { public SecondTestCase(String method) { super(method); public void testsubtract() { asserttrue(10-5 > 0); public void testmultiply() { assertequals(50, 10*5); public void testdivide() { assertequals(2, 10/5); public static Test suite() { TestSuite suite = new TestSuite(); suite.addtest(new SecondTestCase("testMultiply")); suite.addtest(new SecondTestCase("testDivide")); return suite; 25 / 문서의제목

26 JUnit 3.x Unit Exception public void testforexception() { try { sortmylist(null); fail("should have thrown an exception!"); catch(nullpointerexception ex) { asserttrue(true); 26 / 문서의제목

27 JUnit3 에서 JUnit 4 로 Unit JUnit4 는 Java 5 이상을요구 junit.framework.testcase 를상속하지않는독립클래스로작성 org.junit.* 과 org.junit.assert.* 를 import org.junit.assert.* 에대해 static import TestCase 로부터상속받지않기때문 명명규칙을따르는메소드대신 Annotation 는 testxxx() 는 setup() 는 teardown() 메소드대체 27 / 문서의제목

28 JUnit4 Unit Test Fixture public class DatabaseTestCase { private Connection protected void connectdb() { dbconn = new Connection("oracle", 1521, "fred", "foobar"); protected void closedb() { dbconn.disconnect(); dbconn = null; connectdb() checkaccountaccess() public void checkaccountaccess() { // dbconn 사용 public void checkemployeeaccess() { // dbconn 사용 //... connectdb() checkemployeeaccess() closedb() 28 / 문서의제목

29 JUnit4 Unit Test Suite package org.eternity.common.money; import junit.framework.test; import junit.framework.testcase; import junit.framework.testsuite; public class SecondTestCase extends TestCase { public SecondTestCase(String method) { super(method); public void testsubtract() { asserttrue(10-5 > 0); public void testmultiply() { assertequals(50, 10*5); public void testdivide() { assertequals(2, 10/5); public static Test suite() { TestSuite suite = new TestSuite(); suite.addtest(new SecondTestCase("testMultiply")); suite.addtest(new SecondTestCase("testDivide")); return suite; 29 / 문서의제목

30 JUnit4 Unit Test Suite package org.eternity.common.money; import org.junit.runner.runwith; import org.junit.runners.suite; public 30 / 문서의제목

31 JUnit4 Unit public void checknullparameterlist() { sortmylist(null); 31 / 문서의제목

32 Mock Object Unit 디버깅하기위해사용되는실세계객체의대용물 Mock Object가유용한경우 진짜객체가비결정적인동작을할경우 결과예측이어려운경우 진짜객체를준비설정하기어려운경우진짜객체자직접유발시키기어려운동작을하는경우 네트워크에러 진짜객체가너무느린경우진짜객체가 UI를가지거나, UI 자체인경우진짜객체에게그것이어떻게사용되는지물어봐야하는경우진짜객체가아직존재하지않는경우 32 / 문서의제목

33 Mock Object Unit Mock Object 구조 객체에인터페이스사용 TestTarget Interface 인터페이스를구현한모의객체 MockObject RealObject 인터페이스를구현한제품코드 33 / 문서의제목

34 Mock Object Unit Behavior Verification 테스트대상객체가다른객체와의협력테스트테스트대상객체가협력객체의메소드를정상적으로호출하는지여부검증 Mock Object는 Behavioral Verification 기법 State Verification 기존의 JUnit 기반의단위테스트 대상객체의상태변화체크 Object MockObject 정상적으로호출하는지테스트 Mocks Aren t Stubs By Martin Fowler 34 / 문서의제목

35 Mock Object Unit Mock Object 를실행시간에자동생성 jmock EasyMock TestCase TestTarget Interface MockObject RealObject 35 / 문서의제목 Mock Object 자동생성

36 Mock Object Unit 게시물스크랩 Test 대상객체 네트워크를통해게시글전송 CafeScrapTest CafeScrap Scrapable MockObject ArticleScrappable 네트워크가비정상적일경우? Dependency Problem 36 / 문서의제목

37 Mock Object Unit public class CafeScrapTest { private Mockery context = new JUnit4Mockery(); private CafeScrap cafescrap; private Scrapable public void preparecafesrap() { cafescrap = new CafeScrap(); scrapable = context.mock(scrapable.class); cafescrap.setscrappable(scrapable); Scrapable 인터페이스를구현한 Mock Object public void scraptoblog() { final Article article = new Article(); context.checking(new Expectations() {{ one(scrapable).scrap(article, Service.BLOG); will(throwexception(new BlogServerNotAvailableException())); ); Expectation 설정 Behavior Verification assertfalse(cafescrap.sendtoblog(article)); 37 / 문서의제목

38 Mock Object Unit EasyMock public class CafeScrapTest { private CafeScrap cafescrap; private Scrapable public void preparecafesrap() { cafescrap = new CafeScrap(); scrapable = EasyMock.createMock(Scrapable.class); public void scraptoblog() { Article article = new Article(); EasyMock.expect(scrapable.scrap(article, Service.BLOG)).andThrow(new BlogServerNotAvailableException()); EasyMock.replay(scrapable); Scrapable 인터페이스를구현한 Mock Object 생성후테스트객체에연결 Expectation 설정 Behavior Verification 행동재생 assertfalse(cafescrap.sendtoblog(article)); EasyMock.verify(scrapable); 행동검증 38 / 문서의제목

39 Spring Database Test Support Component AbstractTransactionalSpringContextTests org.springframework.test.abstracttransactionalspringcontexttests 테스트종료후데이터베이스트랜잭션롤백 getconfiglocations() 스프링빈컨텍스트위치목록반환 onsetupbeforetransaction() 트랜잭션이시작되기전호출 onsetupintransaction() 트랜잭션이시작된후호출 onteardownintransaction() 트랜잭션이롤백되기전에호출 onteardownaftertransaction() 트랜잭션이롤백된후호출 39 / 문서의제목

40 Spring Database Test Support Component CafeBaseTransactionalSpringContextTests public abstract class CafeBaseTransactionalSpringContextTests extends AbstractTransactionalSpringContextTests { private String[] getcommonconfiglocations() { return new String[] { ConfigLocations.TEST ; protected abstract String[] protected String[] getconfiglocations() { String[] commonconfigs = getcommonconfiglocations(); String[] moduleconfigs = getmoduleconfiglocations(); String[] configs = new String[commonConfigs.length + moduleconfigs.length]; for (int i = 0; i < commonconfigs.length; i++) { configs[i] = commonconfigs[i]; for (int i = 0; i < moduleconfigs.length; i++) { int j = commonconfigs.length + i; configs[j] = moduleconfigs[i]; return configs; 40 / 문서의제목

41 Spring Database Test Support Component protected void onsetupbeforetransaction() throws Exception { ContextHolder.setAttribute( CafeConstants.CONTEXTHOLDER_MULTIPLEDBKEY, new MultipleDBKeyInfo(getMultipleDBKey(), true)); SqlMapPlugIn plugin = new SqlMapPlugIn(); plugin.init(null); /** * CLUBBBS 나 CAFEINFO db 를사용하는경우에는무조건이메소드를 override 해야한다. */ protected Integer getmultipledbkey() { return null; 41 / 문서의제목

42 Spring Database Test Support Component Custom Test Case public class TemplateMovieDAOImplTest extends CafeBaseTransactionalSpringContextTests { private TemplateMovieDAO templatemoviedao; private Integer TEST_CLUBID = protected String[] getmoduleconfiglocations() { return new String[]{ConfigLocations.DAO_BOARD, ConfigLocations.TEST_CLUBBBS ; /META-INF/applicationContext-common-dao-board.xml /META-INF/applicationContext-common-test-clubbbs.xml protected Integer getmultipledbkey() { return TEST_CLUBID; public void settemplatemoviedao(templatemoviedao templatemoviedao) { this.templatemoviedao = templatemoviedao; public void testselect() { // DAO 를사용한테스트코드 // / 문서의제목

43 Spring Database Test Support Component Transaction Manager 설정 applicationcontext-common-test-clubbbs.xml <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" " <beans> <bean id="transactionmanager" class="com.naver.cafe.common.transaction.cafetransactionmanager"> <property name="dbkey"> <bean id="com.naver.cafe.common.dao.dbkeygenerator.db_key_clubbbs" class="org.springframework.beans.factory.config.fieldretrievingfactorybean" /> </property> </bean> </beans> clubbbs conf/datasource/datasource-clubbbs.xml 43 / 문서의제목

44 DbUnit Component 데이터베이스 Component Testing 툴 테스트간에데이터베이스를알려진상태로유지하기위해사용테스트데이터를자동으로데이터베이스에입력테스트종료후테스트이전으로자동복귀 DbUnit Best Practices 개발자한명당하나의데이터베이스인스턴스사용테스트를정상적으로설정한경우클린업절차불필요하나의거대한데이터셋대신여러개의작은데이터셋사용전체테스트클래스나테스트스위트에대해현행화된데이터를사용할것 44 / 문서의제목

45 DbUnit Component 테스트라이프사이클 초기화 테스트데이터 데이터베이스 테스트코드 테스트코드 테스트코드 45 / 문서의제목

46 DbUnit Component 테스트라이프사이클 테스트데이터 데이터베이스 테스트코드 테스트코드 테스트코드 46 / 문서의제목

47 DbUnit Component 테스트라이프사이클 데이터변경 실행 테스트데이터 데이터베이스 테스트코드 테스트코드 테스트코드 47 / 문서의제목

48 DbUnit Component 테스트라이프사이클 데이터베이스 복구 테스트데이터 테스트코드 데이터베이스 테스트코드 테스트코드 48 / 문서의제목

49 DbUnit Component 테스트라이프사이클 초기화 테스트데이터 데이터베이스 테스트코드 테스트코드 테스트코드 49 / 문서의제목

50 DbUnit Component 테스트라이프사이클 테스트데이터 데이터베이스 테스트코드 테스트코드 테스트코드 50 / 문서의제목

51 DbUnit Component 테스트라이프사이클 데이터변경 테스트데이터 데이터베이스 테스트코드 테스트코드 테스트코드 51 / 문서의제목

52 DbUnit Component Cafe 프로젝트용 DbUnit 커스터마이징 bridge 프로젝트의 com.naver.cafe.unit 패키지다중 DB 지원카페 DB별테스트데이터초기화기능지원전체테이블이아닌결과 XML에명시된데이터만검증가능, 초기데이터 PK를사용하여테스트데이터제거 AbstractDependencyInjection SpringContextTests CafeTestCase MyTestCase 52 / 문서의제목

53 DbUnit Component 테스트데이터 <?xml version="1.0" encoding="utf-8"?> <dataset> <CLT_ARTICLE clubid=" " articleid="158" menuid="2" subject=" 제목 " content=" 테스트용게시물 " writerid="baejjae93" writernickname="baejjae93" writedt=" " refarticleid=" " replylistorder=" readcount="0" commentcount="0" refarticlecount="0" lastcommentdate="[null]" type="[null]" openyn="y" replyyn="y" scrapyn="y" attachimageyn="[null]" attachfileyn="[null]" attachpollyn="[null]" attachmovie="0" scrapcount="0" scrapedyn="[null]" accesslevel="0" personacon="0" font="" leveragecode="39" searchopen="1" rclick="0" hastag="0" blockyn="0" modifydt="[null]" spamscore="0" gdid=" _ " headid="[null] blockstatus="[null]" ccl="0" autosourcing="0" templatecode="[null]"/> <CFT_LEVERAGE_ARTICLE clubid=" " articleid="158" leveragecode="39" leveragepk="[null]" categoryname="[null]" srcurl="[null]" srcurlhtml="[null]" commentcount="[null]" status="l" modifydate="[null]" adddate=" " userip=" "/> <CFT_LEVERAGE_THEME clubid=" " articleid="158" leveragecode="39" theme=" 내책 "/> </dataset> 53 / 문서의제목

54 DbUnit Component 결과데이터 <?xml version="1.0" encoding="utf-8"?> <dataset> <CFT_LEVERAGE_ARTICLE TEST_CASE_INDEX="1" clubid=" " articleid="158" leveragecode="39" leveragepk="120" categoryname="categoryresult" srcurl=" srcurlhtml="[null]" commentcount="[null]" status="o" userip=" "/> <CFT_LEVERAGE_ARTICLE TEST_CASE_INDEX="2" clubid=" " articleid="158" leveragecode="39 leveragepk="[null]" categoryname="" srcurlhtml="[null]" commentcount="[null]" status="l" userip=" "/> <CFT_LEVERAGE_ARTICLE TEST_CASE_INDEX="3" clubid=" " articleid="158" leveragecode="39 leveragepk="" categoryname="" srcurlhtml="[null]" commentcount="0" status="r" userip=" "/> <CFT_LEVERAGE_THEME clubid=" " articleid="158" leveragecode="39" theme=" 내책 "/> </dataset> 54 / 문서의제목

55 DbUnit Component Custom Test Case public class ApplyOperationIntegrationTest extends CafeTestCase protected String[] getcafeconfiglocations() { return new String [] { "/META-INF/applicationContext-bridge-bo.xml",... "/META-INF/applicationContext-bridge-leverage.xml" protected Integer getclubid() { return protected void aftersetup() throws Exception { loaddataset(dbkeygenerator.db_key_club, "ApplyOperationIntegrationTest-club-setup.xml"); loaddataset(dbkeygenerator.db_key_clubbbs, "ApplyOperationIntegrationTest-clubbbs-setup.xml"); 어플리케이션컨텍스트로드 데이터베이스선택을위해오버라이딩 테스트데이터로드 55 / 문서의제목

56 DbUnit Component Custom Test Case public void testapplysuccessonnormalqueue() throws Exception { HttpClientInvokerStub httpclientinvokerstub = new HttpClientInvokerStub("1", FailureCause.NO_FAILURE.name(), "120", " "categoryresult"); ((LeverageRequestSenderImpl)getBean("leverageRequestSenderTarget")).setHttpClientInvoker(httpClientInvokerStub); LeverageRequest leveragerequest = LeverageRequestBuilder.apply(getClubId(), Leveraged.before(getArticleId(), LeverageEnum.BOOK.getCode())); asserttrue(cafetoverticalproducerbo.senddirectly(leveragerequest)); verify(dbkeygenerator.db_key_clubbbs, "ApplyOperationIntegrationTest-clubbbs-result.xml", 1); 결과테스트데이터를사용하여 데이터베이스상태검증 56 / 문서의제목

57 HTTPUnit System 웹어플리케이션 System Testing Tool 웹어플리케이션용테스트스크립트구현 JUnit 기반프레임웍 57 / 문서의제목

58 HTTPUnit System HTTPUnit Test Case public class CaclHttpTestCase public void calc() throws Exception { WebConversation conversation = new WebConversation(); WebRequest request = new GetMethodWebRequest( " WebResponse response = conversation.getresponse(request); assertequals(30, Integer.parseInt(response.getElementWithID("result").getText())); 58 / 문서의제목

59 HTTPUnit System HTTPUnit Test public void calcusingform() throws Exception { WebConversation conversation = new WebConversation(); WebRequest request = new GetMethodWebRequest( " WebResponse response = conversation.getresponse(request); WebForm form = response.getformwithname("calc"); form.setparameter("addend", "100"); form.setparameter("added", "20"); response = form.submit(); assertequals(120, Integer.parseInt(response.getElementWithID("result").getText())); 59 / 문서의제목

60 JWebUnit System 웹어플리케이션 System Testing Tool 웹어플리케이션용테스트스크립트구현 HTTPUnit 기반 JUnit 기반프레임웍특징웹애플리케이션검색에쓰이는고급 API 제공링크를통한네비게이션폼엔트리와제출테이블내용 assertion 집합포함 60 / 문서의제목

61 JWebUnit System JWebUnit Test Case public class CaclHttpTestCase { private WebTester public void inittestcontext() { webtester = new WebTester(); public void calc() throws Exception { webtester.beginat("/calc.action?added=10&addend=20"); webtester.assertelementpresent("result"); webtester.asserttextinelement("result", "30"); 61 / 문서의제목

62 JWebUnit System JWebUnit Test public void calcusingform() throws Exception { webtester.beginat("/calcview.action"); webtester.setworkingform("calc"); webtester.settextfield("addend", "100"); webtester.settextfield("added", "20"); webtester.submit(); webtester.assertelementpresent("result"); webtester.asserttextinelement("result", "120"); 62 / 문서의제목

63 Selenium Functional 웹어플리케이션을위한 Acceptance Testing 툴 테스트를 HTML 테이블로작성 Selenium IDE FireFox 플러그인 Test Case Record & Replay 기능제공 Selenium-RC(Remote Control) 프로그래밍언어를사용하여 Acceptance Test 작성및실행가능 Server 브라우저를자동으로실행하고웹요청을처리하는 Proxy Client 프로그램작성을위한클라이언트라이브러리 63 / 문서의제목

64 Selenium Functional Selenium IDE 64 / 문서의제목

65 Selenium Functional Selenium IDE 65 / 문서의제목

66 Selenium Functional Selenium-RC 66 / 문서의제목

67 Selenium Functional Selenium-RC 와 JUnit 통합 Selenium IDE 의 Test Case Export 기능을사용하여생성 public class CalcAcceptTestCase extends SeleneseTestCase { public void setup() throws Exception { setup(" "*iexplore"); public void testcalc() throws Exception { selenium.open("/calc.action?added=10&addend=20"); asserttrue(selenium.istextpresent("30")); assertequals("30", selenium.gettext("result")); public void testcalcview() throws Exception { selenium.open("/calcview.action"); selenium.type("added", "100"); selenium.type("addend", "20"); selenium.click("//input[@value=' 계산 ']"); assertequals("120", selenium.gettext("result")); 67 / 문서의제목

68 Thank you.

69 Question.

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Software Verification Junit, Eclipse 및빌드환경 Team : T3 목차 Eclipse JUnit 빌드환경 1 Eclipse e 소개 JAVA 를개발하기위한통합개발환경 주요기능 Overall 빌드환경 Code edit / Compile / Build Unit Test, Debug 특징 JAVA Code를작성하고이에대한 debugging

More information

문서의 제목 나눔명조R, 40pt

문서의 제목  나눔명조R, 40pt SOFTWARE VERIFICATION JUnit & IntelliJ IDEA 및빌드환경 TEAM _5 201313250 서지혁 201214262 라가영 2016. 03. 18 목차 1. CI 2. IntelliJ IDEA 3. JUnit 4. Build Enviroment 1. CI What is CI? 프로젝트에참여주인개발자들의결과물을지속적으로통합하고,

More information

JUnit & Eclipse

JUnit & Eclipse JUnit & Eclipse 201260053 Abbos Shomurodov 201260058 채숭흠 TEAM 1 200711437 성하진 200511355 정용구 200911436 조성완 Contents 1. Software Testing Theory 2. Eclipse Plug-in 3. JUnit Practice Software Testing Theory

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 JUnit Unit Test & JUnit Execution Examples 200511349 장기웅 200511300 강정희 200511310 김진규 200711472 진교선 Content 1. Unit Testing 1. Concept of TDD 2. Concept of Unit Testing 3. Unit Test Benefit & Limitation

More information

소프트웨어공학개론 Tutorial #2: Junit Eun Man Choi

소프트웨어공학개론 Tutorial #2: Junit Eun Man Choi 소프트웨어공학개론 Tutorial #2: Junit Eun Man Choi emchoi@dgu.ac.kr 강의목표 l JUnit 소개 l 테스트케이스 l Assertion l JUnit 테스트실행 2 JUnit l Java 언어를위한단위테스팅프레임워크 l 저자 : Erich Gamma, Kent Beck l 목적 : l 테스트를생성하고실행하기쉽다면프로그래머가테스트를생성하고실행하도록마음을움직일것이다.

More information

ppt.glzy8.com提供海量PPT模板免费下载!

ppt.glzy8.com提供海量PPT模板免费下载! ppt.glzy8.com 海量 PPT 模板免费下载 소프트웨어검증발표 #1 junit, Eclipse, 정적분석도구 T5 201013759 근량 201013760 기세파 contents 1 2 3 4 JUnit Eclipse jdepend colver JUnit 이란? Junit 는가장많이사용되는 Java 단위테스트프레임워크. 콘솔환경에서명령행으로도실행가능.

More information

2 JUnit 이필요한이유 기졲의테스트방식 클래스에서테스트최소단위는메소드이며어떤것이유효한지를찾으려면하나씩테스트해야함테스트구현하는과정에서한번의단일테스트가실패할경우, 후속테스트가전혀수행되지않아전체적인테스트가불가능테스트를자동으로시작해주는프레임워크가없어각테스트를시작하기위해서는

2 JUnit 이필요한이유 기졲의테스트방식 클래스에서테스트최소단위는메소드이며어떤것이유효한지를찾으려면하나씩테스트해야함테스트구현하는과정에서한번의단일테스트가실패할경우, 후속테스트가전혀수행되지않아전체적인테스트가불가능테스트를자동으로시작해주는프레임워크가없어각테스트를시작하기위해서는 소프트웨어검증발표 JUnit 200511305 김성규 200511306 김성훈 200518036 곡짂화 200611124 유성배 200614164 김효석 2 JUnit 이필요한이유 기졲의테스트방식 클래스에서테스트최소단위는메소드이며어떤것이유효한지를찾으려면하나씩테스트해야함테스트구현하는과정에서한번의단일테스트가실패할경우, 후속테스트가전혀수행되지않아전체적인테스트가불가능테스트를자동으로시작해주는프레임워크가없어각테스트를시작하기위해서는코드를작성해야함테스팅코드는생성된클래스에졲재하여증가한코드의크기로인한문제는없겠지만보안상문제가발생할수있음

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

JAVA PROGRAMMING 실습 08.다형성

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

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

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

Junit

Junit JUnit(Unit Test) Team 1 200310394 남장우 200412342 이종훈 Contents 1. UnitTest 2. JUnit 3. JUnit Example 4. JUnit & Friends 5. Q & A Unit Test JUnit JUnit Example(1) JUnit & Friends Reference Unit Test JUnit

More information

파워포인트

파워포인트 S O F T WA R E V E R I F I CAT I O N Junit & Eclipse 및빌드환경 TEAM 1 컴퓨터공학부 201011314 김민재 201011356 이종찬 201011376 한지승 201111329 강성길 2015.03.18 I N D E X 1 Purpose & CI 2 Eclipse 3 JUnit 4 Build Environment

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

- 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

슬라이드 1

슬라이드 1 Continuous Integration Part 2 Continuous Integration Servers 조영호카페PJT팀 2008.09.01 youngho.cho@nhncorp.com 목차 1. Continuous Integration Servers 2. CruiseControl 3. Bamboo 1. Continuous Integration Severs

More information

신림프로그래머_클린코드.key

신림프로그래머_클린코드.key CLEAN CODE 6 11st Front Dev. Team 6 1. 2. 3. checked exception 4. 5. 6. 11 : 2 4 : java (50%), javascript (35%), SQL/PL-SQL (15%) : Spring, ibatis, Oracle, jquery ? , (, ) ( ) 클린코드를 무시한다면 . 6 1. ,,,!

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

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

개발환경 교육교재

개발환경 교육교재 1. 테스트 (1/2) 1. 테스트도구 테스트 (Test) 테스트대상에입력값을넣었을때그결과가성공혹은실패의결과를내는것이다. 성공 입력 대상 결과 실패 수동테스트 vs. 자동테스트 Here! Here! Page l 3 3 1. 테스트 (2/2) 1. 테스트도구 장점 쉽다. 간편하다. 수동테스트 테스트불가능한상황이별로없다. 자동테스트 언제든지같은테스트를여러번수행가능

More information

쉽게 풀어쓴 C 프로그래밊

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

More information

PowerPoint Presentation

PowerPoint Presentation Software Verification T4 고수창전소영이세라하지윤 Index 1 CI 2 IntelliJ IDEA 3 JUnit 4 Build Environment 5 Git 1 Continuous Integration What is CI? 소프트웨어개발에서 Build/Test 의프로세스를지속적으로수행하는것 개발자생산성향상 버그의빠른발견및해결 더빠른업데이트제공

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

어댑터뷰

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

More information

슬라이드 1

슬라이드 1 SW 개발도구연계 Git - Selenium - Maven - Jenkins 목차 Intro Git Selenium Maven Jenkins Intro 연계도구 분산형형상관리시스템 가벼운브랜치를활용한개발생산성향상 GitHub 등다양한웹기반저장소서비스 웹브라우저상의테스팅자동화 Selenium IDE 를통한브라우저액션녹화 다양한언어및테스팅프레임워크지원 자바기반의빌드자동화

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

슬라이드 1

슬라이드 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 Software Verification Team 4 강 정 모 송 상 연 신 승 화 1 Software Verification #3 정적분석도구, 단위 / 시스템테스트도구 CONTENTS 01 Overall Structure 02 Static analyzer SonarQube

More information

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri

내장서버로사용. spring-boot-starter-data-jpa : Spring Data JPA 사용을위한설정 spring-boot-devtools : 개발자도구를제공, 이도구는응용프로그램개발모드에서유 용한데코드가변경된경우서버를자동으로다시시작하는일들을한다. spri 6-20-4. Spring Boot REST CRUD 실습 (JPA, MariaDB) GitHub : https://github.com/leejongcheol/springbootrest 스프링부트에서 REST(REpresentational State Transfer) API 를실습해보자. RESTful 웹서비스는 JSON, XML 및기타미디어유형을생성하고활용할수있다.

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

Microsoft PowerPoint - 테스트주도개발.pptx

Microsoft PowerPoint - 테스트주도개발.pptx 테스트가능한 소프트웨어설계와 TDD 작성패턴 Testable software design & TDD patterns 한국스프링사용자모임 (KSUG ) 채수원 발표자소개 LG CNS 경영기술교육원기술교육팀전임강사 강의과목디자인패턴 & 리팩터링 분석설계실무 Agile 적용실무 블로그여름으로가는문 blog.doortts.com Comments 내용이나후기에대해서는

More information

Introduction to CTIP

Introduction to CTIP Introduction to CTIP 김의섭 2019-03-08 목차 CI & CTIP CTIP 장단점 CTIP 구성도 Tools Team Projects 2 CI - Continuous Integration Continuous Integration 소프트웨어개발에서 Build(Test-CTIP) 의프로세스를지속적으로수행하는것. 지속적으로개발된 Unit 코드에대한

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

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r Jakarta is a Project of the Apache

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

슬라이드 1

슬라이드 1 Continuous Integration 변경될때마다소프트웨어를빌드하기 조영호카페PJT팀 2008.09.08 youngho.cho@nhncorp.com 목차 1. 빌드자동화 2. Maven 3. 빌드유형과메커니즘 4. 빌드시간을짧게만들기 1. 빌드자동화 빌드자동화 소프트웨어의개발은복잡할지몰라도소프트웨어의전달 (Delivery) 은버튼하나만누르면되는일이되어야합니다

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

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

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

ThisJava ..

ThisJava .. 자바언어에정확한타입을추가한 ThisJava 소개 나현익, 류석영 프로그래밍언어연구실 KAIST 2014 년 1 월 14 일 나현익, 류석영 자바언어에정확한타입을추가한 ThisJava 소개 1/29 APLAS 2013 나현익, 류석영 자바 언어에 정확한 타입을 추가한 ThisJava 소개 2/29 실제로부딪힌문제 자바스크립트프로그램분석을위한요약도메인 나현익,

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

서현수

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

More information

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

09-interface.key

09-interface.key 9 Database insert(record r): boolean find(key k): Record 1 Record getkey(): Key * Record Key Database.? Key equals(key y): boolean Database insert(record r): boolean find(key k): Record * Database OK 1

More information

슬라이드 1

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

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

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

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

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

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

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

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

PowerPoint Presentation

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

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

MasoJava4_Dongbin.PDF

MasoJava4_Dongbin.PDF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: MasoJava4_Dongbindoc Revision number: Issued by: < > SI, dbin@handysoftcokr

More information

JUnit 4 의새로운기능자바 5 주석덕분에 JUnit 4 가이전보다더욱가벼워졌고유연해졌다. 일부흥미로운새기능을위해이전의엄격한명명규칙과상속계층구조가사라졌다. 다음은 JUnit 4 의새로운기능을간략히설명해놓은목록이다. 매개변수테스트예외테스트제한시간테스트유연한픽스쳐테스트를

JUnit 4 의새로운기능자바 5 주석덕분에 JUnit 4 가이전보다더욱가벼워졌고유연해졌다. 일부흥미로운새기능을위해이전의엄격한명명규칙과상속계층구조가사라졌다. 다음은 JUnit 4 의새로운기능을간략히설명해놓은목록이다. 매개변수테스트예외테스트제한시간테스트유연한픽스쳐테스트를 JUnit 4 로뛰어들기자바 5 주석을사용한효율적인테스트 난이도 : 중급 Andrew Glover, President, Stelligent Incorporated 2007 년 4 월 10 일 JUnit 4 에서는자바 (Java ) 5 주석 (annotation) 의효율적인유연성을위해기존의엄격한명명규칙및상속계층구조를없앴다. 테스트전문가로활동하고있는 Andrew

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

Social Media and Social Computing

Social Media and Social Computing Maven 2015 Web Service Computing Maven 이란? Apache 프로젝트 소스코드로부터배포가능한산출물 (artifact) 을빌드 (build) 하는 ' 빌드툴 (build tool)' 조금더편리한 ' 프로젝트관리툴 Maven 이없다면? 라이브러리를직접다운로드해서등록하고 path 를지정해줘야한다. Build 소스코드를컴파일한다. 테스트코드를컴파일한다.

More information

Microsoft PowerPoint - 2강

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

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

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

슬라이드 1

슬라이드 1 EJB and JBoss SEAM 양수열소장 Java Champion, JCO Advisor, Inpion Consulting Agenda Web Framework & EJB What is Seam? Why Seam? Q/A Framework history Main Milestone in Standard & OpenSource 95 96 97 98 99 00

More information

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법

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

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

PowerPoint 프레젠테이션

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

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

유니티 변수-함수.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

01-OOPConcepts(2).PDF

01-OOPConcepts(2).PDF Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)

More information

자바 프로그래밍

자바 프로그래밍 5 (kkman@mail.sangji.ac.kr) (Class), (template) (Object) public, final, abstract [modifier] class ClassName { // // (, ) Class Circle { int radius, color ; int x, y ; float getarea() { return 3.14159

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

12 성능모니터링 allmon Apache License v 성능모니터링 nmon GPL v3 분산되어있는시스템에대한자원상태체크, 사용현황, 성능등을수집

12 성능모니터링 allmon Apache License v 성능모니터링 nmon GPL v3   분산되어있는시스템에대한자원상태체크, 사용현황, 성능등을수집 1 BTS Bugzilla MPL http://www.bugzilla.org 웹기반의 bug tracking 및테스트도구 2 BTS Fossil 2-clause BSD http://www.fossil-scm.org 프로젝트에서파일을관리하는 소스컨트롤시스템 3 BTS Gemini Proprietary, Free for non-profit, Free for open

More information

Apache Ivy

Apache Ivy JBoss User Group The Agile Dependency Manager 김병곤 fharenheit@gmail.com 20100911 v1.0 소개 JBoss User Group 대표 통신사에서분산컴퓨팅기반개인화시스템구축 Process Designer ETL, Input/Output, Mining Algorithm, 통계 Apache Hadoop/Pig/HBase/Cassandra

More information

Intro to Servlet, EJB, JSP, WS

Intro to Servlet, EJB, JSP, WS ! Introduction to J2EE (2) - EJB, Web Services J2EE iseminar.. 1544-3355 ( ) iseminar Chat. 1 Who Are We? Business Solutions Consultant Oracle Application Server 10g Business Solutions Consultant Oracle10g

More information

gnu-lee-oop-kor-lec10-1-chap10

gnu-lee-oop-kor-lec10-1-chap10 어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스 스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다. 사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우 두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다. class

More information

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

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

More information

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå

10.0pt1height.7depth.3width±â10.0pt1height.7depth.3widthÃÊ10.0pt1height.7depth.3widthÅë10.0pt1height.7depth.3width°è10.0pt1height.7depth.3widthÇÁ10.0pt1height.7depth.3width·Î10.0pt1height.7depth.3width±×10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width¹Ö pt1height.7depth.3widthŬ10.0pt1height.7depth.3width·¡10.0pt1height.7depth.3width½º, 10.0pt1height.7depth.3width°´10.0pt1height.7depth.3widthü, 10.0pt1height.7depth.3widthº¯10.0pt1height.7depth.3width¼ö, 10.0pt1height.7depth.3width¸Þ10.0pt1height.7depth.3width¼Ò10.0pt1height.7depth.3widthµå 기초통계프로그래밍 클래스, 객체, 변수, 메소드 hmkang@hallym.ac.kr 금융정보통계학과 강희모 ( 금융정보통계학과 ) 기초통계프로그래밍 1 / 26 자바구성파일 소스파일 소스파일 : 사용자가직접에디터에입력하는파일로자바프로그램언어가제공하는형식으로제작 소스파일의확장자는.java 임 컴파일 : javac 명령어를이용하여프로그래머가만든소스파일을컴파일하여실행파일.class

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

본 강의에 들어가기 전

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

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt Software Verification Introduction to Software Testing & Static Analysis 2조이상혁왕홍강김태영 2016-03-18 1.1 Overview 2 / 87 Overview 1.1 Overview 3 / 87 Overview 1.2 Install JDK 4 / 87 Install JDK JDK 8 다운로드페이지

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

No Slide Title

No Slide Title J2EE J2EE(Java 2 Enterprise Edition) (Web Services) :,, SOAP: Simple Object Access Protocol WSDL: Web Service Description Language UDDI: Universal Discovery, Description & Integration 4. (XML Protocol

More information

슬라이드 1

슬라이드 1 NetBeans 1. 도구 개요 2. 설치 및 실행 3. 주요 기능 4. 활용 예제 1. 도구 개요 1.1 도구 정보 요약 도구명 소개 특징 주요기능 NetBeans 라이선스 CDDL, GPLv2 (http://trac.edgewall.org/) 통합 개발 환경(IDE : integrated development environment)으로써, 프로그래머가 프로그램을

More information

소프트웨어 검증 및 설계

소프트웨어 검증 및 설계 1 : 2018-03-21 Junit & IntelliJ 및빌드환경 Software Verification T1 [2018SV][T1] 201311263 김민환 201311308 전세진 201411278 서희진 201411317 조민규 1 INDEX 1. 2. 3. IDE IntelliJ Unit Test JUnit Build Configuration & CI

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

블로그_별책부록

블로그_별책부록 Mac Windows http //java sun com/javase/downloads Java SE Development Kit JDK 1 Windows cmd C:\>java -version java version "1.6.0_XX" Java(TM) SE Runtime Environment (build 1.6.0_XX-b03) Java HotSpot(TM)

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

Business Agility () Dynamic ebusiness, RTE (Real-Time Enterprise) IT Web Services c c WE-SDS (Web Services Enabled SDS) SDS SDS Service-riented Architecture Web Services ( ) ( ) ( ) / c IT / Service- Service-

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

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID" android:title=" 항목제목 "/> </menu> public boolean oncreateoptionsmenu(menu menu) { getme

[ 그림 8-1] XML 을이용한옵션메뉴설정방법 <menu> <item 항목ID android:title= 항목제목 /> </menu> public boolean oncreateoptionsmenu(menu menu) { getme 8 차시메뉴와대화상자 1 학습목표 안드로이드에서메뉴를작성하고사용하는방법을배운다. 안드로이드에서대화상자를만들고사용하는방법을배운다. 2 확인해볼까? 3 메뉴 1) 학습하기 [ 그림 8-1] XML 을이용한옵션메뉴설정방법 public boolean

More information

歯Writing_Enterprise_Applications_2_JunoYoon.PDF

歯Writing_Enterprise_Applications_2_JunoYoon.PDF Writing Enterprise Applications with Java 2 Platform, Enterprise Edition - part2 JSTORM http//wwwjstormpekr Revision Document Information Document title Writing Enterprise Applications

More information

2장 변수와 프로시저 작성하기

2장  변수와 프로시저 작성하기 Chapter. RequestDispatcher 활용 요청재지정이란? RequestDispatcher 활용 요청재지정구현예제 Chapter.9 : RequestDispatcher 활용 1. 요청재지정이란? 클라이언트로부터요청받은 Servlet 프로그램이응답을하지않고다른자원에수행흐름을넘겨다른자원의처리결과를대신응답하는것또는다른자원의수행결과를포함하여응답하는것을요청재지정이라고한다.

More information

05-class.key

05-class.key 5 : 2 (method) (public) (private) (interface) 5.1 (Method), (public method) (private method) (constructor), 3 4 5.2 (client). (receiver)., System.out.println("Hello"); (client object) (receiver object)

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

Microsoft PowerPoint - 06-Chapter09-Event.ppt

Microsoft PowerPoint - 06-Chapter09-Event.ppt AWT 이벤트처리하기 1. 이벤트처리방식 2. 이벤트클래스와리스너 3. 이벤트어댑터 4. 이벤트의종류 이벤트 (Event) 이벤트 사용자가 UI 컴포넌트에대해취하는행위로인한사건이벤트기반프로그래밍 무한루프를돌면서사용자의행위로인한이벤트를청취하여응답하는형태로작동하는프로그래밍 java.awt.event 이벤트처리 AWT 컴포넌트에서발생하는다양한이벤트를처리하기위한인터페이스와클래스제공

More information

JAVA PROGRAMMING 실습 09. 예외처리

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

More information

문서의 제목 나눔고딕B, 54pt

문서의 제목 나눔고딕B, 54pt Maven 1. 도구개요 2. 설치및실행 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 Maven (http://maven.apache.org/) 라이선스 Apache License, Version 2.0 소개 자바기반프로젝트를빌드하고, 구성요소및라이브러리의존성을관리하는도구 특징 주요기능 프로젝트에필요한라이브러리를 POM 파일만으로쉽게구성가능 Convention

More information

슬라이드 1

슬라이드 1 - 1 - 전자정부모바일표준프레임워크실습 LAB 개발환경 실습목차 LAB 1-1 모바일프로젝트생성실습 LAB 1-2 모바일사이트템플릿프로젝트생성실습 LAB 1-3 모바일공통컴포넌트생성및조립도구실습 - 2 - LAB 1-1 모바일프로젝트생성실습 (1/2) Step 1-1-01. 구현도구에서 egovframe>start>new Mobile Project 메뉴를선택한다.

More information

JMF3_심빈구.PDF

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

More information