2011.07.31 17:52


안드로이드 폰 화면을 프레젠테이션할 때 유용한 도구가 있어 소개한다.



Android Screen Monitor

 Android Screen Monitor(ASM) 는 안드로이드 기기나 에뮬레이터 상의 화면을 모니터링할 수 있는 도구이다.
 
 화면을 실시간으로 모니터링 할 수 있고, 방향(가로, 세로)를 바꾸거나 PNG 파일로 저장하는 기능을 제공한다.

  • 준비물
    JDK 5 or 6
    Android SDK 1.5/1.6/2.0 SDK
  • 설치방법
    1. JDK 설치, bin 디렉토리를 path로 설정
    2. Android SDK 설치, tools, platform-tools 디렉토리를 path로 설정
    3. Android Screen Monitor 다운로드


  • 사용방법
    1. USB 디버깅 모드를 켠다.
       설정 > 어플리케이션 > 개발 > USB 디버깅 체크(각 기기에 맞는 USB 드라이버는 설치되어 있어야 함)



    2. 콘솔에서 java -jar asm.jar 를 실행한다.


    3. 기기를 선택한다.




    4. 모니터링이 실행된다.
       모니터링 화면에서 우클릭하면 부가 기능을 사용할 수 있다 (화면전환, 이미지 저장 등)


Posted by kimgisa.net
2011.03.18 16:23
> UML의 확장메커니즘 - 스테레오타입

  UML에서는 3가지 확장메커니즘 - tagged value, stereo types, constraints - 을 제공하고 있는데, 그 중 하나가 스테레오타입이다. 스테레오타입은 이중꺽쇄(« »)로 나타내며 모델링 요소에 스테레오타입이 표시되면 모델링 요소는 그 의미가 확장된다.

 예) 클래스 표기법에 «interface» 를 표시하여 인터페이스를 나타낸다.

> 클래스와 객체간의 관계 - «instantiate»

  클래스와 객체간의 관계는 «instantiate» 스테레오 타입을 사용한 의존관계로 나타낸다. 클래스의 변화가 객체에 영향을 미치므로 화살표 방향은 클래스를 가리키게 된다.

 
Posted by kimgisa.net
2011.03.18 16:04

  의존관계(dependency)는 공급자(supplier)와 클라이언트(client)간의 관계로 공급자의 변경이 클라이언트에 영향을 미치는 경우 사용된다. UML로 의존관계를 나타내는 방법은 점선으로 두 요소를 이은 뒤 공급자(supply)쪽에 화살표를 표시한다.

The UML Reference Manual [Rumbaugh 1]에서는 의존관계를 다음과 같이 정의하고 있다.

A relationship between two elements in which a change to one element (the supplier) may affect or supply information needed by the other element (the client).






Posted by kimgisa.net
2010.05.08 11:07
Maven을 통해 build를 하다보면 가끔 자바 버전의 하위호환성 문제로 인해 build가 되지 않을 때가 있다.

> 에러내용
  에러내용중에 Java 버전과 관련된 내용이 포함되어 있음을 발견할 수 있다.

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.000s
[INFO] Finished at: Sat May 08 11:06:22 KST 2010
[INFO] Final Memory: 3M/15M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.0.2:compile (default-compile) on project HibernateEntity: Compilation failure: Compilation failure:
D:\workspace\HibernateEntity\src\main\java\kr\nextree\nexbay\domain\entity\User.java:[15,1] annotations are not supported in -source 1.3
(use -source 5 or higher to enable annotations)

@Entity


> 해결방법
  pom.xml에 다음과 같이 maven compile plug-in을 선언하고 java 버전을 세팅해준다.

  <build>
    <plugins>
   <plugin>
     <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <configuration>
    <source>1.6</source>
    <target>1.6</target>
  </configuration>
      </plugin>
 </plugins>
  </build>




Posted by kimgisa.net
2010.05.04 00:14
Maven은 의존하여 사용하고 있는 라이브러리의 성격에 따라 사용범위를 지정할 수 있다.
JUnit과 같은 라이브러리는 테스트에만 사용하며 배포시에는 필요하지 않다.

 라이브러시 사용범위에 따른 5가지 Scope의 의미
