일반적인 FD 닫기를 구현 할 때 아래와 같이 구현 한다.하지만 개발 할 때 우리가 지속적으로 생각해 봐야 할 부분에 대해서 작성해 보았습니다. void CloseSockFD(){ struct rlimit rlim; // 현재 프로세스에 대해 열 수 있는 파일 디스크립터의 최대 개수를 조회합니다. if (getrlimit(RLIMIT_NOFILE, &rlim) == -1) return; // 조회에 실패하면 함수를 종료합니다. for (rlim_t idxFD = 0; idxFD 1. 불필요한 검사 최소화현재 구현에서는 유효하지 않은 파일 디스크립터에 대한 fstat 호출을 시도한 후 오류를 확인합니다. 대신, 열린 파일 디스크립터의 집합을 관리하고, 이 집합에 대해서만 fstat를 호출하는 방식으로 ..
C++20 이상: std::format 사용 예시C++20에서는 std::format이라는 새로운 함수를 도입하여 문자열 포맷팅을 더욱 쉽게 할 수 있게 되었습니다. 이 함수는 Python의 str.format과 유사한 방식으로 작동합니다. 다만, std::format은 컴파일 시간에 포맷 문자열을 검사하여 타입 안전성을 보장합니다.#include #include #include templatestd::string stringformat(const std::string& format, Args ... args) { size_t size = snprintf(nullptr, 0, format.c_str(), args ...) + 1; if (size buf(new char[size]); ..
아스트릭 처리된 경로 비교를 해봅시다절대 경로를 비교 할 때 * 처리된 경로까지 넣어서 비교해 봅시다.\ 구현/******************************************************************************* _ _ _ _ __ _____ _ _*| | | | | | | |/ / | __ \ | | | |*| |__| | __ _ ___ | |_ _| ' / | | | | _____ __ | | __ _| |__*| __ |/ _` |/ _ \_ | | | | | ..
프로세스(Process)와 쓰레드(Thread)는 둘 다 동시에 여러 작업을 수행하는데 사용되는 개념이지만, 몇 가지 중요한 차이점이 있습니다. 독립성: 프로세스: 각 프로세스는 독립된 메모리 공간을 가지며, 한 프로세스의 오류가 다른 프로세스에 영향을 미치지 않습니다. 각 프로세스는 운영체제에 의해 별도로 관리됩니다. 쓰레드: 쓰레드는 프로세스 내에서 실행되는 여러 실행 흐름으로, 같은 프로세스 내의 쓰레드들은 같은 메모리 공간을 공유합니다. 따라서 쓰레드 간에는 데이터를 쉽게 공유할 수 있습니다. 자원 사용: 프로세스: 각 프로세스는 운영체제로부터 독립적인 자원을 할당받습니다. 이로 인해 프로세스 간 통신이나 데이터 공유에는 별도의 메커니즘이 필요합니다. 쓰레드: 쓰레드는 같은 프로세스 내의 다른 쓰..
깊이 우선 탐색 (DFS - Depth-First Search): 설명: DFS는 그래프나 트리에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다. 한 경로를 끝까지 탐색한 후, 되돌아와서 다음 경로를 탐색하는 방식입니다. 장점: 간단하고 직관적인 구현이 가능합니다. 깊은 경로를 먼저 탐색하여 목표에 빠르게 도달할 수 있습니다. 단점: 최단 경로를 보장하지 않습니다. 무한 루프에 빠질 수 있으며, 이를 방지하기 위해 방문한 노드를 기록하는 추가적인 공간이 필요합니다. 특정 상황에서는 최적의 해를 찾지 못할 수 있습니다. 너비 우선 탐색 (BFS - Breadth-First Search): 설명: BFS는 그래프나 트리를 가로지르며 너비를 기준으로 우선적으로 탐색하는 알고리즘입니다. 한 노드에서 인접한 노..
Windows 윈도우 기반의 코드 서명은 개발자가 제작한 소프트웨어나 파일에 디지털 서명을 적용하는 프로세스입니다. 이는 사용자에게 소프트웨어의 출처와 무결성을 보장하고, 보안 경고를 최소화하는 데 도움이 됩니다. 아래는 Windows 환경에서 코드 서명을 하는 방법에 대한 간략한 가이드입니다: 참고: 코드 서명을 위해서는 디지털 인증서가 필요하며, 이는 신뢰할 수 있는 Certificate Authority(CA)에서 구입하거나 자체적으로 생성할 수 있습니다. 디지털 인증서 생성: 개발자는 디지털 서명을 위한 개인 키와 공개 키를 가지고 있는 디지털 인증서를 생성해야 합니다. 디지털 인증서 저장: 생성한 디지털 인증서와 개인 키는 안전한 곳에 저장되어야 합니다. 개인 키는 노출되지 않도록 주의해야 합니..
- Total
- Today
- Yesterday
- C
- 외돌개
- C#
- DLL
- 서귀포블루버블
- 울릉도
- Thread
- 암호화
- 블루버블다이빙팀
- 블루버블
- PowerShell
- Build
- 윈도우
- CMake
- 서귀포
- 성산블루버블
- 패턴
- 스쿠버 다이빙
- C++
- 현포다이브
- OpenSource
- ip
- C#.NET
- Linux
- 제주도
- 스쿠버다이빙
- Windows
- C# 고급 기술
- 블루버블다이브팀
- 리눅스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |