얼마전 이대엽님이 도메인 주도 설계 (Domain Driven Design) 라는 명서를 번역해 주셨습니다. 저 역시 구매를 했었고, DDD가 가져오는 철학이나 사상은 정말 훌룡합니다.

왜 이런 명서가 이제 번역될수 밖에 없는지 현실을 알고 있지만, 정말 슬픕니다.

POSA나 DDD와 같은 명서들은 번역을 한다는 것의 거의 희생에 가깝습니다.

사실 역자 입장 에서는 적절한 어휘 선정과, 국내 개발자의 시선에 맞게 레벨을 조정하기 위해 각주를 다는등 여러가지 노력이 필요합니다. 

또한 책이 많이 팔릴지도 의문이고, 이미 읽을만한 분은 다 읽었다고 생각이 들고, 나의 안티를 양성하지 않을까 고민이 됩니다.

실례로, 몇몇 출판사를 통해 “명서를 왜 이렇게 번역했느냐?”라며 여러가지 공격을 당한 사례들을 종종 들었기에 쉽게 움직이지 못하는 것도 사실입니다.

이러한 상황에서도 DDD가 이 세상에 나오게 해주신 이 대엽님과 여러  고생해 주신 분들에게 감사를 드립니다.

다시 본론으로 돌아와 DDD는 고객과 개발자/아키텍트 간에 대화를 나눌수 있는 좋은 도구입니다. 

 패턴 계의 철학을 생각해 보면, 모든 상황에 만능인 솔루션은 없다. 단지 상황에 맞는 해결책이 있다는 것을 생각해 볼 필요가 있습니다. 그러기에 해당 Context들이 대부분 도메인과 밀접한 연관이 있고, DDD의 초안이 PLoP 에서 첫 데뷔를 했기 때문에 역시 그 본류는 패턴의 철학과 맞 닿아 있는 방법입니다.

그럼 DDD를 프로젝트에 적용하기 이전에, 고려해야 할 것들 이야기 해보고자 합니다.  어떠헌 프로세스, 툴들에게도 동일하게 적용된느 철학입니다.  맹목적인 추종보다 결국 상황에 맞는 솔루션이라는 것을 기억해 주셔야 됩니다.

계속 읽기

아키텍트로서 성장하기 위한 길은 막막하게 느껴지곤 한다. 누구에게 아키텍트로서 가야 하는 길을 물어야 할 것인가? 산전수전 다 겪은 나이가 지긋한 아키텍트로 활동 중인 사람을 만나기란 하늘의 별따기다. 따라서 필자는 업계 최고의 아키텍트들의 조언을 모아 가상의 인터뷰를 진행해 봤다. 이 인터뷰의 내용은 필자가 PLoP라는 패턴학회에서 만난 해외 거장들과의 토론과 조만간 출간될 번역서인 『아키텍트가 알아야 할 97가지』의 내용을 모아 만들었다.


손영수 안녕하십니까? 여러 선배님들. 아직 ‘Architecture’의 ‘A’자도 깨우치지 못했지만, 여러 선배님들에게 아키텍트로 성장하기 위한 방법과 또 아키텍트로서 올바른 아키텍처를 바라보는 방법들을 여쭤 보고자 합니다. 많은 이들이 궁금해 하는 질문일텐데, 여러 선배님들처럼 훌륭한 아키텍트가 되기 위해선 어떠한 것들을 준비해야 할까요? 실제 현업에서 아키텍팅할 때 어떠한 부분을 고려해야 할지 여러분들의 얘기를 듣고 싶습니다.

계속 읽기

Framework 설계시 가장 중요시 여겨야 하는 것이 사용성이다.

사용자들이 쉽게 사용하고, 생산성에 만족하느냐가 Framework의 생존 여부와 연결되어 있기 때문이다. 쉽게 사용할 수 있는 사용 편의성을 일전에 얘기한 적이 있지만,이 못지 않게 중요한 것이  Framework 사용자가  실수를 하기 어렵게  만드는 것이다. 즉  실수하지 않게 성공의 웅덩이를 만들어서 성공할 수 밖에 없게 만들라는 얘기다.

PLoP10으로 인해 Framework 관련 논문을 작성하면서, .NET과 Java Framework를 설계한 대가들의 공통적인 충고를 들을 수 있었다.

계속 읽기

여러분!! 인기 있는 Framework를 만들고 싶으신 가요? 저 역시 그렇습니다.

인기 있는 Framework를 만들기 위해 Framework Design Guidelines에서  나온 내용(.NET Framework 설계자인 Krzystof Cwalina의 조언)들을 일부 여러분과 공유하고자 합니다.

  • 사용성 테스트
  • 점진적인 학습 곡선
  • 캡슐화의 오해

이번 포스트에서 다룰 주제는 이렇습니다. 자 그럼 하나씩 살펴 보도록 하죠 :)

계속 읽기

예전에 Framework’s Day에 발표했던 Framework Engineering 의 동영상 강좌를 지난 토요일날 찍었습니다.

