원문 Microsoft는 Visual Studio 2017 15.7 일반용 제공을 발표했다. InfoQ는 VS2017의 7번째 메이저 업데이트 개발을 쫓아왔다. 이것에 의해 IDE 전체의 많은 영역이 개선되었다. 이 업데이트는 현재 복사본을 덮어 설치할 수 있지만, 반면에 새로 설치할 때의 이점이있다. VS2017 설치 프로그램을 변경하여...
더 읽기
게임 서버를 개발할 때 사용하는 기술이 모바일 시대 이전에 비해서 많이 다양해졌는데 거의 대부분 꼭 사용하고 있는 것이 redis 이다. 다른 언어들은 redis 사용이 간단한데 C++은 간단하지는 않아서 정리를 해 봤다. boost를 사용하면 아주 쉽게 사용할 수 있고, boost를 사용하지...
더 읽기
C++로 http client 요청, Json 데이터 조작, redis와 통신하는 짧은 예제 코드 들이다. 아래 링크에 가면 코드를 볼 수 있다. curl 라이브러리를 사용하여 http 클라이언트 Post, Get 요청 http 클라이언트 사용 방법 (Post) http 클라이언트 사용 방법 (Get) json11 라이브러리를...
더 읽기
.NET Core 2.0 이전 버전 및 닷넷프레임워크의 Random 클래스는 생성 시 직접 seed 값을 주지 않으면 Environment.TickCount 를 사용한다. 그래서 동시에 복수의 Random 클래스를 생성하면 seed 값이 같아서 복수의 Random 인스턴스에서 값은 패턴의 난수가 발생한다. .NET Core 2.0 에서는 이런...
더 읽기
Windows 10 2018년 봄 대형 업데이트에서 Unix Domain Socket 기능이 추가 되었다. AF_UNIX comes to Windows – Windows Command Line Tools For Developers Unix Domain Socket을 사용하기 위해서는 AF_UNIX를 사용하면 된다. 아래 예제 코드의 출처 코드를 보면 알겠지만 조금의 #ifdef로...
더 읽기
string => slice 출처: https://github.com/soshi8/GoLangTrans package main import ( "fmt" ) func main() { var aaa string aaa = "sample string" bbb := []byte(aaa) fmt.Printf("bbb = %s\n", bbb) } slice => string package main import ( "fmt" ) func main()...
더 읽기
결론 Go언어에서 goroutine은 반드시 스위치 하는 것은 아니다. “for() {}” 같은 비지 루프를 GOMAXPROCS의 지정 수 이상 포함시키면 스위칭 되지 않는다. 경위 처리가 없는 비지 루프가 있으면 goroutine이 교환 되지 않고 처리가 멈추는 것을 알았다. 처리 내용을 전부 주석 처리...
더 읽기
golang의 경우 스레드 풀을 사용하고 있으며 블러킹 하는 시스템 콜이라면 다른 스레드로 옮겨서 처리한다.
부족한 경우에는 OS가 허락하는 한도 내에서 만든다.
이 수는 GOMAXPROCS 와는 관계 없다.
더 읽기
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...
더 읽기
출처 테스트 환경: 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++ {...
더 읽기