diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..723ef36
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea
\ No newline at end of file
diff --git "a/chapter01/1\354\236\245. \354\202\254\354\232\251\354\236\220 \354\210\230\354\227\220 \353\224\260\353\245\270 \352\267\234\353\252\250 \355\231\225\354\236\245\354\204\261_\354\204\270\354\244\200.md" "b/chapter01/1\354\236\245. \354\202\254\354\232\251\354\236\220 \354\210\230\354\227\220 \353\224\260\353\245\270 \352\267\234\353\252\250 \355\231\225\354\236\245\354\204\261_\354\204\270\354\244\200.md"
new file mode 100644
index 0000000..fe7ba27
--- /dev/null
+++ "b/chapter01/1\354\236\245. \354\202\254\354\232\251\354\236\220 \354\210\230\354\227\220 \353\224\260\353\245\270 \352\267\234\353\252\250 \355\231\225\354\236\245\354\204\261_\354\204\270\354\244\200.md"
@@ -0,0 +1,164 @@
+# 시스템 설계와 확장성
+
+---
+
+## 1. 단일 서버 시스템
+
+
+### **개념**
+- 초기 단계에서는 하나의 서버에 모든 구성 요소(웹 애플리케이션, 데이터베이스, 캐시)를 포함하는 단순한 구조로 시작.
+- 예: `api.mysite.com`과 같은 도메인에 사용자가 접속하면 하나의 웹 서버가 모든 요청을 처리.
+
+### **특징**
+- 설정과 관리가 단순.
+- 사용자 수가 적은 경우 적합.
+
+### **한계**
+- 서버 자원(CPU, RAM 등)에 한계가 있어, 트래픽 증가 시 성능 저하.
+- 단일 장애 지점(Single Point of Failure, SPOF): 서버 장애 시 서비스 중단.
+
+---
+
+## 2. 수직적 확장(Scale-Up)과 수평적 확장(Scale-Out)
+
+### **수직적 확장**
+- **개념:** 기존 서버에 더 강력한 하드웨어(CPU, RAM, 디스크 등)를 추가.
+- **장점:** 초기 비용과 설정이 간단.
+- **단점:**
+ - 하드웨어 한계가 존재(무제한 확장 불가능).
+ - 단일 장애 지점 문제 해결 불가.
+ - 고성능 서버는 매우 고가.
+
+### **수평적 확장**
+
+
+- **개념:** 더 많은 서버를 추가하여 부하를 분산.
+- **구현 방법:**
+ - **로드 밸런서:** 트래픽을 여러 서버로 분산.
+ - **다중 서버:** 장애 복구 및 가용성 향상.
+- **장점:**
+ - 무제한에 가까운 확장 가능.
+ - 특정 서버 장애 시에도 서비스 지속 가능.
+- **단점:** 시스템 구성 및 유지보수가 복잡.
+
+---
+
+## 3. 데이터 계층 확장: 다중화와 샤딩
+
+### **다중화(Master-Slave)**
+
+
+- **구성:**
+ - **Master 서버:** 쓰기 작업 담당.
+ - **Slave 서버:** 읽기 작업 담당.
+- **장점:**
+ - 읽기 성능 분산으로 전체 성능 향상.
+ - 장애 발생 시 Slave 서버를 Master로 승격 가능.
+- **단점:**
+ - 데이터 복제가 지연될 가능성 있음(최신 데이터가 Slave에 반영되기까지 시간 필요).
+
+### **샤딩(Sharding)**
+
+
+- **개념:** 데이터베이스를 여러 샤드(Shard)로 나눠 저장.
+ - 예: 사용자 ID를 기반으로 % 연산을 통해 샤드를 결정.
+- **장점:**
+ - 데이터 분산으로 특정 서버의 부하 감소.
+ - 데이터베이스 크기에 제한 없이 확장 가능.
+- **단점:**
+ - 샤딩 키를 잘못 설계하면 데이터 불균형 발생.
+ - 조인 연산이 복잡해지며, 재샤딩이 필요할 수 있음.
+
+---
+
+## 4. 캐시와 CDN(Content Delivery Network)
+
+### **캐시(Cache)**
+
+
+- **역할:** 자주 참조되거나 연산이 많은 데이터를 메모리에 저장해 응답 속도 향상.
+- **전략:**
+ - **읽기 주도형 캐싱(Read-Through):**
+ - 데이터가 캐시에 있으면 반환.
+ - 없으면 데이터베이스에서 읽어와 캐시에 저장.
+ - **만료(Expiration):**
+ - 데이터의 만료 기간을 설정해 적절히 캐시를 갱신.
+ - **Eviction(방출):**
+ - 캐시가 가득 차면 오래된 데이터를 제거(LRU, LFU 등).
+
+### **CDN**
+
+
+
+- **역할:** 정적 콘텐츠(JS, CSS, 이미지 등)를 지리적으로 분산된 서버에 캐싱하여 빠르게 전송.
+- **동작 과정:**
+ 1. 사용자가 CDN 도메인으로 콘텐츠 요청.
+ 2. CDN 서버에 캐시된 콘텐츠가 있으면 반환.
+ 3. 없으면 원본 서버에서 가져와 캐싱 후 반환.
+- **장점:**
+ - 사용자가 가까운 서버에서 콘텐츠를 가져오므로 로드 시간이 단축.
+ - 원본 서버의 부하 감소.
+
+---
+
+## 5. 무상태 웹 계층(Stateless Web Layer)
+
+### **상태 정보와 무상태**
+- **상태 정보(세션 데이터):**
+-
+
+ - 특정 사용자에 대한 정보를 서버가 관리.
+ - 상태 정보가 특정 서버에 저장되면, 같은 서버로 요청이 전달되어야 함.
+- **무상태:**
+
+-
+
+ - 상태 정보를 데이터베이스, Redis 등 외부 저장소에 분리.
+ - 어떤 서버로 요청이 가더라도 동일한 동작이 가능.
+
+### **장점**
+- 서버 간 부하 분산이 용이.
+- 트래픽에 따라 서버를 자유롭게 추가 및 제거 가능.
+
+---
+
+## 6. 메시지 큐(Message Queue)
+
+
+
+### **개념**
+- 비동기 작업 처리를 위해 메시지를 큐에 저장하고, 소비자가 이를 처리.
+- **예:** 사진 보정 작업(크로핑, 샤프닝 등).
+
+### **장점**
+- 생산자와 소비자의 결합도를 낮춰 독립적 확장 가능.
+- 장애 발생 시에도 작업 손실 방지.
+
+---
+
+
+## 7. 모니터링, 로깅, 자동화
+
+### **모니터링**
+- CPU, 메모리, 네트워크 사용량 등 서버 상태 추적.
+- 주요 비즈니스 메트릭(Daily Active Users, Revenue 등) 분석.
+
+### **로깅**
+- 시스템 오류를 추적하여 문제를 빠르게 해결.
+
+### **자동화**
+- CI/CD를 통해 코드 테스트, 빌드, 배포를 자동화.
+
+---
+
+## 설계 원칙 요약
+1. **무상태 웹 계층:** 서버의 상태 정보를 분리.
+2. **다중화:** 모든 계층에 다중화를 도입하여 가용성 향상.
+3. **캐시와 CDN:** 데이터베이스 및 서버 부하를 줄이고 성능 개선.
+4. **샤딩:** 데이터베이스를 분산하여 확장 가능.
+5. **메시지 큐:** 서비스 간 결합도를 낮추고 비동기 작업 처리.
+6. **지속적 모니터링:** 성능과 장애를 감지해 빠르게 대처.
+7. **자동화 도구:** 테스트 및 배포 과정을 자동화하여 생산성 향상.
+
+
+
diff --git "a/chapter02/2\354\236\245. \352\260\234\353\236\265\354\240\201\354\235\270 \352\267\234\353\252\250 \354\266\224\354\240\225_\354\204\270\354\244\200.md" "b/chapter02/2\354\236\245. \352\260\234\353\236\265\354\240\201\354\235\270 \352\267\234\353\252\250 \354\266\224\354\240\225_\354\204\270\354\244\200.md"
new file mode 100644
index 0000000..e69de29
diff --git "a/chapter03/3\354\236\245. \354\213\234\354\212\244\355\205\234 \354\204\244\352\263\204 \353\251\264\354\240\221 \352\263\265\353\236\265\353\262\225_\354\204\270\354\244\200.md" "b/chapter03/3\354\236\245. \354\213\234\354\212\244\355\205\234 \354\204\244\352\263\204 \353\251\264\354\240\221 \352\263\265\353\236\265\353\262\225_\354\204\270\354\244\200.md"
new file mode 100644
index 0000000..e69de29