달력

072010  이전 다음

'2008/IBM DW 리뷰'에 해당되는 글 35건

  1. 2009/12/03 dW Live! 세미나 ‘웹 개발 다반사’
  2. 2009/11/26 dW Live! 세미나 ‘웹 개발 다반사’
  3. 2008/12/21 <Screencast> OSGi를 이용한 Java Enterprise Application 개발, Part 5 - 이일민
  4. 2008/12/20 이클립스 V3.4 완전 정복, Part 1: 이클립스 IDE 워크벤치
  5. 2008/12/19 IBM 디벨로퍼웍스 Open dW 소개 (6)
  6. 2008/11/05 [공지] 디벨로퍼웍스 늦가을 행사: “개발자들의 수다” (1)
  7. 2008/10/31 [리뷰] 자바스크립트 개발 툴킷(JSDT) 살펴보기
  8. 2008/10/30 [리뷰] 자바 이론과 실습: 제네릭스 해부, Part 2
  9. 2008/10/29 [리뷰] IBM DeveloperWorks - SpringDM for OSGi 스크린캐스트 첫번째 공개 (2)
  10. 2008/09/30 [리뷰] 영속성 패턴, Part 2: 코드 재사용을 늘리고 성능을 높이자
  11. 2008/09/18 [리뷰] 자바 이론과 실습: 제네릭스 해부, Part 1 (2)
  12. 2008/09/04 [에퓌쏘~드] OSGi를 이용한 Java Enterprise Application 개발, Part 2: OSGi 프레임워크의 구성
  13. 2008/08/01 [리뷰] 성능에 관한 고급 기사 (1)
  14. 2008/07/31 [리뷰] 내 일터에서 필요한 플러그인 자급자족하기
  15. 2008/07/30 [에퓌소드] OSGi를 이용한 Java Enterprise Application 개발, Part 1: OSGi 소개 (4)
  16. 2008/07/28 [리뷰] 이클립스 파워유저가 되는 법 (3)
  17. 2008/07/01 [안내] dW 아티클/튜토리얼을 활용한 스크린캐스트 제작
  18. 2008/06/30 [리뷰] 플러그인 개발 기초 학습 연재
  19. 2008/06/30 [리뷰] JMeter와 Ant를 이용한 로드 테스트 자동화
  20. 2008/06/01 [리뷰] eBay의 이클립스, Part 1: eBay 아키텍처에 맞춘 이클립스
  21. 2008/05/30 [리뷰] 사람을 위한 자동화: Eclipse 플러그인으로 코드 품질 높이기 (한글) (1)
  22. 2008/05/29 [리뷰] 이클립스 플러그인이 OSGi에서 어떻게 동작하는지 이해하기
  23. 2008/05/29 [리뷰] XStream으로 자바 객체를 XML로 직렬화하기 (2)
  24. 2008/04/20 [리뷰] 성능/로드 테스트 자동화 (2)
  25. 2008/04/18 [리뷰] Ajax와 jQuery로 기존 사이트 개선하기
  26. 2008/04/02 [리뷰] Grails 마스터하기: GORM: 재미있는 이름, 진지한 기술
  27. 2008/03/31 [리뷰] 자바 SE 6의 성능 모니터링 및 진단 (한글)
  28. 2008/03/25 [리뷰] J2EE 커넥터 아키텍처 소개
  29. 2008/03/09 [리뷰] HTML 폼에 Ajax 사용하기 (1)
  30. 2008/02/29 [리뷰] 사람을 위한 자동화: 자동화를 통한 신속한 전개 (한글)

technical briefings


Pecha Kucha 최종 선정 결과

* 괜찮은 오픈 API 제공하기 + VLAAH API 소개 - 홍민희
* 봄싹 싸이트(http://springsprout.org) 개발 협업 방법 및 사용 기술 - 백기선
* 코드 품질 포탈 SONAR 적용기 - 고경철
* 흑백무성영화한편! (HTTP) - 이동욱
* 자바스크립트 삽질(실수?) 베스트 10 - 장동수
* (Startup기업 CEO의 관점에서 본) 기술의 경제학 - 정지웅
* Realtime Web 간보기 - 김석준
* Spring Framework with JavaFX - 이승철
* 추상 계층의 딜레마 - 황대산
* timelog 업무 적용 실험기 - 송승렬

=> 참가 정보 보기




Posted by 영회
Pecha Kucha 형식이 상당히 흥미로워서 도전해보려던 때가 있었다. 기회비용에 의해(생업 탓에) 실행에 옮기지는 못했다. 개발자들의 수다에 참석했을 때 경험이 Pecha Kucha 에 관심을 갖게 된 계기다. 못갔던 행사 후기에 실린 사진만 봐도 대강의 분위기를 알 수 있지 않을까?






저 자리에 서고 싶은 분은 다시 기회가 왔다. IBM DW에서 자리를 마련했다.

'dW Live! 세미나 ‘웹 개발 다반사’

발표하고 싶은 주제와 간략한 내용을 연락처와 함께 메일(dwkorea@kr.ibm.com)로 보내면 Pecha Kucha 무대에서 자신의 이야기를 할 수 있다. 발표 신청 마감이 11월 27일 금요일 저녁 6시라고 하니 서둘러야 한다. :)
Posted by 영회


