Featured image of post [Computer Terms] REST와 GraphQL

[Computer Terms] REST와 GraphQL

REST는 자원을 URL과 HTTP 메서드로 표현하는 API 설계 스타일이고, GraphQL은 클라이언트가 필요한 데이터의 모양을 직접 지정하는 쿼리 언어입니다. 오버페칭·언더페칭 문제와 REST의 캐싱 이점 대 GraphQL의 유연성 트레이드오프로 두 방식을 비교합니다.

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 계층 구분과 세션 고정 문제의 근본 해법까지 함께 다룹니다.