전체 글
-
Using the Quartz Scheduler개발 2013. 3. 8. 14:55
참고 http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/scheduling.html Task: 업무처리를 위한 단위 Job에서 사용하게 되는 Bean. MethodInvokingJobDetailFactoryBean 클래스를 이용하여 invoke 시킬 수 있음. Job: QuartzJobBean 클래스를 상속 받음. protected void executeInternal(JobExecutionContext context) 함수를 Override해서 필요한 로직 처리 예) 혹은 Trigger: SimpleTriggerBean과 CronTriggerBean가 있음 실행시킬 Job 참조필요. SimpleTriggerB..
-
안드로이드를 위한 기본 정리 (1)개발 2013. 2. 13. 18:12
- Map, View, ViewPortMap: 게임의 전체 배경View: 사용자가 보는 화면Viewport: 맵에서 화면에 보여줄 영역 ->Canvas의 drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) 메서드를 이용하여 Viewport 처리src에 viewport의 좌표dst에 전체화면의 좌표 - DPI, DPDPi = Dots Per InchScreen Density는 같은 물리적 공간 안에 얼마나 많은 픽셀이 들어가 있느냐 Low density (120dpi) : ldpiMedium density (160dpi) : mdpiHigh density (240dpi) : hdpiExtra High density (320dpi) : xdpi DP = ..
-
Java Architecture for XML Binding (JAXB)를 이용한 Marshal, Unmarshal개발 2013. 2. 6. 11:23
참고 http://www.oracle.com/technetwork/articles/javase/index-140168.html Bean 객체를 XML로 변환하고 XML를 Bean 객체로 자연스럽게 구조와 데이터를 Serialization/Deserialization 시켜준다. 어노테이션을 사용함. 1. Marshal, Unmarshal할 대상 Bean에 어노테이션을 붙여준다. 예) @XmlAccessorType(XmlAccessType.FIELD) // 노드 접근 순서@XmlRootElement // 최상위 ROOT 노드 정의public class User {private String id;private String password;@XmlTransient // 무시하는 필드private String n..
-
Commons IO의 파일 및 디렉터로 변경에 대한 모니터링 기능 사용개발 2013. 2. 1. 16:59
참고: http://commons.apache.org/io/index.html JDK7에서는 파일 변경을 알려주는 WatcherService가 새롭게 추가되었음. http://docs.oracle.com/javase/tutorial/essential/io/notification.html JDK6에서는 없기 때문에 개발하거나 오픈소스를 사용해야함. JNotify, Commons.IO가 후보 Commons가 만만해서라기 보다는... JNotify는 각 OS별 Native 구현을 사용하기 떄문에 귀찮음. 1. FileAlterationObserver에 디렉토리 지정2. FileAlterationObserver에 FileAlterationListener 등록3. checkAndNotify 메서드를 이용하여 주기..
-
JGropus의 사용자 프로토콜(헤더) 정의 하는 방법개발 2013. 2. 1. 15:05
참고: http://www.jgroups.org/manual-3.x/html/writing.html 사용자 정의 헤더는 Header 클래스를 상속받는다. Inner 클래스로 만들며 초기화 오류가 난다. 멤버변수의 타입에 대한 길이를 정확하게 계산한다. writeTo 메서드와 readFrom 메서드는 멤버변수의 순서대로 쓰고 읽어야 한다. 예) public void writeTo(DataOutput out) throws Exception {out.writeLong(id);out.writeInt(type);out.writeLong(size);out.writeLong(lastModified);out.writeUTF(path);out.writeUTF(name);}public void readFrom(DataIn..
-
JGroups를 이용하여 메시지 전송시 주의점개발 2013. 2. 1. 14:46
참고 : http://www.jgroups.org/ 메시지를 생성하는데 여러가지 api를 지원함. 대부분 귀찮아서 Object를 넘길꺼라 생각됨. 내부는 잘 코딩되어있을 꺼라고 가정하고. Object가 문자열일 경우 문제가 있음. 해당 api는 아래와 같음 byte[] objectToByteBuffer(Object obj) 소스의 일부... String str=(String)obj;byte[] buf=new byte[str.length()];for(int i=0; i < buf.length; i++) buf[i]=(byte)str.charAt(i); Object를 byte 배열로 처리할 때 문자열일 경우 ASCII 기준으로 사이즈를 계산하고 있음. 결론적으로 Message에 데이터를 넘길때는 byte[]..
-
embedded-database 사용하기개발 2012. 12. 12. 11:12
embedded-database는 특성상 Data Source 연결 설정이 거의 동일하거나 단순함. 설정정보를 입력하지 않아도됨, 하고 싶다면 별도의 빈 설정으로 입력 초기화 스크립트는 이클립스에서 스프링 스키마 문제가 있다고 나오지만 valid하게 만드는 법은 모르겠음. 작동에는 문제가 없음. 이클립스에서 그냥 무시하고 사용해도됨. jdbc:initialize-database를 사용하지 않고 초기화 빈을 설정하면 invalid에러가 나지 않음. 1. Data Source 설정 - HSQL 예1) HSQL 설정 예2) 초기화 스크립트 정의 2. 초기화 invalid 에러를 무시하지 않고 없애는 법 classpath*:/sql/schema.sql classpath*:/sql/data-sample.sql 3..
-
Annotation로 정의된 Bean 호출하기개발 2012. 12. 5. 13:56
컴포넌트로 사용할 빈 클래스에 @Component 어노테이션을 붙여준다. 어노테이션 뒤에 id를 지정할 수 있다. 예) @Component("myHello")public class Hello { private String name;public String getName() {return name;} public void setName(String name) {this.name = name;}public void print() {System.out.println("hello " + getName());} } 빈호출은 http://codesnippet.tistory.com/1 참고 초기값을 지정하기 위해서는 XML 설정을 사용해야한다. 어노테이션의 이름처럼 오직 컴포넌트로써의 기능에 충실한 클래스만 사용하는..