C# - XmlTextReader

XmlTextReader 로 XML 읽기 예제 1 <?xml version="1.0" encoding="utf-8" ?> <Config> <log4net> <root> <!--로그 레벨 지정. 아래에서는 INFO 레벨 이상만 로그가 남는다--> <level value="INFO" /> <!--어느 로그를 사용할 것인지 지정한다. 파일 로그와 날짜별 로그 사용--> <appender-ref ref="DayRollingLogToFile" /> <!--복수 지정...
더 읽기

Windows에 Rust 설치하기

Rust를 Windows에서 사용할 때 C++ 컴파일러가 별도로 필요하므로 먼저 VisualStudio Build Tools를 설치한다.(Visual Studio를 설치하면 된다) Rustup 설치 Rustup 사이트에 가서 rustup‑init.exe 링크를 클릭해서 다운로드 한다. 다운로드한 rustup-init.exe을 클리하여 설치한다. 설치가 끝난 후 아래 명령어를 실행하여 잘 설치 되었는지 확인한다....
더 읽기

C# - 닷넷프레임워크의 타이머 관련 클래스

인터넷에 있는 글에서 가져온 것입니다. DispatcherTimer 일반 타이머는 메인 스레드가 아닌 다른 스레드를 만들어서 처리 되지만 이것은 실행은 메인 스레드에서 처리 되어 메인 스레드와 동기화가 보장 된다. MSDN의 설명 각 Dispatcher 루프의 맨 위에서 DispatcherTimer가 다시 평가된다. 시간 간격이 발생할...
더 읽기

CMake에서 GoogleTest 사용하기

출처 구성은 아래와 같이 되어 있다고 한다. src 폴더 아래가 테스트 대상 코드, test 폴더 아래는 테스트 코드 클래스 단위로 파일이 나누어져 있다고 가정한다. mk.sh을 실행하면 build/src/ 에 응용 프로그램의 실행 파일, build/test/ 에 테스트의 실행 파일이 만들어진다. ├── CMakeLists.txt...
더 읽기

cmake에서 CMAKE_C_FLAGS에 설정한 값이 무시될 때

출처 CMakeLists.txt 안에서 컴파일 옵션을 지정하려고 했는데 설정이 무시되는 문제를 만났다. 컴파일 옵션 지정과 add_subdirectory 명령어 기술 순서가 문제였다. 문제 CMakeLists.txt cmake_minimum_required(VERSION 3.12) project(cmake_01) set(APP_NAME example) add_subdirectory(src) # 여기가 무시된다. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall") set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -O0") set(CMAKE_CXX_FLAGS ${CMAKE_C_FLAGS}) set(CMAKE_CXX_FLAGS_DEBUG...
더 읽기

스터디 - 신입 게임 서버 프로그래머 학습 모임

신입 게임 서버 프로그래머를 목표로 하는 분을 도와 드리려고 하다가 이왕 하는 것 좀 더 많은 분들을 도와 드리면 좋을 것 같아서 모임을 만들기로 했습니다. 게임 서버 프로그래머가 되기 위해서 어떤 것을 공부해야 할지 잘 모르는 분들에게 제가 어떻게 공부하고...
더 읽기

.NET Core - Improving .NET Core Kestrel performance using a Linux-specific transport

이 글을 구글 번역을 통해 일부 정리했다 성능은 핵심 기능입으로 많이 최적화되어 지속적으로 벤치마킹 하고 있다. Kestrel은 HTTP 서버의 이름이다. 이 블로그 포스트에서 우리는 Kestrel의 네트워킹 레이어를 리눅스 관련 구현으로 대체하고, 기본 구현 방식과 비교하여 벤치마킹 할 것이다. TechEmpower 웹...
더 읽기

C# 7.3의 새로운 기능

출처 Overload 해결 버전 1.0의 C#에서 overload의 해결 규칙은 의문이 남는 디자인이었다. 어떤 상황에서 두 개 이상의 메소드가 후보가 되는데, 하나 밖에 사용할 수 없다. 우선 순위에 따라 잘못된 방법을 선택하거나 컴파일러가 일치하는 메소드를 찾지 못하거나 일치하지만 모호한 경우가 있다....
더 읽기

golang - 구조체의 정확한 크기 계산하기

golang의 구조체도 c/c++과 같이 패딩이 있다. type PacketHeader struct { N1 int32 N2 int16 N3 int64 } 위 구조체를 unsafe.Sizeof를 하면 패딩 때문에 크기가 16이 나온다. (sizeof가 기본 기능이 아니고 unsafe 패키지를 사용해야 한다.) 구글링을 해 봐도 #pragma pack(1) 같은...
더 읽기