목록생활/업무 (5)
No Rules Rules
포트 포워딩은 말 그대로 특정 포트로 발송한다는 의미를 갖고 있습니다. 즉, 내가 받은 데이터를 특정된 어딘가로 보내겠다 라는 의미입니다. 이는 공유기를 사용하는 환경에서 설정하게 됩니다. 하나의 공유기에 나의 pc 이외에도 A 컴퓨터와 B 컴퓨터가 연결되어 있다고 가정합니다. 만약 나의 pc가 외부로부터 어떤 데이터를 수신했다면 이를 A 컴퓨터 또는 B 컴퓨터로 발송하는 것이 포트 포워딩의 개념입니다. (중계기와 같은) 단, 이 글에 소개하고자 하는 방법은 TCP 프로토콜에 대해서만 설명합니다. 포트 포워딩 설정하기 나의 pc (127.0.0.1) 의 1000번 포트로 데이터 수신시, 이를 A 컴퓨터 (12.34.56.78) 의 2000번 포트로 송신하겠다. netsh interface portprox..
업무상 리눅스OS가 탑재된 보드 내에서 차트 이미지를 생성해야 하는 일이 생겼습니다. 여러가지 라이브러리와 프로그램을 찾아보았습니다만 가장 사용량이 많은 gnuplot을 사용하기로 했습니다. 이미지를 생성하는 역할만을 본다면 가장 빠르고 멀티플랫폼을 지원한다는 장점 등이 이유입니다. gnuplot은 명령어를 전달하여 이미지를 생성할 수 있는 방식입니다. 따라서 리눅스 커맨드를 전송하여 설정을 할 수 있습니다. 현재 실행하는 프로세스에서 gnuplot을 실행하는 것은 효율적이지 못합니다. 다른 프로세스의 gnuplot을 이용하여 나의 프로그램과 gnuplot 프로세스를 따로 분리시켜 주는 것이 유리합니다. 따라서 다른 프로세스의 입출력을 제어할 수 있는 popen을 통해 gnuplot을 수행합니다. FIL..
최근 담당하는 과제에서는 VS2022을 이용해서 개발하고 있습니다. 탑재되는 장비에는 리눅스 계열 OS가 올라가 있구요. 이전 개발 중 가장 불편했던 점이 바로 디버깅이었는데, 이러한 부분을 해소하고자 시작한 시도였습니다. 최근 업체에서 만들어주신 라이브러리를 사용할 일이 있었는데요. 기존에 제가 링킹해서 사용하던 라이브러리는 동적 라이브러리(.so) 였고 업체로부터 전달받은 라이브러리는 정적 라이브러리(.a) 였습니다. 따라서 리눅스 머신간 컴파일을 할때 정적 라이브러리와 동적 라이브러리는 VS2022에서 어떻게 설정해야 하는지 정리하여 남기려고 합니다. VS2022에 라이브러리 링킹하기 (공통) 라이브러리의 헤더 경로 추가 정적 라이브러리 또는 동적 라이브러리에서 제공되는 함수를 사용하기 위해 우리는..
지금은 기억도 나지 않지만 한때 대세는 해킹이지!!! 라며 관심 가지고 공부했던 리버스 엔지니어링과, 그때 함께 많이 찾아보던 netcat 입니다. netcat은 TCP또는 UDP를 이용하여 데이터를 읽고 쓰는 유틸리티입니다. OS를 가리지 않는다는 장점이 있고, 윈도우는 따로 설치를 해야 하지만 리눅스의 경우, 보통 배포에 포함된 경우가 많습니다. 윈도우의 경우, 설치 후 환경 변수에 등록만 해둔다면, 리눅스와 마찬가지로 "nc xxxx" 과 같이 명령어로 사용할 수 있습니다. netcat, ncat, nc 로 불리는 아이입니다. 그럼 윈도우 OS 기준으로 설치부터 사용까지 정리 해보겠습니다. netcat 1.11 for Win32/Win64 eternallybored.org 일단 위 경로를 통해 ne..
팀에서 수행했던 과제중 최초로 WSL을 사용하고 있습니다. 왜 다들 VM을 사용하지? 라는 단순한 의문에서 시작된 저의 결정입니다. WSL이 뭐지? 리눅스용 윈도우 하위 시스템(Windows Subsystem for Linux, WSL)을 의미합니다. 알고 있는 내용을 적어봤자 위키보다 잘 알순 없으니 링크를 걸께요. 리눅스용 윈도우 하위 시스템 - 위키백과, 우리 모두의 백과사전 리눅스용 윈도우 하위 시스템 윈도우에서 네이티브로 리눅스 실행 파일을 실행하기 위한 호환성 계층 ko.m.wikipedia.org VM에 비해 빠릿빠릿한 속도를 보여준다는게 가장 큰 장점. 메모리 또한 충분하다는게 몸소 느껴집니다. (SSH를 이용한 Visual Studio간 디버깅도 상당히 만족스럽습니다.) 그런데 오늘 문제..