C++ 가변 길이 구조체

C++ 가변 길이 구조체 💡 Quotation Flexible array members were officially standardized in C99. In practice, compilers (e.g., GCC, Microsoft’s) provided them well before C99 was standardized. Flexible array members are not officially part of C++, but language extensions are widely available. 소켓 프로그래밍 중 가변 길이의 데이터를 보낼 방법을 찾다가 발견하게 되었습니다. 위 글처럼 C99에 공식적으로 표준화가 되었으며 C++ 에서는 공식적이지는 않지만 사용할 수 있습니다. 메모리에 연속된 공간으로 할당하며 통신할 때 유용하게 사용될 수 있습니다....

June 10, 2023 · 2 min · 337 words · JongBin Park

fmt 라이브러리로 C++ 콘솔 로거 작성하기

fmt 라이브러리로 C++ 콘솔 로거 작성하기 프로그램의 로그를 쓰기 위해 보통 Log4j, spdlog… 등 로거 프레임워크를 사용합니다. 사용하기 간편하며 강력한 기능을 제공합니다. 하지만 저는 fmt를 이용하여 간단히 사용할 수 있는 콘솔 로거를 작성해보려고 합니다. 😎 쉽고 간단한 길 놔두고 이상한 길 가기 ⚠️ Warning 상용 프로그램에서 아래와 같이 로그를 사용한다면 스레드로 인한 작동 오류가 있을 수 있습니다. fmt를 사용해보기 위해 간단히 작성된 것이므로 로거 프레임워크를 사용하기를 권장합니다. fmt 💡 {fmt} is an open-source formatting library providing a fast and safe alternative to C stdio and C++ iostreams....

May 27, 2023 · 3 min · 583 words · JongBin Park

레이저 마우스 버튼 자가수리

레이저 마우스 버튼 자가수리 Razer basilisk ultimate 라는 마우스를 해외 직구를 통해 구입해 사용하고 있었습니다. 그런데 휠 클릭 버튼이 고장나서 항상 눌려있는 상태로 동작했고 정상적인 사용이 불가능했습니다. 😢 해외 직구로 구매해서 A/S는 받을 수 없었고 어차피 못 쓰는 마우스, 어떤 것이 고장인지 궁금해서 분해를 시작했습니다. 그런데 뜯고 보니 고칠 수 있겠다는 생각이 들었고 AliExpress에서 부품을 쉽게 구할 수 있어 당장 구매했습니다! 제 마우스의 휠 클릭 버튼은 이 제품과 가장 유사했습니다. 가로와 세로 모두 6mm에, 높이는 7mm이었지만 0....

May 20, 2023 · 2 min · 259 words · JongBin Park

Visual Studio 2015 UTF-8 인코딩 설정하기

Visual Studio 2015 UTF-8 인코딩 설정하기 Visual studio 2015 에서 프로그램을 작성하면 인코딩이 자동으로 CP949(EUC-KR) 로 설정됩니다. 이는 다른 플랫폼 간 호환성 문제를 일으킬 수 있고 당장 Git 클라이언트인 source tree 또는 Github desktop 에서 한글로 작성한 주석은 모두 깨지는 것을 보실 수 있으실 겁니다. 웹 서버 또는 데이터베이스 같은 경우 대부분 유니코드를 사용하며 이를 저장하기 위해 UTF-8 인코딩을 사용하며 현대 개발에 있어 표준이라고도 할 수 있습니다. 💡 Tips UTF-8 은 유니코드1) 를 위한 가변 길이 문자 인코딩 방식 중 하나로, 켄 톰프슨과 롭 파이크가 만들었다....

May 18, 2023 · 2 min · 363 words · JongBin Park

Doxygen 주석으로 생성하는 코드 문서

Doxygen 주석으로 생성하는 코드 문서 개발자는 다른 사람이 만든 코드를 사용할 때 보는 매뉴얼이 있습니다. 위 그림과 같이 무엇을 하려면 어떤 URL에 어떤 내용을 요청해야 하는지, 함수가 하는 일과 인자는 무엇을 전달해야 하는지 상세히 다룬 내용입니다. 이런 문서를 소스 코드와 별개로 관리한다면 소스 코드의 수정이 있을 때마다 각각 수정 해야하는 번거로움과 수정 내용이 반영이 되지 않는다면 문서 내용에 결점이 생길 수도 있습니다. 이런 문제를 해결하기 위해 구글링 중 Doxygen을 찾았고, 실무에 사용하기 위해 공부하고 포스팅 했습니다....

May 15, 2023 · 6 min · 1068 words · JongBin Park