Rust - bytes Read, Write

출처 Read 와 Write let mut bytes: &[u8] = &[1, 2, 3, 4, 5, 6]; let mut buf = [0;3]; bytes.read_exact(&mut buf).unwrap(); println!("read: {:?}, rest: {:?}", buf, bytes); 결과 read: [1, 2, 3], rest: [4, 5, 6] let bytes: Vec<u8>...
더 읽기

C# - async-await에서 lock 사용하기

출처 C#에서 비동기 메소드에서는 lock을 쓸 수 없다. 이 글은 그래도 lock을 사용 하고 싶을 때를 위한 것이다. lock이 필요한 경우를 예를 들면 아래처럼 더블 체크 락킹을 하고 싶을 때이다. // /이것이 여러 스레드에서 비동기에게 불리는 private static async ValueTask...
더 읽기

C# - .NET Core3.1에서 CORS 설정하기

출처 서버 사이드와 프론트 사이드가 다른 서버로 구현된 경우, Host된 포트 번호가 다르기 때문에 CORS 설정을 할 필요가 있다. 환경 Angular 8.2.14 .NET Core 3.1 서버 사이드: https://localhost:44342 프론트 사이드:http://localhost:4200 ※ localhost:4200는 Angular의 기본 포트 번호 문제 어떤 설정도 하지...
더 읽기

C++17 - atomic::is_always_lock_free

C++ 17은 atomic 클래스 템플릿에 is_always_lock_free라는 정적 멤버 상수가 정의 되어 있는데 C++11의 is_lock_free()의 static 멤버 버전이라고 생각하면 좋다. is_lock_free()를 사용하기 위해서는 atomic 클래스 오브젝트를 만들어야 하지만 is_always_lock_free는 만들지 않는다. namespace std { template < class T> class atomic {...
더 읽기

C# - .NET 로컬 툴 사용법

출처 .NET Core도구? .NET core 글로벌 툴 .NET Core 2.1에서 NuGet에 게재된 콘솔 응용 프로그램을 CLI 상에서 인스톨/실행/업데이트/언인스톨 하는 구조가 생겼다. 이들의 애플리케이션을 총칭해서 “.NET Core 툴” 이라고 부른다. npm에서 말하는 npm install -g tool 같은 것이다. 장점은 아래와 같다....
더 읽기