
Rebecca Wirfs-Brock 국내에는 비교적 많이 알려져 있지 않지만, 정말 현실을 직시하는 몇 안되는 Architect입니다. 일전에 소개 드린것 처럼, 절대 어느 한가지 맞다고, 자기의 설계 기법이나, 방법을 따라야 한다는 몇몇 아키텍트와 달리. 여러가지 해결책을 펼쳐놓고, 주어진 상황에서 적합한 전략/솔루션을 선택하는 아키텍트 입니다.
아마도 패턴에 영향을 많이 받아서 그런거겠죠. 패턴 자체가 그러거니깐요.
패턴을 공부하다 보면 무엇이 맞다는 것 보다나는, 주어진 Context/Resulting Context를 심각히 고려하고 그중에 적합한 것을 선택하는 자세가 몸에 베이게 됩니다. 그게 아니면 제대로 패턴을 익힌거라고 할수 없으니깐요. 물론 저는 이제 아주 아주 조금 눈을 떠 가는 중이구요. (전 애벌레입니다. 🙂 – 몇몇 대단하게 보시는 분이 있어서. 오해를 하시지 마시기를…)
저도 많은 정보를 전달해 드리고 싶지만, 영어가 짧고, Nature of Order에 대한 선 지식이 없어서, 잘못된 내용이 있을수도 있습니다. (폭탄 발언?) 여튼 제가 이해하는 것이 잘못되었다고 생각하신 분은 댓글을 달아 주시면 바로 수정하겠습니다. 일단 잘못된 정보를 전달하면 안되기 때문에 글을 쓰지 말라는 분도 있지만, 누군가 정확한 의견을 전달해주면 그걸 수정하는 것이 맞지, 실패나 비난을 두려워해 아무것도 공유하지 않는 것은 정말 비겁한 자세라고 개인적으로 생각합니다. 전 정반합이 힘을 믿습니다.
Christopher Alexandar의 Nature of Order라는 서적은 크게 4가지 Volume으로 구성되어 있지만, Rebecca는 두권만 언급했습니다.
- 1st Volume은 the fifteen property of things (어떤 존재, 사물에 대한 15가지 속성)
- 2nd Volume은 Unfolding process for create“lively” things (살아있는 생명쳬를 만들기 위한 절차들)
오늘 Rebecca가 발표한 내용은 1st Edition에 나오는 15가지 속성을 기반으로 S/W에 빚대어 설명하는게 골자입니다. 1시간에 이런 무거운 내용을 전달하다 보니, 하고 싶은 얘기를 다 못껴내신거 같더라구요. 그리고 저 역시도 영어가 짧아서.. 이해를 다 하지는 못한거 같습니다.
Rebecca 아주머니는, Habitable Software라는 이야기를 꺼내며 화두를 시작했습니다. 사용하기 편하고, 경험하기 쉬운 소프트웨어를 말하는 데요. 이러한 시스템을 구성하기 위해 Alexandar가 말하는 15가지 속성으로 잘 구성되어야 된다고 얘기를 꺼냅니다.
Alexandar가 말하는생명체가 가지는 15개의 속성
- Levels of scale
- Strong centers
- Boundaries
- Alternating repetition
- Positive space
- Local symmetries
- Good shape
- Deep interlock and ambiguious
- Contrast
- Gradients
- Roughness
- Echoes
- The void
- Simplicity and inner calm
- No-separateness

