티스토리 뷰
라이브 프로젝트에서 C++ 테스트 주도 개발하기 구체적인 행동 요령과 시행착오 공유.
홍종찬
- 해맑은 웃음이 인상적. 긍정적인 분이신듯?
- legacy 코드에 유닛 테스트를 적용하는 사례가 인상적이었다. 사실 라이브건 아니건 TDD로 100% 코드 커버리지는 없기에, 어디에나 적용되는 사례라고 봐도 무방해서 유익했다.
- Q&A시간에 현재 프로젝트에 적용중이지 못하시다는 말에 나까지 아쉬웠다...;;
- 코드 작성중 리팩토링 금지. 운전중 휴대 전화 사용과 유사하다는 말이 가장 인상적이었고, 공감 100배
게임 내 스토리 텔링의 중요성: 게임의 스토리란 과연 포르노의 줄거리에 불과한가?
박범진
- 개인적으로 어디선가 많이 들어본듯한 스토리 텔링의 중요성 이야기.
- 25분짜리 짧은 세션이었으나 가볍게 들을만한 좋은 주제가 아니었나 싶다.
- 게임을 인터랙티브 무비 스럽게 접근했을 때의 가능성에 대해 적절한 비유로 잘 알려주셨음.
유연한 해외 서비스하기 - 해외 버전 관리 전략과 효율적인 커뮤니케이션
안중원
- 커뮤니케이션에서는 이메일로 핵심만 누구에게 전하는지 요점만 간단히 (Keep it simple and short.) 작성하라는 내용이셨다. (혹은 이미지 첨부 등으로 쉽게 이해 할 수 있도록)
- SVN 버전 관리 정책을 세종류로 분류 (단일, 브랜치 활용, 국가별 다른 버전) 장단점에 대해 논하셨다.
- File Conflict, Tree Conflict를 명확히 정리해주신 것도 좋았음.
차세대 게임과 한국 온라인 게임의 미래
배재현
- 뭐... LOL이 압도적 1위인 국내 시장 내가 봐도 문제가 좀 있어보이고, 요새 온라인 게임 힘들고, 트렌드가 모바일로 가는 중이다 이런 얘기는 알겠는데... 무슨 얘기를 하시려는지 요점을 이해 못하겠음.
- 좀 더 나은 서비스 (여러가지 면에서) 하자고 하시는거 같긴했으나... 아주 강력한 메시지는 없었던듯 ?
- ...으로 표현하신 사기 챕터는 나도 겪어본 적 있었던 바 아주 재밌게 들었다.
- 재충전의 필요성... 모두 공감하지만 왠만한 규모의 회사에서도 대체인력은 커녕 조금만 여유로워도 감축이니 뭐니 얘기나오는 국내 상황에서 쉬운 얘긴 아니라고 본다.
테스트 꾸준히 잘하는 법 (매일 정시에 퇴근하는 그사람의 비밀)
박종석
- Mock의 최소화는 절대 공감할 수 없었다. 테스트 마저 효율을 따져가며 해야 한다는 얘기신거 같은데, Mocking으로 인한 잘못된 원인 파악같은게 문제가 되긴 하겠지만, mock을 최소화하는 방식이 해결책이라는 의견은 공감할 수 없었다.
- 또한 Mocking으로 인해 테스트가 깨지거나, 잘못된 코드가 테스트를 통과되는 상황이 있더라도, 없는것보다 나은 커버리지를 구축하기에 더더욱 공감 할 수 없었다.
- Mocking으로 인한 고생은 시간을 날리는 것이 아니라, 기반 코드에 대한 이해, 테스트 커버리지가 낮은 상황 (Mocking을 실제 객체로 대체하려는 시도 또는, 기존 Mocking 상태에 대한 이해)에 대한 인지율을 높이기에 헛되지 않다고 생각한다.
- 또 신뢰성 있는 모듈사용은 테스트 코드를 작성하지 않는다 하셨는데, 신뢰성 있는 코드라도 내가 사용하는 코드가 불안해서라도, 혹은 사용법을 잘못쓸까봐서라도 테스트 코드 작성하는 것이 옳다고 본다.
- RPC 모듈 제작하시면서 버그가 하나 나왔다고 하셨는데, 우연으로 테스트 통과.... 이말이 뭔지 이해가 안갔음.
- 테스트의 종류를 성공해야 하는 테스트, 실패해야만 되는 잘못된 환경 테스트, 성공해야 하는 임계치 테스트로 분류해서 테스트 하셨음에도 우연이라 할만한 케이스가 있을까? 커버리지가 그만큼이 부족했던건 아닐까?
DVCS와 코드 리뷰. 그리고 자동화를 통한 쾌속 개발.
김진욱
- Rein이 이분인거 오늘 처음암.
- Git 를 기반으로 각종 도구들을 통합하며, 테스트를 자동화하고 리뷰를 강제하는 개발 프로세스에 대한 설명이셨음.
- 현재 우리팀과는 몇가지가 다른데, 리뷰 후에만 커밋된다는 점이 부러웠음. (나 개인적으로는 이걸 원하나, 여러가지 이유로 인해 선 커밋 후 리뷰 체제)
- VM을 띄워 클린한 상태에서 테스트가 돈다는 점이 인상적이었다.
- 이외에 운용하시면서 느낀 점과, 세팅된 현황등에 대한 디테일한 정리가 인상적이었음. 물론 리눅스 기반이라 알려주신 도구들을 그대로 우리팀에 적용은 좀 어려울듯.
- 현재보다 코드 커버리지를 높이는 여러가지 방안을 고민중이었는데, 역시나 리뷰인가...라는 생각이 듬. (+ 리뷰 강제)
사례를 통해 살펴보는 프로파일링과 최적화 (http://www.slideshare.net/veblush/ss-19957544)
김이선
- 명실공히 이날의 최고의 세션으로 손꼽고 싶다.
- 내가 프로파일링 & 최적화에 관심이 많은편이며, 디버깅도 좋아하는 편이다보니 더더욱 그랬을지도?
- 관심은 많으나, 어떻게 하면 좀 더 잘 최적화 할 수 있을까, 좀 더 잘 측정할 수 있을까, 통찰력을 높일 수 있을까 등에 대해 고민하던 시기에 아주 적절한 내용이 많았다.
- 마비노기2, 던파, 에버플래닛 등에서의 실제 사례를 설명해주셨는데, 내공과 통찰력에 감탄을 금치 못했다.
- 철저히 측정 기반으로 접근하신 점과, 그 개선에 대한 판단력 등에 박수를 보낸다.
- 현재 우리 팀에서 하고 있는 핫스팟 찾기, 기준치 (base-line) 초과 기준 프로파일링과 접근에선 유사했으나, 목표 코드를 찾고 해결책을 찾는 과정을 바로 옆에서 보진 못했지만 아마도 보자마자 머릿속을 스치는 최적화 가능하겠다는 경험과 통찰이 가능해서 해냈던 최적화들이라는 느낌은 나만 받은 것은 아닐거라 본다.
- Amd CodeAnalyst, VerySleepy 등의 툴에 대해 알게 된 것도 유용한 수확. 써먹자 써먹자!!
마비노기 영웅전 개발 테크니컬 포스트-모템
김재석
- 아마 기존에 마영전 세션들은 워낙에 많았어서 (자이언트 서버의 비밀이라던지) 어느정도 개발 비화 스러운 이야기를 많이하셨음.
- 잘한점 못한점 등을 나누어서 설명해주셨고, 당시의 상황들에 대한 이야기들은 애환이라던지 여러가지 공감대를 형성시키는데에 적절했다.
- 서버 기준에서 잘 안된점은 자이언트 서버의 비밀에서 알려져있어서 색다르지 않았으나, TD관점에서의 잘된점/잘못한점에 대한 회고는 여러가지 생각이 들게 됐다.
- 자이언트 서버의 비밀 때도 든 생각이지만, 이렇게 잘한점/못한점을 얘기할 수 있는 용기있는 세션이라는 점만으로도 충분히 멋졌다. 박수를 보낸다.
옆에 같이 보는 분도 계시고해서, 올해는 꼬치꼬치 공격적 질문은 안했습니다. =_=
해가 갈수록 그런 본능이 계속 줄고 있기도하고....
기타 몇개 세션을 더 들었으나.... 내 상태가 메롱해서 멍해서 필기 못한 세션에 대한 정리는 패스하는걸로...~
여하튼 발표해주신 분들 모두 모두 수고많으셨습니다. 저도 내년에는 꼭 좋은 주제 준비해 발표하고 싶네요.
하지만 7개 세션이 한번에 진행된 점은 좀 아쉬웠습니다. 예전처럼 3개 세션씩 4일에 해주셨으면 하는 바램으로... 간략한 요약 마무리 합니다.
'BlahBlah' 카테고리의 다른 글
몇시간 고생한 루비 관련 (사실은 SVN관련) 삽질... (0) | 2013.05.20 |
---|---|
내용별로 블로그를 분리했습니다. (0) | 2013.05.02 |
NDC 2013이 개최됩니다. (0) | 2013.04.08 |
가끔 질문 하시는... 엘키의 뜻 (0) | 2013.04.06 |
간만에 진짜 의미 없는 주절 주절 (0) | 2013.01.08 |
- Total
- Today
- Yesterday
- TraceRoute
- 멀티스레드
- EasyExec
- 디버깅
- MS-SQL
- 디자인 패턴
- 게임개발포에버
- svn
- 좋은 프로그래머
- NDC2013
- Rails
- 엘키
- Ruby on Rails
- 루비
- 바로가기 프로그램
- EzShortcut
- RoR
- SQLite Spy
- perfmon
- 임백준
- CppSQLite
- 리버스 엔지니어링
- ftp
- 조엘 온 소프트웨어
- 루비 온 레일즈
- 게임데브포에버
- ruby
- c언어
- TDD
- SDL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |