개발24 [C++] 메모리누수와 해결방안 C++ 메모리 누수 원인과 해결 방법 총정리! C++ 메모리 누수란?메모리 누수(Memory Leak)는 프로그램이 동적으로 할당한 메모리를 해제하지 않아, 사용하지도 못하면서 시스템 자원을 계속 차지하는 현상입니다. 누적되면 프로그램의 성능 저하, 시스템 불안정, 심할 경우 크래시까지 유발할 수 있습니다. 메모리 누수가 발생하는 대표적인 상황1. new로 할당하고 delete를 하지 않은 경우int* ptr = new int(10);// delete ptr; // 누락되면 메모리 누수 발생2. 예외(Exception) 처리 중 delete 누락void func() { int* data = new int[100]; if (/* error condition */) { throw st.. 2025. 3. 24. [C++] 메모리 누수 C++에서 메모리 누수를 찾아내는 방법메모리 누수(memory leak)는 동적으로 할당한 메모리를 해제하지 않아 발생하는 문제로, 장기적으로 프로그램의 성능을 저하시킬 수 있습니다. 특히, C++과 같은 언어에서는 개발자가 메모리 관리를 직접 수행해야 하기 때문에 메모리 누수를 찾아내고 해결하는 것이 중요합니다. 1. 메모리 누수란?메모리 누수는 프로그램이 더 이상 필요하지 않은 메모리를 해제하지 않아서 발생하는 문제입니다.이는 장기간 실행되는 프로그램에서 심각한 문제를 초래할 수 있으며, 시스템 리소스를 낭비하게 됩니다.발생 원인new 또는 malloc()으로 할당한 메모리를 delete 또는 free()로 해제하지 않음예외(exception) 발생 시 메모리 해제 코드가 실행되지 않음전역 또는 정적.. 2025. 3. 9. Open Authentication (OAuth) 인증방식이란? Open Authentication (OAuth) 인증방식에 대해 알아보자 Open Authentication (OAuth) 인증방식이란?OAuth(Open Authentication)는 웹 애플리케이션 및 모바일 애플리케이션에서 사용자 인증과 권한 부여를 안전하게 처리하는 표준 인증 프로토콜입니다. 이 시스템은 다른 웹사이트나 애플리케이션이 사용자의 자원에 접근할 수 있도록 권한을 부여하는 데 사용됩니다. 쉽게 말해, OAuth는 사용자가 직접 자격 증명을 제공하지 않고도 외부 애플리케이션이 안전하게 데이터에 접근할 수 있게 해줍니다. OAuth의 주요 개념OAuth는 기본적으로 두 가지 주요 역할을 통해 작동합니다:Resource Owner (리소스 소유자): 데이터를 소유한 사용자.Client (클.. 2025. 2. 28. [Java] jdom2 라이브러리 사용하여 XML 파싱하기 Java에서 JDOM2 라이브러리 사용하여 XML 파싱하기 JDOM2 라이브러리란?JDOM2는 Java에서 XML 문서를 파싱하고, 생성하고, 수정할 수 있는 라이브러리입니다.XML을 객체 모델로 변환하여 쉽게 작업할 수 있도록 해주며, DOM이나 SAX 방식보다 간단하고 효율적으로 XML을 처리할 수 있습니다. JDOM2 라이브러리 설치하기JDOM2 라이브러리를 사용하려면 먼저 프로젝트에 라이브러리를 추가해야 합니다.Maven을 사용하는 경우, pom.xml 파일에 의존성을 추가하세요: org.jdom jdom2 2.0.6 XML 파싱 예제 코드다음은 JDOM2 라이브러리를 사용하여 XML을 파싱하는 예제 코드입니다.이 예제에서는 XML 문자열을 파싱하여, 각 상품의 가격, 장소, 무.. 2024. 9. 6. [gitlab] 특정시점의 branch 만들기 GitLab에서 특정 시점의 Commit으로부터 Branch 생성하는 방법 GitLab에서 Commit으로부터 브랜치 생성하기GitLab에서 기존 commit을 기반으로 새로운 브랜치를 만들고자 할 때, 특정 시점의 commit을 선택하여 새로운 branch를 생성할 수 있습니다. 이는 기존의 작업을 그대로 유지하면서 새로운 기능을 개발할 때 유용하게 사용됩니다.이번 글에서는 GitLab에서 특정 시점의 commit을 기반으로 브랜치를 생성하는 방법을 단계별로 설명합니다. 1. Commit SHA 복사하기새로운 브랜치를 만들고자 하는 시점의 commit을 선택해야 합니다.이를 위해 GitLab의 Repository 메뉴에서 Commits 탭을 클릭하여 commit 히스토리를 확인할 수 있습니다.생성하려는.. 2024. 8. 26. [C#] DTMF 전송 방식 (In-band vs Out-of-band) 및 RTP 패킷 [C#] DTMF (Dual Tone Multi Frequency) 전송 방식 정리 및 RTP 패킷 구현DTMF 신호 전송은 VoIP 및 전화 시스템에서 숫자 입력을 처리할 때 핵심적인 요소입니다.이 글에서는 C#으로 구현하는 DTMF RTP 패킷 생성 방법과 함께, In-band와 Out-of-band 전송 방식의 차이점도 정리합니다. 1. DTMF 전송 방식: In-band vs Out-of-bandIn-band 방식DTMF 신호를 음성 주파수 대역 내에서 전송추가 경로가 필요 없고 구현이 간단음성 압축, 잡음 등의 영향으로 신호 왜곡 가능성 있음Out-of-band 방식DTMF 신호를 음성 신호와 별도로 RTP 또는 SIP 메시지로 전송정확하고 신뢰도 높은 전송 가능VoIP 시스템에서 표준적으로 사.. 2024. 8. 7. 이전 1 2 3 4 다음