Joshua Kerievsky 의 A Timelss way to communicate 세션 (부제 : : The Alexandrian Pattern Format )을 듣고 왔습니다. 패턴 저자들에게 Christopher Alexander 패턴의 가치를 깨닫게 해주고, 패턴 저자로써 가야할 방향을 제시한 좋은 발표였습니다.
크게 요약하면, 패턴을 작성하는 스타일이 있는데, Portland Form – Jim Copeling Form – GoF Form – Alexandarian Form 형태로 성숙하고 더 좋은 포멧이라는 것을 설명하는 세션이었습니다. A Timeless way of Building를 작성한 Christopher Alexandar가 만든 패턴 포멧에 대한 가치와 심오한 배경등을 설명해 주고, 왜 우리 패턴 저자들이 Alexandar가 만든 스타일을 따라야 하는지 설명을 해주었습니다.
재미난 건 PLoP에 GoF인 Ralph Johnson도 있고, Linda Rising 도 있고, Jim Copelin은 안 나왔지만 이미 친분이 두터운 관계인데, 그들의 스타일을 일일이 설명하면서, 어떻게 개선해야 되는지 설명한 세션이다 보니, 국내에선 이렇게 하다가 분위기가 험악해 질수도 있을거 같았는데. 놀라웠던건 그들이 그걸 수긍하고, 이미 Alexandarian 패턴 포멧을 따라가겠다는 의지를 밝혀 주었다는 겁니다. 역시 PLoP에 참가한 대가들은 변화와 개선점도 아주 빠르게 흡수한다는 것이 놀라웠습니다.
일단 특별히 어떤 형태로 쭉 잘정리하고 싶었지만 영어를 실시간으로 들으면서 정리하는데는 시간이 무지 많이 걸리거 같아. Timeline 순서대로 쭉 메모한 것을 그대로 적겠습니다.
여러분이 아마 이 posting을 볼때면, 저의 숙원이었던, 최강의 궁합인 PLoP + OOPSLA (SPLASH) Conference 에 가기 위해 비행기를 타고 있을 겁니다. 14일에서 21일까지 총 7박 8일동안 주말도 쉬지 않고 대가들의 생각, 경험들을 들을수 있는 좋은 기회가 될거 같습니다. 아마 저처럼 Software Architecture에 관심이 있는 분이라면, 꼭 한번 참여해야 되는 Conference입니다. 이번에 작년에 했던 PLoP 그 이상의 경험을 하고 오리라 믿습니다. […]
또는… 안녕하세요. 블로그를 통해서 이런 스팸성 글을 적어서 죄송합니다. 다름이 아니라. 이번주 금요일 부터 열려서 다음주 금요일날 끝나는 OOPSLA의 새로운 이름인 SPLASH나 PLoP에 참석하시는 한국분이 있으시면 연락 주시길 바랍니다. 제가 혼자 가게 될거 같습니다. 혹시 가시면 얼굴이라도 알고 지내고, 호텔비를 Save하는데는 도움을 드릴 수 있을것 같네요. 혹시 충동적으로 비행기/등록비를 내서라도 가고 싶은데, 현지 생활비가 걱정이 […]
새로운 시작 – Refactoring to Pattern
Joshua Kerivsky의 Refactoring to Pattern (역서 – 패턴을 활용한 리펙토링, 이하 줄여 RtoP)을 저희 EVA 팀에서 새로운 스터디로 진행했습니다.
현재 진행중인 Fearless Change와 병행해서 2주 씩 돌아가며 진행이 되어집니다. 관심 있는 분은 어서 댓글을 달아 주시길.. 🙂 패턴에 익숙한 저희가 이 책들을 보았을때의 느낌은, 정말 잘 쓰여진 서적이라는 겁니다. Refactoring과 TDD를 잘 접목하여 step by step으로 Pattern으로 적용하는 내용이 아주 잘 표현되어 있네요.
서적 초반 부(1장)에 나오는 내용중에 가장 마음에 드는 내용이 이겁니다. 과도한 설계 와 미진한 설계.
모든 걸 패턴으로 해결해야 한다는 패턴 신봉자가 되어 과도한 설계를 그려내는모습과 정말 아무것도 준비하지 않고 대충 설계한 미진한 설계에 대한 이야기가 나옵니다. 이 사이에 균형을 맞추는 것이 바로 저희들이 해야 될 일이 아닌가 쉽습니다.
RtoP는 바로 Pattern으로 설계하는 그 과정을 보여 줍니다.
냄새나는 생성 로직 -> factory 로 바로 가는 것이 아니라. creation method를 1차적으로 만들고, encapsulation을 거쳐 최종 factory 객체로 가는 모습을 보여줍니다.
굳이 Factory로 꺼낼만큼 생성 부분에 확장 가망성이 낮다면 , creation method에서 그쳐도 된다는 거지요. 정말 실용주의적으로 refactroing 하는 기법을 설명해 주고 있는 서적입니다. 지금 현재 PLoP 준비와 Fearless Change 준비로 제가 RtoP에 스터디에 단순히 참여만하고 있지만, 정말 공감할만한 내용들이 많은것 같습니다.
RtoP 동영상 강좌 공유
여러분에게 저희가 스터디 한 내용들을 실제 동영상으로 공유합니다. 바로 EvaCast.net을 통해서요. 많은 분들에게 약간의 도움이 되었으면 합니다.
정말 오랜만에 포스팅을 하네요. 많은 지인들이 왜 포스팅이 뜸하냐고 저한테 물어보셨는데요. 여러가지 이유가 있었습니다.
전 지난 몇달간 죽음의 레이스(?)를 한 듯 합니다. 결과는 100%로 만족스럽지는 않지만, 그래도 여러분들에게 뭔가 더 좋은 것들을 드리기 위한 하나의 성과가 있었다고 봐주시면 좋을듯 합니다.
PLoP 논문

