diff --git a/week09/keyword/Keyword.md b/week09/keyword/Keyword.md
new file mode 100644
index 0000000..3658598
--- /dev/null
+++ b/week09/keyword/Keyword.md
@@ -0,0 +1,95 @@
+- OAuth 2.0
+
+ ### π **μ μ**
+
+ OAuth 2.0μ **μ¬μ©μμ λΉλ°λ²νΈλ₯Ό λ
ΈμΆνμ§ μκ³ λ** μ 3μ μ±μ΄ μ νλ μ κ·Ό κΆνμ μ»λλ‘ ν΄μ£Όλ **μΈμ¦Β·μΈκ° νλ‘ν μ½**μ΄λ€.
+
+ μ: Google λ‘κ·ΈμΈ, Naver λ‘κ·ΈμΈ, GitHub λ‘κ·ΈμΈ λ±μ΄ λͺ¨λ OAuth 2.0 κΈ°λ°.
+
+ ---
+
+ ### π **νΉμ§**
+
+ - **μΈκ°(Authorization) μ€μ¬ νλ‘ν μ½** β λ‘κ·ΈμΈ/μΈμ¦ μ체λ OpenID Connect(OIDC)κ° λ΄λΉ.
+ - Access Tokenμ ν΅ν΄ κΆν λΆμ¬.
+ - λ€μν μΈμ¦ νλ‘μ° μ 곡
+ - Authorization Code Flow (κ°μ₯ μΌλ°μ )
+ - Implicit Flow
+ - Resource Owner Password Credentials Flow
+ - Client Credentials Flow
+ - ν ν° κΈ°λ°μΌλ‘ μλ β μλ²λ μΈμ
μ μ§ μμ΄ μΈμ¦ μ²λ¦¬ κ°λ₯.
+
+ ---
+
+ ### π **μ₯μ **
+
+ - λΉλ°λ²νΈλ₯Ό μΈλΆ μ±κ³Ό 곡μ νμ§ μμλ λλ€ β **보μ κ°ν**
+ - λ€μν νλ«νΌ(μΉ, λͺ¨λ°μΌ, μλ²)μ μ μ°νκ² μ μ©
+ - νμ₯μ± λμ (SNS λ‘κ·ΈμΈ, μλνν° API νΈμΆ λ±)
+
+ ### π **λ¨μ **
+
+ - ꡬνμ΄ λ³΅μ‘ν¨ (Redirect, Token Exchange λ±)
+ - μ¬λ°λ₯Έ Flowλ₯Ό μ ννμ§ μμΌλ©΄ 보μ μ·¨μ½ κ°λ₯
+ - Access Token μ μΆ μ μν
+- JWT
+
+ ### π **μ μ**
+
+ JWTλ JSON νμμ λ°μ΄ν°λ₯Ό **μλͺ
(Signature)** νμ¬ μμ νκ² μ μ‘νκΈ° μν **ν ν° κΈ°λ° μΈμ¦ κΈ°μ **μ΄λ€.
+
+ Access Token, ID Token λ±μ μ£Όλ‘ μ¬μ©λ¨.
+
+ `HEADER.PAYLOAD.SIGNATURE` κ΅¬μ‘°λ‘ μ΄λ£¨μ΄μ§.
+
+ ---
+
+ ### π **νΉμ§**
+
+ - ν΄λΌμ΄μΈνΈμ μ μ₯λλ **Self-contained Token**
+ - μλ²κ° μΈμ
μ 보λ₯Ό μ μ₯νμ§ μμλ λ¨(Stateless)
+ - λ³΄ν΅ Base64URL λ‘ μΈμ½λ©λ λ¬Έμμ΄ νν
+
+ ---
+
+ ### π **μ₯μ **
+
+ - μλ² νμ₯μ±(Stateless) β μΈμ
μ μ₯μ νμ μμ
+ - λ€μν νλ«νΌμμ μ½κ² μ¬μ© κ°λ₯
+ - μλͺ
(Signature) κ²μ¦μΌλ‘ λ°μ΄ν° μλ³μ‘° λ°©μ§
+
+ ### π **λ¨μ **
+
+ - ν ν°μ΄ νμ·¨λλ©΄ λ§λ£ μ κΉμ§ κ³μ μ¬μ© κ°λ₯
+ - Payload λ΄μ©μ΄ νλ¬Έ(Base64URL)μ΄λΌ **μνΈνλ κ² μλ**
+
+ β λ―Όκ° μ 보λ₯Ό μ λ λ£μΌλ©΄ μ λ¨!
+
+ - ν ν° μ¬μ΄μ¦κ° μΈμ
IDλ³΄λ€ νΌ(λλ΅ 1KB+)
+- Bearer Token
+
+ ### π **μ μ**
+
+ βBearerβλ **μμ νκ³ μλ κ²λ§μΌλ‘ μΈμ¦λ¨**μ μλ―Ένλ ν ν° νμ
μ΄λ€.
+
+ μ¦, ν ν°μ κ°μ§ μ¬λμ λꡬλ μμ²μ λ³΄λΌ μ μμ.
+
+ ---
+
+ ### π **νΉμ§**
+
+ - OAuth 2.0μ Access Token λλΆλΆμ΄ Bearer λ°©μ
+ - λ³λ μνΈνλ μΈμ¦ κ³Όμ μμ β **μμ = κΆν**
+ - HTTPS νκ²½μμ μ¬μ©ν΄μΌ μμ ν¨
+
+ ---
+
+ ### π **μ₯μ **
+
+ - λ¨μνκ³ λΉ λ₯Έ μΈμ¦ λ°©μ
+ - λ€μν APIμμ νμ€μ²λΌ μ¬μ©λ¨
+
+ ### π **λ¨μ **
+
+ - νμ·¨λλ©΄ κ·Έλλ‘ μ¬μ©ν μ μμ΄ μνλκ° λμ
+ - λ°λμ HTTPS μ¬μ©ν΄μΌ ν¨
\ No newline at end of file
diff --git a/week09/mission/Mission.md b/week09/mission/Mission.md
new file mode 100644
index 0000000..3738164
--- /dev/null
+++ b/week09/mission/Mission.md
@@ -0,0 +1,84 @@
+## ν΄μΌν λ―Έμ
+
+1. κΈ°μ‘΄μ μ¬μ©μμ μ 보λ₯Ό νλ μ½λ© λΆλΆ μμ
+2. μκΈ° μμ μ μ 보λ₯Ό μμ νλ API μ μ
+3. κΈ°μ‘΄ APIμ JWT μΈμ¦ μ μ©
+
+---
+
+## 1. μ¬μ©μ μ 보 νλμ½λ© λΆλΆ μμ
+
+### κΈ°μ‘΄
+
+- `Bearer access-token-for-user-{id}` λ‘ access-token μ€μ μ€
+- ν΄λΉ access-tokenμ λν΄ idλ₯Ό κ°μ Έμ€λ λ‘μ§ λ³΄μ μ€
+
+### μμ
+
+- access-tokenμ μ체μ μΈ ν ν° λ°©μλ§κ³ jwtλ₯Ό μ¬μ©νμ¬ signμ§ν
+
+### κ²°κ³Ό
+
+- isLogin λ―Έλ€μ¨μ΄ μΆκ°
+
+
+
+- μμ±μμ λν μ¬λ°λ₯Έ μλ΅
+
+
+
+---
+
+## 2. μκΈ° μμ μ μ 보 μμ API μ μ
+
+### μΆκ°
+
+- Method: `POST`
+- EndPoint: `/mypage/edit`
+- Request Body
+
+ ```json
+ {
+ "name": "string",
+ "gender": 0 // 0μ΄λ©΄ λ¨μ, 1μ΄λ©΄ μ¬μ
+ "birth": "2025-11-25",
+ "address": "string",
+ "subaddr": "string"
+ }
+ ```
+
+- Response Body
+
+ ```json
+ {
+ "success": true,
+ "code": 200,
+ "message": "μ¬μ©μ μ λ³΄κ° μμ λμμ΅λλ€",
+ "data": {
+ "userId": 1
+ }
+ }
+ ```
+
+
+### κ²°κ³Ό
+
+
+
+---
+
+## 3. κΈ°μ‘΄ APIλ€μ JWT μΈμ¦ μ μ©
+
+### κΈ°μ‘΄
+
+- `Bearer access-token-for-user-{id}` λ‘ access-token μ€μ μ€
+
+### μμ
+
+- access-tokenμ μ체μ μΈ ν ν° λ°©μλ§κ³ jwtλ₯Ό μ¬μ©νμ¬ μΈμ¦λ°μ μ μλλ‘ μμ
+
+### κ²°κ³Ό
+
+- isLogin λ―Έλ€μ¨μ΄λ₯Ό ν΅ν΄ μΈμ¦
+
+
diff --git a/week10/keyword/Keyword.md b/week10/keyword/Keyword.md
new file mode 100644
index 0000000..4a7dcda
--- /dev/null
+++ b/week10/keyword/Keyword.md
@@ -0,0 +1,136 @@
+- CI/CD
+
+ ### π **μ μ**
+
+ CI/CDλ **μ§μμ ν΅ν©(Continuous Integration)**, **μ§μμ λ°°ν¬(Continuous Delivery/Deployment)** λ₯Ό μλ―Ένλ
+
+ **μλνλ μννΈμ¨μ΄ κ°λ° λ° λ°°ν¬ νλ‘μΈμ€**μ΄λ€.
+
+ μ½λ λ³κ²½μ΄ λ°μνλ©΄ μλμΌλ‘ **λΉλ β ν
μ€νΈ β λ°°ν¬**κΉμ§ μ§νλλ ꡬ쑰λ₯Ό λ°λ₯Έλ€.
+
+ ---
+
+ ### π **νΉμ§**
+
+ - **μλ νμ΄νλΌμΈ κΈ°λ°**
+ - Git μ΄λ²€νΈ(push, PR, release λ±)λ₯Ό νΈλ¦¬κ±°λ‘ μ€ν κ°λ₯
+ - λΉλ/ν
μ€νΈ μ€ν¨ μ μ¦κ° νΌλλ°±
+ - Stateless ν
μ€νΈ νκ²½μμ μ€νλλ κ²μ΄ μ νΈλ¨
+
+ ---
+
+ ### π **μ₯μ **
+
+ - λ°λ³΅ μμ
μλν β **μμ°μ± ν₯μ**
+ - μ€λ₯λ₯Ό **μ΄κΈ° λ¨κ³μμ λ°κ²¬**
+ - ν νμ
νμ€ν
+ - λ°°ν¬ μμ μ± μ¦κ°
+
+ ### π **λ¨μ **
+
+ - μ²μ ꡬμΆμ΄ 볡μ‘νλ€
+ - ν
μ€νΈ/λ°°ν¬ μλλ¦¬μ€ λΆμ€ μ μλ―Έ κ°μ
+ - μΈνλΌ λΉμ© λ° μ€ν μκ° κ³ λ € νμ
+
+ ---
+
+ ### π **μ¬μ© μμ**
+
+ - main λΈλμΉμ push β μλ μλ² λ°°ν¬
+ - Pull Request λ³ν© μ β μλ λΉλ & ν
μ€νΈ μ€ν
+ - λ°°ν¬ μ€ν¨ μ β μ΄μ λ²μ μΌλ‘ μλ λ‘€λ°±
+- GitHub Actions
+
+ ### π **μ μ**
+
+ GitHubμμ μ 곡νλ **μν¬νλ‘μ° μλ μ€ν νλ«νΌ**μ΄λ©°,
+
+ CI/CD νμ΄νλΌμΈ λκ΅¬λ‘ κ°μ₯ λ§μ΄ νμ©λλ μλΉμ€ μ€ νλμ΄λ€.
+
+ `.github/workflows/*.yml` νμΌμ λμμ μ μνμ¬ μ€ννλ€.
+
+ ---
+
+ ### π **νΉμ§**
+
+ - **Runner νκ²½ μ 곡 (κΈ°λ³Έ: Ubuntu)**
+ - Git μ΄λ²€νΈ κΈ°λ° νΈλ¦¬κ±° (push, PR, cron λ±)
+ - `GITHUB_TOKEN` κΈ°λ° κΆν λͺ¨λΈ μ¬μ©
+ - Marketplaceμ μ¬μ¬μ© κ°λ₯ν Action λ€μ
+
+ ---
+
+ ### π **μ₯μ **
+
+ - GitHub λ΄λΆμμ μ€ν β **μ°λ κ°νΈ**
+ - μ½λ νμ§ κ²μ¬ κ·μΉ κ°μ κ°λ₯
+ - μ°Έμ‘°ν λ νΌλ°μ€κ° λ§€μ° νλΆν¨
+ - μλ² μ§μ μ κ·Ό μμ΄ μλ μ€νΒ·λ°°ν¬ κ°λ₯
+
+ ### π **λ¨μ **
+
+ - μν¬νλ‘μ° λ³΅μ‘ μ λλ²κΉ
μ΄ μ΄λ ΅λ€
+ - Free tier Runner μ±λ₯ μ ν μ‘΄μ¬
+ - **ν ν° κΆν λΆμ‘± β μ€ν μ€ν¨μ μ£Όμ μμΈ**
+- Reverse Proxy
+
+ ### π **μ μ**
+
+ μΈλΆ ν΄λΌμ΄μΈνΈμ μμ²μ **νλ‘μ μλ²κ° λμ λ°μ λ΄λΆ μλ²λ‘ μ λ¬ν΄μ£Όλ μ€κ³ λ°©μ**μ΄λ€.
+
+ λ΄λΆ μλ²λ λ
ΈμΆλμ§ μκ³ **νλ‘μ 1κ°λ§ μΈλΆμ 곡κ°**λλ€.
+
+ λν: NGINX, Caddy, Traefik λ±
+
+ ---
+
+ ### π **νΉμ§**
+
+ - μΈλΆμμλ **νλ‘μλ§ μ κ·Ό**
+ - λ΄λΆμ μ¬λ¬ λμ μ ν리μΌμ΄μ
μλ² μ°κ²° κ°λ₯
+ - LB(λ‘λλ°Έλ°μ±), μΊμ±, ν€λ μ‘°μ, μ κ·Ό μ μ΄ κ°λ₯
+ - HTTPS μΈμ¦μ μ€μ κ΄λ¦¬ κ°λ₯
+
+ ---
+
+ ### π **μ₯μ **
+
+ - λ΄λΆ μλ² μλ β **보μ κ°ν**
+ - νμ₯(Scale-out) ꡬ쑰μ λ§€μ° μ ν©
+ - κ²½λ‘/λλ©μΈ κΈ°λ° λΌμ°ν
κ°λ₯
+ - HTTPS μΈμ¦μμ Redirect μ€μ μ μ€μμμ μ²λ¦¬
+
+ ### π **λ¨μ **
+
+ - Reverse Proxy μ₯μ μ μ 체 μν₯
+ - μ€μ νμΌ κ΄λ¦¬κ° νμ
+ - λ€νΈμν¬ κ³μΈ΅μ΄ 1κ° μΆκ°λμ΄ latency μ¦κ° κ°λ₯ (λ§€μ° λ―ΈμΈ)
+- HTTPS
+
+ ### π **μ μ**
+
+ **HTTP + SSL/TLS 보μ λ μ΄μ΄λ₯Ό κ²°ν©ν μνΈνλ ν΅μ νλ‘ν μ½**μ΄λ€.
+
+ μλ²βν΄λΌμ΄μΈνΈ κ° λ°μ΄ν°κ° **μνΈνλμ΄ μμ νκ² μ λ¬**λλ€.
+
+ ---
+
+ ### π **νΉμ§**
+
+ - νμ€ ν¬νΈ = **443**
+ - μΈμ¦μ νμ (λν: Letβs Encrypt λ¬΄λ£ μΈμ¦μ)
+ - Authorization ν ν°(Bearer/JWT) νμ·¨ λ°©μ§μ **νμ μ μ 쑰건**
+ - λΈλΌμ°μ μμ **π μμ μ κΈ νμ μ 곡**
+
+ ---
+
+ ### π **μ₯μ **
+
+ - λ°μ΄ν° λμ²/λ³μ‘° λ°©μ§ (MITM λ°©μ§)
+ - ν ν° κΈ°λ° μΈμ¦ 보μ κ°ν
+ - μ¬μ©μμ μλ² κ° μ λ’° μΈμ¦ μ 곡
+
+ ### π **λ¨μ **
+
+ - μΈμ¦μ μλ κ°±μ μ΄ νμ
+ - Handshake μΆκ°λ¨ (νμ§λ§ HTTP/2~3μμλ μ€νλ € λΉ λ₯Ό μ μμ)
\ No newline at end of file
diff --git a/week10/mission/Mission.md b/week10/mission/Mission.md
new file mode 100644
index 0000000..f2d4bcb
--- /dev/null
+++ b/week10/mission/Mission.md
@@ -0,0 +1,17 @@
+1. GitHub Actionsμ AWS EC2λ₯Ό μ΄μ©νμ¬ μ§μ CI/CD λ°°ν¬ ν΄λ³΄κΈ°!
+ - μλ£
+2. EC2λ₯Ό μ΄μ©ν΄ λ°°ν¬ν νμ¬ μνμμ Google λ‘κ·ΈμΈμ΄ λμνμ§ μλ μ΄μ λ₯Ό νμΈνκ³ μμ ν΄λ³΄κΈ°.
+ - λμνμ§ μλ μ΄μ
+
+
+
+ - λ€λ§, νμ¬ μλ²λ λ΄κ° μ§μ ν νΌλΈλ¦IPμμ μ§ν μ€μ΄λ λμ X
+ - μμ λ°©μ 1)
+
+
+
+ - google μ€μ μ λΆκ°λ₯
+ - μμ λ°©μ 2)
+ - νΌλΈλ¦ IPλ₯Ό λλ©μΈμ ν΅ν΄ κ°μΈμ μ§ν
+
+ - μ λ£β¦..