RAND 정리 1. RAND 설명 RAND는 난수를 생성하는 함수 또는 메커니즘으로, 소프트웨어 및 하드웨어에서 사용됩니다. 목적: 난수는 보안, 시뮬레이션, 게임, 통계적 분석 등 다양한 분야에서 필요합니다. 특징: 난수는 예측할 수 없어야 하며, 진정한 난수(TRNG)와 의사 난수(PRNG)로 나뉩니다. 2. RAND 함수 종류 설명 (C++) std::rand (C 표준 라이브러리) std::random_device (C++11 이후) std::mt19937 (Mersenne Twister, C++11 이후) std::uniform_i..
CFileMon 클래스 설계 및 구현 개요 CFileMon 클래스는 특정 파일의 변경 사항을 감지하며, Windows와 POSIX 환경 모두에서 작동하도록 설계되었습니다. Named Mutex를 활용하여 다중 프로세스 동기화를 보장하며, 파일이 삭제되거나 수정되는 상황에 안정적으로 대응합니다. 주요 기능 Windows 및 POSIX 환경 지원 Named Mutex를 활용하여 다중 프로세스 동기화 파일 변경 시 해시를 비교하여 변경 여부 감지 파일이 삭제되거나 접근 불가한 경우 예외 처리 주기적인 파일 상태 확인 (스레드 기반 구현) 플랫폼별 구현 ..
IOCP, Boost.Asio, epoll 예제 1. IOCP (Windows) 플랫폼: Windows 설명: IOCP는 Windows에서 제공하는 비동기 I/O 처리 메커니즘으로, 고성능 네트워크 서버를 구축할 때 사용됩니다. 예제 코드: #include #include #include #include #include #pragma comment(lib, "Ws2_32.lib")struct ClientContext { OVERLAPPED overlapped; SOCKET socket; char buffer[1024];};void workerThread(HANDLE iocpHandle) { DWORD bytesTransferred; UL..
IOCP, Boost.Asio, epoll 비교 1. IOCP (I/O Completion Port) 플랫폼: Windows 설명: Microsoft에서 제공하는 고성능 비동기 I/O 처리 기술로, 소켓, 파일, 파이프 등을 효율적으로 처리합니다. 주요 특징: 완료 기반 이벤트 모델 (비동기 작업 완료 시만 처리). 스레드 풀을 활용한 효율적인 CPU 사용. 수십만 개의 동시 연결을 처리할 수 있는 고성능. 2. Boost.Asio 플랫폼: 크로스 플랫폼 (Windows, Linux, macOS) 설명: Boost 라이브러리의 일부로, 고성능 비동기 I/O를 제공하며, 플랫폼별 메커니즘(IOCP, epoll 등)을 ..
ACE 라이브러리 설명ACE(The Adaptive Communication Environment)는 네트워크 및 분산 시스템 개발을 지원하기 위한 C++ 기반의 오픈소스 라이브러리입니다. 네트워크 소켓, 멀티스레드, 동기화 제어 등의 기능을 제공합니다.주요 특징이식성: 다양한 플랫폼에서 동작.높은 성능: 멀티스레드 및 이벤트 기반 프로그래밍 지원.모듈화된 디자인: 필요한 기능만 선택적으로 사용 가능.클라이언트-서버 통신 C++ 예제 코드서버 코드// 서버 코드 (server.cpp)#include #include #include #include #include int main() { ACE_INET_Addr port(8080); ACE_SOCK_Acceptor acceptor; if (..
Get Public IP in C++ This code uses libcurl to retrieve the public IP address by making an HTTP request to http://api.ipify.org. #include iostream>#include string>#include curl/curl.h>size_t WriteCallback(void* contents, size_t size, size_t nmemb, std::string* userp) { userp->append((char*)contents, size * nmemb); return size * nmemb;}std::string GetPublicIP() { CURL* curl; CUR..
- Total
- Today
- Yesterday
- C#
- 현포다이브
- 리눅스
- C#.NET
- PowerShell
- Build
- DLL
- 서귀포블루버블
- 울릉도
- 블루버블다이빙팀
- 제주도
- Windows
- C
- 성산블루버블
- Thread
- 패턴
- C# 고급 기술
- 스쿠버다이빙
- 윈도우
- CMake
- OpenSource
- 서귀포
- 외돌개
- C++
- 스쿠버 다이빙
- 블루버블
- Linux
- 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 |