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 |