미국에 체류해 있는 동안 마지막 회를 녹화한 것 같다. 그리고 보니 4회는 안내조차 안했군. 토비형이 서운해하겠는걸, 마지막회를 보기 전에 5회를 보자.

<Screencast> OSGi를 이용한 Java Enterprise Application 개발, Part 5 - 이일민
Posted by 영회
이클립스 V3.4 완전 정복, Part 1: 이클립스 IDE 워크벤치

개인의 생산성 향상을 위해 IDE를 잘 쓰는 것은 매우 중요한 일이다. 그런 면에서 아직도 이클립스에 익숙하지 않은 분이라면 좋을 기사일 수 있다. 나 역시 이클립스 2.x 까지는 대충 직관적으로 사용했다. 그런데 리팩토링 기능이 대폭 강화된 3.x 버전에서는 매번 새 버전이 나올 때마다 시간을 내서 새로운 기능들을 배우곤 한다.

글에선 단지 v3.4 에 추가된 것 뿐 아니라 종합적으로 가이드하고 있다. 기본 기능을 학습한 이후에는 단연 단축키에 눈이 간다. 3.3 이후에 추가된 단축키 중에 최고는 Ctrl+3이다. 기사에서 소개한 단축키 바꾸기를 잘 활용하면 이클립스에서 기본적으로는 지원하는 나만의 단축키를 얼마든지 정의할 수 있다.

키보드 단축키 바꾸기
Posted by 영회
Open dW 보니 마치 번역서 일색인 서고에서 국내서를 보는 듯한 반가움이 있었다. 특히 트랜젝션 모니터링을 다룬 글이나 클러스터링을 다룬 글은 매우 실무적인 고급 주제라 조금 놀라웠다. 그 중에서도 박용우님의 트랙젝션 모니터링/관리 시리즈는 가장 눈길을 끈다.

비즈니스 중심적인 트랜잭션 모니터링 및 관리, Part 1: 엔드투엔드 트랜잭션 트래킹 기술 소개 - 박용우  
비즈니스 중심적인 트랜잭션 모니터링 및 관리, Part 2: E2E 에이전트 구현 - 박용우
비즈니스 중심적인 트랜잭션 모니터링 및 관리, Part 3: E2E 서버 구현 - 박용우
비즈니스 중심적인 트랜잭션 모니터링 및 관리, Part 4: E2E 클라이언트를 이용한 비즈니스 중심 관점으로 전환 - 박용우 

금융권 시스템에서는 필수적인 기능이라 우리팀에서도 유사하 기능을 구현했다. 슬쩍 살펴보니 공수 차이가 있는 만큼 기능면에서야 차이가 있지만, 기본적으로 하는 역할을 유사하다. 그럼에도 불구하고 사용하는 용어, 기반 UI 플랫폼, 세부적인 메커니즘에서 차이가 있었다. 시간을 내서 우리 팀 개발자와 함께 살펴볼만한 가치가 있는 좋은 글이다. 앞으로도 Open dW 에 이러한 실무적인 글이 자주 올라오길 기대해본다. 아니 무작정 기다리기 보단 우리 팀원들에게도 실무적인 글을 쓰게 하고 기고를 하게 해야겠다. :)
Posted by 영회

디벨로퍼웍스 늦가을 행사: “개발자들의 수다”

  • 일 시: 11월 8일 토요일 오후 2:00~6:00
  • 장 소: 도곡동 군인공제회관 23층 온디맨드홀 (약도 참고)
  • 참가 신청
    참가 신청은 전자우편(dWkorea@kr.ibm.com)으로 해주시고, 신청시 이름, 소속, 연락처 등을 적어서 보내주시기 바랍니다.
    장소 관계상 참가 신청은 선착순 200명으로 한정하니, 빠른 신청을 부탁드립니다.
  • 그 동안 developerWorks에 기고하였던 김도형, 김석준, 김승권, 김영후, 김창준, 박재호, 송치형, 이영석, 박찬욱, 서광열, 이준하, 지형준, 권용호, 안영회 씨 등 다양한 분야의 전문가들이 참석할 예정입니다.
  • 수다 예고편
    "개발자들의 스타트업과 창업", "나는 어떤 일을 잘 할 수 있는가?", "오픈소스에 대한 나의 생각", "개발자들의 제태크", "개발자와의 연애, 불가능한가?", "여성개발자의 커리어패스", "개발자와 QA, 친해지길 바래" 등 이외에도 참가자들이 즉석에서 주제를 제안할 수 있습니다.
  • 관련기사: 한국IBM, "개발자들끼리 수다 떱시다"

Posted by 영회
자바스크립트 개발 툴킷(JSDT) 살펴보기

