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 인스턴스 및...
더 읽기

Visual Studio 제거하기

MS가 만든 Visual Studio Uninstaller를 사용하여 제거하는 것이 좋다. 설치 파일은 아래 링크에서 얻을 수 있다. 다운로드 사용법 다운로드 -> 압축 해제 -> Setup.ForcedUninstall.exe 실행 -> 질문에 Y 답변 콘솔 창 혹은 파워셀을 관리자 권한으로 실행해서 Setup.ForcedUninstall.exe 실행하는 것이 좋다....
더 읽기

Node 7.6 에서 async/await를 기본으로 지원

Node.js 7.6 이 출시 되었다. async/await 지원이 기본적으로 유효하게 되어 낮은 메모리 디바이스에서의 성능이 개선되었다. Node 7.6의 async/await 지원은 Chromium의 JavaScript 엔진인 V8를 버전 5.5로 업데이트한 데 따른 것이다. 이것이 의미하는 것은 async/await는 이제 실험적인 것이 아니라는 점이다. async/await의 가장...
더 읽기

tm 에서 time_t로 UTC로 변환 하는 함수

헤더 파일 time.h 혹은 헤더 파일 ctime 에서 time_t와 tm 구조체와의 변환을 하는 함수를 정리했다.   time_t→ tm 구조체 tm 구조체 → time_t 현지 시각 localtime mktime UTC gmtime ? 표의 “?” 부분은 UTC로 tm 구조체에서 time_t로 변환하는 함수가 C...
더 읽기

초보 프로그래머를 위한 9가지 조언

항상 하나의 일에 집중한다 나는 새로운 것을 배울 때는 언제든지 할 일을 분해하고 임한다. 프로그래밍을 할 때 작업에 따라서는 복잡하게 구조화하여 생각하는 것이 있을 것이다. 1개의 태스크를 소화하기 위해서도 다양한 방법이 있고 선택하는 것만으로 방황한다. 다만 무엇을 해도 플러스와 마이너스는...
더 읽기

Amazon S3의 대규모 장애는 인위적 실수가 원인

미국 Amazon.com의 클라우드 사업 Amazon Web Services(AWS)는 “Amazon Simple Storage Service(S3)”서비스에서 발생한 대규모 장애에 관한 조사 보고를 현지 시간 2017년 3월 2일 공개하면서 인위적 실수가 원인이었음을 밝혔다. S3의 장애는 미국 버지니아 주 북부의 “US-EAST-1” 지역에서 태평양 표준 시간 2월 28일...
더 읽기

C++11 - 예외 지정

C ++에서는 함수에 예외 지정이라는 것을 작성할 수 있다. 이것은 C++98에서 부터 있는 기능으로 throw (T1, T2, …)라는 문법으로 함수가 밖으로 던지는 예외를 지정하는 기능이다. // C++98/03 void f() throw( int, double ); 만약 함수가 예외 지정에 지정한 것 이외의...
더 읽기

C++11 - noexcept

noexcept 키워드 목적. 1) throw 키워드에 의한 예외 사양 대체. 함수가 어떤 예외를 던질 가능성이 있는지를 열거하는 것이 아니라 예외를 던질 가능성이 있는지 없는지만 지정한다. 예외를 던질 가능성이 있는 함수에는 noexcept(false)을 지정하고, 예외를 던질 가능성이 없는 함수에는 noexcept(true) 또는 noexcept를...
더 읽기