.NET의 모든 병렬 컨테이너는 lock-free 인가?

FAQ :: Are all of the new concurrent collections lock-free? 의 글을 일부 번역/정리. (이 대답은 .NET Framework 4를 기반으로 한다. 아래의 세부 정보는 문서화 되지 않은 구현 세부 사항이므로 향후 릴리스에서 변경 될 수 있다.) 새로운 System.Collections.Concurrent 네임 스페이스의...
더 읽기

영어로 기술 문의를 할 때의 영작문 Tips

첫 번째: 자신이 하고 싶은 것과 문제를 간결하게 설명한다 영어는 짧고 알기 쉽게 간단하게 설명하는 것이 매우 중요하다. 나는 가급적 직접 만든 템플릿에 맞추어 자신의 하려고 하는 것과 발생한 문제를 설명하도록 한다. I tried to $자신의 하고 싶은 일 however...
더 읽기

C++ - SSO(Small-string optimization)

보통 std::string는 문자열을 확보할 때 동적으로 메모리를 확보하지만 작은 크기의 문자열의 경우는 동적 할당은 성능적으로 낭비이므로 동적 할당을 하지 않는 최적화가 구현 되어 있고 이것을 SSO 라고 한다. 아래처럼 std::string 안에 문자열을 저장할 수 있는 버퍼를 가진다. class string{ char...
더 읽기

C++ - 포인터 변수에서 const 위치에 따른 차이

변수에 const를 사용하는 이유와 사용 방법은 아주 쉽다. 그런데 포인터 타입 변수에 const를 붙였을 때 포인터의 앞이나 뒤 어디에 붙여야 할지 헷갈릴 때가 있다. 포인터에 const를 붙이는 경우 아래에 따라서 차이가 발생한다. *앞에 const를 붙인 경우는 포인터를 가리키는 곳이 불변이...
더 읽기

.NET - Buffer.MemoryCopy 함수

메모리 복사 속도를 올리기 위해서는 Array.Copy 보다는 Buffer.BlockCopy를 사용하는 것이 좋다. 단 Buffer.BlockCopy는 작은 크기(10~30 바이트 이하)의 복사에서는 Array.Copy 보다 뛰어나다고 할 수 없다. 원래 Buffer.BlockCopy에는 낭비가 있다. Buffer.BlockCopy는 네이티브의 C++ 코드를 호출하고, 타입 체크와 범용적인 타입에 의한 처리가 있다....
더 읽기

C++ - C++17시대 Herb Sutter씨에게 듣는다

원문 Herb Suttrer씨는 소프트웨어 개발의 제일인자로 “Exceptional C++” 이나 “C++Coding Standars”라는 책을 집필했다. ISO C++ 표준 위원회 위원장을 15년간 맡음과 더불어 Microsoft에서는 소프트웨어 아키텍트로서 C++/CLI, C++/CX, C++ AMP 같은 기술을 위한 언어 확장 설계를 담당하고 있다. ISO C++ 위원회는 2017년...
더 읽기

네트워크&게임 서버 프로그래밍 강의를 계획 하고 있습니다.

제게는 큰 기술은 아니지만 다른 사람에게는 필요한 기술은 가능하면 공유하려고 합니다. 그래서 2018년 1월부터 네트워크와 게임서버 프로그래밍(프로그래밍 언어는 C++, C#) 중심으로 강의를 할 예정입니다. 교육 기관에서 하는 것이 아니고 개인적으로 하는 것이라서 강의비를 받지 않지만, 강의할 공간에 대한 대여 비(1만원)...
더 읽기