엘키의 주절 주절

소소한 개발 이야기

디아블로2 렐름 다운 정책 정리

서버의 부하를 줄일 수 있는 부하 조절 정책으로, 블리자드의 디아블로2팀이 조치한 방법이 어떤 방법인지 알아보자. 서버에 요청하는 액션이 일정 횟수 이상 반복되면 Trouble 유저로 판단. 방 입장/퇴장 반복 방 생성 후 일정 시간 이내에 빠른 퇴장 로그인/로그아웃 반복 Trouble...

서버 최적화 핵심 요약

Through-put 초당 소화 가능 이벤트. 이는 DB나 연결된 기능들과의 교신/처리가 포함된 계측 이어야 한다. 분산 가능한 특정 이벤트들은 지정된 서버와의 교신 (P2P스러운 접근)만으로 처리함으로써, 비용을 분산 시킬 수 있다. 일반적으...

KGC2012 - 뛰어난 디버거가 되는 방법

김성훈 - 뛰어난 디버거가 되는 방법 from 성훈 김 KGC2012 강연 자료입니다.

단점 고치기

개요 이직 한지 대략 한달쯤 됐군요. 입사하고 나서 느낀 가장 아이러니 한 것은, 오픈이 얼마 남지 않은 프로젝트인데도, 검증이나 테스트가 의외로 안되어 있더라는 점이죠. 유닛 테스트 자체는 적지 않지만 그 커버리지가 높다고 하기 어려운 상황이고요. 전반적인 자동화를 통한 커버리지를 올리는 작업을 주로 하고 있습니다. 계측/측정에 대한 업무 위...

사고뭉치를 위한 디버깅 방법 03

이번 시간에는 예고한 대로 버그 재발 방지에 대해서 알아보겠습니다. 저를 포함한 대부분의 개발자들은 버그를 만듭니다. 인재들이 모였다는 MS의 IE 베타버전이 얼마나 엉망인지 아시죠? QA와 오류 보고 시스템 등을 통한 검수가 정식 버전을 안정성있게 만드는 것이지 MS가 만든 제품도 버그가 많습니다. 그 들이 극찬하는 IOS나 OSX요? 네 그렇게 ...

사고뭉치를 위한 디버깅 방법 02

지난 포스팅에서도 이야기 했다시피 일반적으로 버그에 대한 보고는 자신이 겪은 증상에 대한 보고 입니다. 아주 행복한 시나리오는 보고 받은 대로 시도하면 100% 재현 되는 버그입니다. 이런 종류의 버그는 너무나 해결하기 쉬워 “훗~ 어떻게 고쳐줄까?” 라고 고민하는 것만 집중하면 되지요. 하지만 대다수의 잡기 힘들었던 버그는 “그냥 뜬금 없...

사고뭉치를 위한 디버깅 방법 01

안녕하세요. 엘키라고 합니다. 이 블로그를 보시는 분들 다들 뛰어나고 다양한 경험을 많이 갖춘 분들이시겠지만, 제 경험담을 바탕으로 디버깅에 대해 알아보는 시간을 가져보고자 이렇게 나섰습니다. ^^ 우리는 모두 사고 뭉치입니다. 사람이란 실수할 수도 있다는 것을 전제로 이 글을 작성 하고자 마음 먹었죠. (정확성이 떨어지는 발로 하는 스포츠인 축구...

애플 신드롬과 MS에 대한 사설

“애플보다 MS가 세상을 바꾼 능력자”… 그 이유는? 나 위 기사와 역시 같은 생각이다. 내 지인들이라면 알겠지만 나는 MS가 만들어준 환경이 고마움을 절실히 느끼는 사람이다. 실제로 Visual Studio, Windows, Office 등 MS 제품군의 완성도면에서 굉장히 만족하는 편이고. 내가 늘 주장하는 바는 이렇다. ‘과연 다른 회사...

윈도우 환경에서의 C++ 프로그램 예외처리

윈도우 예외 처리에 대한 정리 개요 윈도우에서 사용가능한 예외 처리로는 C++ 예외 처리와, SEH (Structured Exception Handling) 이 있습니다. 일반적으로 SEH(Structured Exception Handling)이라고 말하면 Windows 자체적으로 지원하는 구조적 예외 처리를 의미합니다. (관련 키워드 : __try...

프로그래밍 개발시 좋은 습관

Open-Close 원칙 객체는 수정(modification)에는 닫혀있고(Close), 확장(extension)에는 열려있어야(Open) 한다. 중복을 제거하라 같은 기능을 하는 코드를 묶어, 중복을 제거하자는 원칙. 메소드 간소화 메소드는 두가지 일을 하게 만들지 말아라. 메소드의 이름에서 벗어나는 일을 하지 말라. ...