0607 - 0613
# 0607 - 0613
# 0609 - ๋ฌด์ค๋จ ๋ฐฐํฌ๋ฅผ ์ํ ํ๊ฒฝ ์ดํดํ๊ธฐ
# ๋ฌด์ค๋จ ๋ฐฐํฌ?
๋ฐฐํฌ๋ฅผ ์ค๋จ์์ด ํ๋ค๋ ๊ฒ
๋ฐฐํฌ(deploy)๋ ๊ฐ๋ฐํ๊ฒฝ์์ ์๋ก ๊ฐ๋ฐ๋ ์ฝ๋๋ฅผ ํจํค์งํ์ฌ ์๋ฒ์์ ์๋ก์ด ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ
# ๋ฐฐํฌ ๊ณผ์
- ์ผ๋ฐ์ ์ธ ๋ฐฐํฌ์์์ ์ ํ๋ฆฌ์ผ์ด์ ์ค๋จ
- ์ด์ ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ข ๋ฃ
- ์๋ก์ด ๋ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํ
- ์๋ก์ด ๋ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ฒญ์ ๋ฐ์ ์ค๋น๊ฐ ๋ ๋๊น์ง ์๋น์ค ์ค๋จ => ์๋น์ค๊ฐ ์ค๋จ๋๋ ์๊ฐ์ ๋ค์ดํ์(downtime)์ด๋ผํ๋ค.
# ๋ฌด์ค๋จ ๋ฐฐํฌ
์ ํ๋ฆฌ์ผ์ด์
์๋ฒ์ ์ฌ์ฉ์ ์ฌ์ด์์ ์์ฒญ์ ์ค๊ณํด์ฃผ๋ ๋ฆฌ๋ฒ์ค ํ๋ก์(Reverse Proxy)
์๋ฒ๋ฅผ ์ฌ์ฉ. => ๋กค๋ง(Rolling) ๋ฐฐํฌ
- ํ๋ก์๋?
- ์ผ๋ฐ์ ์ธ ํ๋ก์๋ ํด๋ผ์ด์ธํธ๋ฅผ ์จ๊ฒจ์ฃผ๋ ์ญํ
- ๋๋ฆฌ์
- ๋ฆฌ๋ฒ์ค ํ๋ก์๋ ํ๋ก์์ ๋ฐ๋๋ก ์๋ฒ๋ฅผ ์จ๊ฒจ์ฃผ๋ ์ญํ
- ๋ก๋๋ฐธ๋ฐ์ฑ์ด๋?
- ํธ๋ํฝ์ ๋ถ์ฐํ์ฌ ๊ฐ ์๋ฒ๊ฐ ๋ฐ๋ ๋ถํ๋ฅผ ๋ถ์ฐํ๋ ๊ฒ
- Nginx
- ๋ฌด์ค๋จ ๋ฐฐํฌ์ ๋ก๋๋ฐธ๋ฐ์ฑ์ ์ํด ์ฌ์ฉ
- ์ฌ๋ฌ๊ฐ์ง ๋ฐฐํฌ ๋ฐฉ์
- ๋กค๋ง ๋ฐฐํฌ, ๋ธ๋ฃจ๊ทธ๋ฆฐ ๋ฐฐํฌ, ์นด๋๋ฆฌ ๋ฐฐํฌ
# ํธ๋ ํฝ์ด ๋ง์์ก์ ๋์ ๋ก๋๋ฐธ๋ฐ์ฑ
- Nginx๊ฐ ์คํ๋๋ ์๋ฒ์ Scale-up
- ๋คํธ์ํฌ ์ฅ์น๋ก ๋ก๋ ๋ฐธ๋ฐ์ฑ(ํ๋์จ์ด ์ ์ผ๋ก)
- L4 ์ค์์น ๋๋ L7 ์ค์์น
- DNS ๋ฆฌ๋ค๋ฆฌ๋ ์
# 0611 - StringTokenizer
# StringTokenizer ์์ฑ์
// ๋์ด์ฐ๊ธฐ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋ถ๋ฆฌ
StringTokenizer st = new StringTokenizer(๋ฌธ์์ด);
// ๊ตฌ๋ถ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋ถ๋ฆฌ
StringTokenizer st = new StringTokenizer(๋ฌธ์์ด, ๊ตฌ๋ถ์);
// ๊ตฌ๋ถ์๋ ํ ํฐ์ผ๋ก ๋ฃ์์ง (true)
StringTokenizer st = new StringTokenizer(๋ฌธ์์ด, ๊ตฌ๋ถ์, boolean);
# StringTokenizer ๋ฉ์๋
# StringTokenizer vs Split
- StringTokenizer๋ java.util์ ํฌํจ๋์ด ์๋ ํด๋์ค, split๋ Stringํด๋์ค์ ์ํด์๋ ๋ฉ์๋.
- StringTokenizer๋ ๋ฌธ์ ๋๋ ๋ฌธ์์ด์ ๊ตฌ๋ถ, split๋ ์ ๊ทํํ์์ผ๋ก ๊ตฌ๋ถ
- StringTokenizer๋ ๋น ๋ฌธ์์ด์ ํ ํฐ์ผ๋ก ์ธ์X, split๋ ๋น ๋ฌธ์์ด์ ํ ํฐ์ผ๋ก ์ธ์
- StringTokenizer๋ ๊ฒฐ๊ณผ๊ฐ์ด ๋ฌธ์์ด, split๋ ๊ฒฐ๊ณผ ๊ฐ์ด ๋ฌธ์์ด ๋ฐฐ์ด
# 0612 - TDD, BDD, DDD, RDD
# TDD (Test)
- ํ ์คํธ๋ฅผ ๋จผ์ ์์ฑํ๊ณ ํด๋น ํ ์คํธ ์ผ์ด์ค๋ฅผ ํต๊ณผํ๋ ์ฝ๋๋ฅผ ์์ฑ
- ๊ทธ ํ ์ํฉ์ ๋ง๊ฒ ๋ฆฌํฉํ ๋ง ๊ณผ์ ์ ๊ฑฐ์นจ
- ์ฝ๋ ์์ฐ์ฑ์ ๋ฌธ์ ๊ฐ ์๊ณ , ๋ฌ๋์ปค๋ธ๊ฐ ํฌ๋ค.
# BDD (Behavior)
- TDD์์ ํ๋ฐ ๋ ๋์๊ฐ ํ ์คํธ ์ผ์ด์ค ์์ฒด๊ฐ ์๊ตฌ์ฌํญ์ด ๋๋ ๊ฐ๋ฐ ๋ฐฉ์
- TDD์์๋ ์ ๋ ํ ์คํธ๋ก ์์ฑ ๋ ํ ์คํธ ์ผ์ด์ค์ ๋ํ ๋ฌธ์๋ฅผ ์์ฑํ์ง๋ง, BDD๋ ์ด๊ฒ์ ๊ฒฐํฉ ํ ์คํธ์ ์๋๋ฆฌ์ค ํ ์คํธ๊น์ง ํ์ฅํ์ฌ ๊ฐ๊ฐ์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ๋์ฒดํ๋ค.
# DDD (Domain)
- ๋๋ฉ์ธ ๊ทธ ์์ฒด์ ๋๋ฉ์ธ ๋ก์ง์ ์ด์ ์ ๋ง์ถ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉํ๋ ๋ฐ์ดํฐ ์ค์ฌ์ ์ ๊ทผ๋ฒ์ ํํผํ์ฌ ์์ํ ๋๋ฉ์ธ์ ๋ชจ๋ธ๊ณผ ๋ก์ง์ ์ง์คํ๋ค.
# RDD (Responsibility)
- ์ฑ ์์ ์ฐพ๊ณ ์ฑ ์์ ์ํํ ์ ์ ํ ๊ฐ์ฒด๋ฅผ ์ฐพ์ ์ฑ ์์ ํ ๋นํ๋ ๋ฐฉ์์ผ๋ก ํ๋ ฅ์ ์ค๊ณํ๋ ๋ฐฉ๋ฒ
- ๊ฐ์ฒด์ ๊ตฌํ์ด ์๋ ์ฑ์์ ์ง์ค