Google Common API

분류없음 2011.06.10 15:30

주로 Apache Common만 사용하다가 우연한 기회에 Google에서도 Common API를 제공하는걸 발견 했음
나중에 정리해야 할 내용들..

http://code.google.com/p/guava-libraries/

신고

Spring 3.1 이 Milestone 2 버전으로 릴리즈 되었다. 출시전 마지막 마일스톤이라고 하니, 다음 버전은 아마도 RC(Release Candidate)가 되려나? 이 버전은 현재 Spring Community Site에서 다운로드가 가능 하다.

새로 추가된 기능은 아래와 같다.

  • Code equivalents for Spring's XML namespaces
  • Builder-style APIs for code-based Hibernate configuration
  • TestContext framework support for @Configuration classes and bean definition profiles
  • Support for injection against non-standard JavaBeans setters
  • Support for Servlet 3 code-based configuration of Servlet container
  • Support for Servlet 3 MultipartResolver
  • JPA EntityManagerFactory bootstrapping without persistence.xml
  • New HandlerMethod-based Support Classes For Annotated Controller Processing
  • Consumes and Produces @RequestMapping Conditions
  • Working With URI Template Variables In Controller Methods
  • Validation For @RequestBody Method Arguments


이중 눈에 띄는 내용들은, 아래에 따로 정리를 해서 시간날때 살펴 보려고 한다.

● Spring XML Namespace 를 위한 Code 들 추가
   - 예를 들면 아래와 같은 Custom NameSpace를 Java Code상에서 Annotation으로 설정하게 해 주는것을 의미한다.
   - 이미 3.0 버전부터 @Configuration 이나 @Bean등의 Custon NameSpace 가 추가 된 전력이 있다.
    

더보기


 ● Code Based Hibernate Configuration을 위한 Builder Style API
    - 



 
신고


지난 추석때 베란다에서 찍은 달 사진..
500미리 수동 반사 렌즈로 찍어서 좀 흐릿하게 나온듯 하지만.. 오랫만에 다시 야간 촬영의 설레임을 ^^


신고

David Guetta

분류없음 2010.11.16 13:21
When Love Takes Over (Feat.Kelly Rowland)

우연히 듣게된 !
마음에 쏙 드는 스타일!

http://music.daum.net/album/album.do?albumId=482628
신고

1. 맥북 에어
     ㅇ 배터리 오래가고 성능 좋은 서브노트북이 필요한데.. 맥북 에어가 딱이다.

2. 아이폰
     ㅇ Face Time을 사용할 수 있는 아이폰 !

3. Canon 85.2 mm L
    ㅇ 만두!! 2는 너무 비싸고 1!!
신고

Spring의 AOP (Aspect Oriented Programming)에서는 두 가지 타입의 Proxy를 지원 한다.
첫번째는 JDK Dynamic Proxy이고 다른 하나는 CGLib 방식의 Proxy 이다.

두 가지 동작 방식에 몇가지 차이점은 있으나 가장 중요한 것은 JDK Proxy는 인터페이스에 대한 Proxy만을 지원한다는 것이다.

이 방식은 추가적인 라이브러리 없이 Proxy를 사용한다는 장점이 있으나, 기존에 작성되었던 코드에 AOP를 적용하려 할때 Interface가 선언되어 있지 않으면 Proxy 자체가 동작하지 않고 아래와 같은 Exception Log 만 남기고 실행되지 않는다.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 

'someController': Autowiring of fields failed; nested exception is

org.springframework.beans.factory.BeanCreationException: Could not autowire 

field:some.package.name.CategoryService some.package.name.categoryService; nested exception

 is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 

'categoryServiceImpl': Autowiring of fields failed; nested exception is

org.springframework.beans.factory.BeanCreationException: Could not autowire field: private 

nsome.package.name.CategoryDao some.package.name.categoryDao; nested exception is

java.lang.IllegalArgumentException: Can not set some.package.name.CategoryDao field 

nsome.package.name.categoryDao to $Proxy15


이 내용을 간과 (망각) 하고 있다가 나중에 Aop 설정/구현 후 위와 같은 에러를 만나면 굉장히 당황 스럽게 된다.

실제 에러로그에 출력된 Exception도 원래 원인이랑은 좀 거리가 있어 보인다.. (게다가 IllegalArguementException 같은 메세지엔 디버깅에 별 도움이 되지도 않는다.)

이 문제는 AOP로 사용하려는 객체를 Interface, implement 로 구분해서 구현 하거나, 아니면 CGLib proxy를 쓰도록 아래처럼 Spring ApplicationContext에 proxy-target-class="true" 라고 선언해 주는 방법이 있다.

