C++ Socket 프로로그래밍 [POSIX]

💡 Quotation 네트워크 소켓(network socket)은 컴퓨터 네트워크를 경유하는 프로세스 간 통신의 종착점이다. 오늘날 컴퓨터 간 통신의 대부분은 인터넷 프로토콜을 기반으로 하고 있으므로, 대부분의 네트워크 소켓은 인터넷 소켓이다. 네트워크 통신을 위한 프로그램들은 소켓을 생성하고, 이 소켓을 통해서 서로 데이터를 교환한다. 소켓은 RFC 147에 기술사항이 정의되어 있다. wikipedia 소켓은 운영체제에 종속되어 있어 플랫폼마다 사용하는 방법이 아주 조금 다릅니다. 이 글에서는 유닉스 또는 리눅스에 사용되는 POSIX1) Socket 을 간단하게 소개하고 프로그래밍 방법을 소개합니다. ...

2023년 06월 18일 · 3 min · 514 words · JongBin

통신사 무제한 요금제로 테더링 사용하기

오피스텔에 인터넷을 신청하기 위해 알아보다가 생각보다 가격이 비싸 다른 대안을 찾아보던 중 스마트폰 데이터 완전 무제한 요금제가 있어 바로 신청하게 되었습니다. QoS1) 도 없고, 가격 또한 유선 100M 신청 비용보다 저렴하고 수도권이라 웹 서치와 유튜브 정도는 가뿐하게 돌릴 수 있는 속도가 나와 여러모로 유선 인터넷 신청보다 더 나은 선택이 아닐 수 없었습니다. 위기 그렇게 요금제를 변경하고 하루동안 평상시 사용하던데로 인터넷을 사용해보니 유선과 비교했을 때 이질감도 없고 빠르고 좋았습니다. 하지만 위기는 찾아왔습니다. 😢 ...

2023년 06월 10일 · 2 min · 350 words · JongBin

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++ 에서는 공식적이지는 않지만 사용할 수 있습니다. 메모리에 연속된 공간으로 할당하며 통신할 때 유용하게 사용될 수 있습니다. ...

2023년 06월 10일 · 2 min · 333 words · JongBin

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. ...

2023년 05월 27일 · 3 min · 577 words · JongBin

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

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

2023년 05월 20일 · 2 min · 255 words · JongBin