이단계 생성 패턴(하부 구조)
이단계 생성
소프트웨어 개발에서 객체 생성 과정은 두 단계로 나뉘며
시스템 자원과 무관한 초기화 작업
예외 상황 발생 불가능한 연산
- 자원 할당 및 접근이 필요한 작업
메모리 분할, 파일 시스템 접근 등 예외 가능성 있는 연산
이단계 생성 예시 1
class ResourceSafeConstructor {
private:
ResourceSafeConstructor() // 첫 번째 생성 단계, C++ 기본 생성자
}
b ...
10월 6일 00:22에 게시됨
SwiftGen을 활용한 리소스 사전 로딩 전략: 코드 생성 최적화 방안
iOS 애플리케이션 개발에서 리소스 로딩 성능은 사용자 경험에 직접적인 영향을 미칩니다. 앱이 시작될 때 대량의 이미지, 폰트, 문자열 리소스가 한꺼번에 로딩되면 시작 시간이 길어지거나 런타임에 성능 저하가 발생할 수 있습니다. SwiftGen은 코드 생성 기술을 통해 리소스 접근을 타입-세이프한 상수로 컴파일하며, 여기에 최적화된 초기화 전략을 적용하면 성능을 ...
7월 20일 16:50에 게시됨
WPF에서 정적 리소스와 동적 리소스의 차이 및 실질적인 동작 방식
WPF에서는 리소스를 StaticResource와 DynamicResource 두 가지 방식으로 참조할 수 있습니다. 이 둘은 문법상으로는 비슷해 보이지만, 작동 시점과 갱신 방식에 중요한 차이가 있습니다. 아래 예제를 통해 그 동작을 자세히 살펴보겠습니다.
기본 예제: 두 버튼이 같은 브러시 리소스 참조
다음 XAML 코드는 하나의 SolidColorBrush 리소스를 정의하고, 이를 두 개의 버 ...
7월 18일 18:36에 게시됨
재진입 가능한 세마포어 이해하기
목차
상호 배제성
재진입 가능성
synchronized 키워드를 통한 자동 락 관리
디락 예방 전략
요약
동기화 메커니즘은 여러 스레드가 공유 리소스에 접근할 때 동작을 제어하는 데 사용됩니다.
병렬 처리에서 임계 구간은 특정 리소스에 대한 접근을 제한하는 코드 블록으로, 동시에 하나의 스레드만 실행할 수 있습니다.
락 과정: 리소스 접근 전에 락을 획득해야 하며, ...
7월 8일 07:43에 게시됨