<aop:config proxy-target-class="true">

    <aop:aspect ref="selectCategoryModelAspect">

        <aop:around pointcut-ref="categoryDao.selectModel" method="procedingEvent" />

    </aop:aspect>

</aop:config>


단 이 방법을 사용 하려면 CGLIB와 관련된 Jar를 Project Dependency에 추가해 주어야 한다.

<dependency>

    <groupId>cglib</groupId>

    <artifactId>cglib</artifactId>

    <version>2.1_3</version>

    <scope>runtime</scope>

</dependency>


혹시 Spring으로 AOP를 구현하는데 위와 같은 에러를 만나면 이 부분을 한번 의심해 보는 것이 좋을 것 같다.


신고

Mac OS에서 개인적으로 Expose 설정은 굉장히 유용하게 사용하는 기능중의 하나다.
물론 키보드의 F8 ~ F12에 해당하는 단축키는 정말 유용하게 쓰고 있다.

문제는 어느날 갑자기 위의 Expose에 해당하는 단축키들이 동작하지 않는 것이었다.
인터넷에서 검색해보니 나처럼 이런 증상을 호소하는 분들이 나 말고 몇 분 더 계셨다.

장시간에 걸친 검색을 통해 한가지 팁을 얻어 냈는데..
Dock 과 관련된 Process를 재 시작 하면 된다는 것이다.

터미널을 실행하고 아래의 명령어를 실행 하면 된다.

killall Dock

그러면 Dock Process가 죽고 자동으로 Restart 되면서 해당 단축키가 동작하기 시작한다.
아마도 Snow Leopard의 버그 같은데 아직 애플측에서 특별한 패치를 제공하진 않는다 (현재까지는..)

그전까지 혹시 Expose 관련 단축키가 동작하지 않는다면 위의 방법을 한번 써보길 추천한다.


신고

최근 다시 사용하고 있는 MacBook Air에는 최신 버전의 Mac 운영체제인 Snow Leopard가 설치되어 있다. 
버전을 확인해 보니 10.6.2 이다.

기존에 사용했던 OS X (Tiger) 버전과 무엇이 틀려 졌는지 알아보지 않고 그냥 사용하면서 느끼는 중인데..

일단 멀치터치 트랙패드가 매우 강력해 졌다.. 따로 특별히 마우스가 없어도 될 정도다

시스템 설정 항목에 가면 트랙패드 설정 하는 부분이 나오는데 동영상이 사용법으로 첨부되어 있다. 
이것보다 더 직관적인 도움말이 있을까 할 정도다~ (개인적으로 맥 OS의 이런 부분은 굉장히 마음에 든다)


또 하나 매우 좋아하는 기능은.. 프린터 추가 부분이다.

원래 회사에서 사용하는 복합기 프린터는 맥을 지원하지 않는다. 아니 지원하긴 하는데 PS (Post Script) 방식으로 지원하기
때문에 별도의 카드를 복합기에 설치해야 한단다. 문제는 가격인데 꽤 비싼 것으로 회사에 설치 요청을 하기가 미안할 정도다

그래서 맥에 설치되어 있는 범용 드라이버 (Cute Print ...) 이런 것들을 썼는데
이번 스노우 레퍼드 설치하고 나서 프린터를 추가하다가 "Generic PCL Laser Printer" 라는 항목을 지원하는 걸 발견 했다.


혹시나 하고 프린터 종류를 이걸로 설정하고 인쇄를 해보니..
오.. 정식 드라이버에 못지않게 좋은 품질로 인쇄를 해 준다! 

사실 기존의 버전의 프린터 드라이버는 인쇄하면 흐릿하게 나와 출력하기 좀 별로 였다.

조금씩 알아가는 재미가 꽤 쏠쏠 하다 ^^




신고

Sony A900 영입..

My/Photo 2009.08.20 15:05
6년을 넘게 Cannon을 사용하다가..
이번에 a900으로 기변을 감행.. 다시 소니로 넘어 왔다..

처음 사진취미를 시작한게..  Sony 717 이었는데..
이넘 구성이 소니 센서에.. 칼자이즈 렌즈..

지금 구성은 a900에 자이즈 24-70 이니까..
사진이 주는 감성이 어딘가 모르게 사뭇 닮았다..

노을공원에서 찍은 낙조 사진 첨부~


Sony a900 + Zeiss 24-70
신고

1. Notebook
    - Sony Vaio
    - Macbook air

2. Phone
    - Iphone
    - Sony Xperia X1

3. Lens
    - Cannon 16-35L
    - Cannon 85.2L


신고

티스토리 툴바