[DP] 반복문 순서에 따라 순열/조합이 결정된다 (백준 1106)

algorithm-icon
2026. 02. 04.·Algorithm

DP 배낭 문제에서 ‘반복문의 순서’가 알고리즘의 성격(순열 vs 조합)을 어떻게 결정짓는지 심층 분석합니다. 백준 1106번 호텔 문제를 통해 최적화 문제에서는 두 방식이 모두 통하지만, 경우의 수 문제에서는 순서가 정답을 가르는 핵심임을 밝힙니다. 더불어 ilways.com의 심화 포스트를 통해 Unbounded Knapsack의 다양한 변형을 학습할 수 있도록 안내합니다.

[DP] 타일링 DP (백준 2302)

algorithm-icon
2026. 02. 03.·Algorithm

단순한 자리 배치 문제가 아닌 ‘피보나치 수열’의 변형임을 간파하는 것이 핵심입니다. 초보자가 흔히 범하는 ‘상태 시뮬레이션(dp[n][3])’ 접근법이 왜 복잡도 폭발을 일으키는지 논리적으로 분석하고, ‘마지막 행동’에 집중하여 문제를 선형(Linear)으로 단순화하는 과정을 다룹니다. VIP 좌석을 ‘분할 지점’으로 활용하는 실전 테크닉까지 완벽하게 정리했습니다.

API Gateway – MSA의 단일 진입점

msa-logo
2026. 02. 02.·MSA

API Gateway는 MSA에서 외부 트래픽의 단일 진입점으로 라우팅, 인증/인가, 공통 정책(레이트리밋·CORS·IP 제어), 관측성(로그·트레이싱)을 중앙화한다. 다만 비즈니스 로직·DB 접근·트랜잭션·복잡한 조합을 넣으면 거대한 모놀리식이 되므로 “얇은 게이트웨이” 원칙과 토폴로지 선택, 운영(SPOF·지연) 대응이 핵심이다.

[기술 면접 총정리] 데이터베이스편

job-interview-logo
2026. 02. 01.·Job Interview

데이터베이스 시스템의 핵심 원리부터 실무 적용까지 아우르는 포괄적인 가이드입니다. 관계형 데이터 모델의 이해와 SQL 기초 및 심화 문법(DDL, DML)을 다루며, 효율적인 DB 설계를 위한 데이터 모델링, ERD 작성, 정규화 과정을 상세히 설명합니다. 또한 시스템 성능 최적화를 위한 인덱스 관리와 데이터 무결성을 보장하는 트랜잭션, 동시성 제어, 회복 기법 등 고급 주제를 체계적으로 정리하여 데이터베이스 구축과 운영에 필요한 필수 지식을 제공합니다.

Outbox 패턴

cqrs-icon
2026. 02. 01.·CQRS & Eventing

분산 시스템 환경, 특히 CQRS나 마이크로서비스 아키텍처에서 발생하는 ‘이중 쓰기(Dual Write)’ 문제를 해결하기 위한 패턴입니다. 비즈니스 데이터 처리와 메시지 발송을 하나의 데이터베이스 트랜잭션으로 묶어 원자성(Atomicity)을 보장합니다. DB에 ‘Outbox’라는 별도의 테이블을 두고, 이벤트를 먼저 저장한 뒤 별도의 프로세스가 이를 메시지 브로커로 전송하는 방식을 통해 메시지 유실 없는 ‘적어도 한 번(At-least-once)’ 전송을 보장합니다.

ObjectMapper 개념 및 사용

spring-framework-icon
2026. 01. 31.·Spring Boot

Spring Boot 개발의 필수품, Jackson ObjectMapper의 핵심 기능과 실무 사용법을 총정리했습니다. 직렬화(Serialization)와 역직렬화(Deserialization)의 기본 개념부터 writeValueAsString, readValue, convertValue 등 필수 메서드 5가지의 활용법을 예제 코드로 상세히 설명합니다. 또한, TypeReference를 이용한 리스트 파싱 주의사항과 JavaTimeModule 등 실무 환경에 최적화된 설정 방법까지 함께 다룹니다.

[기술 면접 총정리] 네트워크편

job-interview-logo
2026. 01. 30.·Job Interview

네트워크 기술 면접을 준비하는 개발자분들을 위해 핵심 개념을 체계적으로 정리하는 시리즈입니다.

이번 포스팅에서는 처리량, 지연 시간 같은 네트워크 성능 지표부터 트리, 스타, 메시 등 다양한 토폴로지의 특징을 분석합니다. 또한, 실무 면접에서 단골로 등장하는 L2/L3 스위치와 라우터의 하드웨어적 차이, L7 로드밸런서의 동작 원리 등 계층별 핵심 장비의 역할을 체계적으로 다룹니다.

[DP] Tree DP (백준 2533)

algorithm-icon
2026. 01. 30.·Algorithm

백준 2533번 ‘사회망 서비스’ 문제를 통해 Tree DP의 핵심 원리를 분석합니다. 트리의 레벨별 접근이 실패하는 이유와 함께, ‘부모의 상태가 자식의 선택을 제약한다’는 관계성을 이용해 dp[node][state] 점화식을 유도하는 과정을 설명합니다. 특히 DFS의 후위 순회(Post-order)를 활용한 ‘방문-위임-결정’의 3단계 구현 공식을 제시하고, 이를 적용한 O(N) 자바 코드를 상세히 해설합니다.

[DP] 구간(Interval) DP (백준 11049)

algorithm-icon
2026. 01. 29.·Algorithm

백준 11049번 ‘행렬 곱셈 순서’를 통해 구간 DP(Interval DP)의 핵심 원리를 분석합니다. 선형 DP와의 구조적 차이를 설명하고, 문제 해결을 위한 3가지 식별 힌트(인접 결합, 상태 의존성, N=500)를 제시합니다. 특히 구간 DP의 필수 구현 패턴인 ‘길이-시작점-분할점’ 3중 루프 공식을 상세히 해설하며, 이를 적용한 Java 모범 코드를 제공합니다.

[DP] 0/1 Knapsack (백준 7579)

algorithm-icon
2026. 01. 29.·Algorithm

백준 7579번 ‘앱’ 문제를 통해 0/1 Knapsack 알고리즘의 핵심을 분석합니다. 목표 값(메모리)의 범위가 클 때 ‘비용’을 기준으로 DP 테이블을 설계하는 발상의 전환 과정을 3단계(인덱스 선정, 제약 검증, 정의 뒤집기)로 체계화했습니다. 또한, 1차원 배열 최적화 시 필수적인 ‘역순 순회’의 논리적 근거를 설명하며, 제공된 자바 코드가 왜 최적의 해법인지 기술적으로 해설합니다.