컴퓨터 정리를 하다가 여러 버전의 닷넷코어가 설치 되어 있어서 최신 버전(2.2.103)을 제외하고 이전 버전의 닷넷코어를 삭제하였다. 그런데 Visual Studio에서 ‘.NET Standard 2.0’을 찾지 못하는 문제가 발생하였다. 다행히 구글링 해보니 이 문제에 대한 답을 쉽게 찾았다. Can’t get .NET Standard 2.0...
더 읽기
출처 Overload 해결 버전 1.0의 C#에서 overload의 해결 규칙은 의문이 남는 디자인이었다. 어떤 상황에서 두 개 이상의 메소드가 후보가 되는데, 하나 밖에 사용할 수 없다. 우선 순위에 따라 잘못된 방법을 선택하거나 컴파일러가 일치하는 메소드를 찾지 못하거나 일치하지만 모호한 경우가 있다....
더 읽기
golang의 구조체도 c/c++과 같이 패딩이 있다. type PacketHeader struct { N1 int32 N2 int16 N3 int64 } 위 구조체를 unsafe.Sizeof를 하면 패딩 때문에 크기가 16이 나온다. (sizeof가 기본 기능이 아니고 unsafe 패키지를 사용해야 한다.) 구글링을 해 봐도 #pragma pack(1) 같은...
더 읽기
tar.bz2 파일 압축 풀기
tar -xvf test.tar.bz2
tar.bz2 압축 내용 보기
tar -tvf test.tar.bz2
tar.gz 파일 압축 풀기
tar -xvzf test.tar.gz
더 읽기
문자열 복사 strcpy_s, strcpy, _tcscpy_s, wcscpy, wcscpy_s 대체 추천 함수 strncpy_s(char), _tcsncpy_s(TCHAR) , wcsncpy_s(wchar_t) errno_t wcsncpy_s( wchar_t *strDest, strDest의 크기, const wchar_t *strSource, 복사할 문자 수 ); wchar_t szDest[256] = {0,}; wchar_t szSource[] = L"TEST"; wcsncpy_s( szDest, 256, szSource, 4...
더 읽기
클래스(class), 핸들(^) C++/CLI에서 관리 클래스는 ‘ref’라는 키워드를 사용하여 만든다. 비 관리 클래스 class Test { }; 관리 클래스 ref class Test { }; 관리 클래스는 ‘ref’를 제외하고는 외관상으로는 비 관리 클래스와 비슷하지만 관리와 비 관리가 많이 다르듯이 관리 클래스는 비...
더 읽기
실수 부에서 짜르기
(float)floor( (WeaponShot.nDamage * pow(10.0f,4)) + 0.5 ) / pow(10.0f,4);
가장 간단한 반올림 처리
int nScore = (int)( nCalcuteScore + 0.5 );
더 읽기
아래 코드는 어떤 오픈 소스에서 본 것을 아주 약간 변경한 것이다. 보기 좋게 출력하기 위해 go-spew 라는 오픈 소스 라이브러리를 사용하였다. import ( "fmt" "runtime" "github.com/davecgh/go-spew/spew" ) func PrintPanicStack(extras ...interface{}) { if x := recover(); x != nil { fmt.Println("%v",...
더 읽기
Github ASP.NET Core의 Kestrel을 사용하여 TCP Socket 프로그래밍을 할 수 있다. MultiProtocolAspNetCore 프로젝트의 Program.cs 파일의 내용은 아래와 같다. public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel(options => { // TCP 8007 options.ListenLocalhost(8007, builder => { builder.UseConnectionHandler<MyEchoConnectionHandler>(); }); // HTTP 5000...
더 읽기
링크
더 읽기