감옥에서의 빛
재미로 써보는 단편 소설 1
재미로 써보는 단편 소설 1
보드의 설정 XML을 PC 프로그램이 읽어야 해서 SFTP를 붙였다. 30일 뒤 갑자기 멈춘 상용 라이브러리, libssh2로 옮기며 놓친 소켓 정리와 호스트 키 검증, pugixml의 실패 검사가 항상 통과하던 문제를 정리했다.
Eigen으로 RANSAC을 구현해 위상 로그에 2차 곡선을 맞춰봤는데 결과가 이상했다. 당시엔 원인을 못 찾았고, 지금 다시 보니 짚이는 게 네 가지 있어서 같이 정리했다.
측정 데이터에서 튀는 값을 걸러내려고 이동 평균과 선형 보간을 써봤다. 평균 기준이 이상치 자체에 오염되는 문제, 위상 데이터에는 평균을 그대로 쓰면 안 되는 이유를 정리했다.
C++ 프로그램 안에서 파이썬 스크립트를 돌리려고 인터프리터를 임베딩했다. Debug 빌드에서 링크가 깨지는 문제, Py_Finalize 후 재초기화가 안 되는 문제, 에러 내용을 프로그램으로 받는 방법을 정리했다.
Visual Studio 활용 및 XAML 기본 이해
Data Control with C#
WinRT의 BluetoothLEAdvertisementWatcher를 MFC에 붙여 BLE 기기를 스캔했다. 이름이 없는 장치가 하나로 뭉치던 문제, 콜백이 다른 스레드라서 생긴 경합, 버튼을 두 번 누르면 UI가 멎던 이유를 정리했다.
블루투스 스캔은 보드에 맡기고 PC는 HTTP로 결과만 받아오는 구조를 Boost.Asio로 짰다. 동기 API에 타임아웃이 없다는 점과 Connection: close에 기대는 방식의 한계를 정리했다.
MFC 툴에서 주변 AP를 스캔해 목록에 띄우고 선택한 AP에 접속시키는 기능. netsh + 임시 XML로 시작했다가 WlanSetProfile/WlanConnect로 옮긴 이유, 스캔 결과가 갱신되지 않던 문제, SSID를 16진수로 만들 때의 버그를 정리했다.