Framework 구축시 여러분이 겪을 시행 착오를 조금이나마 줄일 수 있길 바라며 강좌를 공유합니다.

이 강좌에 대한 내용은 저의 머리에서 나온 것이 아니라, .NET Framework의 설계자인 Krzysztof Cwalina의 강좌와 현재 저희가 번역하고 있는 Framework Design Guideline 2nd 추가해 정리한 것입니다.

이 발표의 전체적인 내용은 아래와 같습니다.

계속 읽기

일전에 Dependency에 대한 고찰이라는 글로, Dependency의 종류와 xDepend 툴들을 소개한 적이 있습니다.

이번 POST는 윗 글의 연장선상으로 Dependency 를 해결하기 위한 올바른 설계 방법 몇가지를 소개하고자 합니다.

물론 재미난(?) 그래프로 여러분의 시스템의 Depedency를 파악하는 것을 보여드리고 싶지만..  모든 일에는 순서가 있는 법.  여러분이 와 닿는 그림과 코드로 간단히 설명드리도록 하겠습니다.

Dependency가 없는 상태로 시스템을 구축한다는 것은 불가능합니다. 재사용의 미덕이 바로 Dependency의 또다른 이름이기도 하죠.

어떻게 하면 Dependency를 잘 관리할수 있을까?  그 해답을 제시해주신  아키텍트를 소개하고자 합니다.

그 분은 바로 Object Mentor의 Robert C. Martin 입니다.  Clean Code의 저자로써 알려져 있지만, 사실 이것보다  이름을 더 크게 알리게 한 주역은 패턴의 5가지 법칙(OCP, DIP, LIP, ISP, SRP)입니다.

그런데 이 5원칙의 빛에 가려 숨겨진 Principle이 하나 있는데요.  이름하여 패키지 구조의 원칙들 (Principles of Package Architecture) 입니다.

이 논문에서 Dependency를 깨거나 완화하는 방법들을 여러분에게 소개하고자 합니다.

계속 읽기

 Framework 관련 강좌를 준비하기 위해 여러가지 자료들을 Survey하고 있습니다.

그중 눈에 뛰는 괜찮은 자료들을 골라 여러분과 공유하고자 합니다.

Framework Design Guidelines

Microsoft PDC 2008에 .NET Framework를 설계한 Krzysztof CwalinaBrad Abrams 가 Framework Design Guidelines 2nd Edition의 출간을 기념하고, .NET Framework의 설계 철학을 공유하기 위해 PDS 2008에서 멋진 세미나를 열었습니다. 러닝 타임도 무료 1시간 44분입니다.

현재 PDC2008 사이트 에서 Framework Design Guidelines 라고 검색하시며 풀 동영상 강좌와 TP를 무료로 다운 받으실수 있습니다. 그리고 Silverlight로 된 대형화면의 강의를  Channel9을 통해 공유하고 있습니다.

아쉽지만 저의 블로그가 sliverlight을 지원하지 않아 아래 이미지에 링크를 걸어 놓았습니다.

wordpress도 어서 Silverlight이 지원되었으면… :(

  계속 읽기

Framework’s Day가 가까워 오고 있습니다.  오늘 (11/7) 세미나 순서와 소개자료를 정리해 데브피아 쪽에 전달할 생각이며,  다음주중에 데브피아를 통해 세미나 접수를 받을 예정입니다.

이때 발표할 세미나 자료의 Beta 버젼을 공개합니다. 아직 수정의 여지는 매우 많지만, 큰 뼈대는 완성되었다고 볼수가 있습니다.  그래서 먼저 블로그 독자 여러분의 피드백을 받습니다.

http://www.slideshare.net/arload/framework-engineering-presentation/ download file을 클릭하시면 PDF 버젼을 다운 받으실수 있습니다.

이 자료는  Krzysztof Cwalina의 Framework Engineering 자료를 요약 정리한 것이며, 거기의 저의 지식과 살을 더 붙인 것입니다. 하지만 아직 추가의 여지가 매우 많습니다.  빡빡한 텍스트들을 좀더 비유를 넣어 수정하고 Schmidt 박사님의 논문의 내용들을 더 추가할 생각입니다.

계속 읽기

Krzystof Cwalina

Framework Design Guideline의 저자인 Krzysztof Cwalina의 TechED 2007 Framework Engineering 온라인 세션을 듣고 토론회를 가졌습니다.

편역을 하기전에 Framework 에 관해 배경지식을 쌓고, Paper Meeting 행사를 위한 가이드라인을 만들고 공유하기 위한 목적도 있었습니다.

Krzysztof Cwalina는 실제 .NET Framework를 설계한 분으로, 그의 경험을 책을 통해서 공유했을 뿐만 아니라, FxCop 이라는 툴을 이용해 VS.NET 내부 개발자들의 코드 품질을 검증하는 시스템을 외부로 공개하고 알린 분이기도 합니다.

Framework Engineering은 TechED2007 Europe 에서 발표한 세션으로 원래 일반인에게는 비공개이나, 고맙게도 자신의 블로그를 통해 공유해 주시고 계십니다.

계속 읽기