Featured image of post [Computer Terms] SOLID 원칙 개요

[Computer Terms] SOLID 원칙 개요

SOLID는 낮은 결합도와 높은 응집도를 실천 가능한 다섯 규칙으로 정리한 객체지향 설계 원칙입니다. 단일 책임 원칙을 중심으로 각 원칙의 목적과 흔한 오해를 코드로 다루고, 언제 적용하고 언제 과잉 설계로 흐르는지 판단 기준도 정리합니다.

Featured image of post [Computer Terms] 결합도와 응집도 (Coupling, Cohesion)

[Computer Terms] 결합도와 응집도 (Coupling, Cohesion)

결합도는 모듈 사이의 의존 정도, 응집도는 한 모듈 내부 요소들의 연관 정도를 가리키는 설계 척도입니다. 낮은 결합도·높은 응집도가 왜 좋은 설계의 기준인지, Yourdon과 Constantine의 고전적인 분류 체계와 함께 코드 리팩토링으로 다룹니다.

Featured image of post [Computer Terms] 그래프 (Graph)

[Computer Terms] 그래프 (Graph)

그래프는 트리의 부모-자식 제약을 없애고 임의의 노드끼리 연결한 자료구조입니다. 인접 리스트·인접 행렬 표현과 BFS·DFS 순회를 C 코드와 함께 비교합니다.

Featured image of post [Computer Terms] 데드락 (Deadlock)

[Computer Terms] 데드락 (Deadlock)

데드락은 두 개 이상의 실행 흐름이 서로가 쥔 락을 기다리며 영원히 멈추는 상황입니다. 상호배제·점유대기·비선점·순환대기라는 발생 필요조건 네 가지와, 락 순서 고정으로 순환대기를 끊어 이를 예방하는 방법을 C 코드로 재현합니다.

Featured image of post [Computer Terms] 디자인 패턴 개요 (Design Patterns)

[Computer Terms] 디자인 패턴 개요 (Design Patterns)

디자인 패턴은 반복되는 설계 문제에 대한 검증된 해법에 이름을 붙인 것입니다. GoF의 생성·구조·행동 패턴 분류와, 전략 패턴 코드를 SOLID 원칙과 연결해 다루며 패턴 남용(과잉 설계)을 피하는 판단 기준도 함께 정리합니다.

Featured image of post [Computer Terms] 레이스 컨디션과 락 (Race Condition, Lock)

[Computer Terms] 레이스 컨디션과 락 (Race Condition, Lock)

레이스 컨디션은 여러 스레드가 공유 자원에 동시에 접근할 때 실행 순서에 따라 결과가 달라지는 버그입니다. 뮤텍스로 임계 구역을 보호하는 원리를 C 코드로 재현하고 고치며, 그 대가인 성능 비용과 대안까지 다룹니다.

Featured image of post [Computer Terms] 로드 밸런싱 (Load Balancing)

[Computer Terms] 로드 밸런싱 (Load Balancing)

로드 밸런싱은 하나의 서버로는 감당 못 할 트래픽을 여러 서버에 나눠 처리하는 기법입니다. 라운드 로빈·최소 연결·헬스 체크 알고리즘을 비교하고, L4/L7 계층 구분과 세션 고정 문제의 근본 해법까지 함께 다룹니다.

Featured image of post [Computer Terms] 배열과 연결리스트 (Array, Linked List)

[Computer Terms] 배열과 연결리스트 (Array, Linked List)

배열과 연결리스트는 데이터를 순서대로 저장하는 가장 기초적인 두 자료구조입니다. 메모리 레이아웃 차이가 접근·삽입·삭제 성능과 캐시 지역성에 미치는 영향을 컴파일 가능한 C 코드로 비교하고, 동적 배열의 상환 O(1) 삽입 원리까지 함께 다룹니다.