Scope  적용범위
compile  scope를 지정하지 않은 경우 기본범위.
 컴파일할 때도 사용되고, 배포할  때도 포함되어야 하는 라이브러리 
provided   컴파일 시점에는 필요하지만, 배포할 때는 포함되지 않는 라이브러리.
 예를 들어, servlet.jar는 서블릿컨테이너에서 제공되므로 컴파일시에는 필요하지만 배포될 필요는 없음 
runtime  컴파일 시에는 사용되지 않지만 실행시에는 필요한 라이브러리 
test  테스트 컴파일 및 테스트 실행 시에만 사용되는 라이브러리
 예를들어, JUnit은 테스트시에만 필요함
system  provided와 유사하나, jar파일을 저장소(repository)에서 검색하지 않음. 즉 jar파일을 직접 제공해 주어야 함  


Posted by kimgisa.net
2010.02.25 14:41

비즈니스의 주요 개념에는 자원, 프로세스, 목표, 규칙등이 있다.
아래 다이어그램은 기본적인 비즈니스 개념들과 그들간의 관계를 나타낸 메타모델이다.

A basic meta-model of business modeling concepts
(원본 : 'Willey - Business Modeling With UML'의 Chapter 3 참조)

Posted by kimgisa.net
2010.01.22 10:16

 정보기술 아키텍처(ITA/EA)는 기관의 임무와 성과달성을 위해 업무와 IT를 효율적으로 관리하는 내용을 담은 정부차원의 법제도이다. 흔히 도시계획과 비유하여 설명되는 ITA/EA의 등장배경 및 개념, 효과에 대해서 알아보자.

정보기술아키텍처 (ITA/EA)의 등장배경

  1. 업무와 정보시스템의 체계적 관리의 어려움
  2. 종합적 정보화 계획 및 현황 관리의 부족으로 정보화 투자 우선순위 결정과 중복투자의 위험이 존재
  3. 시스템간 정보공동활용과 상호 운영성 미확보



정보기술아키텍처 개념

 기관의 임무와 성과 달성에 필요한 업무와 정보시스템 등 무형의 자원들을 구조적으로 정리하고, 이를 바탕으로 정보화를 효율적으로 추진하고 관리, 개선하도록 하는 것 (조직의 가시화, 체계화, 표준화)


주요용어정의

  - 업무아키텍처 : 업무, 업무별 기능.절차, 정보와 이들 간의 관계를 식별하고 정의한 구조를 말한다.
  - 데이터아키텍처 : 업무와 응용에서 사용되는 데이터 및 이들 간의 관계를 식별하고 정의한 구조를 말한다.
  - 응용아키텍처 : 업무를 지원하는 응용서비스 및 응용시스템과 이들간의 관계를 식별하고 정의한 구조를 말한다.
  - 기술아키텍처 : 응용서비스 및 응용시스템을 지원하는 기술자원 및 이들 간의 관계를 식별하고 정의한 구조를 말한다.


정보기술아키텍처 효과


  종합적인 정보화 현황 및 계획을 제공 => 정보화 의사 결정을 제공
  조직의 업무와 목표에 맞는 정보시스템의 도입과 운영
  효율적인 정보기술 자원 관리 지원 및 중복 투자 제거
  시스템간 원할 연계와 정보 공동활용을 제공
  업무변화 및 신기술 등장에 유연하게 대응


참고자료
(한국정보화진흥원 자료실-법/지침)

  - 정보기술아키텍처 도입운영 지침(정통부고시)
  - [소개자료]공공부문 정보화 혁신의 첫걸음-정보기술아키텍처
  - 알기쉬운 ITA, 정보화 혁신의 첫걸음
  - ITAEA 홍보동영상

