반응형
사용자 삽입 이미지

P-Camp 그 두번째 만남을 다녀왔습니다. 2007년 10월 10일 수요일, 코엑스 컨퍼런스센터 401호에서 열렸습니다. 시작하기 전에 신청했던 샌드위치를 먹고나서(처음에는 물이 없어서 그냥 먹다가… 나중에 물을 주셔서 다행이었습니다.) 401호로 들어갔습니다. 오프닝 튜토리얼로 김창준님 께서 "Ontogeny[각주:1] of Unit Tests in Test Driven Development"를 주제로 발표해 주셨습니다. 국제 콘퍼런스 때에 발표되었던 자료라, 발표자료가 영어로 되어 있다고 하시더군요.

Test에는 두가지 방식이 있다고 하셨는데요.
  • Support Programming Test to pass
  • Critic Programming Test to fail
이 있다고 합니다. "린 소프트웨어 개발"의 저자 중 한 명인 Merry Poppendick은 둘 다 선택하라고 하는데, 발표자료에서 다루는 건 "Test to pass"쪽에 중점을 맞춘다고 하셨습니다.

V-Model
이야기와 함께, Design Pattern에는 GoF[각주:2] 여러가지 경험을 두루 쌓은 Christopher Alexander[/footnote]물리와 화학, 수학, 건축학, 전산과학 등을 공부했다고 합니다. [/footnote]가 지었다는 4권으로 된 "Nature of Order"가 소개되었습니다. (시간 없는 분은 2권만이라도 읽으라고 추천하시더군요. 저도 도서관에 신청했습니다.) 이 책은 검증받진 못했지만, 가능성이 있다고 합니다. Best practice라기보다는, A practice로 보는 게 맞다고 하시더군요.

Living Structure의 기준은 Wholeness(전체성)가 언급되었습니다. Life에 대해서 Christopher Alexander는 A와 B를 두고 어느 것이 더 살아있는 느낌이 나는지 피실험자로 하여금 고르게 하였는데, 대부분의 사람들이 살아있다고 느끼는 선택점은 대부분 일치했다고 합니다.
Which one of these two things would I prefer to become by the day of end of life?[각주:3]
Mistake-free[각주:4], 즉 실수가 없으려면 창조(설계적)보다는 생성(단계적)으로 접근하는 게, 실수의 여지가 감소하며 살아있는 느낌을 받을 수 있다고 합니다. 이는 Community, Product, 시(Poem)에도 적용 가능하다고 합니다.

여기서 정의된 Ontogeny는, "Living Sturcture를 만드는 과정"이라고 정의되었습니다. Addition(추가)와 대치되는 Differentiation(분화)[각주:5] 즉 자라나기 전에 기미가 나타나고, 그 후에 출현한다는 모습으로 설명되더군요.

또한 Contextual(직역하면 '문맥상의')을 키워드로 하여 본래 존재하던 것의 훼손을 경계한다는 이야기를 들었습니다. "건물을 피어나게 한다"라는 생각에 약간 감동을 받았습니다. 이를 Structure Preserving Transformation이라고 하더군요. 화가 Henry Matisse의 이야기와 더불어, 살아있는 특징에 대해 몇 가지 언급되었는데요. Center는 주의를 집중하게 하고, 도드라져 보이며, 하나 이상일 수 있다고 합니다. Pattern은 Center를 생성하는 규칙이고, 이보더 더 일반적인 Sequence는 과정을 거치면 Center가 만들어지는 것을 말한다고 합니다.

Unfolding Generative 15 Properties (of Natural Morphology)가 다음에 소개되었는데요. 다음과 같습니다.
(강조된 것은 *)
  1. Levels of Scale
  2. Strong Centers *
  3. Boundaries
  4. Alternating Repetition *
  5. Positive Space
  6. Good Shape
  7. Local Symmetries
  8. Deep Interlock and Ambiguity
  9. Contrast
  10. Gradients
  11. Roughness
  12. Echoes
  13. The Void
  14. Simplicity and Inner Calm
  15. Not-Separateness[각주:6]
이는 15 transformations라고도 불리고, Refactoring(Latent Center를 찾음으로써)에도 적용될 수 있다고 합니다. 신용카드가 유효한 지 검증하는, Luhn Algorithm으로 원시적인 코드에서 Center를 강화시킴으로써 자라는 코드를 보여 주셨는데 매우 인상깊었습니다. 특색처럼, 대규모 응용에는 Process, People Relation, Online Community, Interaction Design이 언급되었습니다.

Q&A시간에는 어떻게 이런 것들을 적용하면 좋겠냐고 하셨는데,
Do once more good thing, Do it again and again…이라고 하시더군요.
작은 좋은 것들이 모여 더 큰 좋은 일에 기여한다는 것이었죠.

토론에는 "14. 효율적인 교육과 여가활용 방안"에 참석했습니다. 뵙기 힘든 다양한 분들을 만나, 진솔한 이야기를 나누고 들을 수 있어 유익한 자리였습니다. 각자 여가를 어떻게 활용하는 지에 대해 퍼실리테이터 역할을 맡으신 분의 조정으로 돌아가면서 이야기를 듣고는 했습니다. "아키텍트를 꿈꾸는 사람들"이라는 네이버 카페에서 활동하시는 분도 있으시더군요. 혼자서 하는 공부와는 다르게 여럿이 하는 스터디는 책임감에서라도 더 열심히 하게되는 동기가 주어진다는 생각을 했습니다. 하지만 토론규칙이나 형식이 지나치게 제약을 주지 않은 한에서, 더 짜임새있더라면 좋지 않았을까 하는 아쉬움도 남았습니다.

