C++ - C++03과 C++11 싱글톤 구현 차이

C++11에는 ‘C++11 - 블럭 범위를 가진 static 변수 초기화는 스레드 세이프 하다’ 라는 기능이 생겼다. 그래서 아래와 같이 쉽게 싱글톤 인스턴스 생성 가능하다. template <typename T> inline T& Singleton<T>::getInstance() { static T inst; return inst; } 그러나 C++03 에서는 멀티스레드에서...
더 읽기

Microsoft가 클라우드 게이밍 서비스 PlayFab을 인수하여 Azure에 통합

원문 Microsoft가 PlayFab를 인수했다. 이것은 개발자들에게 간단한 백 엔드 서비스를 제공하고 타이틀의 기동을 재빨리 할 수 있도록 하는 서비스이다. Microsoft의 Azure 게임 그룹에 통합될 예정이다. 시애틀에 본거지를 둔 이 회사는 투자자로부터 약 1300만 달러의 자금을 조달하고 있었다. 이번 계약 조건은...
더 읽기

10GbE 에서는 Jumbo Frame가 효과적, 1G와의 혼재 환경에서는 MTU 사이즈에 주의

번역. 원본 10GBASE-T 회선의 성능이 6~7Gbps 정도로 포화 되는 경우가 많다. 이유는 MTU(Maximum Transmission Unit)이다. MTU는 요컨대 최대 프레임 크기로 이 숫자를 넘는 데이터를 전송하는 경우 프레임이 분할된다. Ethernet에서는 최대 프레임 크기가 1500로 되어 있으므로, 기본적으로 1500Bytes를 벗어나는 데이터는 여러...
더 읽기

C#으로 대규모 모바일 게임 서버 만들기- ASP.NET Web API와 NoSQL

작년에 할 예정이었던 강의이었지만 수강자 부족으로 열리지 못했습니다. (작년에 하반기 예정했던 강의가 수강자 부족으로 모두 열리지 못했습니다) 제가 Next에서의 계약이 끝나서 구직 중이라 지금 잠깐 시간이 날 때 강의를 하려고 합니다. 유료 강의는 진행하기 쉽지 않은 것 같아서 이런 류의...
더 읽기

C++ - EASTL

GitHub EASTL 게임 회사 EA에서 오픈 소스로 공개한 것으로 C++ STL을 게임 개발에 맞게 고친 STL 이다. 크로스플랫폼을 지원하고 Visual Studio 2017을 지원한다. 빌드는 Cmake를 사용한다. 관련 글 일어로 된 글은 네이버 번역기로 보면 된다. EASTL - 할당자(allocator) http://ohyecloudy.com/pnotes/archives/250/ EASTL...
더 읽기

C++ - Visual C++ 에서의 std::chrono의 고해상도 시계

Visual Studio 2015 이전에는 std::chrono(high_resolution_clock을 사용해도)로 시간 측정을 하면 nano 단위로는 측정할 수 없었다. 그래서 VC에서 nano 단위로 측정하려면 이전처럼 Win32 API인 PerformanceCounter를 사용해야 했다. 그러나 Visual Studio 2015부터는 nano 단위의 측정이 가능하다. #include <iostream> #include <chrono> #include <typeinfo> #include...
더 읽기

C++ - null 객체의 멤버 함수 호출

클래스를 메모리 할당(new 생성)하지 않고 생성한 후 멤버 함수를 호출하면 어떻게 될까? 호출된 멤버 함수가 자신의 멤버 변수를 호출하지 않는다면 무사히 호출된다. 당근 멤버 변수를 호출하면 세그먼트폴이 생긴다. 아래 코드는 gcc 8.0 에서 테스트 되었다. VC에서도 문제 없이 되는 것으로...
더 읽기