(C++) SSH를 이용한 원격 명령 실행 (Windows)
검사 프로그램에서 보드의 버전을 읽으려고 libssh2로 원격 명령을 실행했다. 실패 경로에서 자원이 전부 새던 문제, stderr와 종료 코드를 안 봐서 실패를 놓치던 문제, 읽기 에러 시 무한 루프를 정리했다.
검사 프로그램에서 보드의 버전을 읽으려고 libssh2로 원격 명령을 실행했다. 실패 경로에서 자원이 전부 새던 문제, stderr와 종료 코드를 안 봐서 실패를 놓치던 문제, 읽기 에러 시 무한 루프를 정리했다.
특정 디렉토리에 파일이 올라오면 자동으로 처리하도록 inotify를 붙였다. IN_CREATE로는 다 써지지 않은 파일을 잡는다는 것, scp로 올리면 이벤트 종류가 달라진다는 것, 큐가 넘치면 조용히 놓친다는 것을 겪고 나서 정리했다.
로그 폴더가 없으면 ofstream이 조용히 실패해서 만든 함수. stat으로 먼저 확인하는 게 왜 불필요한지, mkdir(0777)이 왜 0755가 되는지, 상대 경로가 왜 자동 실행에서 어긋나는지 정리했다.
재미로 써보는 단편 소설 1
보드의 설정 XML을 PC 프로그램이 읽어야 해서 SFTP를 붙였다. 30일 뒤 갑자기 멈춘 상용 라이브러리, libssh2로 옮기며 놓친 소켓 정리와 호스트 키 검증, pugixml의 실패 검사가 항상 통과하던 문제를 정리했다.
Eigen으로 RANSAC을 구현해 위상 로그에 2차 곡선을 맞춰봤는데 결과가 이상했다. 당시엔 원인을 못 찾았고, 지금 다시 보니 짚이는 게 네 가지 있어서 같이 정리했다.
측정 데이터에서 튀는 값을 걸러내려고 이동 평균과 선형 보간을 써봤다. 평균 기준이 이상치 자체에 오염되는 문제, 위상 데이터에는 평균을 그대로 쓰면 안 되는 이유를 정리했다.
C++ 프로그램 안에서 파이썬 스크립트를 돌리려고 인터프리터를 임베딩했다. Debug 빌드에서 링크가 깨지는 문제, Py_Finalize 후 재초기화가 안 되는 문제, 에러 내용을 프로그램으로 받는 방법을 정리했다.
Visual Studio 활용 및 XAML 기본 이해
Data Control with C#