문두에서처럼 정말 '자바스크립트 개발은 쉽지 않다.' 더구나, 정적인 타입을 제공하는 언어가 아니기에, 자바나 C# 등에서 쓰는 IDE 같은 편리한 기능은 생각지도 못한다. 지인들의 평가로는 그나마 앱타나 정도가 호평을 받았지만, 웹 전용이면 몰라도 JDT와 같이 쓰기엔 무겁고 불안했다. 

위 글을 따르면, 'JSDT는 JDT(Java Development Toolkit)에서 착안한 핵심 설계와 같은 많은 기능을 제공한다. JSDT는 WTP(Web Tools Platform) V3.0 배포판에 있는 자바스크립트 편집기를 대체할 예정이다.'라고 하는데.. 원문은 5월에 공개했기에 미래형으로 쓰인 것이다. 현재 이클립스 가니메데 JEE 에디션의 경우는 JSDT 1.0.2 버전이 설치된 것을 확인할 수 있었다.

기본적인 편집 기능이 과거에 비해 상당히 개선되었다. 이클립스는 오픈소스로 존재하던 소소한 플러그인들은 빠르게 흡수하는 것 같다. 조만간 자바 스크립트 개발환경에 대해서 고민해야 하는 일이 생겼는데, 여력이 생기면 JSDT에 대해 좀 더 살펴보고 그 내용을 공유할 수 있음 좋겠다.

영문이긴 하지만, 참고 자료 링크의 이클립스 JSDT 위키이클립스 ATF 프로젝트도 둘러봄직하다.
Posted by 영회
자바 이론과 실습: 제네릭스 해부, Part 2

아마존 별 다섯개에 빛나는 Java Concurrency in Practice의 저자 Brian Goetz다운 글이다.

  • 자바의 기본에 충실하면서
  • 쉽지 않은
내용을 다루면서 동시에 그다지 길지 않은 글 속에 할 말은 다 담았다. 'List<Integer>는 List<Number>가 아니다' 를 반복하며 글은 시작한다. 다형성 탓에 쉽게 혼란을 겪을 수 있는 부분을 지적하는 전개는 매우 효과적이다. 전형적인 예제를 통해 빠르게 설명을 한 후, 이내 '제네릭 타입 매개변수를 명시하는 대신, 타입 매개변수의 상한 경계(upper-bound) 또는 하한 경계(lower-bound)를 명시'한다는 지네릭스의 비밀(?)을 슬쩍 공개한다. 한편, 자바 표준을 정하는 전문가들의 실수까지 까발려 독자를 독려한다.

java.util.concurrent 패키지의 AbstractExecutorService에서 invokeAll()의 인자는 원래 Collection<Callable<T>>였다. 이 때문에 invokeAll() 사용이 매우 번거로웠다. 정확히 Callable<T>를 매개변수로 지정하는 컬렉션을 써서 작업 집합을 구성해야 했기 때문이다. 자바 6에서는 시그너처가 Collection<? extends Callable<T>>로 변경되었다. 도대체 얼마나 이런 실수를 저지르기 쉬운가 보라. invokeAll() 메서드를 더 정확히 수정한다면, Collection<? extends Callable<? extends T>> 인자를 수용하도록 해야 한다. 후자의 코드가 흉하게 보일지는 몰라도, 사용자 코드에서 고정된 타입으로 굳이 감싸지 않아도 되는 장점이 있다.

Brian GoetzJava Concurrency in Practice은 번역서로도 존재한다.

자바 병렬 프로그래밍 - 10점
더그 리 외 지음, 강철구 옮김/에이콘출판
Posted by 영회


일민형이 예의 차분한 목소리로 스크린 캐스트를 올렸다. 지극히 개인적으로는 '안영회님'으로 소개하는 부분이 듣기에 어색하기도 하고, 작년 12월 KSUG 세미나에서 들은 후, 만 10개월만에 일민형이 세미나 혹은 강의를 하는 모습을 듣는 것이 맨날 채팅으로 얘기하는 사람임에도 새삼스럽게 반가웠다.

캐스팅은 직접 들어보길 바란다. 평소 그가 고민하고 노력한 내용을 응축해서, OSGi를 처음보는 사람까지 고려해서 발표했다. 36.5분이란 제한 시간을 꽉꽉 눌러서 잘 활용했다. 일민형이 올린 포스팅을 보면, 간단한 부가 설명이 뒤따른다:

IBM DeveloperWorks - SpringDM for OSGi 스크린캐스트 첫번째 공개


Posted by 영회
영속성 패턴, Part 2: 코드 재사용을 늘리고 성능을 높이자

1부인, 영속성 패턴, Part 1: 현대적인 ORM 도구의 전략과 모범 사례 발간을 놓쳤네. 두 아티클은 원문으로 읽은 바 있다. 국내에 하이버네이트 저변 인구가 그리 높지 않다는 점이 아쉽지만, 둘은 일반적으로 수용할만한 모범 사례 혹은 베스트 프랙티스가 아닌가 싶다. Java Persistence with Hibernate 를 번역중이기도 한 박찬욱군이 번역을 했으니, 언어표현이 자연스러움에서는 부족한 면이 있을지 몰라도 기술적인 오역은 없을 것으로 짐작한다.

