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 같이 통신 가능하게 되는 것을 기다리는 시스템 콜을 이용하여 복수의 프로세스(또는 스레드)가 대기하고 있다면, 통신 가능하게 되었을 때 원래 하나의 프로세스만 일어나기를 원했는데 대기하던 모든 프로세스가 일어나는 문제이다. 이 경우...
더 읽기

TCP 혼잡 제어 알고리즘들

원문 TCPの輻輳制御アルゴリズム、どれが一番速い? 의 일부이다. TCP의 중요한 요소로 혼잡 제어 알고리즘이 있다. TCP는 시퀀스 번호를 사용한 응답 확인에 의해 데이터의 확실한 도착을 보장하고 있다. 응답 확인을 하지 않은 패킷에 대해서는 다시 같은 데이터를 송신하도록, 수신 측에서 송신 측에 재송 요구가 행해진다....
더 읽기

.NET Core 설치 및 프로젝트 생성하기

원문 설치 Windwos - 다운로드 후 설치 - https://www.microsoft.com/net/core#windowscmd Ubuntu - 패키지 추가 - curl https://packages.microsoft.com/keys/microsoft.asc| gpg-dearmor>microsoft.gpg - sudo mv microsoft.gpg/etc/apt/trusted.gpg.d/microsoft.gpg - 설치는 Ubuntu 버전마다 좀 다르다 - Ubuntu 17.04 - sudo sh-c'echo"deb[arch=amd64]https://packages.microsoft.com/repos/microsoft-ubuntu-zesty-prod zesty main">/etc/apt/sources.list.d/dotnetdev.list' - Ubuntu 16.04 - sudo...
더 읽기