2010년 12월 7일 화요일

boost

여지껏 프로그래밍은 회사에서 집에선 책이라는 모토아래,
개인 프로젝트를 해본 적이 없습니다만,(쉬는 틈틈이 알바한적은 있습니다만,)
프로그래머의 길, 멘토에게 묻다 의 장난감 패턴을 본뒤로 집에서도 살살 프로젝트를 진행해야겠다는 생각을 하고 있습니다. 뭐 책만 보고 회사에서 프로젝트로 진행하지 않을 경우 다 잊어버리는 문제도 있구요(실제로 렌더링 집에서 공부한 것들은 대체적으로 현실감 잊게 와닿지 않고 있습니다.) - (기존 제 블로그개발 환경 구성 참고)

일단 소프트웨어적으로 실제로 해봐야 할 건,
1. 멀티쓰레드 개념 잡기 / 테스트 패턴 적용(테스트 주도까진 모르겠습니다만, 일단 테스트를 염두에 두는 코딩이 기본이 될 거 같습니다 - 테스트를 나중에 작성하는 건 고통스러우니까요-ㅅ-)

2. 기타 표준 라이브러리 제대로 사용.
    => 보통 게임 엔진은 stl / boost  와 거리감이 있는 듯 합니다.(콘솔 지원등의 이유가 있겠지요). 그래서 집에선 stl , boost(tr1,tr2? , 0x) 등의 C++ 표준 따라가기를 진행해야 할 거 같습니다. 이번에 저번에 메모리풀 등을 보면서 여러가지로 좀 더 봐야할 필요성도 느꼈구요.

일단 베이스 프로젝트를 만들어야 하니,
boost + google io stream + stl(or eastl) + debug(ignore 가능한 assert) + dump(에러리포트 포함) + log(level 단위) + google test + component(+object pool}
정도로 생각하고 있습니다. 쓰고나니까 많아 보입니다만 뭐 늘 많이 하던거니 금방되겠지요^^.

boost 에 flyweight 이 있던데 MMO를 예로 들더군요 관심있게 봐바야겠습니다. 이번 기회에 람다와 bind 도 좀 보구요~