프로 스프링 2.5 번역서가 나왔습니다.

작년 11월 부터 번역을 시작해서 지난 달(4월) 말까지 작업을 했으니 거의 반년이 걸린 셈입니다. 짧은 글들을 번역하는 작업은 꾸준히 해왔지만, 책 번역은 처음이고 게다가 공동 번역이라 용어나 번역 투를 일관성있게 맞춰야 하는 어려움은 처음 겪어봤습니다.

프로 스프링 2.5는 그 분량이 말해주듯이 스프링 프레임워크의 상당히 많은 영역을 다루고 있습니다. 거의 대부분을 다루고 있다고 할 수 있겠습니다. 얼마전에 저도 Tiles 연동을 하면서 뒤적거린적이 있을 정도 입니다. 목차를 보고 원하는 부분만 그때 그때 찾아서 참조하실 수도 있고 앞에서부터 쭉~ 읽어나가셔도 무리가 없는 책입니다. 읽다가 지치기 쉽상이기 때문에 저라면 전자를 권해드리겠습니다.

이 책의 단점 중 하나였던 소스 코드는 정말 너무하다 싶었습니다. 국내 개발자들이 많이 사용하는 이클립스가 아니라 상용툴인 인텔리J를 사용하였고, 소스 코드에 필요한 라이브러리조차 없이 그냥 코드만 제공하고 있었습니다. 그걸 봄싹 스터디김성윤군김재진군이 맡아서 이클립스 기반 메이븐 프로젝트로 변환해주었고, 중간 중간 소스 코드와 본문이 맞지 않는 부분을 찾아내어 수정하는 작업을 해줬습니다.

책의 처음부터 끝까지 제가 한 번 점검을 했고, 봄싹 스터디에서 다시 책 전반에 걸쳐 베타리딩을 해 주었고, 마지막으로 이대엽님께서 정말 정말 꼼꼼하고 상세하게 최종 베타리딩을 해주셨습니다. 아마 대엽님의 마지막 베타리딩이 없었다면 부끄러운 책이 될뻔했습니다. 덕분에 많이 부끄럽진 않은 번역서를 낼 수 있었습니다. 이 포스트를 빌어 진심으로 감사 인사 드립니다.

힘들어 질때마다 맛있는 밥한끼로 번역에 매진할 수 있게 도와주신 위키북스에도 감사드립니다. 끝으로, 같이 번역하신 역자분들과 베타리딩에 참여해주신 모든 분들께 다시 한 번 감사 드립니다.

다음 번역서 하이버네이트에 또 다시 매진하겠습니다!! 파이팅!!

프로 스프링 2.5 6장 저자와 번역 합의 메일

봄싹스터디에서 베타리딩 중인 프로 스프링 2.5 6장 AOP 관련 내용 중에 이상한 부분이 있다는 글이 올라온적이 있습니다. 성윤님이 올린 글 @Aspect는 누구의 것?이라는 글인데 저 부분을 번역한 것이 바로 접니다. 번역하면서도 저 부분이 뭔가 맘에 걸렸지만 일단은 번역 자체가 급해서 걍 넘어갔었는데 다행히도 베타리딩에서 잘 걸렸네요.

몇 일 미루다가 오늘 아침 저자에게 메일을 보냈습니다.

사용자 삽입 이미지
대충 @AspectJ 애스팩트가 AspectJ에 의존하는데 왜 의존하지 않는다고 썼느냐.. 라고 보냈습니다. 그랬더니 답장이 왔는데..

사용자 삽입 이미지
음.. 이건 걍 읽어보시면 좋은 내용입니다. 본래는 어쩌구 저쩌구 하면서 좀 장황하게 얘기를 해주네요. 중요한건 ApsectJ 라이브러리를 참조하기는 하지만 애노테이션을 떄문에 참조하는 것이지 스프링 AOP를 사용할 때는 AspectJ의 compile-time weaving 같은 컴포넌트를 사용하진 않는다는 겁니다. 그런 뜻으로 AspectJ에 의존하지 않는다고 한거라는거죠.

하지만 너무 애매하자나요. 그래서 다시 메일을 보냈습니다.

사용자 삽입 이미지
애매하니까 AspectJ 라이브러리에서 애노테이션만 사용하고 다른 것들은 사용하지 않는다는 식으로 번역하겠다고 보냈습니다.

사용자 삽입 이미지
귿~ 잘 해결됐네요. 그렇게 하랍니다. 번역서에서는 좀 더 분명하게 적어드리겠습니다.

DI(Dependency Injection)의 장점

참조: 프로 스프링 2.5 1장

접착 코드(glue code) 감소
– JNDI를 사용할 경우 복잡해질 수 있느 코드를 DI로 대체하면 깔끔해진다.

의존성 외부화
– 설정 옵션 분리, 의존성 변경 용이함

한 곳에서 의존성 관리
– 각각의 클래스 내부에서 자신의 의존성을 관리하는 것 보단 한 곳에서 관리하는 것이 편리함

테스트 편의성 향상
– 테스트용 더비(Dummy) 구현체로 쉽게 교체할 수 있기 때문에 귿.

좋은 애플리케이션 설계 도출
– DI를 활용하다보면 컴포넌트를 인터페이스를 사용하여 연결하게 된다. 이러한 설계야 스프링 전에도 가능했지만 스프링이 알아서 다 해주는걸 무료로 사용할 수 있으니까 비즈니스 로직에만 집중할 수 있을 것이다.

ps1: 프로 스프링 1장 베타리딩 시작합니다.
ps2: 베타리딩은 봄싹에서 전담합니다.