예전에 Framework’s Day에 발표했던 Framework Engineering 의 동영상 강좌를 지난 토요일날 찍었습니다.
Framework 구축시 여러분이 겪을 시행 착오를 조금이나마 줄일 수 있길 바라며 강좌를 공유합니다.
이 강좌에 대한 내용은 저의 머리에서 나온 것이 아니라, .NET Framework의 설계자인 Krzysztof Cwalina의 강좌와 현재 저희가 번역하고 있는 Framework Design Guideline 2nd 추가해 정리한 것입니다.
이 발표의 전체적인 내용은 아래와 같습니다.
안녕하세요. 요즘 블로깅이 뜸하다고 몇분이 저에게 사적으로 말씀하시더라구요 🙂
이유는 나중에 말씀 드리도록 하고, 조만간 있을 세미나 2개에 대한 정보를 알려 드리고자 합니다.
1. 미워도 다시보는 패턴 이야기 (4월말에 있을 초대형 세미나에 한 섹션)

행사의 구체적인 정보를 말해 드릴수 없지만, 조만간 1000명이상을 위한 세미나가 4월말에 열릴 예정입니다.
추후 행사에 대한 자세한 내용을 Update하도록 하고, 제가 진행하는 세션 정보를 공유하고자 합니다.
패턴 이라는 것이 너무 GoF 패턴, 그리고 소프트웨어 설계 기술에만 치우쳐 한국 개발자에게 공유되어 지고 있는것 같습니다.
패턴에 대한 오해들과 프로세스나 실제 개발자 삶에 도움이 되는 패턴 이야기를 여러분들에게 전달하고자 합니다.
그리고 Code 보다 Model에서 생각하는 방법과 개발 생산성을 증대시키는 이야기들도 나눌 겁니다. 아마 이게 백미라고 생각이 드네요.
이미 대전에 한 중소기업에서 세미나를 진행했고, 피드백이 매우 괜찮았습니다. 4월 말 기대하셔도 좋습니다.
2월 기고에 이은 Framework Engineering Part II를 여러분에게 공개합니다.
Part I에 대한 글에 대한 평이 없어서? 과연 좋은 글을 썼는가 다시 의문을 가집니다. 😦
.NET 진영은 Java 진영보다직접 Framework를 구축하는 일 보다는, 사용하는 일이 더 많으니 그러겠지 하고 혼자 생각하고 있습니다. 🙂
여기서 소개한 툴들과 거의 일대일 대칭이 되는 툴들이 Java 진영에도 있으니 Technic 적인 측면보다, Framework를 구축할때 어떠한 것들을 고려해야 되는지 경험과 프로세스 측면에서 저희들의 부족한 글을 이해해 주시길 부탁드립니다.
많이 부족한 지식이지만 조금이나마 다른 분들에게 도움이 되는 글이였으면 좋겠네요 🙂
이번 글은 지난호에 이어 아래의 주제들중 아키텍쳐에 다 못다한 애기부터 다루었습니다.
Pattern이라는 분야에서 GoF의 Design Patterns가 가지는 의미는 굳이 말을 하지 않아도 될듯 합니다.
몇몇 지식 계층들을 위한 학회에서나 애기되어지고 있는 Pattern들을 일반인들에게 알리는 신호탄 같은 존재이기 때문입니다.
예전 블로그에 올린 글이지만, 패턴을 공부하시거나 접하시는 분에게는 꼭 필요한 내용이라 재 포스팅 합니다.
이 포스트를 통해서 Design Pattern의 두번째 원칙에 대한 오해들을 여러분과 공유하고자 합니다.
문제가 되는 두번째 원칙을 보도록 하죠. 🙂
Favor Object Composition over Class Inheritance
이 말의 의미는 원문 그대로 해석을 한다면 클래스 상속보다는 객체 조합을 선호해라 라는 애기입니다. 대부분의 시중에 나와 있는 책들이 상속보다는 조합을 선호하는 것으로 의미를 파악하고 전달하고 있습니다.
물론 그 당시 CBD가 널리 유행했던 것도 한 몫했죠 🙂 과연 이말이 맞는걸까요?
6년 동안 다양한 패턴에책들을 본 경험을 들어 볼때, 상속이라는 것은 모든 패턴에 사용되고 있었습니다.
거기다 graybox 즉 whitebox(상속)과 blackbox(조합)을 함께 적용하는 것이 패턴계의 철학으로 굳혀져 있어서 과연 이말이 맞는지 많은 의구심을 가지게 되었습니다.
마소 1월호 주제인 Application과 Framework 동시 개발하기에 이어, 2월호에는 Framework 설계시 실제 필요한 Engineering 기법들에 대해 기고했습니다. 물론 결코 저의 머리에서 나온 것은 아닙니다. 🙂
이 글은 .NET Framework를 설계한 Krzysztof Cwalina의 TechED 강의 내용과 저의 지식을 덧분인 글입니다.
Krzysztof Cwalina의 강좌를 보시고 싶으신 분은 여기를 클릭하시길 바랍니다.
12월호 있었던 세미나와 지금까지 블로그에 기고한 Post들을 모은 내용이기 때문에, 저의 블로그 독자 분들(?)에게는 미안하네요 🙂
이번 글은 크게 6가지 주제들을 다룹니다.
● 조직 (가장 강력한 설계 툴)
● 계획 (프레임워크를 올바르게 구축하 기 위한 계획)
● 아키텍처 (오랫동안 사용할 수 있는 품질 좋은 프레임워크를 만들기 위한 고려사항들)
● 설계 (품질을 보장하기 위해 고려할 사항들)
● 개발 (프레임워크를 만들기 위해 팀플레이 시 고려해야 되는 사항들)
● 그 외에 고려해야 되는 것들 (가독성, 문서화)
이중 조직, 계획, 아키텍쳐에 대한 내용을 2월호에 다루었습니다.
여러분에게 즐거운 소식을 전해드리고자 합니다.
공개되지 않은 EuroPLoP Paper를 발견하게 되었습니다.

