ParseExact 메서드의 문자열 변환 DateTime 구조체에는 문자열을 변환하는 방법으로 Parse 메서드와 ParseExact 메서드가 준비 되어 있지만, 전자의 Parse 메서드는 문화권 정보를 사용하여 출력된 문자열을 같은 문화권 정보를 사용하여 DateTime 개체로 변환하는 것이다. 자신의 형식을 가진 문자열을 취급하는 경우에는 후자의 ParseExact...
더 읽기
출처 C# 컴파일러는 readonly를 따르는 일부 조건에서 구조체의 방어적 복사(defensive copy)를 생성한다. 이 문제는 잘 알려져 있고 문서화 되어 있지만 C# 7.2의 일부 기능과 관련이 있기 때문에 검토 가치가 있다. in및 ref readonly 키워드는 문제의 발생을 높이고 readonly 구조체는 수정...
더 읽기
posix의 비동기 IO의 API인 aio는 파일 조작만 지원하는 걸로 알고 있었는데 소켓 조작에도 사용할 수 있다고 한다. https://koyo.kr/post/posix-aio-socket-server-example/ 그런데 리눅스쪽 서버 개발 관련해서 자료를 찾을 때 소켓 통신으로 aio를 사용하는 것을 본적이 없다. (boost.asio나 node.js의 libuv도 사용하지 않고 있다) 만약...
더 읽기
출처 https://www.infoq.com/jp/news/2010/09/introduction-zero-mq/ PostRank의 설립자이자 CTO인 Ilya Grigorik씨가 지난주 ZeroMQ의 소개 기사를 썻다 . 버클리 소켓(BSD)는 모든 네트워크 통신의 기본 API이다. 1980년대 초로 기원을 가진 TCP/IP 스윗의 원래 구현이기도 한 BSD 소켓이 오늘 날 모든 운영체제에서 가장 널리 지원 되는 중요한...
더 읽기
처리하는 것에 비해 CPU 사용률이 오르지 않는 경우 .NET 런타임의 GC 설정을 변경해서 해결 할 수도 있다. .NET의 GC 모드를 서버GC로 변경한다. .NET Core 프로젝트 파일에 ServerGarbageCollection을 추가하고 값을 true로 한다. <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>netcoreapp2.0</TargetFramework> <ServerGarbageCollection>true</ServerGarbageCollection> </PropertyGroup> ... </Project>...
더 읽기
출처 연결이 끊어진 소켓에 쓰기(send(2) 혹은 write(2) 같은 것)를 하면 SIGPIPE 시그널이 발생하고 프로세스가 종료하기 때문에 제대로 SIGPIPE 시그널을 핸들링 해 두자는 이야기 이다. (Windows OS에서는 상관 없는 이야기이다) SISGPIPE를 받은 프로세스의 행동과 소켓 프로그래밍에서의 대응책 “sigpipe”로 검색하면 같은 이야기는...
더 읽기
Receive-Side Scaling(RSS) http://minimonk.net/2728 Windows Server 2012의 NIC 티밍(teaming)에 대응. TCP Chimney Offload http://vstarmanv.tistory.com/58 VM에서는 사용 불가. Windows Server 2012의 NIC 티밍에 비 대응. NetDMA 네트웍 수신 데이터를 네트웍 어댑터의 수신 버퍼에서 애플리케이션 버퍼에 복사하는 작업을 CPU로 하지 않고 칩셋을 포함한...
더 읽기
Draft FAQ: Why does the C++ standard ship every three years? – Sutter’s Mill 현재 C++ 표준은 3년 단위로 제정 되고 있는데 왜 3년 주기인지 C++ 표준 위원회 의장인 Herb Sutter씨의 설명. C++ 표준은 3년 간격으로 제정된다. 초안에 버그가 있기...
더 읽기
bcrypt는 자주 사용 되고 있는 패스워드의 해시 함수이다. Slack’s hashing function is bcrypt with a randomly generated salt per-password which makes it computationally infeasible that your password could be recreated from the hashed form. https://slackhq.com/march-2015-security-incident-and-the-launch-of-two-factor-authentication-3cdcc8efba29 bcrypt가 생성하는 해시는 $2a$10$OTKlbteacFY8DOeZY5imi.wvNLmJ1WDenLlDSzXfFxizVX.D1BNfu 형식의...
더 읽기
Linux 공식 사이트에서 최신 버전을 다운로드 한다. 압축을 풀고, 빌드한다. 아래는 64비트, static 라이브러리, 테스트와 샘플은 제외 하는 설정으로 빌드 한다 $ tar zxvf poco-1.7.8p2-all.tar.gz $ cd poco-1.7.8p2-all/ $ export OSARCH_64BITS=1 $ ./configure --static --no-tests --no-samples $ make 설정 정보는...
더 읽기