영어로 기술 문의를 할 때의 영작문 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만원)...
더 읽기

C++ - 온라인 C++ 컴파일러 리스트

C++ 공부를 할 때 기능이 어떻게 동작하는지 알고 싶을 때 웹브라우져만 있으면 바로 테스트 해볼 수 있다. List of Online C++ Compilers 생각 외로 온라인 C++ 컴파일러는 많다. VC도 있다. 이런 온라인 컴파일러를 사용하면 지금처럼 막 C++ 새 표준이 나온...
더 읽기

Web 서버에서의 Thundering Herd

원문 WebサーバでのThundering Herdは過去の話? Thundering Herd란 하나의 소켓에 대해서 select나 epoll 같이 통신 가능하게 되는 것을 기다리는 시스템 콜을 이용하여 복수의 프로세스(또는 스레드)가 대기하고 있다면, 통신 가능하게 되었을 때 원래 하나의 프로세스만 일어나기를 원했는데 대기하던 모든 프로세스가 일어나는 문제이다. 이 경우...
더 읽기