Social Reiot

Social Game Developer wandering in strange dungeon.

Don’t Reinvent the ACE

ACE를 처음 소개받은 때는 윈도우용 서버를 처음 개발하던 2003년도였다. 그러나 그 방대한 프레임워크와 학습량에 질려 제대로 써보지도 못하고 결국 포기하고, 대신 Proactor 와 비동기 입출력 부분만 직접 구현, 일년 정도의 정제 과정 끝에 5분만에 새 서비스를 만들어서 띄울 수 있는 수준까지 서버 코어를 완성할 수 있었다. (물론 일부 몰지각한 버그들로 인해서 삽질도 많이 했었다.)

이제 와서 돌이켜보면 그간의 과정들은 바퀴를 재발명하는 것과 비슷했다. 이미 ACE에 도입된 ACE_Task 같은 개념들을 열심히 재구현하고 있거나, win32 API를 래핑하고 있는 자신을 발견하는 경우가 한두번이 아니었다. 물론 ACE의 무게나 최적화에 대해서는 많은 이견이 있지만, 동접 수십만의 MMORPG를 만들지 않는 한 괜찮지 않을까 하는 검증되지 않은 희망을 품고 있다.

그 외에도 이번에 만들 진정한 분산 서버를 위한 기능들이 이미 ACE에 존재하고 있다는 점도 매력적이다. 물론 다운 버그를 잡느라 프레임워크 속에서 허우적대며 디버깅하는 모습이 상상되긴 하지만, 한번 도전해보련다. 캬캬~

ps. 그런데 벌써부터 vc8 + unit test + ACE 의 궁합(/clr:safe 옵션)이 잘 맞지 않고 있다. :(

see also:

- [ACE 팁 모음](http://reiot.cafe24.com/archives/413)

Comments