블로그 이미지
올해목표 // 10월 어학연수 떠나자~ 자수씨

카테고리

전체글 (1457)
Brand New! (28)
주절주절 (213)
MOT (11)
해외쇼핑 (49)
쇼핑노트 (150)
취미생활 (94)
iPhone (4)
Eclipse (121)
Google (83)
Spring (31)
JAVA (176)
JavaScript (59)
WEB (49)
Database (20)
OS (26)
Tools (8)
Tips (26)
IT정보 (1)
Book (21)
Programming (37)
외부행사 (43)
주변인들 (17)
여행노트 (60)
학교생활 (30)
회사생활 (52)
사회생활 (5)
외국어공부 (12)
잡동사니 (30)
Total
Today
Yesterday
 
01-10 03:39
 

달력

« » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
 

최근에 올라온 글

최근에 달린 댓글

아아 워크샵

회사생활/idsTrust / 2010. 11. 20. 10:21
워크샵 왔습니다













iPhone 에서 작성된 글입니다.

Posted by 자수씨
, |

긁적긁적;;;

주절주절 / 2010. 11. 15. 02:13

출장을 마치고 돌아왔습니다. 출장을 떠나기 전 마음 고생을 심하게 했는데, 제대로 정리도 안하고 떠나게 되어 돌아오니 더 힘이 듭니다.

지금 하고 있는 일이 정말 나를 위해 하고 있는지도 모르겠고, 나를 지탱해주는 가치관 마져도 무너진 상태에서 어떤 것을 선택해야할지도 모르겠습니다.

일단은 하나씩 정리를 해나가야겠죠? 가장 큰 마음의 짐을 조만간 정리하려 합니다.

Posted by 자수씨
, |

세번째 베트남 출장을 나왔습니다. 이번에는 혼자가 아니라 동료와 함께 출장을 나왔습니다.

예전에는 돌아갈 날짜가 정해지지 않아 힘들었는데, 이제는 동료도 있고 돌아갈 날짜도 정해져있어서 한결 마음이 가볍습니다.



이번이 제발 마지막이길...


Posted by 자수씨
, |

DZone Refcardz 에서 122 번째 치트 시트가 도착하였습니다.

이번에는 Clojure 라는 함수형 프로그래밍 언어입니다.

Functional Programming with Clojure: Simple Concurrency on the JVM

Functional Programming with Clojure: Simple Concurrency on the JVM

Clojure is a dialect of the Lisp programming language. It is a multi-purpose language supporting interactive development that encourages functional programming style and simplifies multithreaded programming. This Refcard goes into depth on the history of JVM, Clojure's language foundation, experimentation through Read Eval Print Loop (REPL), the catalog of functions, interoperability, the Clojure ecosystem and more. The authors of this Refcard are veterans of Java-based development, published authors and active bloggers.



JVM 위에 올라가는 Lisp 언어라고 생각하면 될 것 같습니다. 역시 자바 쪽 프레임워크나 라이브러리가 아니니깐 한번에 확 와닿지는 않네요;;; 이런건 학교에서 배우는 것 같았는데...

Posted by 자수씨
, |


지난번 포스팅 (2010/10/31 - [Eclipse/GEF] - [GEF] 키보드 방향키로 크기/위치 제어하기) 에 추가적인 개선사항을 적용해 보았습니다.

GEF 의 GraphicalEditor 에 Grid 를 적용할 경우 12 픽셀씩 격자가 생기게 됩니다. 그 크기만큼 조절하도록 수정하였습니다.


기존의 1 픽셀 단위로 변경되던 것을 Ctrl 키를 누른 상태로 방향키를 누르면 12 픽셀씩 변경되도록 하였습니다.
event.stateMask 와 SWT.SHIFT, SWT.CTRL  키를 마스크 연산을 하여 처리하였습니다.




Posted by 자수씨
, |

방향키로 크기와 위치를 제어해보려고 여러 사이트를 뒤져보았으나, 속 시원한 레퍼런스를 찾기 어려워서... 그냥 마구잡이로 만들었습니다. GEF 구조를 더 잘 알았으면 EditPolicy 도 이용했을텐데... 아직 거기까지 레벨은 안되서...


GEF 는 커맨드 단위로 변경을 처리합니다. 키보드 처리를 위해서는 별도의 Command 클래스를 생성합니다.