다른 내용들도 유익하지만, 특히 Generic DAO를 설명한 구절은 써먹으면 바로 효과를 낼 수 있는 부분이다. Generic DAO에 대한 배경지식이 필요한 분들은 찬욱군이 예전에 Hibernate 위키를 번역해둔 글이 도움을 줄 것이다.
Posted by 영회
자바 이론과 실습: 제네릭스 해부, Part 1

1부만 보면 '난이도 : 고급'이라는 분류가 어색하다. 그러나, 2부까지 나온 원문을 보면 수긍이 간다. 국내에선 제네릭스가 아직은 주류(?)가 아닌 듯한 인상을 받는데, 제네릭스에 대해 깊이 고민해보지 않은 분들에게 추천할만하다. Java Concurrency In Practice 의 저자 Brian Goetz의 글이라 신뢰가 간다.  그의 사진. 한다하는 개발자들은 죄다 대머리인 것 같다.

Brian Goetz photo

관련해서 일민형이 2년전에 쓴 글 Java Generic과 Erasure도 읽어봄직하다. 영문이지만, Brian Goetz는 그간 제네릭스에 대해 DW에 많은 글을 남겼다.

Java theory and practice: Generics gotchas

Introduction to generic types in JDK 5.0

Posted by 영회


이전 캐스트에 이어서 진행한 내용입니다. 토비형은 술 한잔 하고 진행한 것으로 오해하는데, 녹음하면 목소리가 저렇게 나온다. ㅡㅡ;

강사 경험도 많은데 듣는 분들을 그다지 배려하지 않고 살아온 듯 하다. 좀 더 하이톤으로 강의하는 훈련이 필요할 것 같다. IBM에 연재하는 시리즈는 전체적으로 OSGi가 어떤 것인지 전하는 내용이다. OSGi 자체에 대해서 깊이 연구하고자 하는 분은 물론 독학이 필요하겠지만, 향후 정제를 덜 한 버전으로 좀 더 많은 내용을 봄날 블로그를 통해 연재할 계획이다.
Posted by 영회


난이도 : 고급 이라고 명기하고 있지만, 누구나 접할 수 있는 기사로는 상당히 고급 정보네요. 역최적화(deoptimization)니 죽은 코드 삭제(dead-code elimination, DCE)하는 흔히 접하기 힘든 주제를 다루고 있습니다. 비슷한 맥락으로 VM에 대한 기반 지식이라 할 수 있는 쓰레기 수집(garbage collection, GC)과 객체 마무리(object finalization, OF)에 대해서도 짧게나마 언급하고 있다.

우연스레 제가 ThoughtWorks Anthology 라는 책에서 실용적인 성능 테스트 번역을 맡았는데 DW의 기사와 논조가 상당히 유사해 마음에 듭니다.
Posted by 영회
eBay의 이클립스, Part 2eBay의 이클립스, Part 1: eBay 아키텍처에 맞춘 이클립스를 보신 분들은 멋지다 생각하셨을 것입니다. 더러는 이미 그렇게 하고 계신 분도 있겠죠? 여튼... 현장에서 꼭 필요한 도구를 스스로 만들 수 있다는 것은 상당히 매력적으로 보입니다. 전문성도 갖게 될테니까요. 하지만, 시작은 쉽지 않습니다. 이클립스 플러그인 개발을 위해 배워야 할 사항은 꽤 많으니까요.

사실 강추할만한 기사는 아니지만, 플러그인 개발 기초 학습 시리즈는 노력한만큼의 결실을 제공할꺼라 믿습니다. 물론, 많은 부분의 퍼즐을 맞춰줄 내용을 주지는 않죠. 그래서 언젠가 관련 정보를 공유하고 싶은 마음이 있습니다. 언제가 될지 기약을 할 수는 없지만,

1) 열화와 같은 요청이 있거나
2) 누군가 제가 그것을 하도록 쪼는 이가 있거나
3) 생업 유지 내지는 적당한 보수를 받는 경우

위와 같은 조건을 충족하게 되면 제가 좀 더 분발할 수는 있겠죠. 좀 정치적인 글인가?  :)


Posted by 영회



이일민씨의 기획으로 시작한 OSGi 시리즈를 드디어 공개했습니다.

OSGi를 이용한 Java Enterprise Application 개발, Part 1: OSGi 소개

