나스(NAS)는 시놀로지로 시작해서 시놀로지로 끝나는 장비다. 나는 나스의 하드를 8TB 두 개를 미러링(SHR[RAID1])으로 쓰고 있었다. 옆에 6TB도 하나 있긴 하지만 그건 넘어가고... 8TB가 결코 작은 용량이 아닌데, 어느덧 80% 가까이 사용하게 되었다. 하드를 12TB로 바꿀 것인가 14TB로 바꿀 것인가를 심각하게 고민했다. 물론 거거익선이지만, 돈이 없[.........] 그러다 결국 내린 결론은 8TB 하나 더 사서 SHR[RAID5]로 가는 것. 하드를 더 사고, 하나씩 옮기고, 기존 하드를 당근에 팔고... 하는 일련의 과정을 한꺼번에 해결할 수 있는 선택을 했다. 내 시놀로지 모델은 핫스왑을 지원한다. 장비가 살아있는 상태로 그냥 턱 끼워넣으면 끝. 하드 자체는 꽂자마자 바로..
2.5인치 SSD(SATA)는 M.2 NVMe SSD에 비해 동작 속도도 느리고 이에 따라 발열 이슈가 크지는 않다. 하지만, 아무리 그렇더라도 메이저 브랜드에서 만든 제품이니 최소한의 방열 설계는 돼있을 것이다... 라고 생각했는데, 유뷰트에서 SSD 분해 영상을 찾아보니 기대와는 살짝 달랐다. SK하이닉스 SHGS31-1000GS-2 상판을 분리하는 장면에서 아래와 같이 기판에서 나오는 열을 케이스로 방출하기 위한 구조를 볼 수 있다. 만족스럽다. Samsung SSD 870 EVO 삼성 제품은 그런 거 없다. 아무리 열 자체가 많이 안 나는 제품군이라지만, 발열 구조가 없어서 듕귁산인 줄...
얼룩무늬 전투복을 입고 빡빡 기던 옛날에... 당시는 하이텔, 천리안 등의 PC 통신이 사회의 주류(?)인 세상이라 인터넷이란 개념 자체가 생소하기만 했다. PC 잡지들을 읽어봐도 뭔가 뜬구름 잡는 소리밖에 없었다. 이래선 도저히 답을 못 찾을 것 같던 어느날 외박을 나와서 친구에게 질문을 했다. 인터넷이라는 게 뭐냐? 전공자이자 얼리 어댑터였던 그 친구는 자신만만한 표정으로 답해줬다. 인터넷은 일단 경험을 해봐야 알 수 있다. 그리고, 그걸 해보려면 딱 3가지만 알면 된다: 트럼펫 윈속, 넷스케이프 네비게이터 그리고, 야후 그러고는 그게 무엇인지에 대해 간단히 설명을 시작했다. 나는 끝내 트럼펫 윈속을 구하지 못했고, 윈도우 95를 설치하고 나서야 인터넷을 써볼 수 있었다. 내가 처음으로 검색해서 읽어..
2011년 여름에 태국에 엄청난 홍수가 발생했고, 이때 하드디스크를 비롯한 많은 산업이 큰 영향을 받았다. 이를 계기로 HDD 중심의 PC 저장장치 구성이 SSD 중심으로 이동하기도 했고, 모 회사는 헬 게이트란 비난을 듣는 일도 발생했다. 그렇지 않아도 2009년 바라쿠다 시리즈의 설계 결함으로 인해 하드가 죽어버려 데스 게이트란 비아냥을 듣던 상황이었는데... 상세한 내막은 나 같은 일반 사용자가 다 알 순 없지만, 이때를 시작으로 x게이트 사의 HDD에서 신뢰성 문제가 생기기 시작한 건 확실하다. 어쨌거나 그 홍수는 10년도 더 지난 일이고, 이제 역사 속의 이야기가 된 것 같지만, 최근까지도 바라쿠다가 죽는 얘긴 가끔 들려왔다. 2년 전쯤 가까운 지인도 그렇게 홀연히 데이터를 날려먹고 다신 헬 게..
약 석달 전에 미친 척 하고(아니 그냥 미친 건가...) 인텔의 Arc A750을 구매했다. 비디오 인코딩/디코딩을 포함하여 약 석달 정도 사용하면서 느낀 점들을 정리해봤다. 1. 외형 이건 분명히 말하고 싶은데, 카드의 디자인 자체는 예쁘다. 처음 박스에서 뜯었을 때 깔끔하고 완성도 높은 디자인과 마감에 좀 놀라기까지 했었다. 2. 동영상 재생 동영상 재생 능력은 현존하는 글카 중 상위권이다. HEVC는 물론 AV1까지 HW 디코딩을 지원하기 때문에 영상 재생 능력은 아쉬운 점이 없다. 물론, 이걸 꽂을 정도의 컴퓨터라면 CPU에서 SW 디코딩만 해도 별 문제는 없겠지만... nvidia처럼 AI 기능을 활용해서 해상도를 끌어올리는 기능까진 없어도 동영상 재생의 깡성능은 대단히 좋은 편이다. 3. 동영..
처음 아키텍처를 배우던 시절에 교수님께서 DRAM와 SRAM의 구조를 강의하실 때 수퍼 컴퓨터는 SRAM을 사용한다는 말씀을 하셨다. CRAY 같은 것들의 구조는 내부적으로 액체 냉각을 하고 메모리도 SRAM을 사용한다고... 사실 위 사진의 CRAY-1은 SRAM을 사용하지는 않았다. 하지만, CRAY-2 모델은 공통 메모리(Common Memory)로 DRAM 모델을 기본으로 하면서, SRAM 모델도 판매헀었다. SRAM은 우리가 메인 메모리로 사용하는 DRAM과 달리 6개의 소자를 한 묶음으로 메모리를 구성한다. refresh가 필요한 DRAM과 달리 속도가 빠른 게 장점이다. 이에 따라 CPU 내부에서 사용되는 cache 메모리는 SRAM을 사용한다. 집적도가 상대적으로 낮았던 과거와 달리, 외계..
잘 알려져있다시피 SSD의 수명은 무한하지 않다. HDD과 SSD는 수명이 비슷하게 유한하지만, 둘의 패턴은 꽤 다르다. HDD가 수명과 밀접한 관련이 있는 것은 플래터 면의 손상이다. 흔히 말하는 배드 섹터 얘기다. SSD의 수명은 NAND 셀 하나하나의 수명과 관련이 있다. 셀 하나의 수명에 용량을 곱한 정도의 크기만큼을 쓰는 것이 SSD의 수명이다. SSD 컨트롤러가 하는 중요한 일 중 하나는 셀 하나하나의 수명이 다해가기 전에 다른 셀로 데이터를 옮기는 것이다. 이를 좀 더 정형화한 값이 바로 요즘 대부분의 SSD 스펙에 명시되어있는 TBW이다. AnandTech에서 이 식을 아래와 같이 정리했다. 여기서 분모 쪽은 실제 데이터에 따라 달라질 수 있으므로 최악의 상황을 가정하여 계산하니 사실상 상..
이전 글에서도 썼지만, 윈도우11을 라이젠 CPU 환경에서 사용하려면 fTPM은 뭔가 좀 많이 찝찝하다. 스터터링 이슈를 완전히 잡지 못한다면 굳이 나서서 성능을 떨어뜨리는 선택을 하는 게 되기 때문이다. 물론 궁극적인 솔루션은 AMD에서 완벽한 마이크로코드를 제공하고, MS에서는 윈도우11의 성능 문제를 해결하는 것이지만... 현시점에서 최선의 선택은 메인보드에 맞는 dTPM 모듈을 장착하는 것 같다. 이를 위해선 일단 메인보드 메뉴얼을 확인한다. 메인보드마다 장착 가능한 TPM 모듈은 천차만별이기 때문. 내 보드의 경우 아래 캡쳐와 같이 SPI 방식의 TPM 모듈을 지원한다. LPC 방식의 TPM을 지원하는 메인보드도 많은데, 이 두 방식은 아예 호환성이 없다. 만약 같은 SPI 방식인데 핀맵만 다르..
내 CPU는 라이젠 5900x다. 나름 이 계열에서 최상위 라인업 쪽에 속하는 프로세서이고, 성능도 만족스럽다. 하지만, 윈도우 11로 업데이트 한 뒤 왠지 찝찝한 이슈가 벌어지고 있었다. 컴퓨터가 툭툭 멈추는, 흔히 스터터링(stuttering)이라 부르는 현상이 발생하기 시작한 것이다. 게임을 특별히 하는 것도 아닌데, 이게 체감될 정도였다. AMD에서도 이 문제를 인지하고 있었고, 결국 fTPM 모듈의 문제를 인정하고 마이크로코드를 업데이트했다. (AMD AGESA 1.2.0.7) 이 업데이트 설치 이후 별 문제 없을 것으로 기대했지만, 현실은 언제나 냉혹한 것... 이전과 별 다름 없이 스터터링이 발생하는 것이었다. 문제를 제대로 해결해보기 위해 아예 윈도우10과 윈도우11을 돌아가며 구동하면서 ..
이 글을 쓰는 현 시점 우분투 LTS의 최신 버전은 22.04.1이다. 그런데, 이 우분투에서 Nvidia를 제대로 사용하는 건 의외로 전혀 쉽지 않다. 그냥저냥 적당히 쓰기만 하는 것도 어렵고, 제대로 드라이버를 다 설치하려면 고난의 길이 기다린다. 문제점 기본 오픈소스 드라이버인 Nouveau의 문제 우분투와 함께 설치되는 Nvidia GPU 오픈 소스 드라이버(Nouveau)는 Cuda를 활용하지 못하고 성능도 떨어진다. 게다가, Nouveau가 설치된 상태에서는 Nvidia 정식 드라이버를 설치할 수도 없다. 강제로 Nouveau를 uninstall할 수는 있으나, uninstall하면 부팅이 제대로 이루어지지 않는다. 우분투 22.xx대의 yellow screen bug Ubuntu 22.xx대..
비디오 컨테이터의 표준인 mp4/mov 포맷은 최초 애플 퀵타임 포맷을 기원으로 한다. 애플 퀵타임 포맷을 보완해서 국제 표준인 MPEG-4 Part 14(ISO/IEC 14496-14:2003)로 등록한 것이다. 기존의 QTFF에 비해서 보완된 점이 여러 가지가 있기는 해도, 본질적인 구성은 동일하다. 오브젝트 단위로 구분되어 있고, 각 오브젝트는 8바이트 필트(크기 4바이트, type 4바이트)로 시작하는 것. 그런데, 가장 크게 바뀐 내용이 그 중 제일 앞의 필드는 ftyp로 시작해야 된다는 것이다. 요즘 아이폰으로 영상을 촬영하면 당연하게도 MPEG-4 컨테이터에 동영상을 저장한다. MediaInfo로 찍어보면 당연히 이렇게 표시된다. 그리고, 내 프로그램 중에서 mp4 파일의 촬영/녹화 시간을 ..
이런 일이 없으면 좋겠지만... .dll 파일로부터 이를 사용하기 위한 .lib 파일을 생성해야 할 때가 있다. 이럴 때의 정석(?)은 dumpbin.exe을 돌린 결과에서 일부 내용을 추출해서 lib.exe를 실행하는 것... 예를 들어, dumpbin.exe의 결과가 아래와 같이 나왔다면... dumpbin.exe /exports mkl_rt.dll [중간 생략] 18796 number of functions 18796 number of names ordinal hint RVA name 1 0 000060E0 CAXPBY 2 1 00006600 CAXPY 3 2 00006F80 CAXPYI 4 3 00006890 CAXPY_DIRECT 5 4 00134CE0 CBBCSD 6 5 001353E0 CBD..
몇달 전 USB 3.0 허브를 구매해서 사용하고 있었다. 유전원 USB 허브이며, 장비 옆의 케이블 커넥터까지 누가 봐도 USB3.0 허브다. 물론 여기 꽂을 수 있도록 동봉된 마이크로 USB 타입 B 케이블 역시 누가 봐도 USB3.0임을 확신할 수 있다. 하지만, 유튜브 뻘짓연구소에 충격적인 영상이 얼마 전 올라왔었다. 아니, 모양이라도 다르던가... 아예 대표 이미지로 나온 바로 그 디자인이다... 그래서 직접 까봤다. 찬란하게(?) 박혀있는 SL2.1s의 위엄... 그리고 12.000MHZ... 이름만 봐도 알 수 있듯이 저건 USB2.0 컨트롤러 칩이다. 그리고, 12.000MHz는 이 칩에서 사용되는 오실레이터... 이렇게 찍은 사진을 마지막으로 쓰레기통에 처넣었다... 다음에 지른 건 USB..
몇년 전 프린터를 새로 샀고, 마침 대학원 졸업증명서를 뽑아야 했으며 게다가 그게 주말이었는데, 인쇄를 못 하는 상황이 벌어졌다. 내가 산 프린터가 왜 '허용된 프린터 목록'에 없지? 메일로 수정 요청을 보냈긴 했지만, 하루만에 뚝딱 해결될 수 있는 상황이 아니라 꽤 스트레스를 받았었다. 그 뿐만 아니라 온라인 민원 사이트에서 내 정보를 다운받으면서 이런 의문이 종종 들었었다. 왜 내 정보를 내가 다운받는데, 한 번씩밖에 못 받는가? 물론, 이 "정보"엔 등본, 초본을 비롯한 상세한 개인정보가 있어 충분한 보안대책이 필요하다는 점을 모르는 바는 아니다. 하지만, 어쨌거나 기술적으로 궁금한 건 또 다른 문제다. 게다가 이 관점에서 더 따라가보면 프린터에서 사용되는 PCL이나 PS같은 언어들이 진화한 형태가..
이전 글에서 간략하게만 적었는데 바이오스의 버그 등으로 인해 윈도우의 최대 절전 모드가 동작하지 않는 경우가 있다. 이런 경우에 단순하게 명령창의 명령만으로 절전 모드에 진입시키는 것이 아예 불가능하다. shutdown.exe 이건 rundll.exe powrprof.dll 이건 무엇 하나 기대대로 동작하지 않는다. powrprof.dll을 활용해서 적절한 인자를 추가하여 최대 절전 모드 대신 절전 모드로 진입시키려 해도 제대로 되지 않는다. shutdown.exe /h /f rundll32.exe powrprof.dll SetSuspendState 정확한 메커니즘은 확인할 수 없었지만, 명령행에서 최대 절전 모드 대신 굳이 절전 모드로 진입하는 건 불가능해 보인다. 하지만, 아주 약간의 코드 만으로도 ..
메인보드로 ASRock의 B550M Steel Legend를 사용하고 있다. 이 보드는 USB 포트에 역전류 방지 회로가 장착되어 있어 언제나 안정적으로 사용할 수 있다. 그런데, 어느 날부터 절전모드가 정상적으로 동작하지 않는 상황이 벌어지고 있었다. 해외 포럼들에서도 이 문제는 많은 이슈가 되어서 여러가지 글들이 많이 올라오고 있었고, 기본적인 해결책도 나와있었다. 시스템 설정에서 최대 절전 모드를 끄는 것. 이렇게 하면 윈도우 자체는 큰 문제 없이 사용할 수 있으나, 본질적인 문제는 해결되지 않는다. 예를 들면, shutdown.exe 명령으로 절전 모드로 진입할 수 없다. shutdown.exe /h /f 이는 아래 명령을 통해서도 마찬가지다. rundll32.exe powrprof.dll Set..
정규식은 문자열을 비교 처리할 때 사용되는 강력한 표현법이다. Perl, JavaScript 등의 언어에서는 대단히 높은 활용도를 보여주고 있다. C++ 언어의 경우 정규식을 처음부터 지원한 건 아니었고, C++11부터 지원하기 시작했다. 표준에 포함되긴 했지만, C++ 언어의 문법 구조상 정규식을 사용하는데는 불편함이 있다. 예컨데, 아래의 정규식은 메일 주소를 확인하기 위한 꽤 흔한 식이다. var regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i; 하지만, C++에서 이런 정규식을 사용하려면 식을 문자열로 써야 하고, 이에 따라 \는 한 번이 아니라 두 번 적어야 한다. 마지막에 ..
이 문제는 의외로 오래 전에(?) 알려졌던 문제이다. 이 프로그램이 설치되고 나면 언인스톨이 깔끔하게 되지 않는데, 이걸 수작업으로 지우면 문제가 터지는 것. nProtect Firewall Core Driver가 일단 설치되면 언인스톨을 하더라도 컴퓨터 어딘가에 숨어서 암약하고 있다. 1. 수작업 제거 1단계 명령행을 관리자 권한으로 실행한 뒤 아래와 같이 입력하면 관련 프로세스가 제거된다. 그리고... 인터넷이 죽는다. sc stop TKFWFV sc delete TKFWFV 2. 수작업 제거 2단계 명령행에서 다음과 같이 입력한다. netcfg -s n 윈도우에 설치된 각종 네트워크 구성 요소들이 화면에 표시되는데, 이 중 아래와 같은 내용을 찾는다. 관리자 권한으로 실행된 명령행에서 아래와..
언젠가부터 지메일이나 유튜브 접속 속도가 묘하게 느려졌다. 구글이 아니더라도 뭔가 느릴 이유가 없는데 접속이 느려보이는 사이트들이 좀 있었다. 그러다 클리앙에서 글을 하나 보고서 따라했더니 효과가 커서 공유. 현재까지 공식적으로 널리 사용되는 HTTP 표준은 2.0이다. 그리고, 이 한계를 극복하기 위해 연구되고 있는 게 3.0. 여기 사용될 기술이 QUIC이라는 프로토콜이다. 골자는 기존 TCP 기반의 한계를 극복하기 위해 UDP 기반으로 더 빠르고 훌륭한 프로토콜을 만든다는 것. 그리고, 이미 구글을 포함한 많은 사이트들이 HTTP 3.0을 시범지원하고 있는데, 여기서 뭔가 문제가 벌어진 듯. HTTP 3.0(QUIC)이 정식으로 지원되고, 안정화가 이루어지기 전까지는 잠시 꺼두어도 괜찮을 것 같다...
드디어 그 날이 오고야 말았다. 구글의 G Suite 서비스는 10년 넘게 무료로 도메인 메일을 제공해주는 고마운 서비스였다. 하지만, Google Workspace라는 유료 서비스로 통합된다는 얘기가 있었고, 드디어 2022년 7월 1일로 고지를... 받았다. 이 서비스를 소규모 회사 등에서 사용하는 건 큰 무리가 없을 것이다. 계정 1개당 6달러이므로 30명 규모 조직이라면 월 180달러라는 꽤 만만한 가격에 훌륭한 서비스를 활용할 수 있다. 하지만, 단지 도메인 메일만을 사용하는 개인이라면 얘기가 다르다. 계정이 2개만 되어도 월 만원 이상의 비용이 나가는데, 은근 부담스럽다. 다음 스마트워크를 사용할까 했다가 이왕 있는 장비를 잘 써먹기 위해 시놀로지 NAS를 활용하기로 했다. Synology M..
HW(그래픽 카드) 전문 사이트들에서는 이미 꽤 다뤄졌던 얘기 같은데, 실제로는 잘못 꽂는 경우가 많아서 포스팅. 대부분의 PC용 파워 서플라이의 사용설명서 등에는 아래와 같이 보조전원에 대한 설명이 나와있다. 간단히 말해 전력 소모가 큰 경우엔 전원 케이블 하나에 보조전원 둘을 동시에 연결하지 말라는 것. 그리고, nVidia의 홈페이지에 가면 아래와 같은 내용을 볼 수 있다. 20시리즈의 경우 RTX 2070 Super는 보조전원을 215W 필요로 한다고 한다. 즉, 2070 Super 이상에선 별도의 전원 케이블 2개를 꽂아야 하는 것 같다. 30 시리즈의 경우 3070Ti가 무려 290W를 사용한다. 즉, 3070Ti 이상에서는 전원 케이블을 별도로 꽂아야 한다는 것 같다. 그런데, 실제로 레퍼런..
C/C++ 언어에서 헤더의 중복 선언을 방지하기 위해 #pragma once를 사용한다. 그런데, #pragma once를 써도 링크 오류가 발생하는 경우가 있다. 아래와 같은 간단한 프로그램들을 보자. // CTest1.h: 헤더 파일 // #pragma once class CTest1 { public: int Func(); }; // CTest1.cpp: 클래스 동작을 정의함 // #include "CTest1.h" int CTest1::Func() { return 1; } #include #include "CTest1.h" int main() { CTest1 test1; std::cout
이전 포스팅들에서 OpenDDS를 Visual Studio 환경에서 컴파일하는 법을 정리했다. 이후 OpenDDS 자체의 변경사항도 있고, 뭔가 이상한 점이 확인되기도 해서 좀 더 정리함. 1. 3.18.1 → 3.19 깃허브에 올라온 공식 버전이 3.19로 업데이트 됐다. 그리고, 공식적으로 Visual Studio 2022를 지원한다. 최신 버전을 사용한다면 configure 파일을 수정할 필요가 없음. 2. static 모드 사용 비추 다양한 테스트들을 돌려봤는데, static 모드로 컴파일하면 DDS 통신이 제대로 되지 않는다. TransportRegistry::create_inst() 함수가 오동작하는 것 같은데, 정확한 문제는 더 추적이 필요함. 일단은 정적 라이브러리에서 MFC 사용 옵션은 ..
갑자기 Log4j 사태 때문에 관련 업계 쪽에선 폭탄이라도 맞은 분위기인 것 같다. 상당수의 자바 개발자가 사용하는 애드온에 서버의 모든 권한을 가져올 수 있는 오류가 있다니... 정부를 비롯해서 관련 기관/업계에선 부랴부랴 난리가 났고, 이번에도 어김없이 가짜뉴스가 판친다. 해당 오류는 2.x 대에 있는데, 전자정부는 1.2 사용하니까 문제 없다고?? 물론, 답글은 뭐 이런 식이고... 하지만, 이건 조금만 찾아보면 쉽게 진위여부를 확인할 수 있다. 전자정부 표준 프레임워크는 3.1부터 Log4j2.0을 사용하고 있었다. 그리고, 이 3.x는 '14년~'15년부터 사용되었고. 세줄 요약 1. 전자정부 프레임워크는 6년 전 503 시절부터 Log4j 2.x 사용 2. 원 글 올린 사람은 이 사실을 알면서..
10. 프로젝트 설정 당연한 얘기지만, 모든 프로젝트를 선택해서 설정하면 C/C++ 항목이 표시되지 않는다. 이 점을 신경 써서 C/C++ 항목이 표시되는 모든 프로젝트에 대해 다음의 전처리기를 정의한다. 이 부분은 빼도 상관은 없지만, 경고가 너무 많이 표시되어 보기 싫기 때문에 하는 것을 추천. _WINSOCK_DEPRECATED_NO_WARNINGS _CRT_SECURE_NO_WARNINGS 그리고, 하는 김에 다중 프로세서 컴파일을 예(/MP)로 설정한다. 환경에 따라 다르지만 요즘 환경이라면 적어도 2배 이상은 더 빨리 컴파일된다. 11. /bigobj 설정 몇몇 프로젝트는 섹션 수가 한도를 초과한다는 메시지와 함께 컴파일 실패가 발생한다. 이 프로젝트들은 C/C++ 명령줄에서 /bigobj를 ..
7. 수정 #3 다음 수정들은 좀 지저분하다. NetworkConfigMonitor.h 파일에서 다음과 같은 부분을 찾는다. virtual void add_interface(const NetworkInterface& interface) { NetworkInterface::AddressSet addresses = interface.get_addresses(); for (NetworkInterface::AddressSet::const_iterator pos = addresses.begin(), limit = addresses.end(); pos != limit; ++pos) { add_address(interface, *pos); } } virtual void remove_interface(const Net..
VS 환경에서 OpenDDS를 컴파일하는 것 자체는 그렇게 어려운 일이 아니다. 다운을 받아 압축을 풀고 configure.cmd를 실행시킨 뒤 VS로 컴파일하면 된다. 컴파일 오류가 몇 개 발생하긴 하지만 잘 고쳐보면 된다. 그럼 쉬운 게 아니잖아. 하지만, 이걸 정말로 써먹을 수 있도록 컴파일하는 것은 쉽지 않다. 앞 글에서도 얘기했듯이 윈도우에서 제대로 쓸 수 있는 수준에 맞춰야 하는데 쉬울리가... 현 시점에서 릴리즈된 OpenDDS의 최신 버전은 3.18.1이다. 이 버전은 공식적으로 VS2019 까지만을 지원한다. VS2019 사용자라면 그냥 쓰면 되지만, VS2022 사용자라면 선택을 해야 한다. configure를 좀 수정하거나 이후 버전을 다운받아야 한다. 0. 사전 준비 물론 이 작업을..
1. OpenDDS란? 미들웨어 중에 DDS라는 녀석이 있다. Publisher-Subscriber 모델을 사용하며, 상당히 신뢰도가 높아 국방체계에도 사용되는 미들웨어다. RTI DDS가 비싸도 널리 사용되는 것 같고, 이 외에도 OpenSplice DDS, 국산인 스마트DDS, 구름DDS도 있다. DDS도 다른 기술들과 마찬가지로 표준화가 이루어져 오픈소스 버전도 만들어져 깃허브에서 관리되고 있다. 깃허브에서 소스가 관리되는 DDS는 위에 언급된 OpenSplice DDS 외에도 OpenDDS가 있다. 이 중 OpenDDS를 윈도우 환경에서 적용해보기로 했다. 2. 윈도우 환경과 기타 환경의 미묘한 차이 우리나라에서 프로그램을 개발할 때는 당연히 유니코드를 적용해서 개발해야 한다. 호환성 때문에 멀티..
최근 인텔 12세대 CPU가 발표되었지만, 인텔의 주장과는 달리 성능의 엄청난 향상을 보여주진 못하고 있다. 성능 향상폭은 크지 않은데, 보드도 새로 사고, DDR5도 새로 사야할만한 필요성은 전혀 느껴지지 않는다. 물론 DDR5도 언젠간 수율이 올라가고 기술력이 안정화되어 DDR4를 대체하겠지만, 아직은 아닌 것 같다. 라이젠 계열을 계속 쓰는 게 낫다고 판단해서 없는 돈에 영혼 한 방울까지 끌어모아 라이젠 5900X로 업그레이드 했다. 메인보드도, 메모리도 아무것도 살 필요 없이 CPU만 사면 되니 가성비는 일단 비교할 수 없이 높고... 일단 떠나보내는 CPU(및 그 외에 안 바뀌는 시스템) 사양은 아래와 같았다. 그리고 새로 영입한 CPU는 이렇다. 당연히 새로운 CPU가 성능이 좋겠지만, 어느 ..