깊이 우선 탐색 (DFS - Depth-First Search): 설명: DFS는 그래프나 트리에서 깊은 부분을 우선적으로 탐색하는 알고리즘입니다. 한 경로를 끝까지 탐색한 후, 되돌아와서 다음 경로를 탐색하는 방식입니다. 장점: 간단하고 직관적인 구현이 가능합니다. 깊은 경로를 먼저 탐색하여 목표에 빠르게 도달할 수 있습니다. 단점: 최단 경로를 보장하지 않습니다. 무한 루프에 빠질 수 있으며, 이를 방지하기 위해 방문한 노드를 기록하는 추가적인 공간이 필요합니다. 특정 상황에서는 최적의 해를 찾지 못할 수 있습니다. 너비 우선 탐색 (BFS - Breadth-First Search): 설명: BFS는 그래프나 트리를 가로지르며 너비를 기준으로 우선적으로 탐색하는 알고리즘입니다. 한 노드에서 인접한 노..
Windows 윈도우 기반의 코드 서명은 개발자가 제작한 소프트웨어나 파일에 디지털 서명을 적용하는 프로세스입니다. 이는 사용자에게 소프트웨어의 출처와 무결성을 보장하고, 보안 경고를 최소화하는 데 도움이 됩니다. 아래는 Windows 환경에서 코드 서명을 하는 방법에 대한 간략한 가이드입니다: 참고: 코드 서명을 위해서는 디지털 인증서가 필요하며, 이는 신뢰할 수 있는 Certificate Authority(CA)에서 구입하거나 자체적으로 생성할 수 있습니다. 디지털 인증서 생성: 개발자는 디지털 서명을 위한 개인 키와 공개 키를 가지고 있는 디지털 인증서를 생성해야 합니다. 디지털 인증서 저장: 생성한 디지털 인증서와 개인 키는 안전한 곳에 저장되어야 합니다. 개인 키는 노출되지 않도록 주의해야 합니..
함수 및 인자 명명법에 대한 고찰 1. 기본 함수 정의 우리가 처음 배우는 함수명은 대부분 다음과 같은 형태입니다: void foo();void boo(); 하지만 이러한 함수명은 그 목적과 기능을 전혀 알 수 없기 때문에 적절하지 않습니다. 함수가 어떤 동작을 수행하는지, 리턴 값이 무엇을 의미하는지 알 수 있도록 함수명을 명확하게 짓는 것이 필요합니다. 2. 리턴 값이 있는 함수 리턴 값을 사용하는 경우 함수명을 통해 그 역할을 더욱 명확하게 나타낼 수 있습니다: bool foo(); // 성공 또는 실패를 리턴LRESULT boo(); // 특정 결과 코드 리턴 3. 함수명..
구조체 초기화 및 동적 할당 초기화의 중요성 1. 구조체 및 동적 할당 초기화 프로그래머들은 구조체를 사용하고 동적으로 메모리를 할당할 때, 메모리를 초기화하는 다양한 방법을 사용합니다. 하지만 기본적으로 컴파일러가 자동으로 메모리를 초기화하지 않는다면, 다음과 같은 함수들을 사용하여 초기화 작업을 해야 합니다: ::ZeroMemory(메모리 주소, 크기) memset(메모리 주소, 값, 크기) 2. 코드 예시 struct Data{ int nData1; bool bData2;};Data *pData = new Data;// 메모리 초기화::ZeroMemory(pData, sizeof(Data));::memset..
CPU 점유율 제어와 Sleep() 함수 사용1. 과도한 반복문에는 Sleep()을 사용하자무한 반복문이나 자원을 많이 소모하는 루프에서는 Sleep()을 적절히 사용하여 CPU 자원의 독점을 방지해야 합니다. 그렇지 않으면 CPU를 과도하게 점유하게 되어 프로그램이 느려지거나 UI가 응답하지 않게 될 수 있습니다.2. Windows 프로그램의 멀티 스레드 환경Windows 환경에서 UI 스레드와 기능을 처리하는 다른 스레드는 자원을 공유하게 됩니다. 이때 특정 스레드가 CPU를 과도하게 사용하면 UI 스레드가 응답하지 않거나 프로그램이 멈출 수 있습니다. 예를 들어, 무한 반복문이 있는 코드에서 CPU 100% 점유가 발생할 수 있습니다.3. CPU 100% 점유 코드 예시#include "stdafx..
- Total
- Today
- Yesterday
- C# 고급 기술
- 외돌개
- 블루버블다이빙팀
- 윈도우
- C
- C#.NET
- Windows
- 서귀포
- OpenSource
- 울릉도
- PowerShell
- C#
- 스쿠버다이빙
- Thread
- 블루버블
- 암호화
- DLL
- 현포다이브
- 패턴
- 제주도
- ip
- 리눅스
- 블루버블다이브팀
- Linux
- Sleep
- Build
- 서귀포블루버블
- C++
- 성산블루버블
- CMake
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |