2025/01 3

Heap과 Stack 메모리 관리

1. 메모리의 두 가지 주요 영역C#과 같은 언어에서 메모리는 크게 두 가지 영역으로 나뉩니다:스택(Stack): 메서드 호출과 로컬 변수, 값 타입의 데이터를 저장하는 공간.힙(Heap): 동적으로 할당된 객체와 참조 타입의 데이터를 저장하는 공간. 2. 스택(Stack) 특징값 타입 데이터를 저장합니다. (예: int, float, struct 등)메서드 호출 시, 메서드 내에서 선언된 로컬 변수들이 저장됩니다.LIFO (Last In, First Out) 구조로 동작합니다.메모리 할당 및 해제가 빠릅니다.스택 메모리는 메서드가 종료되면 자동으로 정리됩니다. 저장되는 데이터값 타입의 데이터 (int, float, bool, etc.)참조 타입의 참조(주소) (객체의 실제 데이터는 힙에 저장). 예시 ..

Java 2025.01.24

PostgreSQL 외부 IP에서 연결 설정 방법

PostgreSQL은 기본적으로 보안을 위해 **로컬 연결(localhost)**만 허용하도록 설정되어 있습니다. 외부 IP에서 PostgreSQL 데이터베이스에 연결하려면 다음 설정을 추가해야 합니다.1. pg_hba.conf 파일 수정pg_hba.conf는 PostgreSQL의 인증 방식을 정의하는 설정 파일입니다. 외부 IP에서 접근을 허용하려면 아래와 같은 설정을 추가해야 합니다.pg_hba.conf 경로: PostgreSQL 설정 디렉터리에서 확인할 수 있습니다. 예:/etc/postgresql//main/pg_hba.conf설정 추가:# 모든 IPv4 주소 허용 (보안상 비추천)host all all 0.0.0.0/0 m..

DataBase/PostgreSQL 2025.01.11

비동기 환경에서의 스레드 충돌 문제와 해결 방안

WCF와 SDK API의 스레드 문제 및 해결 방법1. 문제의 배경WCF(Windows Communication Foundation)는 기본적으로 호출을 처리하기 위해 고유한 스레드 풀을 활용합니다. 반면, 동기식 호출을 기반으로 작동하는 SDK API 는 특정 스레드에서의 호출을 요구하거나 스레드 상태를 관리합니다. 이로 인해 다음과 같은 문제가 발생할 수 있습니다:WCF 호출 스레드와 SDK API 호출 스레드가 동일한 경우, SDK 내부에서 스레드 상태(예: LockState)가 예상치 못한 방식으로 변경되어 오류가 발생.SDK API 호출 중 스레드 상태 충돌로 인해 연결이 끊어지거나 LockStateException과 같은 에러가 발생.2. 문제의 원인2.1 스레드 충돌WCF에서 제공하는 호출 ..

C# 2025.01.05