지난 주말 (2012년 5월 20일) 코엑스에서 스마트 개발자 협회가 주관하는 글로벌 커뮤니티 써밋에  EVA 커뮤니티 연사로 발표를 했습니다.

먼저 이번 발표에 많은 도움을 준 소프트웨어 마에스트로 멘티인 오유환, 강미경, 김나래, 손윤정 4 멘티에게 감사드립니다.  이 4명이 아니였다면 이러한 좋은 자료는 나오지 못했을 겁니다.

프리젠테이션이 다루는 내용은 다음과 같습니다.

Android 이해

  • 구글이 꿈꾸는 Android의 미래 (Modu 사 특허 인수와 Android@Home)
  • Binder ( Broker 패턴 )과 Intent

오픈소스 그리고 사례

  • Simple Framework
  • Logcat보다 Microlog4Android
  • 불편하지 않은 화면 갱신 (Publisher-Subscriber)

분석 방법

  • Localytics로 사용자 행동 패턴 분석
  • STAN을 이용한 Android App 분석방법

이번 발표는 소프트웨어 마에스트로 멘토로 활동하면서, 멘티들과 같이 만들어 낸 작품입니다.   비록 여러가지 상황(취업, 학업등)으로 모든 멘티가 다 2단계에 진출은 하지 못했지만, 지금도 열정을 내뿜으며 같이 성과를 만들어내고 좋은 팀웍을 유지하고 있습니다.

저에게 연례 행사가 된 PLoP / SPLASH 참가는 정말 뜻 깊은 행사가 될듯 합니다.

이번 Bootcamp 행사는,  Linda Rising이 개인적인 사정으로 참석을 못해 아쉬움이 컸습니다. 하지만 반사 이익으로 사상 최고의 맴버로 진행이 되었습니다 . Robert Hanmer, Joe Yoder, Rebecca Wirfs-Brock 님이 진행을 하셨습니다.  이전 2번의 워크샵과는 다르게 프리젠테이션이 많이 보강되었습니다.

작년에 있었던 Joshua Kerivsky 발표의 영향 때문인지, Christopher Alexander의 철학과 이야기들이 많이 보강되었고, Joe Yoder가 AsianPLoP에서 했던 패턴 라이팅까지 패턴을 가르키는데 종합 선물센트에 가까운 Bootcamp 였습니다.

거기다 일본 KEIO대학에서 대거 행사에 참여했는데, 다케시라는 분이 Learning Pattern Languages를 만들었다며 선물로 나누어 주었습니다. (같이 프로젝트를 한 토모라는 분이 “Learning Pattern”의 PDF 버전이 공유되어 있다고 하니, 추후 접수되는 대로 공유하겠습니다. 아마 지금 일본 분들은 고국으로 가느라  비행기에 있겠네요.)

계속 읽기

PLoP 11 / SPLASH에 다녀오겠습니다.  갑자기 쌩뚱맞지만,  이제 저에게는 연례 행사가 되었답니다.  저의 성장에 큰 밑거름이 되준 PLoP에 다녀와서 많은 정보를 공유하겠습니다.

또한 이번 학회는 별로 외롭지 않은 것이 EVA팀의 김지원군 역시 회사 지원을 받아 같이 가게 되었습니다.   포스팅을 2배로 할수 있고, 곧 더 많은 정보를 전달해 드릴수 있어서  정말 기쁩니다. 전 아마 이 학회 다녀오면 몇일간은 잠을 못자며 정리하느라 보낼 수도 있습니다.