토론이 끝나고 나서는, 희망하는 조에 한해서 퍼실리테이터가 토론에서 의미있는 결론이나, 새로이 통찰할 수 있는 것들을 모아 정리해서 간단히 발표하는 시간이었습니다. 발표하는 분에게는 한정판 Geek 티셔츠(!)가 주어지더군요. 발표까지 끝나고 나자, 어느덧 저녁 10시를 약간 넘긴 시각이 되었습니다. 만나기 힘든 분들이 한 자리에 모여 서로 소통하고 배울 수 있다는 점에서 P-Camp는 가치있다고 생각합니다. P-Camp 세 번째 만남을 기대합니다.

사용자 삽입 이미지 사용자 삽입 이미지
사용자 삽입 이미지 사용자 삽입 이미지
  1. 개체발생(Ontogeny)으로 번역되곤 합니다. 발생생물학에서 연구되는 주제 가운데 하나. [본문으로]
  2. Gang of Four의 두문자어(acronym)로, "GoF 디자인패턴"으로 번역된 책이 있다. [본문으로]
  3. http://www.spamula.net/blog/archives/000243.html에서 두 번째 *** 다음 부분을 참고하세요. [본문으로]
  4. free는 무료가 아닌 없다라는 의미 무설탕(sugar-free)과 같은 맥락. [본문으로]
  5. Cellular differentiation을 의미합니다 [본문으로]
  6. Nature of Order에 관한 PDF 형식의 자료를 보려면 다음을 참고합니다. http://www.dreamsongs.com/NewFiles/NatureOfOrder.pdf [본문으로]
반응형
반응형

한국 루비 사용자 포럼
BarCamp RubykrSeminar4
루비 세미나 공식 블로그

사용자 삽입 이미지

4회 루비 세미나


2007년 9월 8일.

4회 루비kr세미나에 다녀왔습니다. 장소는 3호선 양재역 근처의 다음커뮤니케이션 건물 3층이었습니다. 전에 매쉬업 세미나때문에 갔던 곳이라 길이 익숙했습니다. 원래 2시부터 시작이었는데, 일찍 왔는데 문이 잠겨있길래 문 앞에서 기다리고 있다가 직원 분이 카드로 문을 열어주셔서 들어갈 수 있었습니다. 엘리베이터에도 카드를 찍으시던데 정말 신기하더군요.

저녁의 다른 약속과 겹쳐서 아쉽게도 세션을 다 들을 수는 없었습니다. 세션 1에서는 코디안님이 Rails 기반의 RSS 서비스를 소개하셨습니다. Main DB를 사용하지 않고 API만으로 RSS 리더를 구현하는 모습이 신기했습니다. 그 뒤에 나루라는 블로그 검색엔진과 관련있는 온네트에서 API에 대한 소개를 해주셨는데요, 아직 공중에 공개되지는 않았지만 그렇게 될 예정이라고 합니다.

세션 2에서는 우선 강규영님이 JSSpec을 이용한 JavaScript BDD(Behavior Driven Development) 개발을 주제로 발표해 주셨습니다. BDD는 TDD(Test Driven Development)에서 갈라져 나온 개발양식이라고 이해했는데, 맞는지 모르겠습니다. 끝에 TDD에 관한 바른 이해를 돕는 여러 좋은 말을 들었습니다. (테스트 주도 개발을 어쩌다가 읽고난 뒤 오래되서 기억이 가물가물하네요.)
그 다음에는 '쉽게 배우는 JRuby on Rails'를 번역하신 이창신님이 저자직강으로 JRuby에 대해 이야기해주셨습니다. 현재 C/C++나 Java가 꽤 많이 쓰이고 있는 것은 사실이고, 그래서 Java와 연동이되는 JRuby on Rails는 미래지향적인 곳이라면 한번 도입해보는게 좋다고 들었습니다. JRuby on Rails는 앞으로 Java SE 5를 선행 요구사항으로 하여 개발될 예정이라고 합니다.

세션 3에서는 RubyCocoa에 대해서 Jenix님이 발표해주셨습니다. 코코아 프로그래밍이라는 책을 번역하셔서 곧 나올 예정이라고 하셨는데 9월 15일에 정식으로 인사이트에서 출판되었군요. 맥 개발환경이 낯설긴 했지만, 드래그앤 드롭으로 버튼을 만들고 하는 모습이 신기해 보였습니다. 덧붙여 Objective-C에 대한 호기심도 생겼고요.

그 다음 부분부터는 듣지 못해서 아쉬움이 남았습니다. 일찍 나와서 루비가 신입 참가자에게 준다는 루비가 그려진 가방도 못받고, 기념품도 못 받은채 갔네요. 루비 세미나 공식 블로그를 방문하시면 4회 세미나의 내용을 동영상으로 보실 수 있습니다. 저도 시간나면 세션 3 뒷부분과 세션 4 부분을 봐야겠네요.

여러 유익한 점들을 배울 수 있어서 좋았습니다. 차회 세미나에 또 참가하고 싶네요.

반응형

+ Recent posts