ArrowKeyChangeLayoutCommand.java



키보드 입력을 처리하는 GraphicalViewerKeyHandler 를 상속받아 Command 를 생성하는 별도의 KeyHandler 클래스를 생성합니다.

FormWizardArrowKeyHandler.java




GraphicalEditor 를 초기화 하는 부분에 아래와 같이 설정합니다.

GraphicalViewer viewer = getGraphicalViewer();
viewer.setKeyHandler(new FormWizardArrowKeyHandler(viewer, getSite().getSelectionProvider(), getCommandStack()));


GraphicalViewer 에서 Figure 를 선택하고 방향키를 누르면 위치가 이동되며, SHIFT 키를 누르고 방향키를 누르면 크기가 조절됩니다.

예전부터 묵혀두었던 문제를 처리...

Posted by 자수씨
, |

NHN 디자인 스튜디오

IT정보 / 2010. 10. 31. 14:31

디자인 스튜디오 프로젝트 홈페이지




무료로 배포되는 소프트웨어이기에 회사에서 기획 작업할 때 바로 활용해봐도 좋을 것 같습니다.

Posted by 자수씨
, |
기사 실기가 많이 어려워 진거 같네요;;; 후배들이 많이 합격 했으면...


2010년 4회 정보처리기사 실기 가답안 (2010년 10월 31일 시행) -기사친구(http://www.gisa79.com) 제공

Posted by 자수씨
, |

iBATIS3 이 이전 버전과 가장 큰 차이점은 어노테이션을 이용하여 SQL 을 작성할 수 있다는 점 입니다.

이번 포스팅에서는 자바 어노테이션을 이용하는 Mapper 인터페이스를 활용하는 법에 대해서 알아보겠습니다.

Mapper 인터페이스를 사용하기 위해서는 기존에 생성했던 프로젝트에 pom.xml <dependency> 엘리먼트를 추가합니다.
<dependency>
  <groupId>cglib</groupId>
  <artifactId>cglib</artifactId>
  <version>2.1_3</version>
  <scope>runtime</scope>
</dependency>

위의 <dependency> 를 추가하지 않으면 아래와 같은 오류가 발생합니다.
Exception in thread "main" java.lang.NoClassDefFoundError: net/sf/cglib/proxy/MethodInterceptor



테이블과 관련된 Mapping 인터페이스를 정의합니다.
/kr.co.vicki.ibatis3.example/src/main/java/kr/co/vicki/ibatis3/example/data/mapper/UserMapper.java



Mapping 인터페이스를 이용하는 경우 ibatis-config.xml 설정이 필요없습니다. 소스 레벨에서 설정이 가능합니다.


Mapper 인터페이스를 활용하는 경우 손쉽게 작성할 수 있다는 장점이 있지만 동적 SQL 작성이 용이하지 않은 것 입니다.

자바 어노테이션이 조금만 더 유연했으면 좋았을텐데... 아쉬운 점이 있습니다.

Posted by 자수씨
, |

사용자 정보를 가지고 있는 User 라는 테이블을 가지고 iBATIS3 를 활용하는 방법에 대해 정리해보도록 하겠습니다.

User
 
id text
name text
address text


테이블과 맵핑되는 모델 클래스를 생성합니다.
/kr.co.vicki.ibatis3.example/src/main/java/kr/co/vicki/ibatis3/example/model/User.java


User 테이블과 관련된 SQL을 정의 xml 을 생성합니다.
/kr.co.vicki.ibatis3.example/src/main/resources/kr/co/vicki/ibatis3/example/data/mapper/user-mapper.xml

테이블 생성 스키마는 update 문을 이용하였습니다.


이제 가장 중요한 iBATIS 설정파일을 생성합니다.
/kr.co.vicki.ibatis3.example/src/main/resources/kr/co/vicki/ibatis3/example/conf/ibatis-config.xml



정상적으로 파일이 만들어졌다면 아래와 같은 구조로 생성되었을 것 입니다.




실행 결과
User [id=vicki, name=2007041, address=우리집]



기존 iBATIS2 에 비해서 구성이 잘 갖춰진 느낌입니다.

다음 포스팅에서는 Mapper 인터페이스를 이용하는 법에 대해서 정리해보도록 하겠습니다.






Posted by 자수씨
, |

글 보관함

최근에 받은 트랙백