사실 PLoP 논문때문에 정신이 없었습니다. 이번 논문의 주제는 Framework Engineering입니다. 여러가지 내용들을 잘 정리해, 패턴화 시키는데 고생을 좀 했습니다.

다행히 논문이 Accept되어서, 이제 안도의 한숨을 쉬고 있습니다. 다만 논문이 Writer’s Workshop 외에도 Writing Group에도 할당되어 있어서, 더 많은 커뮤니케이션을 해야 하기 때문에 부담감이 많습니다.
그리고 이번 논문의 Shepherd는 Framework 설계의 전문가이신 Eduardo Guerra의 도움을 많이 받았습니다. 정말 값진 경험을 했습니다. Eduardo Gueerra 님은 브라질에서 열리는 SugarLoaf PLoP에서 위원으로 맹 활약중이며, 작년에는 PLoP에서 A Pattern Language for Metadata-based Frameworks 이라는 주제로 논문들을 발표했습니다.
데브피아와 지앤선이 준비해 준 행사의 열기가 식기도 전에, 또 한번 저희 EVA가 준비하는 또 한번의 공개 세미나가 열립니다.
8월 26일 목요일 / NIPA (정보 통신 산업 진흥원)에서 주관하는 SW Technical 공학 세미나에 저희 EVA 식구들이 또 한 번의 만남을 여러분과 가져보고자 합니다.
내부적으로 또는 외부적으로 이미 패턴 포커의 경험은 10회가 넘어섰고, 가장 최근에 한 패턴 포커는 패턴에 무지한 분들까지 정말 재미나게 패턴을 익혔다는 피드백을 받았습니다. 패턴 관련 행사가 끝나고, 이런 행사를 왜 안하냐라는 요청을 제법 받았습니다. 혹시 여력이 되시는 분은 꼭 참여하시길 권해드립니다.
행사가 끝난지 한달이 다 되어 가서 포스팅을 하네요. 어떻게 행사가 진행되었고, 어떤 결과물이 나왔는지 공유해 보는 시간을 가지겠습니다.
ICE BREAKING
먼저 서로간의 벽을 깨어가는 시간을 가졌습니다. 나란 사람은 누구이고, 서로를 소개하는 게임을 먼저 진행했죠.
일전에 포스팅했던 PLoP의 Rippling Game (잔물결 치며 이름외우기) 진행했습니다. 파도치기를 하면서 서로를 소개하는 방법입니다. 다들 서로의 이름을 짧은 시간에 외우누라 고생이 많았지만 얻어가는게 많습니다. 실제 저희 EVA 스터디 식구들은 2주마다 이렇게 자기를 소개하고 있습니다. 그래서 서로를 좀더 쉽게 이해해 나가죠. 작은 것 하나 사는 얘기들을 나누면서 좀더 친밀감을 높일 수 있습니다. 이것이 곧 소통의 열쇠가 됩니다.
얼마전 장 선진님의 소개로 겜브라스 조정현 대표님에게 뜻 밖의 선물을 받았습니다. 바로 구하기 힘든 Christopher Alexander의 Pattern Languages의 시초가 되는 책을 선물 받았습니다. 그것도 1982년에 출간된 손 때가 묻은 서적을요. 아무런 조건 없이, 이 책은 내가 주인이 아니라. 패턴 저자인 영수님이 가져가는게 맞다며 주시더라구요. 정말 감사하고, 한 편으로는 패턴 저자가 별거 아닌데라고 생각해왔었는데.. 더욱 어깨가 […]
마소 (마이크로 소프트웨어 ) 5월호에 “EVA네가 들려주는 Fearless Change 두 번째 이야기“라는 주제로 글을 기고했습니다.
원래 4월에 실릴 예정이었으나, 이런 저런 내부 사정으로 5월에 실리게 되었습니다. 이미 저의 블로그를 구독하시는 분에게는 싱거운 자료지만, 자료 공유 차원에서 올립니다.
물론 기고한 글은 모두 저의 지식이 아니며, Linda Rising의 지식과 다양한 분야의 경험을 가진 저희 EVA팀의 지식으로 만들어진 자료입니다. 지식을 나누어 주신 EVA 식구 여러분 감사합니다. 전 단지 정리를 했을 뿐입니다.
EVA 팀이 없었다면 이렇게 좋은 자료가 나온다는 것은 불가능했을 겁니다. EVA팀 감사합니다. 다음과 같은 내용이 기고 되었습니다.






