본문 바로가기
IT 이야기

QConSF2010 Friday

by csk 2010. 11. 6.

QCon 5일째 세션 내용입니다. 벌써 마지막 날이네요.

 

keynote 내용 간략 정리

 

□ Software Design in the 21st Century

- Martin flowler의 강의. 내용이 좋긴 했으나, 세권의 책소개로 결론지워진 점이 아쉬움.

  (주제를 세개나 시간쪼개어 말해주면서 궁금하면 사서봐라~ 이런 느낌...--;)

 

1) Domain Specific Language
- DSL 이라고 들어는 봤으나, 매우 널리 쓰이고 있고 (정말일까?--;) 훌륭하다고 주장함
 (DSL이 이번 세미나에서 그다지 많이 소개되지 않아서 개인적으로도 아쉬움)
- 한 사례에 대해 state machine, java code, xml code 등을 쭈욱 보여주면서,
  DSL이 얼마나 간결하게 도메인 내용만 잘 표현하는지 부각시킴
- DSL을 internal과 external로 나누어 볼때, internal은 programming언어와 유사할 수 있음
- DSL을 정의하면
  "a computer programming langauge of LIMITTED EXPRESSIVENESS
   focused on a particular domain" 이라 할 수 있음
- 제한된 표현이라는 점이 DSL을 깔끔하게 하는 특징이고,
  DSL을 통해(populate) semantic model(여러 다이어그램들)을 생성할 수 있음  
- Domain Specific Language 라는 책소개로 마무리

 

2) Continuous Delivery
- 엊그제 tutorial에서 강의한 내용과 중복됨
- Continuous Integration 더 나아가 continuous delivery 해야한다고 강조
- 역시 동일한 명칭의 책 두권 소개로 마무리

 

3) Event Sourcing
- application은 응용의 클래스 뿐아니라 기록을 위한 log 부분을 가짐
- log를 남긴 부분을 좀 더 넓게봐서 event라고 부르며,
  이를 사용하여 특정 시점으로 되돌리거나, 여러곳에 응용의 똑같은 상태를 복제하거나,
  일련의 event 흐름 중 하나의 event를 다르게 적용하여 응용의 상태 결과를 비교하는 등의 작업이 가능
- 관련하여 CQRS (Command Query Responsibility Separation)을 소개


□ 세션별 내용

 

■ Lesson Learned to lessons Productized at MS developer division

- MS Engineer가 Visual Studio 개발 경험을 이야기 한 사례
- Agile을 적용했으며, iteration 주기는 짧을수록 성공적
- 개발진행 중 bug 그래프를 보여주는데, 2005년대리 2008년은 초기 bug 숫자가 1/3으로 줄었음
  이것도 역시 agile의 결과라고 말함 (역시 Agile은 대세!!)
- 앞으로의 research는 unit test discovery 및 path analysis, mocking framework, bug 통계학 등이라고 언급
- customer survey를 매우 공들여 분석하고 있으며 제품을 만드는 회사가 모두 따라야 할 것
  (윈도우즈에서 당장 오류났는데, 오류보고를 하시겠냐는 그 답답한 메시지를 자랑하는 것인듯...--)

 

■ Inter-disciplinary Design in Large Scale

- global 분산 회사의 leading architect가 다양한 역할의 사람과 의사소통하며 진행한 프로젝트 경험을 공유한 세션
- "다양한 역할자들이 서로 배경지식이 다르니 용어부터 정의해야 한다" 등 결론만 들으면 매우 당연한 것들이었음.
- 의사소통을 위해 design 을 쉽게 유지하라.
- 확장을 고려한 설계를 하라.
- MVC를 적용해 각 사람들이 스스로의 강점을 각 영역에서 발휘할 수 있도록 하라.
- build하고 version을 관리하라
- 시차가 있는 프로젝트에서 scrum metting이 제대로 동작하지 않더라.
  (Agile을 적용했고, 사무실간 카메라 설치해서 영상도 주고받았으나, 그런다고 성공하진 않더라며 비관적입장)
- 가능한 모든것을 자동화하라.

 

■ Abstractions at Scale, Our Experience at Twitter

- twitter의 대규모 설계 사례 공유 세션
 (이번 세미나에서 twitter는 아주 먹어주는 회사였음. 정작 내용이 실하지 않아도 사람은 많음..)
- 추상화를 통해 설계 모델을 단순화 하고 이를 여러 계층을 거쳐 반복적으로 추상화 함으로써,
  모두 공유할 수 있는 모습을 관리하자는 의도

□ 소감

 

- MS 발표자의 세션에 사람이 없고 청중들의 열의가 전혀없는데 반해
  Twitter나 Martin fowler가 속한 Thoughtworks의 engineer들의 세션에는 사람이 매우 많고 아주 역동적이었음.
  반 MS 정서인건지, 그저 기술적으로 MS가 왕따인건지 모르겠음.

 

- 대부분의 참여자들이 청바지에 라운드티를 입었고, 젋은 편이었으며
  관리적 내용보다는 개발기술 자체에 몰려 진정한 개발자 컨퍼런스라는 느낌이었음.
  또 발표자를 포함한 대부분의 참여자들이 애플 폰에, 애플 노트북이었음. 완전 애플 대세....

'IT 이야기' 카테고리의 다른 글

분석의 전략  (0) 2011.05.15
분석 그리고 설계  (0) 2011.04.30
QConSF2010 Thursday - noSQL  (0) 2010.11.05
QConSF2010 - Wednesday  (2) 2010.11.04
Innovation at Google  (1) 2010.11.04