[dW리뷰]자바 이론과 실습: 제네릭스 해부, Part 1

원문기사: http://www.ibm.com/developerworks/kr/library/j-jtp04298.html

요즘은 이클립스 기사가 뜸해서 리뷰를 자꾸 미루게 되네요. ^^

최근 읽었던 책 Java Concurrency In Practice의 저자 Brian Goetz가 쓴 기사가 있어서 읽어보았습니다. JDK 5.0에서 추가된 Generics의 사용법 예시를 소개하는 기사입니다. Generics는 컬렉션 API 사용할 때나 그냥저냥 사용했던 것인데요. 뭐 그냥 귀찮은 타입 캐스팅을 줄이기 위한 것 정도로 이해해고 있었습니다만, 좀 더 명확한 의미와 JVM 내 구현 방법을 알게 되니 좀 달라보입니다.

Generics를 사용한 클래스를 만들 경우는 흔치 않지만 Generics 클래스의 오브젝트를 다룰 경우는 흔히 있는데(List<?> 등) 이때도 와일드카드의 사용은 특별히 고려해본 적이 없습니다. 제한적인 도메인 로직을 다루는 프로그래밍이 생업이다보니 굳이 와일드카드가 별 필요없기도 하고 제너릭 API을 쓰더라도 타입을 명시하는 편이 더 코드 가독성에 좋다고 생각했는데요. 기사를 읽고 생각해보니 와일드카드를 쓰면 적절한 부분도 있을 것 같습니다. 일단 컬렉션 API의 인터페이스를 구현하는 클래스인 경우에도 항상 타입제한을 걸었었는데요. 제너릭 팩토리 메서드를 이용해서 받는 쪽에서만 타입제한을 걸면 이래저래 활용범위도 넓어지고 쓰기도 더 편할 듯 합니다.

자바에서 autoboxing말고 타입 추론을 하는 경우가 있다는 것도 처음 알았구요. 어쨌든 재미있는 기사라 추천합니다~

함께 볼만한 기사 : Generics gotchas, Introduction to generic types in JDK 5

dW Review

Comments (0)

Permalink

[dW리뷰]javax.tools를 이용한 동적 애플리케이션 생성

원문기사: http://www.ibm.com/developerworks/kr/library/j-jcomp/

자바 SE 6에서 (드디어) 표준 API로 추가된 javax.tools 패키지를 사용해서 메타프로그래밍을 하는 요령에 대한 기사입니다. 루비 같이 메타프로그래밍이 편리한 언어가 자바 VM 위에서 돌아가는 상황이 되어서야 표준 API로 올라왔다는게 좀 늦은 감이 있지만.. 뭐 이미 tools.jar 사용해서 쓸 사람은 다 쓰고 있던 기능이죠. 그래도 역시 표준 API인 편이 더 손이 잘 갈 것 같습니다.

스크립트 언어의 eval()이 부러웠던 적이 있다면 참고하시기 바랍니다^^

Development
dW Review

Comments (0)

Permalink

[dW리뷰]자바 SE 6의 성능 모니터링 및 진단

원문기사 : http://www.ibm.com/developerworks/kr/library/j-java6perfmon/index.html

자바 SE 6에서 추가된 모니터링 관련 사항에 대한 기사입니다. 구체적인 튜토리얼은 아닙니다만 당장 도움이 될만한 요소를 둘러보기에 좋습니다. 그냥 자바 SE 5에서 쓰던대로 JConsole 써왔는데 내부적으로는 바뀐 부분이 꽤 있었네요.

자바 SE 6에서 추가된것 요약

  • Attach API : 동적으로 로컬 자바 프로세스 감지 및 연결
    • 모니터링 대상 JVM 실행시 agent 지정이나 jmxremote 옵션 지정하는 대신, 별도의 응용 프로그램에서 대상 JVM에 agent 부착시킬 수 있음

  • 개선된 UI
  • 핫스팟 진단
  • Lock 관련 정보 MBean 기본 지원
  • 플러그인 지원
  • 명령행 유틸리티 보강 : jps, jstat, jinfo 등
    • jps : 자바 프로세스 전용 ps


Development
dW Review

Comments (0)

Permalink

[dW리뷰]스프링 2와 JPA 시작하기

원문기사: http://www.ibm.com/developerworks/kr/library/tutorial/j-spring2/index.html

Spring 2와 Java Persistence API를 사용해서 간단한 웹 애플리케이션을 개발하는 과정을 설명하는 튜토리얼입니다. Spring, Spring MVC, Eclipse, JPA 등의 조합으로 Rails와 비슷한 느낌으로 웹 애플리케이션을 작성해 나가네요. 겉보기에는 Rails 처럼 멋져 보이진 않습니다만 ^^ 자바 개발자의 현실에 가깝달까요..

어쨌든 재미있게 따라할 수 있는 튜토리얼이니 스프링과 JPA 맛보려는 분들은 꼭 한번 살펴보세요. DB2 Express-C를 사용한다고 되어있지만 DB 설정 바꾸기는 간단할 뿐더러 예제에 HSQL DB 사용하는 설정도 있으므로 꼭 DB2 Express-C는 없어도 충분히 해볼 수 있습니다.

Development
dW Review

Comments (1)

Permalink