C++11 - alignof

개요 alignof()는 지정한 타입이 메모리의 어느 위치에 배치될지를(배치) 얻는 연산자이다. sizeof()와는 다르고 alignof()는 변수에는 사용할 수 없다. 예를 들면 타입 int가 4바이트 경계 위치로 배치되는 시스템이라면 alignof(int)은 4를 반환한다. 문법 alignof(타입)은 지정한 타입의 배치 크기를 반환한다. 반환 값 타입은 std::size_t이다....
더 읽기

C++11 - alignas

개요 alignas()은 컴파일러에 대한 변수를 메모리 상의 특정 위치에 배치(배열) 하도록 요구하는 키워드이다. 예를 들면 4바이트 경계 위치에 배치할 경우 변수는 4의 배수 주소로 배치되고, 8바이트 경계 위치에 배치할 경우 변수는 8의 배수 주소로 배치된다. 문법 alignas()는 변수 선언이나 클래스...
더 읽기

Visual Studio - 자주 사용하는 단축키

문자 검색/치환 Ctrl+F: 문자 검색 Ctrl+H:문자의 치환 직사각형 선택 Alt 키를 누른 상태에서 마우스로 원하는 직사각형 모양의 범위를 만든다. 자동 인덴트(indent) Ctrl+K, Ctrl+D: 파일 전체의 인덴트 조정 Ctrl+K, Ctrl+F: 선택 범위의 인덴트 조정 코드 개요 확장/축소 Ctrl+M, Ctrl+L: 파일 전체의...
더 읽기

Visual Studio - cpplint 사용하기

cpplint ? cpplint는 python으로 만든 C++ 소스 코드가 Google C++Style Guide를 지키고 있는지 검사하는 툴이다. cpplint 설치 python 2.7에서 pip로 설치한다. Visual Studio에 외부 툴로 cpplint를 등록 VS의 메뉴에서 [도구]-[외부 도구]를 선택한다. 아래와 같이 입력한다. VS의 메뉴에서 [도구]를 선택하면 아래와...
더 읽기

2017년 03월 ‘온라인 서버 제작자 모임’ 정기 세미나

한국 MS의 멜팅팟 프로그램 지원을 받고 온라인 서버 제작자 모임 에서 3월 정기 모임을 합니다. 날짜: 3월 30일 (목) 19시 30분 ~ 21시 30분 장소: 토즈 강남점 내용 최흥배: 해외 강연 해설 ‘여기까지 할수 있다! Visual Studio 2015-강화된 C++ 크로스플랫폼...
더 읽기

Debugging Node.js Performance Issues in Production

아래 강연의 내용의 일부를 정리 Debugging Node.js Performance Issues in Production 느리게 되는 이유 single thread CPU intensive code Slow I/O Event Loop saturation Running out of memory Garbage Collection CPU intensive code examples: Sync I/O fs.*Sync JSON.parse RegExp Crypto...
더 읽기

C++11 - type_info와 type_index

C++에서는 RTTI(Run Time Type Infomation/Identification)라고 불리는 기능이 있다. ( 타 언어의 리플렉션과 좀 비슷한데 기능은 훨씬 떨어짐 ^^;) std::type_info는 타입 정보를 표현하는 클래스이다. type_info 객체는 typeid 식에서 얻을 수 있다. typeid 식은 오퍼랜드 식 혹은 type-id를 취한다. typeid 식의 결과는...
더 읽기

VS2017 에 포함되어 있는 C++ 컴파일러 버전 매크로

VS2017 에 포함되어 있는 C++ 컴파일러의 버전 매크로는 _MSC_VER 1910 참고로 VS 2015는 1900. MSVC 런타임은 2015와 바이너리 호환. 그리고 VS 2017를 설치할 때 옵션 선택에 의해 VS 2015.3의 MSVC도 별도 추가할 수 있다. 출처: https://blogs.msdn.microsoft.com/vcblog/2017/03/07/binary-compatibility-and-pain-free-upgrade-why-moving-to-visual-studio-2017-is-almost-too-easy/
더 읽기

Boost.Asio 공부하기

나는 2007년부터 Boost.Asio를 온라인 게임 서버 개발에 처음 사용하였다(업무에 사용하는 것을 말한다.그전에 공부는 했었다) 당시 주위의 게임 개발자를 통해서 생각외로 사용하는 곳이 꽤 있었다. 이 후 한국 및 해외의 유명 회사들도 C++ 네트워크 프로그래밍에 사용하고 있다고 들었다. 한국의 온라인 게임이...
더 읽기

Google Cloud Platform의 15개 서비스를 영구 무료 한도를 제공

구글은 2017년 3월 10일 Google Cloud Next 17의 3일째 기조 강연에서 15개 서비스의 영구 무료 쿼터를 발표. 영구 무료 한도 대상 서비스 이름과 월 제한은 다음과 같다(제품에 따라서는 아래 외에도 제한이 있다). Google Cloud Engine(미국 지역의 f1-micro 1 인스턴스 및...
더 읽기