본문 바로가기

Design & Architecture2

All of Dead Lock 1. 데드락이란?정의 : 두 개 이상의 트랜잭션(또는 스레드)이 서로가 보유한 자원을 기다리며 영원히 진행하지 못하는 상태.필수 4조건(Coffman)상호 배제(Mutual Exclusion)점유-대기(Hold and Wait)비선점(No Pre-emption)순환 대기(Circular Wait)상호 배제 (Mutual Exclusion)정의: 자원은 동시에 하나의 트랜잭션(또는 스레드)만이 사용할 수 있어야 한다는 조건입니다.예시: 어떤 트랜잭션이 특정 행(row)을 SELECT … FOR UPDATE로 잠갔다면, 그 잠금이 해제되기 전까지 다른 트랜잭션은 해당 행을 수정할 수 없습니다.필요성: 대부분의 자원(DB row, 파일 핸들 등)은 동시에 여러 주체가 수정하면 데이터 정합성이 깨지기 때문에 상.. 2025. 6. 15.
소프트웨어 아키텍처 패턴 문서화 템플릿 및 예시 ✅ 패턴 설명 템플릿항목 설명Name (이름)패턴의 명칭. 간결하고 핵심 개념을 잘 드러내야 함.Context (맥락)이 패턴이 적용되는 일반적인 시스템 환경 또는 상황.Problem (문제)패턴이 해결하고자 하는 근본적인 문제나 어려움. 시스템 관점에서 어떤 제약이나 한계가 존재하는지 설명.Forces (제약 요인)문제 해결을 어렵게 만드는 상충되는 요구사항이나 시스템 제약. 예: 지연 시간 vs 일관성Solution (해결책)문제를 해결하기 위한 일반적인 설계 방식 또는 전략. 구성 요소와 흐름 등을 포함.Structure (구조)구성 요소 간의 관계를 나타내는 다이어그램 (예: Mermaid, UML 등).Resulting Context (결과 맥락)패턴 적용 이후의 시스템 특성. 해결된 점과 새롭.. 2025. 5. 24.