전체 글 23

MFC 기반의 Multi-threading

근 20년간 MFC를 사용하고 있지 않다가 부득이하게 성능 테스트를 해볼  DLL을 타 부서에서 전달받았는데 C++로 되어 있고 사용자 인터페이스를 함께 작업해야해서 다시 한번 정리하는 의미로 글을 남긴다.  1. MFC에서의 기본 스레딩 개념MFC에서는 CWinThread 클래스를 사용하여 스레드를 관리할 수 있다. 이 클래스는 윈도우 애플리케이션의 스레드와 관련된 여러 기능을 제공한다. Windows API의 CreateThread와 BeginThread와 같은 함수도 사용 가능하지만, MFC의 CWinThread 클래스를 사용하는 것이 보다 편리하다.2. MFC에서 스레드 생성 및 관리(1) 스레드 클래스 만들기스레드를 만들려면 CWinThread를 상속한 클래스를 작성한다.class CMyThre..

Programming/Others 2025.01.08

Model Evaluation: Confusion Matrix, Precision, Recall, F1-Score

생성한 모델에 대한 성능 지표를 평가하기 위한 다양한 방법들이 존재한다. 그중 일반적으로 많이 사용하는 정밀도(Precision), 재현율(Recall) 및 F1-Score에 대해 알아보자. 먼저 평가 기법에 대해 알아보기 전에 시각적으로 모델의 성능을 이해할 수 있도록 제공해 주는  Confusion Matrix를 보면 다음과 같다.  Confusion Matrixsms 실제값(Real Value 또는 Ground Truth라고 함)과 모델이 예측한 예측값을 2x2 형태로 구성하여 원하는 결과값이 나왔는지에 대한 정의로 표현한다. 각 항목은 모델의 예측 결과를 실제 값과 비교한 결과를 나타낸다. True Positive (TP): 실제 positive인 데이터가 모델에 의해 positive로 예측된 경..

Visual C++에서 gRPC 사용하기

Windows  운영환경에서 여러 개발을 위한 패키지를 설치하기 위해서 Visual Studio에서는 Nuget을 지원하고 있다. 그러나 어떤 라이브러리들은 개발 언어에 따라 Nuget을 이용할 수 없고  CMake등을 이용하여 일일이 소스 코드를 컴파일하여야 하는 번거로움이 존재한다.  vcpkg는 마이크로소프트에서 제공하는 C 및 C++ 라이브러리를 Windows, Linux 및  MacOS에서 관리할 수 있는 도구이다. https://github.com/microsoft/vcpkg/blob/master/README.md vcpkg/README.md at master · microsoft/vcpkgC++ Library Manager for Windows, Linux, and MacOS. Contrib..

Programming/Others 2025.01.07

Jetson Xavier NX Developer Kit Initialization

NVIDIA에서는 IoT를 위한 다양한 칩을 개발, 판매하고 있다. 2024.02 현재 생산을 중단된 Jetson Xavier NX Developer Kit를 이용하기 위해 개발 환경을 구축하는 방법을 설명하고자 한다(AGX, ORIN 등 최신형 Chipset이 발표되었으나 개발자 보드의 비용이 만만치 않아 가장 저렴한 모델을 선택하였다) Jetson Xavier NX Development Kit은 방열판이 포함된 Jetson Xavier NX(P3668-0000) 모듈과 02.11 plug-in WLAN & BT module이 탑재된 EVM 보드(P3509-0000) 및 19V AC-DC 전원 장치로 구성되어 있다. Jetson Xavier NX Developer Kit은 현재 EOL(End of Li..

GPU는 왜 사용하는 것일까?

GPU를 사용하면 왜 빠르냐는 아주 무식한 질문을 한적이 있었다. 그에 대한 답변은 너무 간단했다. "CORE 가 많어" Core가 많으니 당연히 많은 연산을 할 수 있을것이고 좋은 성능을 나타낼 수 있다는 이야기였다. 한동안 누군가가 GPU를 왜 쓰냐는 질문을 하면 나도 똑같이 대답하다보니 무언가 좀더 자세히 알아보고 싶은 생각이 들었다. CPU는 스레드(thread)라고 하는 순차적인 명령어(a sequence of operations)들을 빠르게 처리하며 동시에 수~수십개의 스레드를 병렬(parallel)처리하도록 설계되어 있으나 GPU는 동시에 수천~수만개의 스레드를 병렬로 실행하는 목적으로 설계되었다. 그러나 GPU에서의 스레드는 명령어의 집합이 아니라 주로 병렬 계산(parallel compu..

텃밭 그리고 캠핑장 - 드디어 시작 / '23.11.11

무의도 고향이신 형님께서 집안에 관리 안되는 땅(밭)이 있다고 관심있으면 가꿔보라고 하여 주변의 지인과 상의한 끝에 밭 정리를 하고 조그마한 귀퉁이에 주변 사람들이 주말에 놀러올 수 있게 텐트를 칠 수 있는 공간을 만들기로 하였다. 몇차례의 답사끝에 사람이 정리할 일이 아니라 생각하고 포크레인을 불러 덮여있는 칡넝쿨과 죽어버린 나무들을 싹 정리하기로 마음먹었다. 2023-11-12일 아침 8시에 포크레인 기사님과 만나 일을 시작하기로 하고 부지런히 무의도로 들어간다. 약속시간 15분전쯤 밭의 입구에 도착하니 멀리서 기계 움직이는 소리가 들린다. 부지런한 포크레인 사장님께서 벌써 일을 시작하신것 같다. 포크레인 앞에서 삽질하지 말자 ^^ 사장님과 정리할 범위등을 논의하고 아쉽지만 전망을 위해 배나무, 매실..

백담사 - 봉정암 단풍 산행 / '23.10.21

2023-10-21 / 봉정암( 1,244m ) / 21.2Km 백담사 - 영시암 - 수렴동 대피소 - 해탈고개 - 봉정암 원점회귀 소요시간: 오전 7시 백담사 아래 주차장 도착 - 8시 10분 백담사 - 12시 20분 봉정암 - 17시 30분 백담사 - 19시 15분 백담사 아래 주차장 (버스 대기시간 제외 9시간 20분 / 봉정암 머문시간 약 한시간) 좋아하는 형님중에 한분 어머니가 소천하셔서 봉정암으로 기도를 하러 간다 하여 같이 동행하였다. 새벽 4시 30분에 서울에서 출발해 중간 휴게소에서 아침 국밥 한그릇 든든히 먹고 주차장에 도착하니 6시 45분이다. 버스 운행이 7시 부터여서 여유잡고 왔는데 단풍시즌이라는 것을 간과했다. 더군다나 갑자기 몰아친 한파로 도착 10분전에는 눈발까지 날렸다고 한..

General/Mountains 2023.10.23

호명산(경기둘레길 #22 - 1/60) / '23.10.15

2023-10-15 / 호명산(632.4m) / 11.5Km 들머리: 상천역 호명호수 방향 / 날머리: 청평역 뒤쪽 주차장 소요시간: 사진찍고 뭐하고 다 포함해서 4시간 / 둘레길 안내에 따르면 4시간 47분 소요 갑자기 선배가 경기둘레길을 걷고 싶다고 이야기하여 계획된 산행을 포기하고 경기 둘레길 #22 코스를 선택해 산행과 걷기를 진행하였다. 경기둘레길은 총 길이 860Km로 총 60여개 코스로 나뉘어 경기도 외곽 한바퀴를 환종주하도록 구성되어 있다. 들머리는 경춘선 상천역에서 시작한다. 상천역 앞에 공영주차장이 있으나 차량 10여대가 주차가능하여 조금 늦게 도착하면 주차할 곳이 없다. 이 경우 호명호수 방향으로 진행하면 상천루라는 테마공원이 있다. 이 근처에도 주차할 공간이 있으며 둘레길 진입방향과..

General/Mountains 2023.10.16

용마산 - 아차산 연계 산행 / '23.10.07

2023-10-07 / 용마산(348m) - 아차산(295.7m) / 5.36Km 들머리: 용마산역 / 날머리: 영화사입구 소요시간: 사진찍고 뭐하고 다 포함해서 1시간 30분 서울내에서 편안한 복장으로 친구들끼지 다녀올 수 있는 산행. 아차산 하산길에 맛집이 많아 뒤풀이하기에 좋은 장점이 있다. 아사산역, 중곡역, 용마산역, 사가정역, 망우역 등(내가 올라가 본 곳) 다양한 지하철역에서 시작할 수 있어 뚜벅이들에게도 상당히 좋은 접근성을 제공한다. 용마산역부터 아차산 정상까지 계단수를 세어보니 총 918개이다(자잘하게 2, 3개씩 있는것 제외/최소 40개 이상 연속으로 있는 계단). 계단이 싫은 경우에는 다른 쪽으로 오르는게 좋으나 용마산쪽은 어디로 가도 계단을 최소 500개는 올라야 된다고 생각하면 ..

General/Mountains 2023.10.16

마니산 with 캠핑

2023-09-16 / 마니산 (해발 472.1m) 마니산 함허동천야영장 등산로와 바로 연결되어 접근성이 좋으나 샤워실이 찬물밖에 안나오는 단점이 있음. 작년 5월에 다녀왔던 마니산에 직원 2명과 캠핑겸 산행을 다녀왔다. 해발 고도는 그리 높지 않은데 이상하게 마니산은 힘들게 느껴지는 산이다. 원래의 산행길은 원점회귀였으나 일행중 한명의 무릎에 문제가 생겨 단거리인 마니산국민관광단지 주차장방향으로 내려옴. 덕분에 종주아닌 종주를 하게 되었다.

General/Mountains 2023.09.18