오타도 있고 준비 기간에 여유가 있었음에도 나름 함께 할만은 했던 것 같습니다. 일민씨가 업계 후배인 저를 훈련시키려는 의도도 암암리에 있었고, 신기술을 국내에(외국인 입장에서) 보급하려는 생각도 있었던 듯 합니다. 그 진의를 알기에 당장의 필요에 의해서는 아니지만, 단기적으로나마 집중해서 만들 수 있었던 듯 합니다. 흥미로운 에피소드를 말씀드리면, 나름대로 짧은 한편이라도 분명한 메시지를 갖고자 고민하는 와중에 제출 기일이 닥쳐왔죠. 그런데 갑자기 급성 편도염이 와서 약속을 못지켰습니다. 다행이 빨리 나아서 아슬아슬하게 계획을 맞췄습니다.

코 앞에 닥쳐서야 마무리를 한터라 일민씨힌테 한 소리 듣겠다 싶었는데... 도리어 재밌다고 해서 놀랐습니다. 봄날포럼을 가보면 알겠지만, 잘못된 것은 티끌하나 그냥 못보는 아저씬데.... 아무튼 많은 분들이 서로 공유하고, 함께 할 수 있는 날을 봄날포럼에서 같이 하길 빕니다. 이미 포럼에 스크린 캐스팅을 위한 카테고리가 있거든요. :)
Posted by 영회
이클립스 유로파로 시간을 절약하는 열 가지 기법

30 페이지 넘는 영문 튜토리얼을 스크린캐스트로 만들었네요.
  • 자바를 처음 배우거나
  • 이클립스를 처음 사용하는 분들 혹은
  • 이클립스를 쓰기는 하지만 다양한 기능은 잘 모르는 분들에게
꽤 괜찮은 가이드군요. 전체 3편으로 약 한시간이 조금 안되는 분량인데, 단순하 단축키부터 해서 템플릿 설정이나 리팩토링까지 자바 개발자 입장에서 필요한 대부분의 기능을 설명하고 있네요. 지난 6월에 3.4 버전에 해당하는 가니메데(Ganymede)가 출시했는데 어떤 구성을 담고 있는지 소개하는 글도 있군요:

한 눈에 보는 이클립스 가니메데

가니메데가 유로파에 비해 안정화 되었다는 분도 있는데, 우리 팀에는 가니메데 설치후 고생하는 분도 있더군요. 제 경우도 Software Update 사이트 목록의 경우는 좀 불안하더군요. 목록에서 선택한 사이트가 두 개씩 복제되어 나오기도 하구요. 그러나, 크게 불편한 정도는 아닙니다.

Posted by 영회
오호.. DW 에서 스크린캐스팅을 이용한 행사를 하네요. 후후... DW 에 스크린캐스팅 하자고 제안했던 사람이 저인지라... 선물을 보니 저도 참여하고 싶네요. 물론, 오숙이(OSGi) 동영상 만들 것도 태산이라.. 맥북은 포기해야 하지만

경품

Screencast event : Play, developerWorks!
여름 휴가 기간 또는 여름 방학 기간을 이용해, developerWorks에서 누구나 참여할 수 있는, 하지만 약간의 공부와 노력이 필요한 이벤트를 진행합니다. developerWorks의 아티클과 튜토리얼을 이용해 스크린캐스트를 제작해서 보내주시면, 심사를 거쳐 애플 맥북 등의 푸짐한 선물을 드립니다.   자세히 >


Posted by 영회
[리뷰] eBay의 이클립스, Part 1: eBay 아키텍처에 맞춘 이클립스를 보며, 나도 저렇게 해봤으면 하고 꿈꿔본 사람이라면 다음 연재를 보라.


현재 두 편의 시리즈가 번역되어 있다.

플러그인 개발 기초 학습, Part 2: 리치 클라이언트 애플리케이션 도입하기
이클립스에서 플러그인 개발은 예술과도 같은 것입니다. 플러그인 개념, 특히 OSGi와 이클립스에 대해 낯설다면, 이클립스를 사용하여 플러그인을 만들 수 있도록 제공하는 수 많은 도구를 익히는 것이 다소 어렵게 느껴질 수도 있습니다. 본 기사의 목적은 좋은 평가를 받고 있는 베스트 프랙티스와 함께 기본적인 플러그인 개발 기술을 익힐 수 있도록 하는 것입니다.

플러그인 개발 기초 학습, Part 1: 기본 요소
이클립스에서 플러그인 개발은 예술과도 같은 것입니다. 플러그인 개념, 특히 OSGi와 이클립스에 대해 낯설다면, 이클립스를 사용하여 플러그인을 만들 수 있도록 제공하는 수 많은 도구를 익히는 것이 다소 어렵게 느껴질 수도 있습니다. 본 기사의 목적은 좋은 평가를 받고 있는 베스트 프랙티스와 함께 기본적인 플러그인 개발 기술을 익힐 수 있도록 하는 것입니다.

튜토리얼처럼 따라 하면서 플러그인 개발을 해보기에는 빠진 설명이 있긴 하지만, 대략의 흐름을 보기에는 잘 요약되어 있다. 전에 리뷰했던 글과 함께 짧은 시간에 이클립스 플러그인 개발을 맛보게 해주는 좋은 기사다.

