인프런 커뮤니티 질문&답변
실무에서도 alloc, 스마트포인터 등을 구현해서 쓰는지 궁금합니다.
작성
·
29
·
수정됨
0
강의에서는 직접 만들어서 쓰기도 한다고 언급하셨는데, 그게 업계에서 대부분이 그렇게 쓰는건지, 아니면 특수한 경우에서만 그렇게 썼던 것인지 궁금합니다.
강의에서 나온 xnew 같은 것들을 만약 디버깅이나 개발의 편의성을 위해서 직접 쓴다면, 제가 개인 프로젝트를 할 때 강의에서 나온 주요 서버 엔진 코드(매크로 등)를 기본 베이스로 깔고 해도 되는건가요? 아니면 만들다가 필요한 부분이 있으면 그때 그때 엔진도 같이 발전시켜 나가는 형태로 개발이 되는건가요? 이 강의를 다 듣고 추후에 포트폴리오를 만들 때 강의에 나온 코드를 이용하여도 되는지 궁금합니다.
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 류재민님
강의에서 언급하신 스마트포인터나 xnew 같은 직접 구현된 메모리 관리 기능들이 현대 게임 개발 실무에서 어떻게 활용되는지에 대해 궁금하신 것 같습니다.
일반적으로 실무에서는 메모리 관리의 안정성과 효율성을 높이기 위해, C++ 컨테이너와 스마트포인터 같은 표준 라이브러리를 많이 사용합니다. 특히, 안정성과 유지보수를 고려한 대규모 프로젝트에서는 이러한 표준 라이브러리를 선호합니다. 그러나, 성능 최적화가 중요한 부분에서는 프로젝트 특성에 맞는 커스텀 메모리 할당기를 만들어 사용할 수도 있습니다.
몇 가지 참고하실 수 있는 글이 있어 공유드립니다:
- 생포인터 사용: 특정 상황에서 생포인터 문제를 다루는 방법과 주의점에 대한 설명을 제공합니다.
- 학습 시작전에 궁금한거 질문드려요: 게임 서버에서 Lock Free 알고리즘 사용 여부에 대한 답변으로, 경합 문제와 성능 고려 사항에 대한 인사이트를 얻을 수 있습니다.
강의에서 제공된 코드 기반으로 개인 프로젝트를 시작하셔도 무방합니다. 다만, 프로젝트 진행 과정에서 필요에 따라 기능을 추가하거나 수정하며 프로젝트를 발전시키는 것이 일반적입니다. 포트폴리오를 만들 때는 강의 코드 자체를 사용하는 것보다는, 본인의 이해를 바탕으로 커스터마이즈하고 확장한 결과물을 보여주는 것이 더 나은 평가를 받을 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






감사합니다! 그러면 표준으로 개발을 하는 중에 Stomp Allocator 등을 써서 오류를 고치칠 땐 연산자 오버로딩을 사용해서 코드를 고치고, Read-Write Lock 같은걸 사용해야 할 때는 바로 mutex를 사용하는게 아니라 서버 엔진에 미리 Lock 클래스를 만들어서 사용하나요?
얼마나 베이스가 되는 엔진 부분을 미리 구현하고 본격적인 서버 개발에 들어가는 지가 궁금합니다.