분산 시스템의 CAP 정리부터 데이터 압축, 암호화까지 초급 개발자가 반드시 알아야 할 핵심 개념을 다룹니다. 실무에서 자주 마주치는 보안과 성능 최적화의 기초를 탄탄하게 다져봅시다. # 데이터 처리와 암호화 완벽 가이드 분산 시스템의 CAP 정리부터 데이터 압축, 암호화까지 초급 개발자가 반드시 알아야 할 핵심 개념을 다룹니다. 실무에서 자주 마주치는 보안과 성능 최적화의 기초를 탄탄하게 다져봅시다. --- ## 목차 1. [CAP_정리_이해](#cap-정리-이해) 2. [CA_AP_CP_시스템](#ca-ap-cp-시스템) 3. [데이터_압축_알고리즘](#데이터-압축-알고리즘) 4. [무손실_압축_기법](#무손실-압축-기법) 5. [암호학_기초](#암호학-기초) 6. [대칭_비대칭_암호화](#대칭-비대칭-암호화) 7. [해시_함수와_보안](#해시-함수와-보안) --- ## 1. CAP_정리_이해 어느 날 김개발 씨는 회사에서 새로운 분산 시스템 프로젝트에 투입되었습니다. 아키텍처 회의에서 선배가 "우리 시스템은 AP를 선택했어요"라고 말하는데, 도무지 무슨 뜻인지 알 수 없었습니다. 분산 시스템을 다루려면 반드시 알아야 할 CAP 정리, 지금부터 함께 알아보겠습니다. **CAP 정리**는 분산 시스템에서 **일관성(Consistency)**, **가용성(Availability)**, **분할 내성(Partition Tolerance)** 세 가지를 동시에 완벽하게 만족시킬 수 없다는 이론입니다. 마치 "빠르고, 싸고, 좋은 것" 세 가지를 동시에 가질 수 없는 것과 같습니다. 이 정리를 이해하면 시스템 설계 시 어떤 특성을 우선할지 현명한 선택을 할 수 있습니다. 다음 코드를 살펴봅시다. ```python # CAP 정리를 시뮬레이션하는 간단한 분산 시스템 예제 class DistributedNode: def __init__(self, node_id): self.node_id = node_id self.data = {} self.is_available = T