이클립스 플러그인이 OSGi에서 어떻게 동작하는지 이해하기
Posted by 영회
전에 번역을 희망했던 기사인데, 기선이에 의해서 두 달만에 번역 기사나 나왔다.


JMeter는 Grinder 등에 비해 사용이 매우 간편하다. Swing으로 만든 듯한 GUI가 불편하긴 하지만, 에이전트 설치나 스크립트 작성 등이 필요한 여타 로드 테스트 도구에 비할 바는 아니다.

위 글에선 JMeter 설명이 없어 JMeter를 처음 접하는 분이라면 어려움을 겪을 수도 있다. 한글로 된 가이드가 어디 있는지 몰라도, 만일 없다면 내가 예전에 써둔 글이 도움이 될 가능성이 있다. 사실 4년이나 된거랑 아직 유효할지는 의문이다.

JMeter를 쓰더라도 피할 수 없는 문제는 테스트 시나리오를 작성하는 일이다. 이것은 실제 애플리케이션 사용패턴에서 나오는 것이기 때문에 쉽게 정의할 수 없다. 관련 노하우를 정리하기도 어렵고... 아직은 각자의 몫이 될 듯... :)
Posted by 영회
eBay의 이클립스, Part 1: eBay 아키텍처에 맞춘 이클립스

사용자(User)로써의 개발자를 위한 사용자 경험(UX)에서 참조한 그림을 다시 보자.

개발자가 쉽고 명확한 인터페이스를 사용할수록 생산성이 높아지는 것은 자명하다. 웹 개발을 하는 대부분의 자바 개발자는 무엇을 익혀야 하는가?

'자바, SQL, XML, JSP, HTML, 자바 스크립트, CSS'

이 것 뿐인가? 이클립스 사용법은 어떤가? 그리고, 이클립스는 버전도 여러 가지이지만, 플러그인 사용에 따라 꽤많은 사용법이 있다.

Spring은 어떤가? Hibernate? iBatis?

혹시 Ajax를 쓴다고 하면 다양한 자바 스크립트 라이브러리 등을 추가로 학습해야 한다.

개인차원에서야 기술 습득이라고 할 수 있지만, 충분히 훈련된 개발자를 다수 보유한 기업의 경우를 다르다. 복잡한 개발자 인터페이스[각주:1] 유지는 생산성 저하로 이어진다. 또한, 특정 기업 내부의 이야기라면 개발자 인터페이스에 개발 표준 등이 더해진다. 또한, 반복적인 코드가 공통 모듈로 만들어지면 생산성은 증가한다. 이런 보편적인 사실을 실행에 옮기는 방법은 매우 다양하다. 기사에서 소개한 eBay의 방법은 매우 실용적이고, 기술적으로도 앞선 방안을 보여준다.
  1. 프로그래밍 언어 API, 라이브러리, 프레임워크, 개발도구 등을 통칭 [본문으로]
Posted by 영회
TAG ebay
사람을 위한 자동화: Eclipse 플러그인으로 코드 품질 높이기 (한글)

DW 최근 시리즈 중에서 최고 중에 하나인 사람을 위한 자동화 시리즈 번역 기사다. 산골소년님의 글을 보고 릴레이로 쓴 것이라 이제야 올리지만, 원문은 작년에 나오고 번역도 빨리한 기사다. 기사의 저자는 졸트상 수상작인 지속적인 통합의 저자이기도 하다. 길지 않은 기사지만 내용은 매우 알차다. 코드 분석은 다섯 가지 주요 영역에 대해서 각각 한 가지 대표적인 이클립스 플러그인을 소개하고 있다.
  • Coding standards
  • Code duplication
  • Code coverage
  • Dependency analysis
  • Complexity monitoring
CheckStyle은 아직 써보지 않았는데 조만간 확인해봐야겠다. Metrics와 JDepend는 자주 쓰이기 보다는 코드량이 늘어났을 때 개괄적으로 클래스 사이의 관계를 보기에 좋다. 직접 구현을 하지 않는 PL, 아키텍트, QA에게는 JDT의 다른 어떤 기능보다 유용한 기능이 될 수도 있다. 아쉽게도 엔터프라이즈 환경에선 위에 거명한 사람들이 이클립스 자체를 안 쓰는 경우가 많다. coverclipse는 eclemma와 비교하는 차원에서 함 써봐야겠다.

기사가 많은 내용을 닮고 있으면서도 스크린샷도 그렇고, 꼭 필요한 것만 잘 추려서 매우 알차다. 코드 품질, 인스펙션, 코드 리뷰 등에 관심 있는 사람이라면 일독을 권장한다. 더불어 관련글 링크를 남긴다:

JDepend에서 지원하는 설계 품질 측정치(design quality metrics)
PMD 관련 긴~ 메모
Test Driven Development 전도 일지 2



지속적인 통합 - 10점
폴 M. 듀발 외 지음, 최재훈 옮김/위키북스
Posted by 영회
이클립스 플러그인이 OSGi에서 어떻게 동작하는지 이해하기