Posted by kimgisa.net
2010.01.14 18:02
KOSTA에서 지난 4일동안(1.5 ~ 1.8) 'SW 엔지니어를 위한 비즈니스 모델링' 과정을 수료하고 왔습니다.
비즈니스 모델링이 무엇이고, 실제 프로젝트에서는 어떤식으로 활용되는지에 대한 전체적인 개념을 이해하는데 도움이 되었습니다. 그러나 비록 주제가 어렵더라도 깊이있는 내용을 다루었으면 했는데, 그렇지 않아 아쉬움은 남네요.

날짜별로 다음과 같이 이론수업 및 실습을 병행하였습니다.

1일차.
 - 비즈니스 모델링 개요
 - 비즈니스 프로세스 모델링 표기법(BPMN) 소개 및 실습
 - BPM 도구 설치 (Intalio)
 - 비즈니스 프로세스 모델링 실습 (레스토랑에 방문한 고객을 착석시키는 프로세스)

2일차.
 - 비즈니스 모델링 산출물 개요
 - 비즈니스 모델링 산출물 실습 (비디오 대여 프로세스)

3일차.
 - 비즈니스 객체 모델링 개요
 - 비즈니스 객체 모델링 실습 (비디오 대여 프로세스, 포트폴리오 관리 시스템)

4일차.
 - 실무 프로젝에서의 산출물 리뷰 (LG CNS)
 - 비즈니스와 IT와의 연계

Posted by kimgisa.net
2010.01.07 21:20
객체지향 이론에서의 클래스화(classification)와 일반화(generalization) 관계를 알아보자.
이 관계를 이해하기 위해서는 먼저 Type과 Object의 의미를 이해해야 한다.

Type과 Object란 무엇인가?

 - Type 은 개념을 의미한다. UML에서는 Class로 표현된다. (= Concept, Class)
 - Object 는 Type이 인스턴스화된 실체를 의미한다.



예를 들어, 우리집에서 키우는 누렁이, 이웃집에 있는 삽삽이는 Object 이고, 이러한 Object들은
개(Dog)라는 Type의 인스턴스이다.


Classification(클래스화)란, Type과 Object 와의 관계이다. 객체들이 특정개념에 속할 때, 클래스화 관계로 나타낼 수 있다. (↔ 인스턴스화, instantiation)


  
Generalization(일반화)는 Type간의 관계이다. 특정개념이 다른개념을 완전히 포함할 때, 일반화 관계로 나타낼 수 있다. (↔ 특수화, Specialization)



Posted by kimgisa.net
2009.12.29 09:47

문제상황 : AbstractJpaTests 를 상속받아 작성한 스프링 통합테스트 코드를 실행했더니, 다음과 같은 에러메시지가 발생하였다.

java.lang.IllegalArgumentException: Can not set java.lang.Object field org.springframework.test.jpa.AbstractJpaTests.shadowParent to com.ibm.dw.spring2.EmployeeServiceIntegrationTest
 at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
 at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(Unknown Source)
 at sun.reflect.UnsafeFieldAccessorImpl.ensureObj(Unknown Source)
 at sun.reflect.UnsafeObjectFieldAccessorImpl.set(Unknown Source)
 at java.lang.reflect.Field.set(Unknown Source)
 at org.springframework.test.jpa.AbstractJpaTests.runBare(AbstractJpaTests.java:245)
 at junit.framework.TestResult$1.protect(TestResult.java:106)
 at junit.framework.TestResult.runProtected(TestResult.java:124)
 at junit.framework.TestResult.run(TestResult.java:109)
 at junit.framework.TestCase.run(TestCase.java:120)
 at junit.framework.TestSuite.runTest(TestSuite.java:230)
 at junit.framework.TestSuite.run(TestSuite.java:225)
 at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

해결방법 : AbstractJpaTests 상속받은 테스트 클래스에서 shouldUseShadowLoader 메소드를 오버라이딩하여 false를 리턴하도록 한다.
 



참고 : Spring Framework API - org.springframework.test.jpa.AbstractJpaTests

shouldUseShadowLoader

protected boolean shouldUseShadowLoader()
Subclasses should override this method if they wish to disable shadow class loading.

The default implementation deactivates shadow class loading if Spring's InstrumentationSavingAgent has been configured on VM startup.



Posted by kimgisa.net

티스토리 툴바