프레임워크 문서화 잘하기 자료입니다. 이 글의 모든 저작권은 박선욱 님에게 있습니다.
박선욱님이 마소 9월호에도 기고를 하셨는데, 추후 기고 자료도 공유하도록 하겠습니다.
발표 자료 소개
새로운 프로젝트를 할 때마다 새로운 프레임워크를 접하는 일은 이제 예사가 되었다. 어떻게 새로운 프레임워크를 학습하여 활용할 수 있을까? 역발상으로 프레임워크 문서화 잘하기 패턴을 통해서 우리가 원하는 정보가 어디 있는지 알 수 있다.
때로는 관련 책을 제목만으로 선택할 수 있게 해준다. 또한 프레임워크가 아니더라도 우리 프로젝트에 적용할 수 있는 문서화패턴에 대해서 생각해볼 수 있다.

오랜만에 다시 PLoP에 대한 정보를 보내드립니다. 제가 개인적로 바빠 아직도 PLoP 정보를 다 못올렸는데. 또 PLoP이 열리네요 🙂
제 2회 AsianPLoP이 Tokyo에서 열립니다. 작년에 다녀와서 PLoP에서 배우지 못한 새로운 것들을 많이 배워왔습니다. 아직 구체적인 프로그램은 조율중이라. 말씀 드릴수 없지만, 위 링크를 보시면 대충 분위기를 아실 수 있을거 같습니다.

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
여러분이 아마 이 posting을 볼때면, 저의 숙원이었던, 최강의 궁합인 PLoP + OOPSLA (SPLASH) Conference 에 가기 위해 비행기를 타고 있을 겁니다. 14일에서 21일까지 총 7박 8일동안 주말도 쉬지 않고 대가들의 생각, 경험들을 들을수 있는 좋은 기회가 될거 같습니다. 아마 저처럼 Software Architecture에 관심이 있는 분이라면, 꼭 한번 참여해야 되는 Conference입니다. 이번에 작년에 했던 PLoP 그 이상의 경험을 하고 오리라 믿습니다. […]
또는… 안녕하세요. 블로그를 통해서 이런 스팸성 글을 적어서 죄송합니다. 다름이 아니라. 이번주 금요일 부터 열려서 다음주 금요일날 끝나는 OOPSLA의 새로운 이름인 SPLASH나 PLoP에 참석하시는 한국분이 있으시면 연락 주시길 바랍니다. 제가 혼자 가게 될거 같습니다. 혹시 가시면 얼굴이라도 알고 지내고, 호텔비를 Save하는데는 도움을 드릴 수 있을것 같네요. 혹시 충동적으로 비행기/등록비를 내서라도 가고 싶은데, 현지 생활비가 걱정이 […]
정말 오랜만에 포스팅을 하네요. 많은 지인들이 왜 포스팅이 뜸하냐고 저한테 물어보셨는데요. 여러가지 이유가 있었습니다.
전 지난 몇달간 죽음의 레이스(?)를 한 듯 합니다. 결과는 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 이라는 주제로 논문들을 발표했습니다.
행사가 끝난지 한달이 다 되어 가서 포스팅을 하네요. 어떻게 행사가 진행되었고, 어떤 결과물이 나왔는지 공유해 보는 시간을 가지겠습니다.
ICE BREAKING
먼저 서로간의 벽을 깨어가는 시간을 가졌습니다. 나란 사람은 누구이고, 서로를 소개하는 게임을 먼저 진행했죠.
일전에 포스팅했던 PLoP의 Rippling Game (잔물결 치며 이름외우기) 진행했습니다. 파도치기를 하면서 서로를 소개하는 방법입니다. 다들 서로의 이름을 짧은 시간에 외우누라 고생이 많았지만 얻어가는게 많습니다. 실제 저희 EVA 스터디 식구들은 2주마다 이렇게 자기를 소개하고 있습니다. 그래서 서로를 좀더 쉽게 이해해 나가죠. 작은 것 하나 사는 얘기들을 나누면서 좀더 친밀감을 높일 수 있습니다. 이것이 곧 소통의 열쇠가 됩니다.
PLoP 2010 submission deadline extension The deadline to submit a paper for the 17th Conference on Pattern Languages of Programs has been extended to June 1st. Many authors have asked for an extension and since there is enough time for shepherding we took the chance to extend the deadline. Please tell your colleagues about the […]
영어 발표 때문에, 새벽 3시까지 Script를 준비하느라, 이미 눈은 팬더가 되어 버렸습니다. T_T!! 자 그럼 AsianPLoP 2일차 행사를 여러분과 공유합니다.
Joshua Kerievsky 의 A Timeless Way of Communicating

1번째 세션은 Refactoring to Pattern의 저자인 Joshua Kerievsky 의 A Timeless Way of Communicating 이었습니다.AsianPLoP의 세션이 아닌 GRACE의 전체 세션이었으며, 너무나 많은 청중과 강의장이 어두워서 사진은 찍지 못했습니다.
이 세션의 내용은 Christopher Alexander의 The Timeless Way of Building과 이름이 비슷한걸 눈치 채신 분도 있을 겁니다.
패턴과 패턴 언어들 형식(Form)과 내용(Contents)을 분석하고, Pattern Languages가 소프트웨어의 지식 체계로써 사용되기 위해, 패턴 사용자들에게는 어떻게 제공되어야 하는지에 대한 깊은 얘기를 했습니다.
또한 그가 운영하는 컨설팅 회사인 Industrial Logic에 가시면 좋은 자료들이 넘쳐납니다. 이중 제가 가장 인상깊게 본 것이 Pattern Poker 입니다. 아주 짧은 시간안에 효율적으로 패턴을 익힐 수 있을 뿐만 아니라, 경험을 공유하는 좋은 방법이더라구요. 다음 스터디때 EVA 팀들과 함께 한판 치기로 했습니다.
Pattern을 어떻게 하면 잘 만들수 있을까요? Joe 의 패턴 라이팅을 공개합니다.
이번 AsianPLoP에서는 작년에 참여한 PLoP BootCamp와는 조금 다른 형태로 Joe(Joseph William Yoder) 아저씨의 패턴 라이팅(Pattern Writing)을 경험해 보는 좋은 시간을 가졌습니다.
패턴 라이팅을 말하기 전에 Joe 아저씨에 대해서 간략히 소개를 해 드리면, 그는 Refactory Inc. 를 운영하고 있으며, 런타임시에 객체의 생명주기를 관리하는 유명한 패턴인 AOM (Adaptive Object Model) 을 만든 사람입니다. GoF 중 한 명인 Ralph Johnson의 제자 이기도 합니다.
그의 발표자료를 공유합니다. 브라질에서 열리는 PLoP인 SugarLoad PLoP에서 2년전에 이미 발표한 자료네요. 이 자료를 읽기 전에 저의 블로그에 공유한 Linda 아주머니의 Pattern 만드는 법, 또 PLoP에서 소개한 Pattern Template을 먼저 읽어보시길 바랍니다.
Writing Patterns “The Straight Scoop” 다운 받는곳 (출처 SugraLoad PLoP)
패턴 템플릿 설명

