(C++) HTTP 클라이언트 프로그램 - 블루투스 장치 목록 (Boost.Asio)
블루투스 스캔은 보드에 맡기고 PC는 HTTP로 결과만 받아오는 구조를 Boost.Asio로 짰다. 동기 API에 타임아웃이 없다는 점과 Connection: close에 기대는 방식의 한계를 정리했다.
블루투스 스캔은 보드에 맡기고 PC는 HTTP로 결과만 받아오는 구조를 Boost.Asio로 짰다. 동기 API에 타임아웃이 없다는 점과 Connection: close에 기대는 방식의 한계를 정리했다.
MFC 툴에서 주변 AP를 스캔해 목록에 띄우고 선택한 AP에 접속시키는 기능. netsh + 임시 XML로 시작했다가 WlanSetProfile/WlanConnect로 옮긴 이유, 스캔 결과가 갱신되지 않던 문제, SSID를 16진수로 만들 때의 버그를 정리했다.
큐비트의 중첩과 얽힘으로 특정 문제를 기존 컴퓨터보다 빠르게 푸는 양자 컴퓨팅의 원리와 활용 분야, 현재의 한계를 정리한다.
아주 작은 입자들의 움직임을 다루는 양자 역학의 주요 개념과 원리, 그리고 현대 과학 기술 곳곳에서의 응용 분야를 정리한다.
COM 포트 번호가 매번 바뀌어서 VID/PID로 장치를 찾기로 했다. libusb로 열거하는 방법과, 윈도우에서는 libusb 대신 SetupAPI를 써야 했던 이유를 정리했다.
MFC 응용 프로그램에서 버튼을 클릭하면 텍스트 컨트롤의 문자열을 OpenClipboard와 SetClipboardData로 클립보드에 복사하는 기능을 구현한다.
검사 끝난 장비에 라벨을 붙이려고 TSC P200을 RAW 모드로 직접 제어했다. 드라이버를 우회하는 이유, 줄바꿈과 라벨 규격 때문에 인쇄가 밀리는 문제, WritePrinter가 성공해도 인쇄가 안 되는 경우를 정리했다.
보드가 자기 IP를 알아야 해서 getifaddrs를 썼다. 인터페이스 이름으로 거르면 안 되는 이유, 링크 로컬 주소를 걸러야 하는 이유, 윈도우 GetAdaptersAddresses의 버퍼 재시도 규칙을 정리했다.
C++과 OpenCV로 이미지에서 직사각형을 검출하는 함수를 만들고, 같은 알고리즘을 MFC와 파이썬 환경에서 구현한 예제를 정리한다.
현재 연결된 프로필과 저장된 프로필 목록을 대조해 장비 AP인지 판별한다. WlanQueryInterface의 출력 인자 두 개를 같은 변수로 넘겼다가 포인터가 깨진 일과, wcout에 narrow 리터럴을 넣으면 안 되는 이유를 같이 정리했다.