📌 시리즈 개요C++ 코드를 작성할 때 자주 반복되는 패턴이나, 명시적인 의도 표현을 위해 매크로를 사용하는 경우가 많습니다. 이 시리즈에서는 실무에서 자주 사용하는 매크로들을 하나씩 소개하며, 언제, 왜, 어떻게 사용해야 하는지를 설명합니다.반복되는 코드는 버그의 온상이다. 하지만 잘 설계된 매크로는 우리의 날개가 된다.🧩 시리즈 목록🔹 1편: UNREFERENCED_PARAMETER – 사용하지 않는 매개변수를 안전하게 무시하기Visual Studio에서 발생하는 경고 제거 방법코드의 의도를 명확히 하기 위한 실전 예제Windows/Linux 호환을 위한 정의 방법1편: UNREFERENCED_PARAMETER – 사용하지 않는 매개변수 안전하게 무시하기🔹 2편: SAFE_DELETE / SA..
🔍 UNREFERENCED_PARAMETER 매크로를 꼭 써야 하는 이유"이 매개변수 안 쓰는데… 지워도 되나?""경고가 자꾸 뜨네? 어떻게 없애지?"이런 고민, 한 번쯤 해보셨죠?C/C++ 코딩을 하다 보면 함수 시그니처에 선언된 매개변수를 사용하지 않는 경우가 종종 생깁니다.이럴 때 등장하는 게 바로 👉 UNREFERENCED_PARAMETER(x) 매크로입니다.⚠️ 문제 상황void OnEvent(int eventCode, void* pContext){ // 아직 pContext를 사용하지 않음 HandleEvent(eventCode);}Visual Studio에서는 이렇게 경고가 뜹니다:warning C4100: 'pContext': unreferenced formal paramet..
코드 서명 위탁 금지 ⚠ 코드 서명 서비스를 위탁받아 제공하는 것은 보안 및 법적 위험을 초래할 수 있습니다. 아래의 사항을 철저히 준수해야 합니다. ✅ 우리가 코드 서명 서비스를 위탁받으면 안되는 이유 1️⃣ 법적 문제 발생 가능성 전자서명법 및 전자서명인증업무준칙 준수: 제3자 서명이 법적으로 제한되지 않았는지 확인 ISMS 및 ISO 27001 인증 필요: 정보보호 인증 대상 여부 검토 및 보안 감사 준비 CA(인증기관) 정책 확인: CA 계약 위반 여부 점검 2️⃣ 보안 관리 요구 사항 ..
코드 서명 웹 구축 보안 가이드 ⚠ 웹서버로 구축하지 않는 것이 좋습니다. 하지만 이미 구축되어 있다면 아래와 같이 보안 조치를 수행해야 합니다. ✅ 코드 서명 웹 구축 시 필수 보안 조치 내부망 구축 및 외부망 연결: 서명 시 필요한 URL만 제한적으로 허용 HTTPS 적용: 전송 데이터 보호를 위해 필수 접근 제어 설정: 그룹웨어 ID 및 사내 접근 ID 활용, 다중 인증 적용 사외 접근 차단: VPN 및 DMZ 통한 외부 접근 차단 접근 이력 관리: 접근 ID, IP, 서명된 파일 등 로그 저장 및 변조 방지 관리 페이지 제공: ..
🌐 엔디안 변환 – htons와 htonl 완벽 정리!네트워크 프로그래밍이나 시스템 간 데이터 전송을 다루다 보면 "엔디안(Endian)"이라는 개념을 자주 접하게 됩니다. 특히 C/C++에서 htons, htonl 같은 함수가 자주 사용되는데, 이게 무엇인지, 왜 필요한지 깔끔하게 정리해보겠습니다.🔸 엔디안(Endian)이란?엔디안은 멀티 바이트 데이터를 메모리에 저장하는 방식을 말합니다.빅 엔디안(Big Endian): 큰 바이트(상위 바이트)가 메모리의 앞 주소에 저장됩니다.리틀 엔디안(Little Endian): 작은 바이트(하위 바이트)가 메모리의 앞 주소에 저장됩니다.예시:0x12345678빅 엔디안 → 12 34 56 78리틀 엔디안 → 78 56 34 12🔸 엔디안이 왜 중요할까?대부..
SetTimer vs Thread Sleep vs CreateTimerQueueTimer 비교 윈도우 애플리케이션에서 일정 시간 간격으로 작업을 수행하는 방법으로 SetTimer, Thread + Sleep, CreateTimerQueueTimer가 자주 사용됩니다. 각각의 방식은 동작 방식과 장단점이 다르며, 상황에 따라 적합한 방식이 달라집니다. 1. SetTimer 동작 방식: 일정 시간 간격으로 WM_TIMER 메시지를 메시지 큐에 추가하여 타이머 이벤트를 발생시킵니다. 메인 스레드에서 타이머 콜백이 처리됩니다. SetTimer(hWnd, 1, 1000, NULL); // 1초마다 WM_TIMER 발생switch (message) { case WM_TIM..
- Total
- Today
- Yesterday
- 서귀포
- 울릉도
- Build
- RSA
- 서귀포블루버블
- C#
- 블루버블다이빙팀
- 디자인패턴
- 패턴
- ReFS
- 양파다이브
- PowerShell
- 블루버블다이브팀
- Thread
- 제주도
- Linux
- 성산블루버블
- C++
- DLL
- OpenSource
- C
- 블루버블
- Windows
- 다이빙
- 리눅스
- ip
- 스쿠버다이빙
- 현포다이브
- 암호화
- 윈도우
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |