C++ - Visual Studio 2017 15.7이 C++17 완전 준수

원문 Microsoft는 Visual Studio 2017 15.7 일반용 제공을 발표했다. InfoQ는 VS2017의 7번째 메이저 업데이트 개발을 쫓아왔다. 이것에 의해 IDE 전체의 많은 영역이 개선되었다. 이 업데이트는 현재 복사본을 덮어 설치할 수 있지만, 반면에 새로 설치할 때의 이점이있다. VS2017 설치 프로그램을 변경하여...
더 읽기

C++ - redis 사용하기

게임 서버를 개발할 때 사용하는 기술이 모바일 시대 이전에 비해서 많이 다양해졌는데 거의 대부분 꼭 사용하고 있는 것이 redis 이다. 다른 언어들은 redis 사용이 간단한데 C++은 간단하지는 않아서 정리를 해 봤다. boost를 사용하면 아주 쉽게 사용할 수 있고, boost를 사용하지...
더 읽기

C++ - httpClient, json, redis 예제 코드

C++로 http client 요청, Json 데이터 조작, redis와 통신하는 짧은 예제 코드 들이다. 아래 링크에 가면 코드를 볼 수 있다. curl 라이브러리를 사용하여 http 클라이언트 Post, Get 요청 http 클라이언트 사용 방법 (Post) http 클라이언트 사용 방법 (Get) json11 라이브러리를...
더 읽기

Windows 10 에서 Unix Domain Socket 사용 가능

Windows 10 2018년 봄 대형 업데이트에서 Unix Domain Socket 기능이 추가 되었다. AF_UNIX comes to Windows – Windows Command Line Tools For Developers Unix Domain Socket을 사용하기 위해서는 AF_UNIX를 사용하면 된다. 아래 예제 코드의 출처 코드를 보면 알겠지만 조금의 #ifdef로...
더 읽기

golang - goroutine이 교체 되는 타이밍

결론 Go언어에서 goroutine은 반드시 스위치 하는 것은 아니다. “for() {}” 같은 비지 루프를 GOMAXPROCS의 지정 수 이상 포함시키면 스위칭 되지 않는다. 경위 처리가 없는 비지 루프가 있으면 goroutine이 교환 되지 않고 처리가 멈추는 것을 알았다. 처리 내용을 전부 주석 처리...
더 읽기

golang - thread pool과 GOMAXPROCS는 관계 없음

golang의 경우 스레드 풀을 사용하고 있으며 블러킹 하는 시스템 콜이라면 다른 스레드로 옮겨서 처리한다. 부족한 경우에는 OS가 허락하는 한도 내에서 만든다. 이 수는 GOMAXPROCS 와는 관계 없다.
더 읽기

.NET - Enums.NET

Enums.NET C#의 enum을 직접 사용하는 것에 비해 Enums.NET을 사용하는 것이 더 빠름. 아래는 비교 코드. 출처 using EnumsNET; using System; using System.Diagnostics; using System.Text; public static class Program { private enum TYPE { GRASS, FIRE, WATER, } private static void...
더 읽기

golang - 성능 조사 slice vs array

출처 테스트 환경: go version go1.7.3 windows/amd64 package go1_6 const capacity = 1024 //배열 조작 array는 slice 보다 빠르다 func array() [capacity]int { // 배열 처리 테스트 함수 var d [capacity]int for i := 0; i < len(d); i++ {...
더 읽기