본문 바로가기

전체 글360

Dataram RAMDisk 속도측정/비교 컴파일 속도 향상을 위해 Ramdisk를 찾다가.. Dataram RAMDisk 이라는 것이 있어서 설치 및 테스트를 해 보았다. CDM으로 테스트한 결과이고 아래는 작업관리자에서 본 평균응답시간이다. 설명처럼 좌측의 결과는 Ramdisk이고, 우측은 970 PRO 1TB (NVMe PCIe x4) 이다. 전체적으로 (4K Q32T1은 이상하게 970 PRO가 더 빠른데.. 음..) RAMDisk가 빠르다. 평균 응답 시간을 보면 Write의 일부 상황에서 SSD가 우세한 경우가 있는데 편차로 따지면 SSD는 편차가 크고(막 널뛰기를 함.. Flash memory와 wearleveling등의 문제인듯) RAMDisk는 편차가 거의 없다시피 한다. 가격은 RAMDisk Extreme - Up to 64GB.. 2019. 7. 3.
Kubernetes 에서 쉽게 디버깅하기 (서비스에 실제 IP 부여, bare-metal LoadBalancer) https://metallb.universe.tf/tutorial/layer2/ 을 참고하여 metal-lb 를 설치 & 설정한다. 외부(쿠버네티스 파드가 아닌, 외부)에서 접속할 서비스의 spec.type을 LoadBalancer으로 변경한다 그럼 svc에 external ip가 자동으로 할당된다. 이를 확인한다. (Windows에서) C:\Windows\System32\drivers\etc\hosts에 # IP Hostname 10.0.0.101 my-svc 10.0.0.101 my-svc.default 10.0.0.101 my-svc.default.svc.cluster.local이렇게 필요한 서비스이름을 hosts에 추가한다. 그럼 my-svc.default.svc.cluster.local:8080.. 2019. 6. 28.
C++ & AFX(MFC) 환경에서 사용자 정의 메세지 사용하면서 SendMessage으로 메세지 호출할 때 Run-Time Check Failure C++ & AFX(MFC) 환경에서 사용자 정의 메세지 사용하면서 SendMessage으로 메세지 호출할 떄... Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.위와 같은 오류가 났던 경우가 있었습니다. 이틀동안 엄청 삽질했는데... 보통 이런경우 메모리가 꼬여서 (Overflow/일부 메모리 free등) 문제가 발생했.. 2019. 6. 27.
안전한 IOCP 프로그래밍 GQCS = GetQueuedCompletionStatus 비동기 처리 함수들 (WSARecv, WSASend, WriteFile, ReadFile 등) 비동기 처리 개수만큼 GQCS 결과 발생 GQCS의 return이 FALSE일 경우에도 key 및 lpOverlapped가 NULL이 아닌 경우에는 해당 이벤트에 대한 처리가 필요함 (이런 경우에는 해당 핸들에 오류가 발생한 것으로 GetLastError으로 오류결과 받을 수 있고 해당 핸들에 대한 정리(Cleanup) 처리 등이 필요) PostQueuedCompletionStatus로 비동기 처리에 대한 대체결과 Post가능 (이 경우 기존 작업 취소됨(?)) 예를 들어 비동기 WSARecv받는 중에 closesocket하면 GQCS의 return값이.. 2019. 6. 23.
OpenSSL FIPS 빌드 저의 빌드 환경은 Windows x86 64bit , Visual Studio 2015 환경입니다. 그리고 필요한 프로그램들은 (대략) 아래와 같습니다. (더 필요할 수 있음) nasm (32bit/64bit 둘 다 따로 설치) ActivePerl D:\replace.bat (아래) @echo ON setlocal call :FindReplace %1 %2 %3 exit /b :FindReplace set tmp="%temp%\tmp.txt" If not exist %temp%\_.vbs call :MakeReplace for /f "tokens=*" %%a in ('dir "%3" /s /b /a-d /on') do ( for /f "usebackq" %%b in (`Findstr /mi.. 2019. 6. 19.
Nitrokey HSM key import 처음부터 HSM을 사용하지 않다가 HSM을 사용하게 된다면 기존의 Key와 인증서들을 HSM으로 Import해야 하는 경우가 발생합니다. 하지만 이러한 것은 보안상의 문제로 많은 HSM에서 공식적으로 지원하지 않습니다. (잘 생각은 안나는데.. 무슨 인증을 받으려면(CC였나?) 이러한 기능이 존재하면 안된다고 합니다.. 확실치는 않아요.. 지나가다 본거 같아서.. 정확히는 key import의 경우 안전한 random으로 만들어진 key가 아니라서 그랬다고 했나 쨋든...) 공식적으로 지원하지 않는 만큼.. 좋은 방법이 아닙니다. HSM내에서 안전한 Random generator를 통해서 생성한 Key를 외부에 노출하지 않고 HSM내부에만 저장하여 안전하게 보관하는 것이 좋습니다. 저 또한.. Key를 .. 2019. 6. 8.
반응형