자료를 찾았을때 저의 마음을 표현해 주는 그림입니다. 🙂
제가 최근 Patterns for Understanding Frameworks 라는 논문을 정리하고 있는데, 여기에 수많은 Referecne 논문들이 EuroPLoP 최근 논문들이었습니다.
(조만간 이 논문의 정리 버젼이 여러분에게 공개될것 입니다.)
일전에 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’s Day의 발표가 드디어 이번주로 다가왔습니다. 오랜만의 발표라 저 역시 기대되네요 여러분의 Feedback을 수렴하고, 몇가지 정보들이 추가된 Presentation을 공유하고자 합니다. 거의 변화가 없을듯 하며, 있어도 소폭의 변화가 있을 걸로 예상이 됩니다. 이전 Presentation보다 Dependency에 대한 내용들이 보강되었으며, Topic별로 내용을 세분화 하여 나누었습니다. 다른 분들의 Presentation 자료들은 Framework Design Guideline Springnote에서 받으실수 있습니다. 다시 한번 여러분의 […]

오래 기다리셨습니다. 🙂
Framework’s Day 등록이 드디어 시작되었습니다.
저의 인맥중 Framework와 가장 관련된 활발한 분들을 모시어 세미나를 2달여전에 준비하게 되었고, 그 결과를 여러분과 공유하고자 합니다.
행사는 약속대로 11월 29일 날 진행이 되어지며, 자세한 곳은 아래 링크를 따라가서 보시길 바랍니다.
Framework’s Day가 가까워 오고 있습니다. 오늘 (11/7) 세미나 순서와 소개자료를 정리해 데브피아 쪽에 전달할 생각이며, 다음주중에 데브피아를 통해 세미나 접수를 받을 예정입니다.
이때 발표할 세미나 자료의 Beta 버젼을 공개합니다. 아직 수정의 여지는 매우 많지만, 큰 뼈대는 완성되었다고 볼수가 있습니다. 그래서 먼저 블로그 독자 여러분의 피드백을 받습니다.
http://www.slideshare.net/arload/framework-engineering-presentation/ download file을 클릭하시면 PDF 버젼을 다운 받으실수 있습니다.
이 자료는 Krzysztof Cwalina의 Framework Engineering 자료를 요약 정리한 것이며, 거기의 저의 지식과 살을 더 붙인 것입니다. 하지만 아직 추가의 여지가 매우 많습니다. 빡빡한 텍스트들을 좀더 비유를 넣어 수정하고 Schmidt 박사님의 논문의 내용들을 더 추가할 생각입니다.