요즘 게임 엔진 프로젝트 만 계속 진행하다 보니까 너무 지루하고 힘들어서 의욕이 나지 않았다. 그래서 잠깐 쉴 겸 새로운 서브 프로젝트를 하나 진행해야겠다고 생각했다. 어떤 것을 할까 생각하다가 예전부터 필요하다고 생각했던 것을 떠올렸다. 나는 여러 개발자 블로그나 웹사이트들을 자주 둘러보는 편이다. 재미있어 보이는 글이 올라오는 블로그나 사이트들을...
오늘 슬랙을 보다가 재미난 글 이 올라왔다. 1 2 3 4 5 6 int x = 5; while(x --> 0) { std::cout << x << " "; } // 출력: 4, 3, 2, 1, 0 C++에 새로운 연산자가 추가되었다는 내용이였는데, while문에 -->를 쓰면 x가 하나씩 줄면서 반복문을 돌게 된다는 것이다. 처음 봤을 때는 재미있는 연산자가 추가되나보다 생각을 했다. 근데 글을 더 읽어보니 이게 이전 버전...
이 블로그는 Hugo 라는 정적 웹 페이지 생성기로 만들었는데, 정적 웹 페이지인 경우 서버에 있는 데이터를 실시간으로 수정하지 않기 때문에 댓글 기능을 구현하기가 힘들다. 그래서 이러한 댓글 기능을 추가하는 여러 서비스들이 있다. 이 테마에서는 disqus 하고 staticman 을 지원해서 한 번 적용시켜봤는데, 둘 다 만족스럽지가 않았다. Disqus의 경우 장점 구현하기가 쉽다...
최근 EASTL 에 있는 string을 쓰면서 내부에 구현된 최적화 방법을 발견했는데, 이게 상당히 흥미로웠다. SSO(short string optimization) string은 보통 문자열 데이터를 담기 위해 동적 할당을 한다. 그래서 여러 string들을 합치고 빼다 보면 heap 메모리 할당/해제가 빈번하게 발생한다. 이러한 문제를 줄이기 위해, 짧은 문자열인 경우에는 동적 할당 대신에 동적 할당을 하...
개인적으로 만들고 있는 게임 엔진에서 문자열 formatting은 {fmt} 라이브러리를 사용하고 있다. 이게 예전 버전에서는 UTF-16 / 32(char16_t, char32_t)가 지원이 안 되어서 소스코드를 수정해서 쓰고 있었지만, C-style 문자열(const char16_t*, …)을 parameter로 넘기면 컴파일 오류가 발생한다. 고치려고 했지만 너무 복잡할 것 같아서...