'이클립스와 OSGi 하나부터 열까지'라는 부제와는 다르게 사실 내용은 매우 개괄적이다. 지난 달에 번역한 것이지만, 원문은 약 2년 전의 글이다. 내용은 비슷한 시기에 올라온 글인 OSGi로 Eclipse 플러그인 문제 해결하기와 함께 이클립스 PDE와 OSGi 관계 혹은 OSGi가 PDE에 제공하는 이점을 다루고 있다.
Posted by 영회
TAG OSGi
XStream으로 자바 객체를 XML로 직렬화하기

난이도를 중급으로 분류하고 있지만 아티클 자체는 매우 쉽다. 아티클의 반 정도는 새로운 프로젝트를 만들고, 빌드 패스에 라이브러리를 등록하는 초보적인 내용을 설명하고 있다. 그럼에도 불구하고 중급한 이유는 XML과 객체를 바인딩하는 개념을 설명하지 않고 있어서일까? 다소 번거롭게 느껴졌던 Castor가 널리 쓰일 즈음 Jibx를 홍보하던 글이 기억난다. 마침 찾아보니 번역 아티클도 있다. 지금을 진부한 글이 되었다. XStream은 그야말로 XML과 객체 사이의 양방향 변환을 Xstream하게 쉬운 일로 만들어버렸다. 샘플의 코드를 예로 들어 보면

  Employee e = new Employee();
  e.setName("Jack");
  e.setDesignation("Manager");
  e.setDepartment("Finance");

위와 같이 어떤 객체가 있다고 했을 때 XML 파일 쓰기는 한 줄로도 가능하다.

new XStream().toXML(e, new FileOutputStream("employee.xml"));

반대로 XML을 읽어서 객체를 만들 때는?

new XStream()..fromXML(new FileInputStream("employee.xml"), e);

대칭(Symmetry) 관계만 이해하고, 자바 기초가 있는 사람이라면... 사실 설명할 내용이 전혀 없다. 단지, XML 파일과 자바 객체 사이에서 변환 코드를 작성해야 하는 사람에게 XStream이 있다는 사실만 알려주면 될 듯.
Posted by 영회
KSUG 7번째 모임 주제로 다뤄질 실용주의? CI 환경? 뭐라고 부르던 이를 다루는 훌륭한 시리즈가 IBM DW에 있다. 이름하여 Automation for the people ,인데, 한국IBM DW에서도 본 기억이 나는데 찾을 수가 없다. IBM DW 리뷰어로써 부담스럽지만 악역을 자임하고서라도 한국IBM DW에서 개선할 사항은 이야기 하고 싶다. 한국IBM DW의 페이지 구조는 너무 어렵다.


한국IBM DW에 올라오지 않아서, 번역신청을 할 수 없지만, Automation for the people: Hands-off load testing을 번역해주시면 좋겠다. 이글에 대해서 InfoQ에 요약한 글, Hands-off Load Testing with JMeter and Ant 도 올라와있다. 우리 팀에도 자동 빌드, 자동 테스트, 인스펙션, API 생성까지는 적용했는데, 로드 테스트도 시험해봐야겠다.

SUN에 올라온 Japex 및 WSTest를 사용하는 성능 회귀 테스트도 관련된 글인데 참조할 만하다. (4/22 추가)

Posted by 영회

Ajax와 jQuery로 기존 사이트 개선하기 (한글)

클라이언트에서 구동하는 코드에 대한 아티클은 따라 해보기가 쉽고, 바로 결과를 볼 수 있다는 점에서 흥미를 끈다. 예제는 Customize Me Now 2.0 라는 일종의 매쉬업으로 만든 개인 포트폴리오 사이트이다. 서버쪽 로직이야 글의 주제가 아니고, 여기에서는 얼마나 효과적으로 사이트 화면과 네비게이션을 구성하느냐를 설명한다. js 좀 쓴다는 사람들에게는 필수 유틸인  jQuery와 기타 비슷한 라이브러리를 사용하여 정적이고 다단계에 걸쳐 조회해야 하는 번거로움을 개선한 것이다. 웹 페이지 개발자 입장에서 UX(User eXperience) 개선에 대한 아이디어를 제공해주는 글로 볼 수도 있다. 물론, 사용자 편의성에 대해 그다지 고민해보지 않은 화면 개발자인 경우에 적용할 수 있는 말이지만...
Posted by 영회
TAG jQuery
Grails 마스터하기: GORM: 재미있는 이름, 진지한 기술

