비쥬얼씨뿔뿔 (180.♡.243.82)
2025년 12월 29일 AM 01:38 · 수정됨(01. 16. 02:37)
개발을 진행 하면서 '도그푸드를 먹는다' 라는 말을 2000년 초반에 처음 들었습니다.
정확히는 책에서 처음 봤지요. 원어로는 도그푸딩 이라고 하는것 같습니다.
'싸우는 프로그래머'라는 책을 저는 강추 하는데요.
이 책은 데이빗 커틀러가 MS에 스카웃 되서 NT OS를 제작하는 스토리를 다룹니다.
거기에 보면 NT OS를 개발하면서 하나씩 자신들이 작성한 코드를 적용해서 프로젝트를 돌리게 됩니다.
자신들이 만든 NT커널의 메모리 관리 프로그램을 적용해서 메모리 관리를 시작하고
NT OS의 서버 기능을 적용해서 개발을 진행하고...
그러면서 온갖 문제가 다 튀어나오는데.. 그걸 '도그푸딩'이라고 표현해서 정말 재미있었어요.
아마 엔진이나 프레임워크 개발 하는 경우가 아니면 대부분 이런 말 안쓸텐데요..
원래 MS의 LAN Manager개발 과정에서 이메일에 처음 표현했고.. 그 후에 NT OS개발 팀에서
도그 푸딩이라는 말을 본격적으로 사용 했다고 하더라고요.
이 얘기를 왜 하냐면.. 오늘 처음으로 정식으로 개인 개발 프로젝트에 도그 푸딩을 시작 했습니다.
1차로 page관리가 가능한 메모리 풀로 시작 했는데.. 온갖 에러가 다 튀어 나오네요..
단순한 메모리 정렬 계산식에 괄호 실수로 부터.. 포인터 계산 실수까지..
아무튼 대부분 도그 푸딩 중.. 대부분의 버그를 수정하고 이제는 '일단은' 잘 돌아가네요.

구조를 원래 계획대로 다 바꾸고.. D3D11 코드는 전부 dll로 빼버려서 플러그인으로 만들어 버렸습니다.
mark3D(엔진 메인루틴) + renderer_d3d11(D3D11 렌더러 플러그인) 의 합으로 돌아가게 만들었습니다.
dll로드 및 각종 d3d11초기화, 내부 캐시 할당 등등의 초기화를 하고
종료시 할당및 초기화한 모든 인스턴스 및 메모리등을 깔끔히 정리 하는 것 까지 확인하고 dll unload까지 확인했습니다.
진짜로 이제 렌더러 띄울수 있겠네요.. 쌩 바닥부터 하려니 힘들었습니다. 그래도 재미는 있군요.
댓글 (5)
-
TTokayDrago
25.12.29 · 223.♡.79.158
- 긴
긴급휴무
25.12.29 · 211.♡.71.91
어셈블리어에서 진화하신거군요. -
비비쥬얼씨뿔뿔
→ 긴급휴무 작성자
25.12.29 · 180.♡.243.82
ㅎㅎ 네.. 사실 어셈블리어는 32비트 시절까지 열심히 썼고..
64비트 부터는 거의 인트린직 가지고만 놀고 있어서.. 과감히 바꿨습니다. -
코코끼리대파
01.01 · 61.♡.36.99
옛날에는 누렁이밥에 온갖게 다있었죠
그래서 개밥먹기라고 했나봐요 -
그그랬군요
01.16 · 174.♡.27.245
댓글을 작성하려면 이 필요합니다.
저도 나름 매니징하고 있는 팀에게 맨날 하는말이 "만들면 직접 써 봐라" 입니다.
만들고 땡 하지 말고 직접 써 보고 아쉬운 점을 리포팅 해서 개선점으로 올리라고 하는데....
안하더라구요 ㅋㅋ
1회성 업무만 계속하지 않으려면 개밥먹기 엄청 중요 합니다.