본문 바로가기

운동하는 개발자

(181)
파일서버(스토리지서버) HTTP통신 파일 다운로드 스트레스 테스트 (JMeter) / fileserver stress test 파일서버가 어느 정도의 트래픽과 I/O를 버텨낼 수 있을지 스트레스 테스트가 필요하였다 여러 유틸이 있었는데 JMeter를 사용해 보았다 우선 JAVA8 이상의 버전 설치와 "JAVA_HOME" 이름으로 환경변수 등록이 필요하다 환경변수 등록은 아래로 2022.12.15 - [운동하는 개발자/Windows] - windows 10, 11 환경 변수 등록(adb.exe 환경 변수 등록하기) windows 10, 11 환경 변수 등록(adb.exe 환경 변수 등록하기) 커맨드 명령어로 실행되는 것들은 꼭 그 exe의 해당경로를 찾아가기 번거로운것들이 많다 환경변수에 등록해두면 어느 경로에서든 실행 할 수 있어 편하다 이번엔 Android Debug Bridge인 adb를 등록해 singo112ok.tisto..
커맨드 명령어로 파일 해시 추출하기 (파일이 동일 한지 확인 방법) 파일이 동일한 파일인지 확인하기 위해 주로 해시값을 비교해본다 OpenSSL 같은 라이브러리를 사용해서 추출할 수 있으나 윈도우의 경우 기본 유틸로 간단하게 확인이 가능하다 사용법은 커맨드를 실행하여 CertUtil 명령을 사용하면 된다 certutil -hashfile [filename] MD5 certutil -hashfile [filename] SHA256 적용예시) C++의 라이브러리인 boost인 경우 위 사진과 같이 SHA256 Hash를 제공한다 (다른 사이트에서도 종종 Hash를 제공한다 파일변조를 검사할 수 있다) 해당 boost_18_0.zip을 다운로드한 뒤 해시를 추출해 보았다 위 해시와 정확히 일치하고 변조되지 않은 정상 파일인 것이 확인 가능하다
boost::log 링크 에러 error LNK2038: mismatch detected for 'boost_log_abi': value 'v2s_mt_nt62' doesn't match value 'v2s_mt_nt6' in checklist.obj boost::log 사용 중 잘 작동하던 코드에서 기능을 추가하다 보니 갑자기 링크에러가 발생했다 1>utils.obj : error LNK2038: mismatch detected for 'boost_log_abi': value 'v2s_mt_nt62' doesn't match value 'v2s_mt_nt6' in checklist.obj 1>utils.obj : error LNK2019: unresolved external symbol "public: __thiscall boost::log::v2s_mt_nt62::attribute_set::attribute_set(void)" (??0attribute_set@v2s_mt_nt62@log@boost@@QAE@XZ) referenced in funct..
signtool error: The provided cross certificate would not be present in the certificate chain. 최근 받은 전달받은 사인키를 이용하여 exe파일을 사인해보려 했는데 다음과 같은 오류가 발생했다 분명 사인프로그램도 설치되어 있고 인증 USB도 꽂혀있었는데.. 번역해 보면 "제공된 교차 인증서는 인증서 체인에 존재하지 않습니다." ???????? 찾아보니 해당 인증서가 내 피시에 저장되지 않았기 때문이었다 해결책으로는 아래와 같다 1. [인증서].cer 파일을 더블클릭해서 열어주고 "인증서 설치" 클릭 2. 저장소 위치 선정, 멀티유저가 아닌 이상 별 차이는 없을 테나 나는 "로컬 컴퓨터" 선택 후 다음 3. "모든 인증서를 다음 저장소에 저장" 선택 후 찾아보기 -> 신뢰할 수 있는 루트 인증기관 확인 -> 다음 4. 다시 signtool을 사용해 보면 정상적으로 exe파일에 사인이 완료되었다 * 검..
cmake로 windows 파일 속성(버전) 입력하기 시작 전에.. CMAKE는 주로 크로스 컴파일 환경이기에 윈도우에 파일속성에서 보이는 파일버전을 신경 쓰지 않았다가 필요에 의해 찾아보니 은근 정보 찾기가 힘들었다 1. cmake로 빌드할 프로젝트가 있는 경로에 version.rc.in파일을 생성한다 2. 파일에 아래 내용을 붙여 넣는다 #include "Windows.h" /* CMakeLists.txt 에서 선언할 변수 MY_PRODUCT_NUMBER, MY_PRODUCT_VERSION, MY_BUILD_NUMBER */ #define VER_FILEVERSION @MY_PRODUCT_NUMBER@,@MY_PRODUCT_VERSION@,@MY_BUILD_NUMBER@,0 #define VER_FILEVERSION_STR "@MY_PRODUCT_NUM..
윈도우 텍스트 파일 내용으로 검색 하는 법 예를 들어 위와 같이 로그파일이 모여있거나 텍스트파일이 모여있을 때 파일명이 아니라 파일 본문 내용으로 검색하고 싶은 경우가 있다 이때는 해당 경로에서 터미널(cmd, terminal, powershell 다 가능)을 연다 findstr /S "내용" *.* 이런 식으로 start라는 내용이 있는 log확장자의 파일을 모두 검색하면 이렇게 파일명과 그 라인의 내용이 출력된다 굳이 내용까지 안 보고 파일명만 찾고 싶다면 /M 명령어를 추가하면 된다 ※ 추가로 결과를 파일로 저장할 수 있다 findstr /sm start > result.txt 이렇게 하면 커맨드 실행경로에 result.txt라는 파일명에 결과가 저장된다 더 많은 파라미터 값들은 공식페이지를 찾아보자 https://learn.microsof..
Windows에서 NamedPipe 통신 client 테스트하기 기존에 구축되어 있는 NamedPipe 서버 측에 데이터를 전송하는 테스트가 필요하여 유틸을 찾아보는데 유틸은 안 나오고 죄다 연동방법, 라이브러리 소개만 있었다 이유를 찾아보니 Windows powershell을 통해서 간단하게 테스트가 가능했다... (터미널, cmd 안됩니다) $pipe = New-Object IO.Pipes.NamedPipeClientStream('.', '파이프명', [IO.Pipes.PipeDirection]::Out) $pipe.Connect() //여기서 바로 응답이 안오면 파이프명 다시 확인 $writer = New-Object System.IO.BinaryWriter($pipe) $writer.Write(0x41) //바이트 단위 전송 아스키코드표 보고 'A'전송 혹은 ..
visual studio 2022 여러 블럭 주석 풀기 단축키 기본적으로 주석은 라인전체를 블록지정하거나 특정 범위를 지정해서 "Ctrl+Shift+/"를 누르면 주석 설정이 되고 풀린다 그런데 다음과 같이 주석이 공백라인을 포함하여 두 개 떨어져 있을 경우 전체를 블록지정해도 주석 해지가 되지 않는다 그때는 주석 제거 단축키인 "Ctrl+k+u"를 입력해 줘야 한다 쩝 다른 IDE는 그냥 됐었었는데 귀찮게..