작년 2010년 PLoP에 다녀와서 남긴 포스트 입니다. 물론 더 있지만 굵직한 것 위주로 정리해 봤습니다.   (PLoP 에 대한 더 많은 정보를 아시고 싶으시면, https://arload.wordpress.com/tag/plop/를 보시면 될듯 합니다.)

계속 읽기

EVA 식구들의 신년회가 1월 22일 있었습니다 .

포스팅하기에 좀 늦은 감이 있지만, 공유하는 차원에 올립니다.  PLoP Bootcamp 09년도에 발표된 자료를 사용했습니다.

계속 읽기

데브피아와 지앤선이 준비해 준 행사의 열기가 식기도 전에, 또 한번 저희 EVA가 준비하는 또 한번의 공개 세미나가 열립니다.

8월 26일 목요일 / NIPA (정보 통신 산업 진흥원)에서 주관하는 SW Technical 공학 세미나에 저희 EVA 식구들이 또 한 번의 만남을 여러분과 가져보고자 합니다.

내부적으로 또는 외부적으로 이미 패턴 포커의 경험은 10회가 넘어섰고,  가장 최근에 한 패턴 포커는 패턴에 무지한 분들까지 정말 재미나게 패턴을 익혔다는 피드백을 받았습니다.  패턴 관련 행사가 끝나고, 이런 행사를 왜 안하냐라는 요청을 제법 받았습니다. 혹시 여력이 되시는 분은 꼭 참여하시길 권해드립니다.

계속 읽기

패턴 칵테일.  이름을 봐서는 술이라도 한잔해야 될거 같은데요.

이름 맞추기 게임 (Name that Pattern)

이 게임은 패턴 포커를  뽑아서 보지 않고 자기 머리 위에 올려 놓습니다.  그리고 다른 사람에게 자신의 패턴이 뭔지 이것 저것 물어서 맞추어야 합니다.

상당히 쉬울거 같지만, 막상 당사자는 답답합니다.  무엇을 물어봐야 할지도 어렵고, 주위에 있는 사람이 실컷 설명해줘도, 찾기가 정말 어렵습니다.

계속 읽기

학습 곡선을 줄이며, 단기간에 쉽게 새로운 것들을 받아 들일 수 있을까?  그것에 대한 대답은 바로 놀이라고 생각합니다.

얼마 전 저희 EVA팀과 같이 Pattern Poker를 쳤습니다. 정말 놀이와 학습이라는 두가지 토끼를 잡은 좋은 게임이었습니다.  Pattern Poker (패턴 포커)라는 이름이  다들 생소하시리라 봅니다. AsianPLoP에서 만난 Refactoring to Pattern의 저자인 Joshua Kerievsky가 창안안 방법이며, 구입할 방도가 없어서 제가 직접 만들었습니다. 🙂 게임의 룰을 간단히 말씀 드리겠습니다.

계속 읽기

ralphjohnsonDesign Patterns의 GoF중 한 사람이자,  Framework의 대가인 Ralph Johnson이 내한 합니다.

이번 방문과 함께, Korea Spirng User Group의 안영회님께서  수고해 주셔서 세미나를 여시네요.

비록 5만원의 유료 세미나지만, Ralph Johnson과의 점심 시간도 가질 수 있고, 세미나 정보도 알차니, 참여하시면 매우 값진 것들을 얻으리라 믿습니다.

관심 있는 분은 꼭 참여하셔서 Ralph Johnson의 경험과 지식을 얻어가시길 바랍니다.   자세한 정보는 안영회님에게 요청해주세요!

계속 읽기

pattern_meeting

안녕하세요 🙂  일전에 약속한 대로 여러가지 패턴 이야기들을  가져 왔습니다!!

사실 이미 많은 분이 접하셨을 겁니다.  바로 마소 5월호에 저희 스터디 팀이 Cover Story를 기고했는데요 그 내용들입니다.

처음 기고를 하신 분들도 있고, 아닌 분도 있지만  모두에게  좋은 경험이 되었다고 생각이 듭니다. 저 역시 저희 커뮤니티 맴버들이 뭉쳐서 이런 좋은 글을 만들었다는 것이 매우 큰 기쁨으로 느껴집니다.

사실 커뮤니티를 운영하면서 가장 만족감을 느끼는 것은, 서로에게 성장할 수 있는 경험과 기회를  주고 나누는 것이죠. 그리고 같이 성장해 가는 것을 보고 느낄때 기쁨은 이루 말할수 없습니다.

이 것이 제가 생각하는 커뮤니티의 올바른 모습이며, 앞으로도  잘 유지될 수 있도록 노력하겠습니다.  🙂   그럼 이번에 저희 EVA 팀이 기고한 글들을 차례대로 간략히 소개하겠습니다.

계속 읽기

“패턴을 좀더 쉽게 학습하고 실제 프로젝트에 잘 적용할 방법이 없을까요?”  필자가 강의를 마치고 종종 듣는 질문이다. 부족하지만 필자가 공부한 패턴 지식들과 경험들을 합쳐, 독자 여러분에게 패턴을 학습, 활용하기 위한 시행착오를 조금이나마 줄일 수 있는 지름길을 안내하고자 한다.

손 영수 arload@live.com | 데브피아 Architecture 시삽과 Microsoft MVP로 활동 중이며, 데브피아 소프트웨어 공학 스터디인 Eva팀의 리더이다. 부족한 실력이지만 지식을 나눌 때는 누구보다 ‘부자’라는 자부심을 가지고 지식 나눔에 힘쓰고 있다. Pattern 전도사를 꿈꾸고 있으며, PLoP와 같은 Pattern 학회를 국내에 만들기 위해 힘 쏟고 있다.

요즘은 대학교 학부생의 교과 과정으로 들어갈 정도로 패턴은 많은 이들에게 알려져있다.. 하지만 필자 주위에는 패턴을 잘 활용하여, 성공적으로 프로젝트를 마무리 했다거나 좋은 결과를 보았다는 말보다는, 오히려 많은 불신들과 하소연을 들었다. 왜 이런 상황이 발생했을까? 이 글을 통해 독자들이 패턴에 오해를 풀고, 올바른 시선을 가지길 바라며 글을 적는다.

패턴을 대하기 이전에 마음가짐 – 유연성, 확장성

많은 분들과 패턴을 주제로 애기하다 보면, 패턴에 대한 잘못된 관점을 가진 분들을 종종 만난다. 패턴을 통해, 비약적인 성능 향상, 생산성이 증대 될거라 생각하는 분도 있고 심지어 Silver Bullet (은총알)로 생각하는 분도 있다. 물론 제한적인 도메인 안에서 성능, 생산성 향상을 가져 올 수 있는 패턴도 있지만, 패턴 자체의 목적은 유연성과 확장성에 초점을 맞추고 있다.

초창기 객체 지향(80년대)의 가장 중요시 여기는 패러다임은 “Reuse (재사용)” 이였다. 그래서 Component와 같은 이상적인 패러다임이 나오기도 했다. 마치 Lego와 같이 조립만 하면 만들어지는 Legoware를 꿈꾸어 오면서…

하지만 현재 소프트웨어는 어떠한가? 빈번하게 바뀌는 고객의 요구사항, 몇 명 이서 만들 수가 없을 정도로 거대해진 규모, 길어진 소프트웨어 생명주기를 가진 녀석들이 대부분이다. 그렇기 때문에 소프트웨어가 가져야 할 중요한 설계 방향이 재 사용성 보다는 쉽게 변화를 수용할 수 있는 유연성(Flexibility)과 확장성(Extensibility)이 대두되게 되었다. 만약 여러분이 유연성과 확장성에 초점을 맞춘 설계에 관심이 있다면, 패턴은 좋은 도구가 된다. 하지만, 최적화나 성능 개선이 목적이시라면 패턴보다는 알고리즘을 공부하는 것이 더 낫다.

그리고 패턴을 쉽사리 적용하지 못하는 여러 가지 장벽들이 곳곳에 존재한다. 패턴에 대한 불신들이다. 지면상의 제약으로 이 모든 내용을 언급하기가 한계가 있으니 예전에 필자가 마소 2007년 8월호에 기고한 “미워도 다시 보는 패턴 이야기”를 꼭 읽어보길 권한다. 패턴의 정의, 원칙, 참고할만한 설계구조도 설명하고 있다.

계속 읽기