이제는 호주에 가버린 일민형이 Grails를 공부한 직후 온라인으로 침이 튀도록(?) Grails 칭찬을 하던 일이 떠오른다. 음식사랑만큼이나 기술을 사랑하는 사람이다. 여하튼 그때 갖고 있던 Grails에 대한 인상에 비해 보급은 더딘 것 같다. 아티클의 코드를 보면 또 다시 Domain Specific Language이 떠오른다. 프로그램 코드가 기술보다는 의미를 표현하는 방향으로 흘러가는 흐름을 표현하는 현상으로 볼 수 있다. 굳이 DSL을 들먹이지 않아도, POJO, POCO, PORO나 아티클에서 언급하는 POGO(plain old Groovy objects)[각주:1]가 모두 그런 흐름이 낳은 결과다. 글을 읽다보니 말미에는 결국 'GORM DSL'까지 등장한다. Grails를 처음 접하는 사람도 전체적인 프로그래밍 스타일을 이해할 수 있게 짜임새있게 작성한 글이다.
  1. '포고'라 왠지 맞고가 생각난다. [본문으로]
Posted by 영회
TAG Grails
자바 SE 6의 성능 모니터링 및 진단 이 새로 올라왔다. 우리 프로젝트에서 모니터링 기능을 필요로 하기 때문에 관심이 갔는데 아쉽게도 JDK가 6버전이다. 우리의 타겟 JDK는 JDK 1.4.2이기 때문이다. 아래 발췌한 그림만 봐도 아티클에서 다루려고 하는 것은 대략 무엇인지 알 수 있다.

JConsole의 VM Summary 탭  

만일 여러분들이 우리와 마찬가지로 JDK의 표준API로 JMX의 기능을 활용할 수 없는 경우라면 MX4J와 같은 오픈소스 라이브러리를 고려할 수 있다.

MX4J - Open Source Java Management Extensions
Posted by 영회
J2EE 커넥터 아키텍처 소개

최근 프로젝트에서 JCA 관련 부분이 있어 훑어본 아티클. '2008 년 3 월 18 일'에 올라온 것이니 지금으로부터 7일전의 것이다. JCA가 이토록 따끈따끈한 글로 DW에 올라왔다는 것이 어색해서 원문을 찾아보았다. 원문은 2002년 11월에 나온 것이다. 5년 하고도 4개월의 세월로 인해 글에는 진부해진 내용이 충분히 있을 법하다.

대략적으로 JCA에 대한 큰 그림을 보기에 쓸모가 있는 글이다. Spring과 JCA는 어떨까 하고 구글링을해보니 마음에 드는 그림(아래)과 자바월드의 아티클 Access CICS applications with Spring이 나온다.




좀 더 진도가 나가면 다음과 같은 그림이 쓸만할 지도 모른다. CTG가 뭔고 했더니 CICS Transaction Gateway를 설명도 없이 줄여놓았구만...
Posted by 영회
TAG CICS, JCA
HTML 폼에 Ajax 사용하기

'난이도 : 중급'으로 분류하고 있지만, Ajax 기초를 설명하고 있다. 웹 개발에는 익숙한 사람이 Ajax에 대해 잘 모른다면 추천할 만한 글이다. 간결한 코드로 설명하고 있어 직관적으로 배울 수 있다. PHP 사용자라면 서버측 코드도 똑같이 실습해볼 수 있다. 자바/JSP 사용자라고 해도 어렵지 않게 서버측 코드를 짤 수 있을 듯.
Posted by 영회
TAG Ajax
사람을 위한 자동화: 자동화를 통한 신속한 전개 (한글)

사람을 위한 자동화 시리즈 연재물을 번역한 글이다. 헛... 굉장히 좋아하는 시리즈인데, '무통(painless) 전개'라는 표현이 바로 눈에 띈다. 전개는 deployment를 번역한 것 같은데, 국내에서는 보통 배포배치로 쓰지 않나? painless의 경우도 '수월한' 정도로 완곡하게 표현하면 어땠을까 싶다.

이번 호 내용을 보니 옆 자리에서 프로젝트에서 코드 릴리즈 주기와 코드 관리 정책을 고민하고 있는 동료에게 오늘 바로 필요한 내용이었다. 퇴근하기 전에 출력해서 그 친구 책상에 올려둬야겠다.

개발환경을 책임지는 이 친구는 지속적 통합으로 조기에 결함 발견하기을 보고 Hudson을 후보 CI 서버로 올려놓고 시운용 중이다. 설치가 아주 간편하고, UI가 친근해서 좋다. 그런데, 반갑게도 프로젝트 고객사에서 Atlassian의 CI 제품인 bamboo를 구매를 해주려고 한다. 일민 형이 OSAF 개발을 위해 bamboo 설치했다고 자랑한 그 날, 고객사 담당자의 구매 의사를 들었다.

일민형과 채팅 중에 CI만 깔면 뭐하냐고 한다. automated test가 없으면 사실 CI 효용성이 바닥으로 떨어진다. 프레임워크 개발 때야 테스트도 꼼꼼히 하고, automated test를 하겠지만... 나중에 자동화된 테스트에 익숙하지 않은(왜 해야 하는지 납득하기도 힘든) 개발자들이 테스트 할 수 있게 가이드라도 잘 쓰라고 하면서.. 집에 가는 Toby형은 18일 후면 서울이 아니라 호주에 있는 집에 간다.
Posted by 영회