๐ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ
์์ ๋น ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ์ฑ ๋ด์ฉ ์์ฝ๋ด์ฉ + ์ง์ ์ ์ผ๋ก ์ํ์ ๋์๋ ๋ฌธ์ ๋ ๊ธฐํธ(๐ด) ํ๊ธฐ๋ฅผ ํด๋์์ต๋๋ค.
๊ธฐ์ถ๋ฒ์ (2020๋ 1ํ ~ 2023๋ 1ํ)
Contents
- 1์ฅ. ์๊ตฌ์ฌํญ ํ์ธ
- 2์ฅ. ๋ฐ์ดํฐ ์ ์ถ๋ ฅ ๊ตฌํ
- 3์ฅ. ํตํฉ๊ตฌํ
- 4์ฅ. ์๋ฒ ํ๋ก๊ทธ๋จ ๊ตฌํ
- 5์ฅ. ์ธํฐํ์ด์ค ๊ตฌํ
- 6์ฅ. ํ๋ฉด์ค๊ณ
- 7์ฅ. ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ ๊ด๋ฆฌ
- 8์ฅ. SQL ์์ฉ
- 9์ฅ. ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ณด์ ๊ตฌ์ถ
- 10์ฅ. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ
- 11์ฅ. ์์ฉ SW ๊ธฐ์ด ๊ธฐ์ ํ์ฉ
- 12์ฅ. ์ ํ ์ํํธ์จ์ด ํจํค์ง
- 13์ฅ. ๊ธฐํ ์ถ๊ฐ๋ด์ฉ
1์ฅ. ์๊ตฌ์ฌํญ ํ์ธ
1-1. ํํ ์์คํ ๋ถ์
ํํ ์์คํ
ํ์
์ ์ฐจ
๊ตฌ์ฑ/๊ธฐ๋ฅ/์ธํฐํ์ด์ค ํ์
- ์ํคํ
์ฒ ๋ฐ ์ํํธ์จ์ด ๊ตฌ์ฑ ํ์
- ํ๋์จ์ด ๋ฐ ๋คํธ์ํฌ ๊ตฌ์ฑ ํ์
TCP/IP
์ธํฐ๋ท ํ๋กํ ์ฝ์ธ IP์ ์ ์ก ์กฐ์ ํ๋กํ ์ฝ TCP. TCP๋ ๋ฐ์ดํฐ์ ์ ๋ฌ์ ๋ณด์ฆํ๊ณ ๋ณด๋ธ ์์๋๋ก ๋ฐ๊ฒ ํด์ค๋๋ค.
์ํํธ์จ์ด ์ํคํ
์ฒ
์ฌ๋ฌ ๊ฐ์ง ์ํํธ์จ์ด ๊ตฌ์ฑ์์์ ๊ทธ ๊ตฌ์ฑ์์๊ฐ ๊ฐ์ง ํน์ฑ ์ค์์ ์ธ๋ถ๋ก ๋๋ฌ๋๋ ํน์ฑ ๊ทธ๋ฆฌ๊ณ ๊ตฌ์ฑ์์ ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ ์์คํ
์ ๊ตฌ์กฐ๋ ๊ตฌ์กฐ์ฒด
์ํคํ
์ฒ ๋ช
์ธ์, ์ดํด๊ด๊ณ์, ๊ด์ฌ์ฌ, ๊ด์ , ๋ทฐ, ๊ทผ๊ฑฐ
- ๊ด์ฌ์ฌ๋? ์์คํ ์ ๋ํด ์ดํด๊ด๊ณ์๋ค์ ์๋ก ๋ค๋ฅธ ์๊ฒฌ๊ณผ ๋ชฉํ
์ํํธ์จ์ด ์ํคํ
์ฒ 4+1 ๋ทฐ ์ ๋
ผํ๊ตฌ๋ฐฐ
๊ณ ๊ฐ์ ์๊ตฌ์ฌํญ์ ์ ๋ฆฌํด ๋์ ์๋๋ฆฌ์ค๋ฅผ 4๊ฐ์ ๊ด์ ์์ ๋ฐ๋ผ๋ณด๋ ์ํํธ์จ์ด์ ์ธ ์ ๊ทผ๋ฐฉ๋ฒ
- ์ ์ค์ผ์ด์ค ๋ทฐ
+1
์ ํด๋น๋๋ ๋ถ๋ถ์ผ๋ก ์ํคํ ์ฒ๋ฅผ ๋์ถํ๊ณ ์ค๊ณํ๋ ์์ ์ ์ฃผ๋ํ๋ ๋ทฐ์ด๋ฉฐ, ๋ค๋ฅธ ๋ทฐ๋ฅผ ๊ฒ์ฆํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ๋
ผ๋ฆฌ ๋ทฐ
- ์ค๊ณ ๋ชจ๋ธ์ ์ถ์ํ, ์ฃผ์ ์ค๊ณ ํจํค์ง์ ์๋ธ ์์คํ , ํด๋์ค๋ฅผ ์๋ณํ๋ ๋ทฐ
- ํด๋์ค์ ์ด๋ค ๊ฐ ๊ด๊ณ์ ๋ํ ์งํฉ์ ๋ณด์ฌ์ฃผ๋
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ
์ผ๋ก ํํ
- ํ๋ก์ธ์ค ๋ทฐ
- ๋ฐํ์ ์์ ์์คํ ํ ์คํฌ, ์ค๋ ๋, ํ๋ก์ธ์ค์ ์ด๋ค ์ฌ์ด์ ์ํธ์์ฉ ๋ฑ์ ๊ด๊ณ๋ฅผ ํํํ๋ ๋ทฐ
- ์ฑ๋ฅ์ด๋ ๊ฐ์ฉ์ฑ๊ณผ ๊ฐ์ ์์คํ ์ ๋น๊ธฐ๋ฅ์ ์ธ ์๊ตฌ์ํญ์ ๊ณ ๋ ค
- ๊ตฌํ ๋ทฐ (์ปดํฌ๋ํธ ๋ทฐ)
- ๊ฐ๋ฐ์ ๊ด์ ์์ ์ํํธ์จ์ด ๊ตฌํ๊ณผ ๊ด๋ฆฌ์ ์ธ ์ธก๋ฉด์
์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ
์ผ๋ก ํํ
- ๊ฐ๋ฐ์ ๊ด์ ์์ ์ํํธ์จ์ด ๊ตฌํ๊ณผ ๊ด๋ฆฌ์ ์ธ ์ธก๋ฉด์
- ๋ฐฐํฌ ๋ทฐ
- ๋ฌผ๋ฆฌ์ ๋
ธ๋์ ๊ตฌ์ฑ๊ณผ ์ํธ ์ฐ๊ฒฐ ๊ด๊ณ๋ฅผ
๋ฐฐํฌ ๋ค์ด์ด๊ทธ๋จ
์ผ๋ก ํํํ๋ ๋ทฐ
- ๋ฌผ๋ฆฌ์ ๋
ธ๋์ ๊ตฌ์ฑ๊ณผ ์ํธ ์ฐ๊ฒฐ ๊ด๊ณ๋ฅผ
๋ถ์ ์ฐ์ถ๋ฌผ
์ ๋ณด์์คํ
๊ตฌ์ฑ ํํฉ / ์ ๋ณด์์คํ
๊ธฐ๋ฅ ๊ตฌ์ฑ๋ / ์ธํฐํ์ด์ค ํํฉ / ํํฉ ์์คํ
์ํคํ
์ฒ ๊ตฌ์ฑ๋ / ์ํํธ์จ์ด ๊ตฌ์ฑ๋ / ํ๋์จ์ด ๊ตฌ์ฑ๋ / ๋คํธ์ํฌ ๊ตฌ์ฑ๋
OSI 7๊ณ์ธต ์ํ์ ํฐ๋ด๋ค ํผ๋๋ค
๐ด
์์ฉ, ํํ, ์ธ์
, ์ ์ก, ๋คํธ์ํฌ, ๋ฐ์ดํฐ๋งํฌ, ๋ฌผ๋ฆฌ
๊ณ์ธต | ์ค๋ช | ํ๋กํ ์ฝ | ์ ์ก๋จ์ | ๋คํธ์ํฌ ์ฅ๋น |
---|---|---|---|---|
์์ฉ ๊ณ์ธต (Application Layer) | ์ฌ์ฉ์์ ๋คํธ์ํฌ ๊ฐ ์์ฉ์๋น์ค ์ฐ๊ฒฐ,๋ฐ์ดํฐ ์์ฑ | HTTP, FTP | ๋ฐ์ดํฐ | ํธ์คํธ |
ํํ ๊ณ์ธต (Presentation Layer) | ๋ฐ์ดํฐ ํ์ ์ค์ ๊ณผ ๋ถํธ๊ตํ, ์/๋ณตํธํ | JPEG, MPEG | ๋ฐ์ดํฐ | ํธ์คํธ |
์ธ์ ๊ณ์ธต (Session Layer) | ์ฐ๊ฒฐ์ ์ ๋ฐ ๋๊ธฐ์ ์ด | SSH, TLS | ๋ฐ์ดํฐ | ํธ์คํธ |
์ ์ก ๊ณ์ธต (Transprot Layer) | ์ ๋ขฐ์ฑ ์๋ ํต์ ๋ณด์ฅ, ๋ฐ์ดํฐ ๋ถํ ๊ณผ ์ฌ์กฐ๋ฆฝ,ํ๋ฆ์ ์ด, ์ค๋ฅ์ ์ด, ํผ์ก์ ์ด ๋ฑ์ ๋ด๋น | TCP, UDP | ์ธ๊ทธ๋จผํธ | L4 ์ค์์น |
๋คํธ์ํฌ ๊ณ์ธต (Network Layer) | ๋จ๋ง ๊ฐ ๋ฐ์ดํฐ ์ ์ก์ ์ํ ์ต์ ํ๋ ๊ฒฝ๋ก ์ ๊ณต | IP, ICMP | ํจํท | ๋ผ์ฐํฐ |
๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต (Datalink Layer) | ์ธ์ ์์คํ ๊ฐ ๋ฐ์ดํฐ ์ ์ก, ์ ์ก์ค๋ฅ ์ ์ด, ์ค๋ฅ๊ฒ์ถ ๋ฐ ์ฌ์ ์ก ๊ธฐ๋ฅ ์ ๊ณต | ์ด๋๋ท | ํ๋ ์ | ๋ธ๋ฆฌ์ง, ์ค์์น |
๋ฌผ๋ฆฌ ๊ณ์ธต (Physical Layer) ๐ด | 0๊ณผ 1 ๋นํธ ์ ๋ณด๋ฅผ ํ์ ์ ๋ณด๋ด๊ธฐ ์ํ ์ ๊ธฐ์ ์ ํธ ๋ณํ | RS-232C | ๋นํธ | ํ๋ธ, ๋ฆฌํผํฐ |
- SSH ๐ด
- ๋คํธ์ํฌ ์์ ๋ค๋ฅธ ์ปดํจํฐ์ ๋ก๊ทธ์ธํ๊ฑฐ๋ ์๊ฒฉ ์์คํ ์์ ๋ช ๋ น์ ์คํํ๊ณ ๋ค๋ฅธ ์์คํ ์ผ๋ก ํ์ผ์ ๋ณต์ฌํ ์ ์๋๋ก ํด์ฃผ๋ ์์ฉ ํ๋ก๊ทธ๋จ ๋๋ ๊ทธ ํ๋กํ ์ฝ
- ๋ณด์ ์ ์์ ํตํ rsh, rcp, rlogin, rexec, telnet, ftp ๋ฑ์ ์ ๊ณตํ๋ฉฐ, IP spoofing (IP์คํธํ, ์์ดํผ ์/๋ณ์กฐ ๊ธฐ๋ฒ์ค ํ๋)์ ๋ฐฉ์งํ๊ธฐ ์ํ ๊ธฐ๋ฅ์ ์ ๊ณต
- ๊ธฐ๋ณธ์ ์ผ๋ก ํฌํธ๋ 22๋ฒ
- ICMP(Internet Control Message Protocol) ๐ด๐ด
- IP ํจํท์ ์ฒ๋ฆฌํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์๋ ค์ฃผ๋ ํ๋กํ ์ฝ๋ก ๋ฉ์์ง ํ์์ 8๋ฐ์ดํธ์ ํค๋์ ๊ฐ๋ณ ๊ธธ์ด์ ๋ฐ์ดํฐ ์์ญ์ผ๋ก ๋ถ๋ฆฌ๋์ด ์๋ค.
- ์์ ์ง ๋๋ฌ ๋ถ๊ฐ ๋ฉ์์ง๋ ์์ ์ ๋๋ ์๋น์ค์ ๋๋ฌํ ์ ์๋ ํธ์คํธ๋ฅผ ํต์งํ๋๋ฐ ์ฌ์ฉ
- ICMP ํ๋กํ ์ฝ์ ์ฌ์ฉํด์ ping ์ ํธ๋ฆฌํฐ์ ๊ตฌํ์ ํตํด ์ค๋ฅ๊ฐ ๋ฐ์ํ์์ ์๋ฆฌ๋ ๊ธฐ๋ฅ์ ์ํ
๋ฏธ๋ค์จ์ด
๋ถ์ฐ ์์คํ
ํ๊ฒฝ์์ ์์ฉ ํ๋ก๊ทธ๋จ๊ณผ ํ๋ก๊ทธ๋จ์ด ์ด์๋๋ ํ๊ฒฝ ๊ฐ์ ์๋งํ ํต์ ์ด ์ด๋ค์ง ์ ์๋๋ก ์ ์ดํด์ฃผ๋ ์ํํธ์จ์ด
- WAS
์๋ฒ๊ณ์ธต์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํ๊ณ ์์ ์ ์ธ ํธ๋์ญ์ ์ฒ๋ฆฌ์ ๊ด๋ฆฌ, ๋ค๋ฅธ ์ด๊ธฐ์ข ์์คํ ๊ณผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฐ๋์ ์ง์ํ๋ ์๋ฒ
1-2. ์๊ตฌ์ฌํญ ํ์ธ
์๊ตฌ์ฌํญ์ ๋ถ๋ฅ
- ๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
์์คํ ์ด ์ ๊ณตํ๋ ๊ธฐ๋ฅ, ์๋น์ค์ ๋ํ ์๊ตฌ์ฌํญ - ๋น๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ
์์คํ ์ด ์ํํ๋ ๊ธฐ๋ฅ ์ด์ธ์ ์ฌํญ, ์์คํ ๊ตฌ์ถ์ ๋ํ ์ ์ฝ์ฌํญ์ ๊ดํ ์๊ตฌ์ฌํญ
์๊ตฌ์ฌํญ ๊ฐ๋ฐ ํ๋ก์ธ์ค ๋๋ถ๋ช
ํ
์๊ตฌ์ฌํญ ๋์ถ - ์๊ตฌ์ฌํญ ๋ถ์ - ์๊ตฌ์ฌํญ ๋ช
์ธ - ์๊ตฌ์ฌํญ ํ์ธ
๋์ถ
: ์ธํฐ๋ทฐ, ์ค๋ฌธ์กฐ์ฌ, ๋ธ๋ ์ธ์คํ ๋ฐ, ์ํฌ์๋ถ์
: ์๋ฃ ํ๋ฆ ์งํฅ ๋ถ์, ๊ฐ์ฒด์งํฅ ๋ถ์๋ช ์ธ
: ์์ฐ์ด์ ์ํ ๋ฐฉ๋ฒ, ์ ํํ ๊ธฐ๋ฒ ์ฌ์ฉ๋ฐฉ๋ฒํ์ธ
: ๋๋ฃ๊ฒํ , ์ํฌ์ค๋ฃจ(ํ์์ ๋ฐฐํฌ), ์ธ์คํ์ (์ ๋ฌธ๊ฐ)
์๊ตฌ์ฌํญ ๋ถ์
์๊ตฌ์ฌํญ ๋ถ๋ฅ, ๊ฐ๋
๋ชจ๋ธ๋ง, ์๊ตฌ์ฌํญ ํ ๋น, ์๊ตฌ์ฌํญ ํ์, ์ ํ๋ถ์
์๊ตฌ์ฌํญ ํ์ธ๊ธฐ๋ฒ
์๊ตฌ์ฌํญ ๊ฒํ , ํ๋กํ ํ์ดํ, ๋ชจ๋ธ ๊ฒ์ฆ, ์ธ์ ํ
์คํธ
๋น์ฉ์ฐ์ ๋ชจ๋ธ์ ๋ถ๋ฅ
- ํํฅ์ ๋น์ฉ์ฐ์ ๋ชจ๋ธ
์ ๋ฌธ๊ฐ ํ๋จ, ๋ธํ์ด ๊ธฐ๋ฒ - ์ํฅ์ ๋น์ฉ์ฐ์ ๋ชจ๋ธ
LoC(Line of Code), Man Month, COCOMO, Putnam, ๊ธฐ๋ฅ์ ์ ๋ชจํMan Month
ํ๋ก์ ํธ ์ธ์๊ณผ ๊ด๋ จ์์ด ํ ์ฌ๋์ด ํ๋ก์ ํธ๋ฅผ ํ ๋ ๊ฑธ๋ฆฌ๋ ์๊ฐCOCOMO(COnstructive COst MOdel)
๋ณดํด์ด ์ ์ํ ๋ชจ๋ธ ์ ํ์ผ๋ก ํ๋ก๊ทธ๋จ ๊ท๋ชจ์ ๋ฐ๋ผ ๋น์ฉ์ ์ฐ์ - ๋จ์ํ, ์ค๊ฐํ, ์๋ฒ ๋๋ํPutnam
์ํํธ์จ์ด ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ๋จ๊ณ๋ณ๋ก ์๊ตฌํ ์ธ๋ ฅ์ ๋ถํฌ๋ฅผ ๊ฐ์ ํ๋ ๋ชจํ๊ธฐ๋ฅ์ ์ ๋ชจํ
์๊ตฌ๊ธฐ๋ฅ์ ์ฆ๊ฐ์ํค๋ ์ธ์๋ณ๋ก ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ์ฌ ๊ธฐ๋ฅ ์ ์๋ฅผ ๊ณ์ฐํด ๋น์ฉ์ ์ ์ ํ๋ ๋ฐฉ์
1-3. ๋ถ์ ๋ชจ๋ธ ํ์ธํ๊ธฐ
๋ถ์ํด๋์ค์ ์คํ
๋ ์ค ํ์
๊ฒฝ๊ณ, ์ํฐํฐ, ์ ์ด์ ๊ฐ๊ฐ์ ์คํ
๋ ์ค ํ์
์์๋๊ธฐ
๋ถ์ ๋ชจ๋ธ์ ์์คํ
ํ ํ๋น์ฑ ๋ถ์ ํ๋ก์ธ์ค
ํ๋น์ฑ ๊ฒํ ์๊ฒฌ ์ปฌ๋ผ ์ถ๊ฐ - ํ๋น์ฑ ๊ฒํ ์๊ฒฌ ์์ฑ - ํ๋น์ฑ ๋ถ์ ๊ฒฐ๊ณผ ๊ฒ์ฆ - ํ๋น์ฑ ๋ถ์ ๊ฒฐ๊ณผ ํ์ธ ๋ฐ ๋ฐฐํฌ/๊ณต์
UML(Unified Modeling Language)
๊ธฐ๋ฅ) ์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ
๊ตฌ์กฐ/์ ์ ) ํด๋์ค ๋ค์ด์ด๊ทธ๋จ
๋์ ) ์ํ/์์ ๋ค์ด์ด๊ทธ๋จ
๊ฐ์ฒด์งํฅ ์ํํธ์จ์ด ๊ฐ๋ฐ๊ณผ์ ์์ ์ฐ์ถ๋ฌผ์ ๋ช ์ธํ,์๊ฐํ, ๋ฌธ์ํํ ์ ์ฌ์ฉ๋๋ ๋ชจ๋ธ๋ง๊ธฐ์ ๊ณผ ๋ฐฉ๋ฒ๋ก ์ ํตํฉํด ๋ง๋ ํ์คํ๋ ๋ฒ์ฉ ๋ชจ๋ธ๋ง ์ธ์ด
์ฌ๋ฌผ
,๊ด๊ณ
,๋ค์ด์ด๊ทธ๋จ
๐ด
UML ๊ด๊ณ
- Association ์ฐ๊ด๊ด๊ณ
- Association ์ฐ๊ด๊ด๊ณ
- ๋ฐฉํฅ์ฑ ์๋ ์ค์ ํ๊ธฐ
- Direct ์ง์ ์ฐ๊ด๊ด๊ณ
- ์ฐธ์กฐํ๋ ์ธก๋ง ์ธ์ง
- Aggregation ์งํฉ ์ฐ์ฐ ๊ด๊ณ ๐ด
- ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ํฌํจ๋์ด ์๋ ๊ด๊ณ ํํ
- ํ๋์ ๊ฐ์ฒด์ ์ฌ๋ฌ ๊ฐ์ ๋ ๋ฆฝ์ ์ธ ๊ฐ์ฒด๋ค์ด ๊ตฌ์ฑ๋๋ ๊ด๊ณ
- ํฌํจ๋๋ ์ชฝ(Part, ๋ถ๋ถ)์์ ํฌํจํ๋ ์ชฝ(Whole, ์ ์ฒด)์ผ๋ก ์์ด ๋น ๋ง๋ฆ๋ชจ๋ฅผ ์ฐ๊ฒฐํ์ฌ ํํ
- ์ ์ฒด ์๋ฉธ ์ ๋ถ๋ถ์ ์ฌ์ฉ๊ฐ๋ฅ
- Composition ํฉ์ฑ ์ฐ๊ด ๊ด๊ณ ๐ด
- ์ ์ฒด ์๋ฉธ ์ ๋ถ๋ถ๋ ์๋ฉธ
- Association ์ฐ๊ด๊ด๊ณ
- Dependency ์์กด๊ด๊ณ
- Extend ํ์ฅ์์กด๊ด๊ณ
- ํด๋์ค ๋ณํ๊ฐ ํํด๋์ค์ ์ํฅ
- ์ฐธ์กฐ๋ฅผ ์ ์งํ์ง ์์
- ์ ํ์ ํ์ฅํ๋ ๊ด๊ณ
- Include ํฌํจ์์กด๊ด๊ณ
- ํด๋์ค ๋ณํ๊ฐ ํํด๋์ค์ ์ํฅ
- ์ฐธ์กฐ๋ฅผ ์ ์งํ์ง ์์
- ๋ฐ๋์ ํฌํจํ๋ ๊ด๊ณ
- Extend ํ์ฅ์์กด๊ด๊ณ
- Generalization ์ผ๋ฐํ ๊ด๊ณ ๐ด
- ์ผ๋ฐํ ๊ด๊ณ๋ ํ๋์ ์ฌ๋ฌผ์ด ๋ค๋ฅธ ์ฌ๋ฌผ์ ๋นํด ๋ ์ผ๋ฐ์ ์ธ์ง ๊ตฌ์ฒด์ ์ธ์ง๋ฅผ ํํ
- ์ผ๋ฐ์ ์ธ ๊ฐ๋ ์ ๋ถ๋ชจ(์์)๋ผ๊ณ ํ๊ณ , ๊ตฌ์ฒด์ ์ธ ์์ ๊ฐ๋ ์ ์์(ํ์)์ด๋ผ๊ณ ํจ
- ๊ตฌ์ฒด์ (ํ์)์ธ ์ฌ๋ฌผ์์ ์ผ๋ฐ์ (์์)์ธ ์ฌ๋ฌผ ์ชฝ์ผ๋ก ์์ด ๋น ํ์ดํ๋ฅผ ์ฐ๊ฒฐํ์ฌ ํํ
- ์ผ๋ฐํ ๊ด๊ณ๋ ๋ค๋ฅธ ์๋ฏธ๋ก ์์ ๊ด๊ณ๋ผ๊ณ ํจ
- Realization ์ค์ฒดํ ๊ด๊ณ
- ์ธํฐํ์ด์ค์ ๊ตฌํํด๋์ค ๊ด๊ณ
- ๋ถ๋ชจ์ ๋ถ์์ ํ๋์ ์์์ด ๊ตฌํ
UML ๋ค์ด์ด๊ทธ๋จ ์ข ๋ฅ
Use Case, Activity, Sequence, Collaboration, Class, Component, Deployment ๋ค์ด์ด๊ทธ๋จ
- ํด๋์ค ๋ค์ด์ด๊ทธ๋จ ๐ด๐ด
- ์์ฑ, ๋ฉ์๋๋ฅผ ํฌํจํ๋ ๋ค์ด์ด๊ทธ๋จ
- ์์คํ ์์ ์ฌ์ฉ๋๋ ๊ฐ์ฒด ํ์ ์ ์ ์ํ๊ณ , ๊ทธ๋ค ๊ฐ์ ์กด์ฌํ๋ ์ ์ ์ธ ๊ด๊ณ๋ฅผ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํํํ ๋ค์ด์ด๊ทธ๋จ
- ์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ
- ์๊ตฌ์ฌํญ๋ค ๊ฐ์ด๋ฐ์ ๊ธฐ๋ฅ์ ์ธ ์๊ตฌ์ฌํญ์ ์ ์ค์ผ์ด์ค๋ ๋จ์๋ก ํํํ๊ณ ์กํฐ์ ์์คํ ์ ๊ด๊ณ๋ฅผ ํํํ ๋ค์ด์ด๊ทธ๋จ
- ํจํค์ง ๋ค์ด์ด๊ทธ๋จ
- ํด๋ ๋ชจ์์ ํจํค์ง์ ์ ์ ์ผ๋ก ํ์๋ ์์กด๊ด๊ณ, ยซImportยป๋ผ๋ ์คํ ๋ ์ค ํ์ ํ๊ธฐ๋ฅผ ํตํด ํจํค์ง ๋ค์ด์ด๊ทธ๋จ์ธ์ง๋ฅผ ํ์ ํ ์ ์์
ํด๋์ค ๋ค์ด์ด๊ทธ๋จ | ์ปดํฌ๋ํธ ๋ค์ด์ด๊ทธ๋จ | ๋ฐฐํฌ ๋ค์ด์ด๊ทธ๋จ |
---|---|---|
์ ์ค์ผ์ด์ค ๋ค์ด์ด๊ทธ๋จ | ํจํค์ง ๋ค์ด์ด๊ทธ๋จ |
---|---|
์ธํฐํ์ด์ค ๐ด
- ํด๋์ค์ ๊ฐ์ ๊ธฐํ ๋ชจ๋ธ ์์ ๋๋ ์ปดํฌ๋ํธ๊ฐ ๊ตฌํํด์ผํ๋ ์คํผ๋ ์ด์ ์ธํธ๋ฅผ ์ ์ํ๋ ๋ชจ๋ธ ์์
- ํด๋์ค์ ๊ฐ์ UML์ ํํ๋๋ ์ฌ๋ฌผ์ ํ๋๋ก, ํด๋์ค๋ ์ปดํฌ๋ํธ์ ๋์์ ๋ชจ์๋์ ๊ฒ์ด๋ฉฐ, ์ธ๋ถ์ ์ผ๋ก ๊ฐ์ํ๋๋ ํ๋์ ํํํ๋ฉฐ, ๋จ๋ ์ผ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ์๊ณ ์ธํฐํ์ด์ค ๊ตฌํ์ ์ํ ํด๋์ค ๋๋ ์ปดํฌ๋ํธ์ ํจ๊ป ์ฌ์ฉ
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
IPS(Intrusion Prevention System) | ๋คํธ์ํฌ์ ๋ํ ๊ณต๊ฒฉ์ด๋ ์นจ์ ์ ์ค์๊ฐ์ผ๋ก ์ฐจ๋จํ๊ณ , ์ ํด ํธ๋ํฝ์ ๋ํ ์กฐ์น๋ฅผ ๋ฅ๋์ ์ผ๋ก ์ฒ๋ฆฌํ๋ ์์คํ |
๋ผ์ฐํฐ | OSI 3๊ณ์ธต์์ ์ฌ์ฉํ๋ ๋คํธ์ํฌ ์ฅ๋น๋ก ์ค์์น๋ฅผ ์๋ก ์ฐ๊ฒฐํ์ฌ ๋คํธ์ํฌ ๊ฐ ๋น์ฉ ์๋ชจ๊ฐ ์ต์ ํ๋ ๋ผ์ฐํ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๊ณ , ๊ฒฐ์ ๋ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ํธ๋ํฝ์ ์ ๋ฌ |
๋ณด์ ์ปจํ ์ด๋ | ์ ์๊ถ ๊ด๋ฆฌ์์ ์๋ณธ์ ์์ ํ๊ฒ ์ ํตํ๊ธฐ ์ํ ์ ์์ ๋ณด์ ์ฅ์น |
ํด๋ฆฌ์ด๋ง ํ์ฐ์ค | ์ ์๊ถ ๊ด๋ฆฌ์์ ํค ๊ด๋ฆฌ ๋ฐ ๋ผ์ด์ ์ค ๋ฐ๊ธ ๊ด๋ฆฌ๋ฅผ ์ํํฉ๋๋ค. |
์ค๋ ๋ | ํ๋ก์ธ์ค์ ์คํ๋ถ๋ถ์ ๋ด๋นํ๋ ์คํ์ ๊ธฐ๋ณธ๋จ์ |
ํ๋ก์ธ์ค | ์ด์์ฒด์ ๊ฐ ๊ด๋ฆฌํ๋ ์คํ๋จ์๋ก ํ๋ก์ธ์์ ์ํด ์ฒ๋ฆฌ๋๋ PCB๋ฅผ ๊ฐ์ง ์์คํ ํ๋ก๊ทธ๋จ |
ํ๋กํ ์ฝ | ์๋ก ๋ค๋ฅธ ์์คํ ์ ์๋ ๋ ๊ฐ์ฒด ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ ์ํด ์ํํ ํ๊ธฐ ์ํ ์ผ๋ จ์ ํต์ ๊ท์ฝ |
SSO ๐ด | ํ ๋ฒ์ ์์คํ ์ธ์ฆ์ ํตํ์ฌ ์ฌ๋ฌ ์ ๋ณด์์คํ ์ ์ฌ์ธ์ฆ ์ ์ฐจ ์์ด ์ ๊ทผํ ์ ์๋ ํตํฉ ๋ก๊ทธ์ธ ๊ธฐ์ |
๋ฐฑ๋ณธ๋ง | ๋ค์ํ ๋คํธ์ํฌ๋ฅผ ์ํธ์ฐ๊ฒฐํ๋ ์ปดํจํฐ ๋คํธ์ํฌ์ ์ผ๋ถ๋ก์, ๊ฐ๊ธฐ ๋ค๋ฅธ LAN์ด๋ ๋ถ๋ถ๋ง ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ๊ธฐ ์ํด ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ๋ ๋ง |
๋ผ์ฐํฐ | 3๊ณ์ธต ๋ฐ์ดํฐ ํจํท์ ๋ฐ์ ์ง์์ ๋ชฉ์ ์ง๊น์ง ์ ๋ฌํ๊ธฐ ์ํด ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๊ณ ์ด ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋ฐ์ดํฐ ํจํท์ ๋ค์ ์ฅ์น๋ก ์ ๋ฌํ๋ ๋คํธ์ํฌ ์ฅ๋น |
์ค์์น | 2๊ณ์ธต ์ฅ๋น๋ก์,๋์ผ ๋คํธ์ํฌ ๋ด์์ ์ถ๋ฐ์ง์ ๋ค์ด์จ ๋ฐ์ดํฐ ํ๋ ์์ ๋ชฉ์ ์ง MAC ์ฃผ์ ๊ธฐ๋ฐ์ผ๋ก ๋น ๋ฅด๊ฒ ์ ๋ฌํ๋ ๋คํธ์ํฌ ์ฅ๋น |
๊ฒ์ดํธ์จ์ด | ์ปดํจํฐ ๋คํธ์ํฌ์์ ์๋ก ๋ค๋ฅธ ํต์ ๋ง, ํ๋กํ ์ฝ์ ์ฌ์ฉํ๋ ๋คํธ์ํฌ ๊ฐ์ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋คํธ์ํฌ ์ฅ๋น |
๊ฐ๋น์ง ์ปฌ๋์ , GC | ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๊ธฐ๋ฒ์ ํ๋๋ก, ํ๋ก๊ทธ๋จ์ด ๋์ ์ผ๋ก ํ ๋นํ๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ ์ค์์ ํ์ ์๊ฒ ๋ ์์ญ์ ํด์ ํ๋ ๊ธฐ๋ฅ |
ํธ๋์ญ์ | ์ธ๊ฐ๋ฐ์ง ์์ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด DBMS๊ฐ ๊ฐ์ ธ์ผํ๋ ํน์ฑ์ด์, ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํ๋์ ๋ ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ ์์ ์ผ๋ก ์ํํ๊ธฐ ์ํ ์์ ์ ๊ธฐ๋ณธ๋จ์ |
OPS(Operations Per Second) | ์ด๋น ์ฒ๋ฆฌ๋๋ ์ฐ์ฐ๋ฅ๋ ฅ์ ๊ฐ๋ฆฌํค๋ ๋ง๋ก ์ปดํจํฐ์ ์ฑ๋ฅ์ ์์น๋ก ๋ํ๋ผ ๋ ์ฌ์ฉ๋๋ ๋จ์ |
ํ๋กํ ํ์ดํ | ์ฌ์ฉ์๊ฐ ์๊ตฌํ ์ฃผ์ ๊ธฐ๋ฅ์ ํ๋กํ ํ์ ์ผ๋ก ๊ตฌํํ์ฌ ์ฌ์ฉ์์ ๋น๋๋ฐฑ์ ํตํด ๊ฐ์ , ๋ณด์ํ์ฌ ์์ฑ ์ํํธ์จ์ด๋ฅผ ๋ง๋ค์ด๊ฐ๋ ๊ณผ์ |
์ํธ์ด์ฉ์ฑ | ๋ค๋ฅธ ๋ชฉ์ ์ ์ง๋ 2๊ฐ ์ด์์ ์์คํ ๋ค์ด ์ํธ ๊ฐ ์ ๋ณด ๋ฐ ์๋น์ค๋ฅผ ๊ตํํ๋ฉด์ ํจ๊ณผ์ ์ผ๋ก ์ด์ฉ๋ ์ ์๋ ์์คํ ์ ๋ฅ๋ ฅ |
KDSI(Kilo Delivered Source Instruction) | ์ ์ฒด ์์ค ์ฝ๋ ๋ผ์ธ ์๋ฅผ 1,000๋ผ์ธ์ผ๋ก ๋ฌถ์ ๋จ์ |
์ ์ค์ผ์ด์ค | ์์คํ ์ด ์กํฐ์๊ฒ ์ ๊ณตํด์ผ ํ๋ ๊ธฐ๋ฅ์ผ๋ก ์์คํ ์๊ตฌ์ฌํญ์ด์, ์ฌ์ฉ์ ์ ์ฅ์์ ๋ฐ๋ผ๋ณธ ์์คํ ์ ๊ธฐ๋ฅ |
2์ฅ. ๋ฐ์ดํฐ ์ ์ถ๋ ฅ ๊ตฌํ
2-1. ๋ ผ๋ฆฌ ๋ฐ์ดํฐ ์ ์ฅ์ ํ์ธ
DB ์ค๊ณ ์ ์ฐจ ๊ฐ๋
ผ๋ฌผ
์๊ตฌ์ฌํญ ๋ถ์ - ๊ฐ๋
์ ์ค๊ณ - ๋
ผ๋ฆฌ์ ์ค๊ณ - ๋ฌผ๋ฆฌ์ ์ค๊ณ - ๊ตฌํ
- ๊ฐ๋
์ ์ค๊ณ ๐ด
- ์๊ตฌ์ฌํญ ๋ช ์ธ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํํํ๋ฉฐ E-R ๋ค์ด์ด๊ทธ๋จ์ผ๋ก ํํํ ์ ์์
- ๋
ผ๋ฆฌ์ ์ค๊ณ ๐ด
- ๋ชฉํ DBMS์ ๋ง๋ ์คํค๋ง ์ค๊ณ, ํธ๋์ญ์ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณํ๋ ์ ๊ทํ ๊ณผ์ ์ ์ํ
- ๋ฌผ๋ฆฌ์ ์ค๊ณ ๐ด
- ํน์ DBMS์ ํน์ฑ ๋ฐ ์ฑ๋ฅ์ ๊ณ ๋ คํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ ๊ตฌ์กฐ๋ก ๋ณํํ๋ ๊ณผ์ ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ ๋ช ์ธ์๋ ํ ์ด๋ธ ์ ์์ ๋ฑ์ด ์์
๋
ผ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ํ๋ก์ธ์ค์ ๊ธฐ์ด ์ค๊ณ ๋จ๊ณ๋ก ๋น์ฆ๋์ค์ ๋ณด์ ๊ตฌ์กฐ ๊ท์น์ ๋ช
ํํ๊ฒ ํํํ ์ ์๋ ๊ธฐ๋ฒ
๊ฐ๋
๋ชจ๋ธ๋ก๋ถํฐ ์
๋ฌด์์ญ์ ์
๋ฌด ๋ฐ์ดํฐ ๋ฐ ๊ท์น์ ๊ตฌ์ฒด์ ์ผ๋ก ํํํ ๋ชจ๋ธ
ํ์(ํ๋ฒ, ๊ต์๋ฒํธ(FK), ์ด๋ฆ, ์ฃผ์)
๊ต์(๊ต์๋ฒํธ, ์ด๋ฆ, ์ ๊ณต๊ณผ๋ชฉ)
- ๋
ผ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ํน์ฑ -
์ ๊ทํ
,ํฌ์ฉ์ฑ
,์์ ์ฑ
,๋ ๋ฆฝ์ฑ
- ๋
ผ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ์์ฑ -
๊ฐ์ฒด
,์์ฑ
,๊ด๊ณ
- ๊ฐ์ฒด-๊ด๊ณ(E-R) ๋ชจ๋ธ ๋ค์ด์ด๊ทธ๋จ ๊ธฐํธ
- ๊ฐ์ฒด(๋ค๋ชจ), ๊ด๊ณ(๋ง๋ฆ๋ชจ), ์์ฑ(ํ์), ๋ค์ค๊ฐ ์์ฑ(์ด์คํ์), ๊ด๊ณ-์์ฑ ์ฐ๊ฒฐ(์ )
์ ๊ทํ ์ด์ํ์ ์ฝ์ญ๊ฐฑ
๐ด
์ฝ์ ์ด์
์ ๋ณด ์ ์ฅ์ ํด๋น ์ ๋ณด์ ๋ถํ์ํ ์ธ๋ถ์ ๋ณด๋ฅผ ์ ๋ ฅํด์ผ ํ๋ ๊ฒฝ์ฐ์ญ์ ์ด์
์ ๋ณด ์ญ์ ์ ์์น ์๋ ๋ค๋ฅธ ์ ๋ณด๊ฐ ๊ฐ์ด ์ญ์ ๋๋ ๊ฒฝ์ฐ ๐ด๊ฐฑ์ ์ด์
์ค๋ณต ๋ฐ์ดํฐ ์ค์์ ํน์ ๋ถ๋ถ๋ง ์์ ๋์ด ์ค๋ณต๋ ๊ฐ์ด ๋ชจ์์ ์ผ์ผํค๋ ๊ฒฝ์ฐ
์ ๊ทํ ์๋ถ์ด ๊ฒฐ๋ค์กฐ
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ค๊ณ์์ ์ค๋ณต์ ์ต์ํํ์ฌ ํ
์ด๋ธ์ ๊ตฌ์กฐํํ๋ ํ๋ก์ธ์ค. ๋ณด์ด์ค-์ฝ๋ ์ ๊ทํ๊น์ง๊ฐ ๊ธฐ๋ณธ ์ ๊ทํ์ ์ํฉ๋๋ค.
- ์ํผํค: ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ํ๋ ๋๋ ๊ทธ ์ด์์ ์์ฑ๋ค์ ์งํฉ,
์ ์ผ์ฑ
๋ง ๋ง์กฑ ๐ด - ํ๋ณดํค: ํ
์ด๋ธ์์ ๊ฐ ํ์ ์ ์ผํ๊ฒ ์๋ณํ ์ ์๋ ์ต์ํ์ ์์ฑ๋ค์ ์งํฉ, ๊ธฐ๋ณธํค๊ฐ ๋ ์ ์๋ ํ๋ณด๋ค.
์ ์ผ์ฑ
๊ณผ์ต์์ฑ
์ ๋์์ ๋ง์กฑ ๐ด - ๊ธฐ๋ณธํค: ํ๋ณดํค ๋ค ์ค์์ ํ๋๋ก ์ต์์ฑ๊ณผ ์ ์ผ์ฑ์ ๋ง์กฑํ๋ ์์ฑ, NULL๊ณผ ์ค๋ณต๊ฐ์ ๊ฐ์ง ์ ์๋ค.
- ๋์ฒดํค: ๊ธฐ๋ณธํค๋ก ์ง์ ํ ๊ฒ ์ธ์ ํ๋ณดํค๋ค
- ๊ฒฐ์ ์: x๊ฐ Y์ ๋์ํ๋ค๊ณ ํ ๋, X๋ ๊ฒฐ์ ์, Y๋ ์ข ์์.
๋จ๊ณ | ์กฐ๊ฑด | ์์ |
---|---|---|
1์ ๊ทํ(1NF) | ์์๊ฐ์ผ๋ก ๊ตฌ์ฑ | ์ด๋ฉ์ผ ์ปฌ๋ผ์ ์ด๋ฉ์ผ์ด ๋ ๊ฐ ์๋ ๊ฒฝ์ฐ ๋ถ๋ฆฌ |
2์ ๊ทํ(2NF) | ๋ถ๋ถ ํจ์ ์ข ์ ์ ๊ฑฐ(์์ ํจ์์ ์ข ์ ๊ด๊ณ) | ์ข ์๊ด๊ณ ๋ด์ ์กด์ฌํ๋ ๋ค๋ฅธ ์ข ์ ๊ด๊ณ ๋ถ๋ฆฌ |
3์ ๊ทํ(3NF) | ์ดํํจ์ ์ข ์ ์ ๊ฑฐ | A->B ๊ทธ๋ฆฌ๊ณ B->C ๊ด๊ณ๊ฐ ์๋ ํ ์ด๋ธ์ ๋ถ๋ฆฌ |
๋ณด์ด์ค-์ฝ๋ ์ ๊ทํ(BCNF) | ๊ฒฐ์ ์ ํจ์ ์ด๋ฉด์ ํ๋ณดํค๊ฐ ์๋ ๊ฒ ์ ์ธ | ๊ฒฐ์ ์์ด์ง๋ง ํ๋ณดํค๊ฐ ์๋ ์์ฑ์ด ์๋ ๊ฒฝ์ฐ ๋ถ๋ฆฌ (์๋ ์ฌ๋ก์ค๋ช ์ฐธ์กฐ) |
4์ ๊ทํ(4NF) | ๋ค์น(์ค์๊ฐ) ์์ฑ ์ ๊ฑฐ | ๊ฐ๋ฐ์๋ง๋ค ์๊ฒฉ์ฆ, ์ธ์ด๋ผ๋ ์์ฑ์ ๊ฐ์ง๊ณ ์์ ๋, ๋ค์ค๊ฐ ์ข ์์ ์ ๊ฑฐ |
5์ ๊ทํ(5NF) | ์กฐ์ธ ์ข ์์ฑ ์ ๊ฑฐ | 4์ ๊ทํ์์ ์๊ฒฉ์ฆ, ์ธ์ด ํ ์ด๋ธ๋ ๋ถ๋ฆฌํด ์กฐ์ธ์ ํ์ ๋ ์๋ ์ํ๋ก ๋ณต์์ด ๊ฐ๋ฅํ๊ฒ ํจ |
๊ฒฐ์ ์์ ํ๋ณดํค์ ๋ํ์ฌ
์๋ฅผ ๋ค์ด, ํ์ ํ
์ด๋ธ์์ ํ๋ฒ๊ณผ ์ด๋ฆ์ด ์์ฑ์ผ๋ก ์๋ค๊ณ ๊ฐ์ ํด๋ด
์๋ค. ํ๋ฒ์ ํ๋ณดํค๊ฐ ๋ ์ ์์ผ๋ฉฐ, ํ๋ฒ์ ํตํด ํ์์ ์ด๋ฆ์ ๊ฒฐ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฆ์ ํ๋ณดํค๊ฐ ์๋๋ฉฐ, ๋ค๋ฅธ ๊ฒฐ์ ์(์: ์ ํ๋ฒํธ)๋ฅผ ๊ฒฐ์ ํ ์๋ ์์ต๋๋ค.
๊ฒฐ์ ์์ด์ง๋ง ํ๋ณดํค๊ฐ ์๋ ์์ฑ์ด ์๋ ๊ฒฝ์ฐ์ ๋ํด์
๊ธฐ๋ณธํค๊ฐ ํ๋ฒ๊ณผ ๊ณผ๋ชฉ๋ช
์ธ ๊ฒฝ์ฐ์ ์ด๋ฅผ ๊ฐ์ง๊ณ ๊ต์๋ช
์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ํ์ง๋ง ๊ต์๋ช
์์ฒด๋ ๊ณผ๋ชฉ๋ช
์ ์ํฅ์ ์ฃผ๋ ๊ฒฐ์ ์๊ฐ ๋์ง๋ง ํ๋ณดํค๊ฐ ๋ ์ ์๋ ์ํ์
๋๋ค. ๋ฐ๋ผ์ ์ด๋ ๋ณด์ด์ค-์ฝ๋ ์ ๊ทํ์ ์๋ฐฐ๋๋ ์ํฉ์
๋๋ค.
ํจ์์ ์ข ์
- ์์ ํจ์์ ์ข
์(Full Functional Dependency) ๐ด
- ๊ธฐ๋ณธํค์๋ง ์ข ์๋๋ฉฐ, ๊ธฐ๋ณธํค๊ฐ ์ฌ๋ฌ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ๋ชจ๋ ์์ฑ์ด ํฌํจ๋ ๊ธฐ๋ณธํค์ ๋ถ๋ถ์งํฉ์ ์ข ์
- id ๊ฐ์ ์์์ผ๋ง ์๋ณ์ด ๊ฐ๋ฅํ๋ค.
- ๋ถ๋ถ ํจ์์ ์ข
์(Partial Functional Dependency) ๐ด
- ๋ฆด๋ ์ด์ ์ ์ข ์์๊ฐ ๊ธฐ๋ณธํค๊ฐ ์๋ ๋ค๋ฅธ ์์ฑ์ ์ข ์๋๊ฑฐ๋ ๊ธฐ๋ณธํค๊ฐ ์ฌ๋ฌ ์์ฑ์ผ๋ก ๊ตฌ์ฑ๋์ด ์์ ๊ฒฝ์ฐ ๊ธฐ๋ณธํค๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ ์ค ์ผ๋ถ์๋ง ์ข ์๋๋ ๊ฒฝ์ฐ
- ๊ธฐ๋ณธํค๊ฐ ๋ ๊ฐ๋ก ๋์ด ์์ ๊ฒฝ์ฐ, ํ๋๋ง ์์๋ ์๋ณ์ด ๊ฐ๋ฅํ๋ค.
- ์ดํ์ ํจ์์ ์ข
์(Transitive Functional Dependency) ๐ด
- X->Y, X->Z์ผ ๋, X->Z์ธ ๊ฒฝ์ฐ์ ์ข ์
2-2. ๋ฌผ๋ฆฌ ๋ฐ์ดํฐ ์ ์ฅ์ ์ค๊ณ
๋ฌผ๋ฆฌ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๋
ผ๋ฆฌ๋ชจ๋ธ์ ์ ์ฉํ๊ณ ์ ํ๋ ๊ธฐ์ ์ ๋ง๋๋ก ์์ธํํ๋ ๊ณผ์
CREATE TABLE STUDENT
(
s_id INT PRIMARY KEY,
p_id INT REFERENCES PROFESSER(p_id),
name VARCHAR(20),
addr VARCHAR(100)
)
CONSTRANINT
ํ
์ด๋ธ์ ์ฌ๋ฐ๋ฅธ ๋ฐ์ดํฐ๋ง ์
๋ ฅ๋ฐ๊ณ ์๋ชป๋ ๋ฐ์ดํฐ๋ ๋ค์ด์ค์ง ๋ชปํ๊ฒ ํ๋ ์ปฌ๋ผ๋ง๋ค ์ ํ๋ ๊ท์น
๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ผ ๊ตฌ์กฐ
- ์์ฐจ ๋ฐฉ๋ฒ
- ๋ ์ฝ๋๋ค์ ๋ฌผ๋ฆฌ์ ์์๊ฐ ๋ ์ฝ๋๋ค์ ๋ ผ๋ฆฌ์ ์ธ ์์์ ๊ฐ๊ฒ ์์ฐจ์ ์ผ๋ก ์ ์ฅํ๋ ๋ฐฉ๋ฒ
- ์ธ๋ฑ์ค ๋ฐฉ๋ฒ
- ์ธ๋ฑ์ค๊ฐ ๊ฐ๋ฆฌํค๋ ์ฃผ์๋ฅผ ๋ฐ๋ผ ์ํ๋ ๋ ์ฝ๋์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๋ฐฉ๋ฒ
- ํด์ฑ ์ ๊ทผ ๋ฐฉ๋ฒ
- ํท๊ฐ์ ํด์ ํจ์์ ๋์ ์์ผ ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ์๋ก ์ฌ์ฉํ์ฌ ๋ ์ฝ๋์ ์ ๊ทผํ๊ฒ ํ ์ ์๋ ๋ฐฉ๋ฒ
๋ฌผ๋ฆฌ๋ฐ์ดํฐ ์ ์ฅ์ ๊ตฌ์ฑ
- ์ ์ฝ์กฐ๊ฑด ์ค๊ณ - ์ฐธ์กฐ๋ฌด๊ฒฐ์ฑ ์ ์ฝ์กฐ๊ฑด
๋ฆด๋ ์ด์ ๋ค ์ฌ์ด์ ๋ํด ์ฐธ์กฐ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ์กฐ๊ฑด- ์ ํ(์ฐ์ฐ๊ฑฐ์ ), ์ฐ์(์ผ๊ด์ญ์ ), ๋ ๊ฐ(Null์ฒ๋ฆฌ)
- ์ธ๋ฑ์ค ๐ด
๊ฒ์์ฐ์ฐ์ ์ต์ ํ๋ฅผ ์ํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด ์ด์ ๋ํ ์ ๋ณด๋ฅผ ๊ตฌ์ฑํ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ <ํค๊ฐ, ์ฃผ์> ํํ์ ์๋ฃ๊ตฌ์กฐ- ์ ์ฉ๊ธฐ์ค: ๋ถํฌ๋ 10~15%
- ์ธ๋ฑ์ค๊ฐ ๊ฑธ๋ ค์๋ ์ปฌ๋ผ์
HAVING
์ ์ฌ์ฉ์ ์ธ๋ฑ์ค ๋ฏธ์ฌ์ฉ CREATE [UNIQUE] INDEX ์ธ๋ฑ์ค๋ช ON ํ ์ด๋ธ๋ช (์ปฌ๋ผ๋ช 1, ์ปฌ๋ผ๋ช 2, ...)
๐ด
- ๋ทฐ
- ๋ทฐ์ ์์ฑ
REPLACE
,FORCE
,NOFORCE
,WITH CHECK OPTION
,WITH READ ONLY
- ๋ทฐ์ ์์ฑ
- ํด๋ฌ์คํฐ
๋์์ด ๋๋ ๋ฒ์(๋ชจ์ง๋จ)์ ์์๋ฅผ ๋ช ๊ฐ ๋ชจ์ ๋จ์์ฒด๋ก ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๊ธฐ์ ๋์ ๋ถํฌ๋๋ฅผ ๊ฐ์ง ๊ฒฝ์ฐ์ ์ฌ์ฉํฉ๋๋ค. - ํํฐ์
ํํฐ์ ๋์ ํ๋ฉด ์ฑ๋ฅํฅ์, ๊ฐ์ฉ์ฑ ํฅ์, ๋ฐฑ์ ๊ฐ๋ฅ, ๊ฒฝํฉ ๊ฐ์์ ์ฅ์ ์ด ์์ต๋๋ค.
๋ ์ธ์ง ํํฐ์ ๋ / ํด์ ํํฐ์ ๋ / ๋ฆฌ์คํธ ํํฐ์ ๋ / ์ปดํฌ์งํธ ํํฐ์ ๋- ๋ ์ธ์ง ํํฐ์ ๋ - ์ฐ์์ ์ธ ์ซ์๋ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋ ํํฐ์ ๋ ๊ธฐ๋ฒ
- ํด์ ํํฐ์ ๋ - ํํฐ์ ํค์ ํด์ ํจ์ ๊ฐ์ ์ํ ํํฐ์ ๋ ๊ธฐ๋ฒ
- ๋ฆฌ์คํธ ํํฐ์ ๋ - ํน์ ํํฐ์ ์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ํ ๋ช ์์ ์ ์ด๊ฐ ๊ฐ๋ฅํ ํํฐ์ ๋ ๊ธฐ๋ฒ
- ์ปดํฌ์งํธ ํํฐ์ ๋ - ๋ฒ์๋ถํ ์ดํ์ ํด์ํจ์๋ฅผ ์ ์ฉํ์ฌ ์ฌ๋ถํ ํ๋ ํํฐ์ ๋ ๊ธฐ๋ฒ
2-3. ๋ฐ์ดํฐ ์กฐ์ ํ๋ก์์ ์์ฑ
๋ฐ์ดํฐ ์กฐ์ ํ๋ก์์
SQL์ ์ด์ฉํด์ ์์ฑ๋ ๋ฐ์ดํฐ๋ฅผ ์กฐ์
PL/SQL์ ํ์ค SQL์ ๊ธฐ๋ณธ์ผ๋ก ์ค๋ผํด์์ ๊ฐ๋ฐํ ๋ฐ์ดํฐ ์กฐ์ ์ธ์ด์
๋๋ค.
CREATE OR REPLACE PROCEDURE INPUT_EMP
(
p_name IN VARCHAR2,
p_empno IN NUMBER
)
IS
BEGIN
INSERT INTO EMPLOYEE(NAME, EMPNO)
VALUES(p_name, p_empno);
COMMIT;
END;
EXEC INPUT_EMP('ํ๊ธธ๋','31512');
์ฐ๊ฒฐ์ ์ฐจ
- ๋๋ผ์ด๋ฒ ๋ก๋ฉ - ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ - ์ฟผ๋ฆฌ ์ ๋ฌ - ๊ฒฐ๊ณผ ์์
๋ฐ์ดํฐ ์กฐ์ ํ๋ก์์ ํ
์คํธ
DBMS_OUTPUT ํจํค์ง๋ฅผ ์ฌ์ฉํฉ๋๋ค. ๋ฉ์์ง๋ฅผ ๋ฒํผ์ ์ ์ฅํ๊ณ ๋ฒํผ๋ก๋ถํฐ ๋ฉ์์ง๋ฅผ ์ฝ์ด์ค๊ธฐ ์ํ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ํจํค์ง์
๋๋ค.
์คํ์ ์ํด์๋ SET SERVEROUTPUT ON;
ํ๊ณ ์คํํ๊ณ ์ ํ๋ ํ๋ก์์ ๋ฅผ EXECUTE
ํฉ๋๋ค.
CREATE OR REPLACE PROCEDURE INPUT_EMP
(
p_name IN VARCHAR2,
p_empno IN NUMBER
)
IS
BEGIN
DBMS_OUTPUT.ENABLE; -- ๋ฐ์ดํฐ ์กฐ์ ํ๋ก์์ ํ
์คํธ
INSERT INTO EMPLOYEE(NAME, EMPNO)
VALUES(p_name, p_empno);
DBMS_OUTPUT.PUT_LINE(p_name); -- ๋ฐ์ดํฐ ์กฐ์ ํ๋ก์์ ํ
์คํธ, ๋ง์ง๋ง์ EOL ๋ฌธ์๋ฅผ ์ถ๊ฐ
COMMIT;
END;
EXEC INPUT_EMP('ํ๊ธธ๋','31512');
PL/SQL ์ค๋ฅ ๋ฐ์์ SHOW ERRORS
๋ช
๋ น์ด๋ก ์ค๋ฅ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค.
2-4. ๋ฐ์ดํฐ ์กฐ์ ํ๋ก์์ ์ต์ ํ
์ตํฐ๋ง์ด์
๊ฐ๋ฐ์๊ฐ ์์ฑํ SQL์ ๊ฐ์ฅ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ํํ ์ต์ ์ ์ฒ๋ฆฌ๊ฒฝ๋ก๋ฅผ ์์ฑํด์ฃผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํต์ฌ๋ชจ๋์ด๋ฉฐ, ์ด ๋ ์ต์ ์ ์ฒ๋ฆฌ๊ฒฝ๋ก๋ ์คํ๊ฒฝ๋ก
๋ผ๊ณ ํฉ๋๋ค.
- ๊ท์น๊ธฐ๋ฐ ์ตํฐ๋ง์ด์ (RBO, Rule Based Optimizer)
- ํต๊ณ์ ๋ณด๊ฐ ์๋ ์ํ์์ ์ฌ์ ๋ฑ๋ก๋ ๊ท์น์ ๋ฐ๋ผ ์ง์ ์คํ ๊ณํ์ ์ ํํ๋ ์ตํฐ๋ง์ด์
- ๋น์ฉ๊ธฐ๋ฐ ์ตํฐ๋ง์ด์ (CBO, Cost Based Optimizer)
- ํต๊ณ ์ ๋ณด๋ก๋ถํฐ ๋ชจ๋ ์ ๊ทผ ๊ฒฝ๋ก๋ฅผ ๊ณ ๋ คํ ์ง์์คํ ๊ณํ์ ์ ํํ๋ ์ตํฐ๋ง์ด์
ํํธ
SQL ์ฑ๋ฅ ๊ฐ์ ์ ํต์ฌ ๋ถ๋ถ์ผ๋ก ์ตํฐ๋ง์ด์ ์คํ ๊ณํ์ ์ํ๋๋๋ก ๋ณ๊ฒฝํ ์ ์๊ฒ ํฉ๋๋ค.
SELECT /*+ RULE */ ENAME, SAL
FROM EMP
WHERE EMPNO > 9000;
์ฃผ์ ์ตํฐ๋ง์ด์ ํํธ
ํํธ | ์ค๋ช |
---|---|
/*+ RULE */ |
๊ท์น ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋๋ก ์ง์ |
/*+ CHOOSE */ |
์ค๋ผํด ์ตํฐ๋ง์ด์ ๋ํดํธ ๊ฐ์ผ๋ก |
/*+ INDEX(๋ฐ์ด๋ธ ์ธ๋ฑ์ค๋ช
) */ |
์ง์ ๋ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ ์ ์ผ๋ก ์ฌ์ฉ |
/*+ USE_HASH(ํ
์ด๋ธ๋ช
) */ |
์ง์ ๋ ํ ์ด๋ธ๋ค์ ์กฐ์ธ์ด Hash Join ํ์์ผ๋ก ์ผ์ด๋๋๋ก ์ ๋ |
/*+ USE_MARGE(ํ
์ด๋ธ๋ช
) */ |
์ง์ ๋ ํ ์ด๋ธ๋ค์ ์กฐ์ธ์ด Sort Merge ํ์์ผ๋ก ์ผ์ด๋๋๋ก ์ ๋ |
/*+ USE_NL(ํ
์ด๋ธ๋ช
) */ |
์ง์ ๋ ํ ์ด๋ธ๋ค์ ์กฐ์ธ์ด Nested Loop ํ์์ผ๋ก ์ผ์ด๋๋๋ก ์ ๋ |
๊ธฐํ SQL
- ์ปฌ๋ผ ์ถ๊ฐ
ALTER TABLE ํ ์ด๋ธ๋ช ADD ์ปฌ๋ผ๋ช ๋ฐ์ดํฐํ์ [์ ์ฝ์กฐ๊ฑด]; ๐ด
- ์ปฌ๋ผ ์์
ALTER TABLE ํ ์ด๋ธ๋ช MODIFY ์ปฌ๋ผ๋ช ๋ฐ์ดํฐํ์ [์ ์ฝ์กฐ๊ฑด]; ๐ด
- ์ปฌ๋ผ ์ญ์
ALTER TABLE ํ ์ด๋ธ๋ช DROP ์ปฌ๋ผ๋ช ๋ฐ์ดํฐํ์ [์ ์ฝ์กฐ๊ฑด]; ๐ด
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
๊ฐ๋ ๋ชจ๋ธ | ์ฃผ์ ์์ญ๊ณผ ํต์ฌ ๋ฐ์ดํฐ ์งํฉ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ๋ ๋ชจ๋ธ, ์ํฐํฐ์ ๊ด๊ณ ์์กฐ์ ๋ชจ๋ธ |
๋ฆด๋ ์ด์ | ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ |
๊ด์ฌ์ฌ | ์์คํ ์ ๋ํด ์ดํด๊ด๊ณ์๋ค์ ์๋ก ๋ค๋ฅธ ์๊ฒฌ๊ณผ ๋ชฉํ |
๊ด์ | ๊ฐ๋ณ ๋ทฐ๋ฅผ ๊ฐ๋ฐํ ๋ ํ ๋๊ฐ ๋๋ ํจํด์ด๋ ์์ |
๋ทฐ | ์๋ก ๊ด๋ จ ์๋ ๊ด์ฌ์ฌ๋ค์ ์งํฉ์ด๋ผ๋ ๊ด์ ์์ ์ ์ฒด ์์คํ ์ ํํ |
์จ๋ผ์ธ ํธ๋์ญ์ ์ฒ๋ฆฌ(OLTP) ์์คํ | ๊ธฐ์ ํ๊ฒฝ ์ ์๋ฅผ ์ํ ๊ธฐ์ด ์๋ฃ ์กฐ์ฌ ํญ๋ชฉ์ ์์คํ ๊ตฌ์ถ ํํ, ์ฌ์ฉ์ ์, ํธ๋์ญ์ ์ ๋ฑ์ด ์์ |
์๊ตฌ์ฌํญ ๋ช ์ธ | ์ฒด๊ณ์ ์ผ๋ก ๊ฒํ , ํ๊ฐ, ์น์ธ๋ ์ ์๋ ๋ฌธ์๋ฅผ ์์ฑํ๋ ๊ฒ |
๋ฐ์ ๊ทํ(๋น์ ๊ทํ) ๐ด | ์ ๊ทํ๋ ์ํฐํฐ, ์์ฑ, ๊ด๊ณ์ ๋ํด ์ฑ๋ฅ ํฅ์๊ณผ ๊ฐ๋ฐ ์ด์์ ๋จ์ํ๋ฅผ ์ํด ์ค๋ณต, ํตํฉ, ๋ถ๋ฆฌ ๋ฑ์ ์ํํ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง์ ๊ธฐ๋ฒ |
DDL(Data Definition Language) | ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ์ธ์ด๋ก ํ ์ด๋ธ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ช ๋ น์ด |
DML(Data Manipulation Language) | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์๋ฃ๋ค์ ์ ๋ ฅ, ์์ , ์ญ์ , ์กฐํํ๋ ์ธ์ด (SELECT, INSERT, DELETE, UPDATE) |
๋์คํฌ ์คํธ๋ผ์ดํ | ์ฑ๋ฅ ํฅ์์ ์ํด ๋ฐ์ดํฐ 1๊ฐ ์ด์์ ๋์คํฌ ๋๋ผ์ด๋ธ์ ์ ์ฅํ์ฌ ๋๋ผ์ด๋ธ๋ฅผ ๋ณ๋ ฌ๋ก ์ฌ์ฉํ ์ ์๋ ๊ธฐ์ |
APM(Application Performance Monitoring) | ์์ ์ ์ธ ์์คํ ์ด์์ ์ํด ๋ถํ๋, ์ ์์ ํ์ ๋ฐ ์ฅ์ ์ง๋จ ๋ฑ์ ๋ชฉ์ ์ผ๋ก ํ๋ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ๋๊ตฌ |
์ ํ๋(Selectivity) | ์ ์ฒด ๋์ ๋ ์ฝ๋ ์ค์์ ํน์ ์กฐ๊ฑด์ ์ํด ์ ํ๋ ๊ฒ์ผ๋ก ์์๋๋ ๋ ์ฝ๋ ๋น์จ |
ํํธ | ์คํํ๋ ค ํ๋ SQL๋ฌธ์ ์ฌ์ ์ ์ ๋ณด๋ฅผ ์ฃผ์ด์ SQL๋ฌธ ์คํ์ ๋น ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋ ํจ๊ณผ๋ฅผ ๋ง๋๋ ๋ฌธ๋ฒ |
ํด์ ์กฐ์ธ | ํด์ฑ ํจ์ ๊ธฐ๋ฒ์ ํ์ฉํ์ฌ ์กฐ์ธ์ ์ํํ๋ ๋ฐฉ์ |
์ ๋ ฌ ํฉ๋ณ ์กฐ์ธ | ์กฐ์ธ์ ๋์๋ฒ์๊ฐ ๋์ ๊ฒฝ์ฐ ๋ฐ์ํ๋ ์์ ์ ๊ทผ์ ์ค์ด๊ธฐ ์ํ ๊ฒฝ์ฐ๋ ์ฐ๊ฒฐ๊ณ ๋ฆฌ์ ๋ง๋ ํ ์ธ๋ฑ์ค๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ ํด๊ฒฐํ๊ธฐ ์ํ ์กฐ์ธ๋ฐฉ๋ฒ |
์ค์ฒฉ ๋ฐ๋ณต ์กฐ์ธ | 2๊ฐ ์ด์์ ํ ์ด๋ธ์์ ํ๋์ ์งํฉ์ ๊ธฐ์ค์ผ๋ก ์์ฐจ์ ์ผ๋ก ์๋๋ฐฉ Row๋ฅผ ๊ฒฐํฉํ์ฌ ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์กฐํฉํ๋ ๋ฐฉ์ |
๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ ๊ตฌ์ฑ์์ ํ์นด์์ฐจ
๊ตฌ์ฑ์์ | ์ค๋ช |
---|---|
๋ฆด๋ ์ด์ | ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋ ํ ์ด๋ธ |
ํํ | ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ |
์์ฑ(Attribute) | ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด |
์นด๋๋๋ฆฌํฐ ๐ด | ํํ์ ๊ฐ์ |
์ฐจ์(Degree) ๐ด | ์ ํธ๋ฆฌ๋ทฐํธ์ ์ |
์คํค๋ง | ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ, ์ ์ฝ์กฐ๊ฑด ๋ฑ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ |
์ธ์คํด์ค | ์ ์๋ ์คํค๋ง์ ๋ฐ๋ผ ์์ฑ๋ ํ ์ด๋ธ์ ์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ์งํฉ |
๋ฐ์ดํฐ ๋ชจ๋ธ์ ๊ตฌ์ฑ์์ ์ฐ๊ตฌ์
- ์ฐ์ฐ(Operation) ๐ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์์ ์ ๋ํ ๋ช ์ธ
- ๊ตฌ์กฐ(Structure) ๐ด
- ๋ ผ๋ฆฌ์ ์ผ๋ก ํํ๋ ๊ฐ์ฒด ํ์ ๊ฐ์ ๊ด๊ณ
- ์ ์ฝ์กฐ๊ฑด(Constraint)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ์ ์๋ ์ค์ ๋ฐ์ดํฐ์ ๋ ผ๋ฆฌ์ ์ธ ์ ์ฝ์กฐ๊ฑด
DDL์ ๋์ ๋์คํ
๋ทฐ์ธ
- ๋๋ฉ์ธ
- ํ๋์ ์์ฑ์ด ๊ฐ์ง ์ ์๋ ์์๊ฐ๋ค์ ์งํฉ
- ์์ฑ์ ๋ฐ์ดํฐ ํ์ ๊ณผ ํฌ๊ธฐ, ์ ์ฝ์กฐ๊ฑด ๋ฑ์ ์ ๋ณด
- ์คํค๋ง ๐ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ, ์ ์ฝ์กฐ๊ฑด ๋ฑ์ ์ ๋ณด๋ฅผ ๋ด๊ณ ์๋ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ
- ์ธ๋ถ/๊ฐ๋ /๋ด๋ถ 3๊ณ์ธต์ผ๋ก ๊ตฌ์ฑ
- ํ
์ด๋ธ
- ๋ฐ์ดํฐ ์ ์ฅ ๊ณต๊ฐ
- ๋ทฐ
- ํ๋ ์ด์์ ๋ฌผ๋ฆฌ ํ ์ด๋ธ์์ ์ ๋๋๋ ๊ฐ์์ ํ ์ด๋ธ
- ์ธ๋ฑ์ค
- ๊ฒ์์ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
์คํค๋ง์ ์ข ๋ฅ
- ์ธ๋ถ ์คํค๋ง ๐ด
- ์ฌ์ฉ์๋ ๊ฐ๋ฐ์์ ๊ด์ ์์ ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ
- ์ฌ์ฉ์ ๋ทฐ๋ฅผ ๋ํ๋
- ์๋ธ ์คํค๋ง๋ก ๋ถ๋ฆผ
- ๊ฐ๋
์คํค๋ง ๐ด
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฒด์ ์ธ ๋ ผ๋ฆฌ์ ์ธ ๊ตฌ์กฐ
- ์ ์ฒด์ ์ธ ๋ทฐ
- ๋ด๋ถ ์คํค๋ง ๐ด
- ๋ฌผ๋ฆฌ์ ์ ์ฅ์ฅ์น์ ๊ด์ ์์ ๋ณด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ
- ์ค์ ๋ก ๋ฐ์ดํ ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ ์ฝ๋ ํ์์ ์ ์ํ๊ณ ์ ์ฅ๋ฐ์ดํฐ ํญ๋ชฉ์ ํํ ๋ฐฉ๋ฒ, ๋ด๋ถ ๋ ์ฝ๋์ ๋ฌผ๋ฆฌ์ ์์ ๋ฑ์ ํํ
3์ฅ. ํตํฉ ๊ตฌํ
3-1. ์ฐ๊ณ ๋ฐ์ดํฐ ๊ตฌ์ฑ
์ฐ๊ณ ์๊ตฌ์ฌํญ ๋ถ์
๋ถ์๊ธฐ๋ฒ - ์ธํฐ๋ทฐ, ์ฒดํฌ๋ฆฌ์คํธ, ์ค๋ฌธ์ง, ๋ธํ์ด๊ธฐ๋ฒ, ๋ธ๋ ์ธ์คํ ๋ฐ
๋ถ์ ์ฐธ๊ณ ๋ฌธ์ - ์ฝ๋ ์ ์์, ํ
์ด๋ธ ์ ์์, ์์ฉ ํ๋ก๊ทธ๋จ ๊ตฌ์ฑ๋, ์์คํ
๊ตฌ์ฑ๋
- ์ฐ๊ณ ์์คํ ์ ์ก์ ์์คํ ๊ณผ ์์ ์์คํ ์ผ๋ก ๊ตฌ์ฑํ ์ ์์ผ๋ฉฐ, ์ฐ๊ณ ๋ฐฉ์์ ๋ฐ๋ผ ์ค๊ณ ์๋ฒ๋ฅผ ๋ ์ ์์ต๋๋ค.
3-2. ์ฐ๊ณ ๋งค์ปค๋์ฆ ๊ตฌ์ฑ
์ฐ๊ณ ๋งค์ปค๋์ฆ
์์ฉ ์ํํธ์จ์ด์ ์ฐ๊ณ ๋์ ๋ชจ๋ ๊ฐ์ ๋ฐ์ดํฐ ์ฐ๊ณ ์ ์๊ตฌ์ฌํญ์ ๊ณ ๋ คํ ์ฐ๊ณ๋ฐฉ๋ฒ๊ณผ ์ฃผ๊ธฐ๋ฅผ ์ค๊ณํ๊ธฐ ์ํ ํ๋ฆ
์ฐ๊ณ ๋ฐฉ์ ๋ถ๋ฅ
์ง์ ์ฐ๊ณ - DB ๋งํฌ, DB ์ฐ๊ฒฐ, API/OPEN API, JDBC, ํ์ดํผ๋งํฌ
๊ฐ์ ์ฐ๊ณ - ์ฐ๊ณ ์๋ฃจ์
(EAI), Web Service/ESB, ์์ผ
3-3. ๋ด์ธ๋ถ ์ฐ๊ณ ๋ชจ๋ ๊ตฌํ
EAI(Enterprise Application Integration) ๐ด
๊ธฐ์
์์ ์ด์๋๋ ์๋ก ๋ค๋ฅธ ํ๋ซํผ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
๋ค ๊ฐ์ ์ ๋ณด ์ ๋ฌ, ์ฐ๊ณ, ํตํฉ์ ๊ฐ๋ฅํ๊ฒ ํด์ฃผ๋ ์๋ฃจ์
์์คํ
ํตํฉ์ ์์ฉํ๋ ์๋ฃจ์
์ผ๋ก ๊ตฌ์ถ ์ ํ์๋ Point to Point, Hub & Spoke, Message Bus๊ฐ ์์ต๋๋ค.
ESB(Enterprise Service Bus)
๊ธฐ์
์์ ์ด์๋๋ ์๋ก ๋ค๋ฅธ ํ๋ซํผ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
๋ค ๊ฐ์ ํ๋์ ์์คํ
์ผ๋ก ๊ด๋ฆฌ ์ด์ํ ์ ์๋๋ก ์๋น์ค ์ค์ฌ์ ํตํฉ์ ์งํฅํ๋ ์ํคํ
์ฒ ๋๋ ๊ธฐ์
๋ฒ์ค๋ฅผ ์ค์ฌ์ผ๋ก ๊ฐ๊ฐ ํ๋กํ ์ฝ์ด ํธํ ๊ฐ๋ฅํ๋๋ก ์ ํ๋ฆฌ์ผ์ด์
์ ํตํฉ์ ๋์จํ ๊ฒฐํฉ ๋ฐฉ์์ผ๋ก ์ง์ํ๋ ๋ฐฉ์
์น ์๋น์ค ๋ฐฉ์
SOAP, UDDI, WSDL
- SOAP(Simple Object Access Protocol) ๐ด
- HTTP, HTTPS, SMTP ๋ฑ์ ์ฌ์ฉํ์ฌ XML ๊ธฐ๋ฐ์ ๋ฉ์์ง๋ฅผ ๋คํธ์ํฌ ์ํ์์ ๊ตํํ๋ ํ๋กํ ์ฝ
- UDDI(Universal Description, Discovery and Integration)
- ์น ์๋น์ค์ ๋ํ ์ ๋ณด์ธ WSDL์ ๋ฑ๋กํ๊ณ ๊ฒ์ํ๊ธฐ ์ํ ์ ์ฅ์๋ก ๊ณต๊ฐ์ ์ผ๋ก ์ ๊ทผ, ๊ฒ์์ด ๊ฐ๋ฅํ ๋ ์ง์คํ ๋ฆฌ
- WSDL(Web Service Description Language) ๐ด
- ์น ์๋น์ค๋ช , ์ ๊ณต ์์น, ๋ฉ์์ง ํฌ๋งท, ํ๋กํ ์ฝ ์ ๋ณด ๋ฐ ์น ์๋น์ค์ ๋ํ ์์ธ ์ ๋ณด๋ฅผ ๊ธฐ์ ํ XML ํ์์ผ๋ก ๊ตฌํ๋ ์ธ์ด
- SOAP์ XML ์คํค๋ง์ ๊ฒฐํฉํ์ฌ ์ธํฐ๋ท์์ ์น ์๋น์ค๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ์ฌ์ฉ
- WSDL์ ์๋น์ค ์ธํฐํ์ด์ค์ ์๋น์ค ๊ตฌํ์ผ๋ก ๊ตฌ์ฑ
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
์ธ์คํด์ค | OOP์์ ํด๋น ํด๋์ค์ ๊ตฌ์กฐ๋ก ์ปดํจํฐ ์ ์ฅ ๊ณต๊ฐ์์ ํ ๋น๋ ์ค์ฒด |
์ค๋ธ์ ํธ | ์ ์ฅ๊ณต๊ฐ์ ํ ๋น๋์ด ๊ฐ์ ๊ฐ์ง๊ฑฐ๋ ์๋ณ์์ ์ํด ์ฐธ์กฐ๋๋ ๊ณต๊ฐ |
๋์จํ ๊ฒฐํฉ(Loosely Coupled) | ํน์ ์๋น์ค๋ฅผ ๋ณ๊ฒฝํ๋๋ผ๋ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ ์๋น์ค์๋ ์ํฅ์ ์ฃผ์ง ์๋ ์ ์ฐํ ๊ตฌ์กฐ |
REST(Representational State Transfer) | HTTP URI๋ฅผ ํตํด ์์์ ๋ช ์ํ๊ณ , HTTP ๋ฉ์๋๋ฅผ ํตํด ํด๋น ์์์ ๋ํ ์์ฑ, ์กฐํ, ๊ฐฑ์ , ์ญ์ ๋ฑ์ ๋ช ๋ น์ ์ ์ฉํ๋ ๊ฒ์ ์๋ฏธ |
JSON ๐ด | ๋น๋๊ธฐ ๋ธ๋ผ์ฐ์ /์๋ฒ ํต์ ์ ์ํด โ์์ฑ-๊ฐ ์โ, โํค-๊ฐ ์โ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฐ์ดํฐ ์ค๋ธ์ ํธ๋ฅผ ์ ๋ฌํ๊ธฐ ์ํด ์ธ๊ฐ์ด ์ฝ์ ์ ์๋ ํ
์คํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฐ๋ฐฉํ ํ์ค ํฌ๋งท AJAX์์ ๋ง์ด ์ฌ์ฉ๋๊ณ XML์ ๋์ฒดํ๋ ์ฃผ์ ๋ฐ์ดํฐ ํฌ๋งท |
4์ฅ. ์๋ฒ ํ๋ก๊ทธ๋จ ๊ตฌํ
4-1. ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ
๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถ
๋น๋ ๋๊ตฌ, ๊ตฌํ ๋๊ตฌ, ํ
์คํธ ๋๊ตฌ, ํ์ ๊ด๋ฆฌ ๋๊ตฌ
- ์น ์๋ฒ
- HTTP๋ฅผ ์ด์ฉํ ์์ฒญ/์๋จ์ ์ฒ๋ฆฌ
- ์น ์์ ์ ์ ์ฝํ ์ธ ๋ฅผ ์ฒ๋ฆฌ
- Apache ์น ์๋ฒ, ISS ์น ์๋ฒ, Nginx ๋ฑ
- ์น ์ ํ๋ฆฌ์ผ์ด์
์๋ฒ
- ๋์ ์ฝํ ์ธ (Servlet, JSP)๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ
- Tomcat, Resin ๋ฑ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ
- ํ์ผ ์๋ฒ
ํ์๊ด๋ฆฌ ๐ด
ํ์๊ด๋ฆฌ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํ ์ ์ฒด ๊ณผ์ ์์ ๋ชจ๋ ํญ๋ชฉ์ ๋ณ๊ฒฝ ์ฌํญ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ๋
ํ์๊ด๋ฆฌ ์ ์ฐจ
ํ์ ์๋ณ - ํ์ ํต์ - ํ์ ๊ฐ์ฌ - ํ์ ๊ธฐ๋ก
- ํ์ ์๋ณ
- ํ์๊ด๋ฆฌ ๋์์ ์ ์ ๋ฐ ์๋ณํ๋ ํ๋
- ์ถ์ ์ฑ ๋ถ์ฌ๋ฅผ ์ํด ID์ ๊ด๋ฆฌ๋ฒํธ๋ฅผ ๋ถ์ด
- ๋ณ๊ฒฝ ๊ด๋ฆฌ ์ด์ ๋ฐ์์ ID์ ๊ด๋ฆฌ๋ฒํธ๋ฅผ ์ด์ฉํ์ฌ ์ฒ๋ฆฌ
- ํ์ ํต์ ๐ด
- ํ์ฑ ํญ๋ชฉ์ ๋ฒ์ ๊ด๋ฆฌ๋ฅผ ์ํ ํ์ํต์ ์์ํ ์ด์
- ๋ณ๊ฒฝ์๊ตฌ ๊ด๋ฆฌ, ๋ณ๊ฒฝ์ ์ด, ํ์ ๊ด๋ฆฌ ๋ฑ ํต์ ์ง์
- ํ์ ๊ฐ์ฌ
- ์ํํธ์จ์ด ๋ฒ ์ด์ค๋ผ์ธ์ ๋ฌด๊ฒฐ์ฑ ํ๊ฐ
- ๋ฒ ์ด์ค๋ผ์ธ ๋ณ๊ฒฝ์ ์๊ตฌ์ฌํญ๊ณผ ์ผ์น ์ฌ๋ถ ๊ฒํ
- ํ์ ๊ธฐ๋ก
- ์ํํธ์จ์ด ํ์ ๋ฐ ๋ณ๊ฒฝ๊ด๋ฆฌ์ ๋ํ ๊ฐ์ข ์ํ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋ก
- ํ์๊ฒฐ๊ณผ ๋ณด๊ณ ์ ์์ฑ
4-2. ๊ณตํต ๋ชจ๋ ๊ตฌํ
๊ณตํต ๋ชจ๋ ๊ตฌํ
- ๋ชจ๋
- ํฌ๊ฒ ๋ ๋ฆฝ๋ ํ๋์ ์ํํธ์จ์ด ๋๋ ํ๋์จ์ด ๋จ์๋ฅผ ์ง์นญ
- ๊ณตํต ๋ชจ๋
- ์ ์ฒด ํ๋ก๊ทธ๋จ ์ค์์ ํน์ ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ ์ ์๋ ์คํ ์ฝ๋. ์์ฒด์ ์ผ๋ก ์ปดํ์ผ์ด ๊ฐ๋ฅํ๊ณ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์์ ์ ์ฌ์ฉ์ด ๊ฐ๋ฅ
์ํํธ์จ์ด ๋ชจ๋ ์์ง๋
๋ชจ๋์ ๋
๋ฆฝ์ฑ์ ๋ํ๋ด๋ ๊ฐ๋
์ผ๋ก ๊ฒฐํฉ๋๋ ๋ฎ๊ฒ, ์์ง๋๋ ๋๊ฒ, ๋ชจ๋์ ํฌ๊ธฐ๋ ์๊ฒ ๋ง๋ค์ด์ผ ํฉ๋๋ค.
- ์์ง๋
์ฐ๋ ผ์์ ํต์๊ธฐ
๐ด- ์ ๋ณด ์๋์ ํ์ฅ ๊ฐ๋ ์ผ๋ก ํ๋์ ๋ชจ๋์ ํ๋์ ๊ธฐ๋ฅ์ ์ํํ๋ ๊ฒ์ ์๋ฏธ
- ์์ง๋๊ฐ ๊ฐ์ฅ ๋์ ๊ฒ์
๊ธฐ๋ฅ์ ์์ง๋
์ ํ | ์ค๋ช |
---|---|
์ฐ์ฐ์ ์์ง๋ | ๋ชจ๋ ๋ด๋ถ์ ๊ฐ ๊ตฌ์ฑ์์๊ฐ ์ฐ๊ด์ด ์๋ ๊ฒฝ์ฐ |
๋ ผ๋ฆฌ์ ์์ง๋ | ์ ์ฌํ ์ฑ๊ฒฉ์ ๊ฐ๊ฑฐ๋ ํน์ ํํ๋ก ๋ถ๋ฅ๋๋ ์ฒ๋ฆฌ ์์๋ค์ด ํ ๋ชจ๋์์ ์ฒ๋ฆฌ๋๋ ๊ฒฝ์ฐ |
์๊ฐ์ ์์ง๋ | ์ฐ๊ด๋ ๊ธฐ๋ฅ์ด๋ผ๊ธฐ๋ณด๋ค๋ ํน์ ์๊ฐ์ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ ํ๋๋ค์ ํ ๋ชจ๋์์ ์ฒ๋ฆฌํ ๊ฒฝ์ฐ |
์ ์ฐจ์ ์์ง๋ ๐ด | ๋ชจ๋์ด ๋ค์์ ๊ด๋ จ ๊ธฐ๋ฅ์ ๊ฐ์ง ๋ ๋ชจ๋ ์์ ๊ตฌ์ฑ์์๋ค์ด ๊ทธ ๊ธฐ๋ฅ์ ์์ฐจ์ ์ผ๋ก ์ํํ ๊ฒฝ์ฐ, ์ ์ถ๋ ฅ ๊ฐ ์ฐ๊ด์ฑ์ ์์ผ๋ ์์์ ๋ฐ๋ผ ์ํ๋ ํ์๊ฐ ์์ |
ํต์ ์ (๊ตํ์ ) ์์ง๋ ๐ด | ๋์ผํ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ํํ๋ ํ๋๋ค์ด ๋ชจ์ฌ ์์ ๊ฒฝ์ฐ |
์์ฐจ์ ์์ง๋ | ๋ชจ๋ ๋ด์์ ํ ํ๋์ผ๋ก๋ถํฐ ๋์จ ์ถ๋ ฅ๊ฐ์ ๋ค๋ฅธ ํ๋์ด ์ฌ์ฉํ ๊ฒฝ์ฐ |
๊ธฐ๋ฅ์ ์์ง๋ ๐ด | ๋ชจ๋ ๋ด๋ถ์ ๋ชจ๋ ๊ธฐ๋ฅ์ด ๋จ์ผํ ๋ชฉ์ ์ ์ํด ์ํ๋๋ ๊ฒฝ์ฐ, ๋ชจ๋ ๊ธฐ๋ฅ๋ค์ด ์ฐ๊ด๋์ด ์๋ ๊ฒ, ๊ทธ๋ฃนํ |
- ๊ฒฐํฉ๋
๋ด๊ณต ์ธ์ ์ค์
๐ด- ์ธ๋ถ ๋ชจ๋๊ณผ์ ์ฐ๊ด๋ ๋๋ ์ํธ์์กด์ฑ
- ๊ฒฐํฉ๋๊ฐ ๊ฐ์ฅ ๋ฎ์ ๊ฒ์
์๋ฃ ๊ฒฐํฉ๋
์ ํ | ์ค๋ช |
---|---|
๋ด์ฉ ๊ฒฐํฉ๋ | ๋ค๋ฅธ ๋ชจ๋ ๋ด๋ถ์ ์๋ ๋ณ์๊ฐ ๊ธฐ๋ฅ์ ๋ค๋ฅธ ๋ชจ๋์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ |
๊ณตํต ๊ฒฐํฉ๋ | ํ๋ผ๋ฏธํฐ๊ฐ ์๋ ๋ชจ๋ ๋ฐ์ ์ ์ธ๋์ด ์๋ ์ ์ญ ๋ณ์๋ฅผ ์ฐธ์กฐํ๊ณ ์ ์ญ ๋ณ์๋ฅผ ๊ฐฑ์ ํ๋ ์์ผ๋ก ์ํธ์์ฉํ๋ ๊ฒฝ์ฐ |
์ธ๋ถ ๊ฒฐํฉ๋ | ๋ ๊ฐ์ ๋ชจ๋์ด ์ธ๋ถ์์ ๋์ ๋ ๋ฐ์ดํฐ ํฌ๋งท, ํต์ ํ๋กํ ์ฝ, ๋๋ ๋๋ฐ์ด์ค ์ธํฐํ์ด์ค๋ฅผ ๊ณต์ ํ ๊ฒฝ์ฐ |
์ ์ด ๊ฒฐํฉ๋ ๐ด | ๋จ์ ์ฒ๋ฆฌํ ๋์์ธ ๊ฐ๋ง ์ ๋ฌ๋๋ ๊ฒ ์๋๋ผ ์ด๋ป๊ฒ ์ฒ๋ฆฌ๋ฅผ ํด์ผ ํ๋ค๋ ์ ์ด ์์๊ฐ ์ ๋ฌ๋๋ ๊ฒฝ์ฐ |
์คํฌํ ๊ฒฐํฉ๋ | ๋ชจ๋ ๊ฐ์ ์ธํฐํ์ด์ค๋ก ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด, ๊ตฌ์กฐ ๋ฑ์ด ์ ๋ฌ๋๋ ๊ฒฝ์ฐ |
์๋ฃ ๊ฒฐํฉ๋ | ๋ชจ๋ ๊ฐ์ ์ธํฐํ์ด์ค๋ก ์ ๋ฌ๋๋ ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด์๋ง ๋ชจ๋ ๊ฐ์ ์ํธ์์ฉ์ด ์ผ์ด๋๋ ๊ฒฝ์ฐ |
ํฌ์ธ(Fan-In) ๋ฐ ํฌ์์(Fan-Out) ๐ด๐ด
ํฌ์ธ๊ณผ ํฌ์์์ผ๋ก ์์คํ
๋ณต์ก๋๋ฅผ ์ธก์ ํ ์ ์์ต๋๋ค.
- ํฌ์ธ: ์ด๋ค ๋ชจ๋์ ์ ์ดํ๋ ๋ชจ๋์ ์
- ํฌ์์: ์ด๋ค ๋ชจ๋์ ์ํด ์ ์ด๋๋ ๋ชจ๋์ ์
๊ณตํต ๋ชจ๋ ํ
์คํธ
๊ณตํต ๋ชจ๋ ํ
์คํธ๋ ํ์ดํธ ๋ฐ์ค ๊ธฐ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. + JUnit
๐ด
ํ์ดํธ ๋ฐ์ค ํ
์คํธ / ๋ฉ์๋ ๊ธฐ๋ฐ ํ
์คํธ / ํ๋ฉด ๊ธฐ๋ฐ ํ
์คํธ / ํ
์คํธ ๋๋ผ์ด๋ฒ & ํ
์คํธ ์คํ
- ํ์ดํธ ๋ฐ์ค ํ
์คํธ
- ํ๋ก๊ทธ๋จ์ ๋ก์ง์ ์ดํดํ๊ณ , ๋ด๋ถ ๊ตฌ์กฐ์ ๋์์ ๊ฒ์ฌํ๋ ์ํํธ์จ์ด ํ ์คํธ ๋ฐฉ์
- ํ
์คํธ ๋๋ผ์ด๋ฒ & ํ
์คํธ ์คํ
- ๊ธฐ๋ฅ์ ํ ์คํธํ ์ ์๋ ํ๋ฉด ๋๋ ํ์ ๋ชจ๋ ๊ตฌํ์ด ๊ตฌํ๋์ง ์์ ๊ฒฝ์ฐ ํ ์คํธ ๋๋ผ์ด๋ฒ & ํ ์คํธ ์คํ ๋ก ํตํฉ ํ ์คํธ ์ํ
- ๋๋ผ์ด๋ฒ๋ ํ์ ๋ชจ๋์ ์์ง๋ง ์์ ๋ชจ๋์ด ์๋ ๊ฒฝ์ฐ
- ์คํ ์ ์์ ๋ชจ๋์ ์์ง๋ง ํ์ ๋ชจ๋์ด ์๋ ๊ฒฝ์ฐ ๐ด
4-3. ์๋ฒ ํ๋ก๊ทธ๋จ ๊ตฌํ
๋ฐฑ์๋์ ํ๋กํธ์๋
VO, SQL๋ฌธ, DAO, Sevice, Controller ์์๋๋ก ๊ตฌํ(?)
4-4. ๋ฐฐ์น ํ๋ก๊ทธ๋จ ๊ตฌํ
๋ฐฐ์น ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์์์ ์ํธ์์ฉ ์์ด ์ผ๋ จ์ ์์
๋ค์ ์์
๋จ์๋ก ๋ฌถ์ด ์ ๊ธฐ์ ์ผ๋ก ๋ฐ๋ณต ์ํํ๊ฑฐ๋ ์ ํด์ง ๊ท์น์ ๋ฐ๋ผ ์ผ๊ด ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์
๋๋ค.
์ด๋ฒคํธ ๋ฐฐ์น, ์จ๋๋งจ๋ ๋ฐฐ์น, ์ ๊ธฐ ๋ฐฐ์น
๋ฐฐ์น ์ค์ผ์ค๋ฌ
์ผ๊ด ์ฒ๋ฆฌ๋ฅผ ์ํด ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐ์์ํค๊ฑฐ๋ ๋ฐ๋ณต์ ์ผ๋ก ๋ฐ์ํ๋ ์์
์ ์ง์ํ๋ ๋๊ตฌ
๋ฐฐ์น๋ ๋์ฉ๋ ์ฒ๋ฆฌ๋ฅผ ์ง์ํ๊ณ ์ฟผ์ธ ๋ ๋ค์ํ ์ค์ผ์ฅด ๊ธฐ๋ฅ์ ์ง์ํ๊ธฐ ๋๋ฌธ์ ํผํฉ ์ฌ์ฉํฉ๋๋ค.
- ์คํ๋ง ๋ฐฐ์น
- ์คํ๋ง ํ๋ ์์ํฌ์ DI, AOP, ์๋น์ค ์ถ์ํ ๋ฑ ์คํ๋ฆฅ ํ๋ ์์ํฌ์ 3๋ ์์๋ฅผ ๋ชจ๋ ์ฌ์ฉํ ์ ์๋ ๋์ฉ๋ ์ฒ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ์ค์ผ์ค๋ฌ
- ์ฟผ์ธ ์ค์ผ์ค๋ฌ
- ์คํ๋ง ํ๋ ์์ํฌ์ ํ๋ฌ๊ทธ์ธ๋์ด ์ํํ๋ ์์ ๊ณผ ์คํ ์ค์ผ์ค์ ์ ์ํ๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๋ถ๋ฆฌํ์ฌ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ ์คํ ์์ค ๊ธฐ๋ฐ ์ค์ผ์ค๋ฌ
- ์์ ๊ณผ ์คํ ์ค์ผ์ค์ ์ ์ํ๋ ํธ๋ฆฌ๊ฑฐ๋ฅผ ๋ถ๋ฆฌํ์ฌ ์ ์ฐ์ฑ์ ์ ๊ณตํ๋ ์คํ์์ค ๊ธฐ๋ฐ ์ค์ผ์ค๋ฌ
- Cron ํํ์(ํฌ๋ก ํํ์)
์ด๋ถ์์ผ ์์์ฐ
* /10 * * * *
๋งค 10๋ถ๋ง๋ค ์คํ0 0 12 * * *
๋งค์ผ 12์์ ์คํ
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
ํ ์ด๋ธ ์ ์์ | ๋ ผ๋ฆฌ ๋ฐ ๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง ๊ณผ์ ์์ ์์ฑํ๋ ์ค๊ณ ์ฐ์ถ๋ฌผ๋ก ํ ์ด๋ธ์ ๊ตฌ์ฑํ๋ ์นผ๋ผ๋ค์ ํน์ฑ, ์ธ๋ฑ์ค, ์ ๋ฌด ๊ท์น์ ๋ฌธ์ํํ ๊ฒ |
์ธํฐํ์ด์ค ์ ์์ | ์ก์ ์์คํ ๊ณผ ์์ ์์คํ ๊ฐ์ ์ธํฐํ์ด์ค ๋ฐฉ์, ์ฃผ๊ธฐ ๋ฑ์ ๊ธฐ๋กํ ํํฉ์ ์์ฑ |
JVM(Java Virtual Machine) | ์์คํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ด๋ฆฌํ๋ฉด์ ์๋ฐ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํด ์ด์ ๊ฐ๋ฅํ ์คํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ์ํํธ์จ์ด |
์ปจํ ์ด๋ | JSP์ ์๋ธ๋ฆฟ์ ์คํ์ํฌ ์ ์๋ ์ํํธ์จ์ด |
์์ผ | ์ฐ๊ฒฐ์ ์์ฑํ์ฌ ํฌํธ๋ฅผ ํ ๋นํ๊ณ , ํด๋ผ์ด์ธํธ์ ์์ฒญ์ ์ฐ๊ฒฐํ์ฌ ํต์ ํ๋ ๊ธฐ๋ฒ |
๋ฒ ์ด์ค๋ผ์ธ | ๊ฐ๋ฐ ๊ณผ์ ์ ๊ฐ ๋จ๊ณ์ ์ฐ์ถ๋ฌผ์ ๊ฒํ , ํ๊ฐ, ์กฐ์ , ์ฒ๋ฆฌ ๋ฑ ๋ณํ๋ฅผ ํต์ ํ๋ ์์ ์ ๊ธฐ์ค |
5์ฅ. ์ธํฐํ์ด์ค ๊ตฌํ
5-1. ์ธํฐํ์ด์ค ์ค๊ณ ํ์ธ
์ธํฐํ์ด์ค ์ค๊ณ์
์ธํฐํ์ด์ค ์ค๊ณ์๋ ์ด ๊ธฐ์ข
์์คํ
๋ฐ ์ปดํฌ๋ํธ ๊ฐ ๋ฐ์ดํฐ ๊ตํ ๋ฐ ์ฒ๋ฆฌ๋ฅผ ์ํด ๊ฐ ์์คํ
์ ๊ตํ๋๋ ๋ฐ์ดํฐ, ์
๋ฌด, ์ก์์ ์ฃผ์ฒด ๋ฑ์ด ์ ์๋ ๋ฌธ์
๊ณตํต ๋ชจ๋ ์ฐ๊ณ๋ฐฉ๋ฒ ์ฐธ์กฐ
EAI ํฌํ๋ฉํ
๊ธฐ์
๋ด๋ถ์ ์ด๊ธฐ์ข
์์ฉ ๋ชจ๋ ๊ฐ ํตํฉ, ๊ธฐ์
๋ด๋ถ๋ง
ํต์ฌ๊ธฐ์ : ์ด๋ํฐ
, ๋ธ๋ก์ปค
, ๋ฉ์์ง ํ
- ํฌ์ธํธ ํฌ ํฌ์ธํธ ๐ด
- 1:1 ๋จ์ ํตํฉ๋ฐฉ์
- ํ๋ธ ์ค ์คํฌํฌ ๐ด
- ๋จ์ผ ์ ์ ์ ํ๋ธ ์์คํ ์ ํตํด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ์ค์ ์ง์ค์ ๋ฐฉ์
- ๋ฉ์์ง ๋ฒ์ค
- ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ด ๋ฏธ๋ค์จ์ด๋ฅผ ๋์ด ์ฐ๊ณํ๋ ๋ฏธ๋ค์จ์ด ํตํฉ ๋ฐฉ์
- ๋ฐ์ด๋ ํ์ฅ์ฑ๊ณผ ๋์ฉ๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๊ฐ๋ฅ
- ํ์ด๋ธ๋ฆฌ๋
- ๊ทธ๋ฃน ๋ด๋ ํ๋ธ ์ค ์คํฌํฌ ๋ฐฉ์์ ์ฌ์ฉํ๊ณ ๊ทธ๋ฃน ๊ฐ์๋ ๋ฉ์์ง ๋ฒ์ค ๋ฐฉ์์ ์ฌ์ฉํ๋ ํตํฉ ๋ฐฉ์
ESB
๊ธฐ์
๊ฐ์ ์๋น์ค ๊ตํ์ ์ํด ํ์ค API๋ก ํตํฉ, ๋์จํ ๊ฒฐํฉ ๋ฐฉ์์ผ๋ก ๊ธฐ์
์ธ๋ถ ์ฑ๋๋ง
์ธํฐํ์ด์ค ์๋ฏธ ํ์ ๊ณผ ์ธํฐํ์ด์ค ๊ธฐ๋ฅ ํ์ธ์ ํตํด ๋ฐ์ดํฐ ํ์ค์ ํ์ธํ ์ ์์ต๋๋ค.
5-2. ์ธํฐํ์ด์ค ๊ธฐ๋ฅ ๊ตฌํ
์ปดํฌ๋ํธ ๋ช
์ธ์
์ปดํฌ๋ํธ์ ๊ฐ์, ๋ด๋ถ ํด๋์ค์ ๋์, ์ธํฐํ์ด์ค๋ฅผ ํตํด ์ธ๋ถ์ ํต์ ํ๋ ๋ช
์ธ๋ฅผ ์ ์
์ธํฐํ์ด์ค ๋ช
์ธ์
์ปดํฌ๋ํธ ๋ช
์ธ์์ ๋ช
์๋ ์ธํฐํ์ด์ค ํด๋์ค์ ์ธ๋ถ์ ์ธ ์กฐ๊ฑด ๋ฐ ๊ธฐ๋ฅ์ ๋ช
์ํ ๋ช
์ธ์
์ํ์ด ์ฝ๋ฉ ๊ฐ์ด๋
์
๋ ฅ ๋ฐ์ดํฐ ๊ฒ์ฆ ๋ฐ ํํ / ๋ณด์๊ธฐ๋ฅ / ์๊ฐ ๋ฐ ์ํ / ์๋ฌ ์ฒ๋ฆฌ / ์ฝ๋ ์ค๋ฅ / ์บก์ํ / API ์ค์ฉ
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํธํ
์ํธํ ์๊ณ ๋ฆฌ์ฆ
- ๋์นญ ํค ์ํธํ ์๊ณ ๋ฆฌ์ฆ: ์๋ณตํธํ์ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ
- SEED, ARIA 128/192/256
- ๋น๋์นญ ํค ์๊ณ ๋ฆฌ์ฆ: ๊ณต๊ฐํค์ ๋น๋ฐํค๋ฅผ ๊ฐ์ง๊ณ ์์ด์ผ ํ๋ ์๊ณ ๋ฆฌ์ฆ
- RSA, ECC, ECDSA
- ํด์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ: ํด์๊ฐ์ผ๋ก ์๋ ์
๋ ฅ๊ฐ์ ์ฐพ์๋ผ ์ ์๋ ์ผ๋ฐฉํฅ์ฑ ํน์ฑ์ ์ง๋ ์๊ณ ๋ฆฌ์ฆ
- SHA-256/384/512, HAS-160
์ํธํ ๊ธฐ๋ฒ
- API ๋ฐฉ์, Plug-In ๋ฐฉ์, Hybrid ๋ฐฉ์
๋ฏผ๊ฐํ ์ ๋ณด๋ฅผ ํต์ ์ฑ๋์ ํตํด ์ ์ก ์์๋ ๋ฐ๋์ ์๋ณตํธํ ๊ณผ์ ์ ๊ฑฐ์ณ์ผ ํ๊ณ , IPSec
, SSL/TLS
๋ฑ ๋ณด์ ์ฑ๋์ ํ์ฉํ์ฌ ์ ์กํฉ๋๋ค.
- IPSec(IP Security) ๐ด
- IP ๊ณ์ธต์์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ธ์ฆ์ ๋ณด์ฅํ๋ ์ธ์ฆํค๋์ ๊ธฐ๋ฐ์ฑ์ ๋ณด์ฅํ๋ ์ํธํ๋ฅผ ์ด์ฉํ IP ๋ณด์ ํ๋กํ ์ฝ
- ์ฃผ์ ํ๋กํ ์ฝ
- ์ธ์ฆ(AH) ํ๋กํ ์ฝ
- ์ํธํ(ESP) ํ๋กํ ์ฝ
- ๊ธฐ ๊ด๋ฆฌ(IKE) ํ๋กํ ์ฝ
- SSL/TLS
- ์์ฉ๊ณ์ธต๊ณผ TCP/IP ๊ณ์ธต ์ฌ์ด์์ ์น ๋ฐ์ดํฐ ์ํธํ ๋ฐ ์ ์ก ์ ๊ธฐ๋ฐ์ฑ์ ๋ณด์ฅํ๋ ๊ณต๊ฐํค ๊ธฐ๊ฐ์ ๋ณด์ ํ๋กํ ์ฝ
TKIP, ์์ ํค ๋ฌด๊ฒฐ์ฑ ํ๋กํ ์ฝ (Temporal Key Integrity Protocol) ๐ด
๋ฌด์ ๋ผ์ฐํฐ์์ WEP ์ํธํ๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ๋ณด์ ํ๋กํ ์ฝ ์ต์ ์ ๋ณด์์ ์ํด์๋ AES๋ฅผ ์ฌ์ฉํ๊ฒ ๋์ด์์ง๋ง, ์ผ๋ถ ์ฅ์น์์ ํธํ์ฑ์ ์ํด ์ฌ์ฉํ๋ ์์ ํค ๋ฌด๊ฒฐ์ฑ ํ๋กํ ์ฝ
5-3. ์ธํฐํ์ด์ค ๊ตฌํ ๊ฒ์ฆ
์ธํฐํ์ด์ค ๊ตฌํ ๊ฒ์ฆ ๋๊ตฌ
xUnit, STAP, FitNesse, Selenium, watir
์ธํฐํ์ด์ค์ ๋์์ด ์ ์งํ๋๋์ง ์ง์์ ์ผ๋ก ํ์ธํ๊ธฐ ์ํด์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ํฐ๋ง ํด(APM, Application Performance Management)์ ์ฌ์ฉํ์ฌ ๋์์ํ๋ฅผ ๊ฐ์ํ ์ ์์ต๋๋ค.
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
FTP(File Transfer Protocol) | TCP/IP ํ๋กํ ์ฝ์ ๊ฐ์ง๊ณ ์๋ฒ์ ํด๋ผ์ด์ธํธ ์ฌ์ด์ ํ์ผ์ ์ ์กํ๊ธฐ ์ํ ํ๋กํ ์ฝ |
์ด๋ํฐ | ๋ค์ํ ํจํค์ง ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๊ธฐ์ ์์ ์์ฒด์ ์ผ๋ก ๊ฐ๋ฐํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐ๊ฒฐํ๋ EAI์ ํต์ฌ ์ฅ์น |
๋ธ๋ก์ปค | ์์คํ ์ํธ ๊ฐ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋ ๋, ๋ฐ์ดํฐ ํฌ๋งท๊ณผ ์ฝ๋๋ฅผ ๋ณํํ๋ ์๋ฃจ์ |
๋ฉ์์ง ํ | ๋น๋๊ธฐ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ๋ ๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ ์ฌ์ด์์ ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๋ ๊ธฐ์ |
MyBatis | ๊ฐ์ฒด์งํฅ ์ธ์ด์ธ ์๋ฐ์ ๊ด๊ณํ DB ํ๋ก๊ทธ๋๋ฐ์ ์ข ๋ ์ฝ๊ฒ ํ ์ ์๊ฒ ๋์์ฃผ๋ ๊ฐ๋ฐ ํ๋ ์์ํฌ |
iBatis | SQL ๊ธฐ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์๋ฐ, ๋ท๋ท, ๋ฃจ๋น ๋ฑ์ ์ฐ๊ฒฐ์์ผ์ฃผ๋ ์ญํ ์ ํ๋ ๊ฐ๋ฐ ํ๋ ์์ํฌ |
์ปดํฌ๋ํธ | ํน์ ํ ๊ธฐ๋ฅ์ ์ํํ๊ธฐ ์ํด ๋ ๋ฆฝ์ ์ผ๋ก ๊ฐ๋ฐ๋์ด ๋ณด๊ธ๋๋ ์ ์ ์๋๋ ์ธํฐํ์ด์ค๋ฅผ ๊ฐ์ง๋ฉฐ ๋ค๋ฅธ ๋ถํ๊ณผ ์กฐ๋ฆฝ๋์ด ์์ฉ์์คํ ์ ๊ตฌ์ถํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ |
AJAX(Asynchronous Java Script and XML) ๐ด | ์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ ๋น๋๊ธฐ ํต์ ๊ธฐ์ ๋ก, ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ XML ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๊ธฐ์ |
์ง๋ ฌํ | ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ ์ค๋ธ์ ํธ๋ฅผ ๋ค๋ฅธ ์ปดํจํฐ ํ๊ฒฝ์ผ๋ก ์ ์ฅํ๊ณ ์ฌ๊ตฌ์ฑํ ์ ์๋ ํฌ๋งท์ผ๋ก ๋ณํํ๋ ๊ณผ์ |
XML ๐ด | W3C์์ ๊ฐ๋ฐ๋์๊ณ , ์น ๋ธ๋ผ์ฐ์ ๊ฐ ํธํ์ด ๋์ง ์๋ ๋ฌธ์ ์ SGML์ ๋ณต์กํจ์ ํด๊ฒฐํ๊ธฐ ์ํด ๊ฐ๋ฐ๋ ๋ค๋ชฉ์ ๋งํฌ์ ์ธ์ด |
ICP(Inter-Process Communication) ๐ด | ๊ณต์ ๋ฉ๋ชจ๋ฆฌ, ์์ผ, ์ธ๋งํฌ์ด, ๋ฉ์์ง ํ ๋ฑ ํ๋ก์ธ์ค ๊ฐ ํต์ ํ๋ ๊ธฐ์ |
6์ฅ ํ๋ฉด์ค๊ณ
6-1. UI ์๊ตฌ์ฌํญ ํ์ธ
UI(User Interface)
์ฌ์ฉ์์ ์์คํ
์ฌ์ด์์ ์์ฌ์ํตํ ์ ์๋๋ก ๊ณ ์๋ ๋ฌผ๋ฆฌ์ , ๊ฐ์์ ๋งค๊ฐ์ฒด
UX(์ฌ์ฉ์ ๊ฒฐํ)์ UI๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
- CLI(Command Line Interface)
- ๋ช ๋ น์ด๋ฅผ ํ ์คํธ๋ก ์ ๋ ฅํ์ฌ ์กฐ์ํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
- GUI(Graphical User Interface ๐ด
- ๊ทธ๋ํฝ ํ๊ฒฝ์ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ง์ฐ์ค๋ ์ ์ํ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
- NUI(Natural User Interface) ๐ด
- ํค๋ณด๋๋ ๋ง์ฐ์ค ์์ด ์ ์ฒด ๋ถ์๋ฅผ ์ด์ฉํ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
- OUI(Organic User Interface)
- ํ์ค์ ์กด์ฌํ๋ ๋ชจ๋ ์ฌ๋ฌผ์ด ์ ์ถ๋ ฅ์ฅ์น๋ก ๋ณํํ ์ ์๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค
UI ์ค๊ณ์์น
์ง๊ด์ฑ / ์ ํจ์ฑ / ํ์ต์ฑ / ์ ์ฐ์ฑ
- ์ง๊ด์ฑ ๐ด
- ๋๊ตฌ๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ด์ผ ํจ
- ์ ํจ์ฑ ๐ด
- ์ ํํ๊ณ ์๋ฒฝํ๊ฒ ์ฌ์ฉ์์ ๋ชฉํ๊ฐ ๋ฌ์ฑ๋ ์ ์๋๋ก ์ ์
- ํ์ต์ฑ
- ์ด๋ณด์ ์๋ จ์ ๋ชจ๋๊ฐ ์ฝ๊ฒ ๋ฐฐ์ฐ๊ณ ์ฌ์ฉํ ์ ์๊ฒ ์ ์
- ์ ์ฐ์ฑ
- ์ฌ์ฉ์์ ์ธํฐ๋์ ์ ์ต๋ํ ํฌ์ฉํ๊ณ , ์ค์๋ฅผ ๋ฐฉ์งํ ์ ์๋๋ก ์ ์
UI ํ๋ฉด ์ค๊ณ ๊ตฌ๋ถ
- ์์ด์ด ํ๋ ์
- ์ดํด๊ด๊ณ์๋ค๊ณผ์ ํ๋ฉด๊ตฌ์ฑ์ ํ์ํ๊ฑฐ๋ ์๋น์ค์ ๊ฐ๋ฝํ ํ๋ฆ์ ๊ณต์ ํ๊ธฐ ์ํด ํ๋ฉด ๋จ์์ ๋ ์ด์์์ ์ค๊ณํ๋ ์์
- ์คํ ๋ฆฌ๋ณด๋
- ์ ์ฑ , ํ๋ก์ธ์ค, ์ฝํ ์ธ ๊ตฌ์ฑ, ์์ด์ดํ๋ ์, ๊ธฐ๋ฅ์ ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ๋ฑ ์๋น์ค ๊ตฌ์ถ์ ์ํ ๋ชจ๋ ์ ๋ณด๊ฐ ๋ด๊ฒจ ์๋ ์ค๊ณ ์ฐ์ถ๋ฌผ
- ํ๋กํ ํ์
- ์ ์ ์ธ ํ๋ฉด์ผ๋ก ์ค๊ณ๋ ์์ด์ด ํ๋ ์ ๋๋ ์คํ ๋ฆฌ๋ณด๋์ ๋์ ํจ๊ณผ๋ฅผ ์ ์ฉํ์ฌ ์ค์ ๊ตฌํํ ๊ฒ์ฒ๋ผ ์๋ฎฌ๋ ์ด์ ํ ์ ์๋ ๋ชจ๋ธ
6-2. UI ์ค๊ณ
UI ํ๋ฆ์ค๊ณ, UI ์์ธ์ค๊ณ, UI ์ค๊ณ๋๊ตฌ
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
์ธํฐ๋ ์ | ์ ์ถ๋ ฅ์ฅ์น๋ฅผ ๋งค๊ฐ๋ก ๋์งํธ ์์คํ ๊ณผ ์ฌ๋์ด ์ฃผ๊ณ ๋ฐ๋ ์ผ๋ จ์ ์์ฌ์ํต ๊ณผ์ |
UX | ์ ํ๊ณผ ์์คํ , ์๋น์ค ๋ฑ์ ์ฌ์ฉ์๊ฐ ์ง/๊ฐ์ ์ ์ผ๋ก ๊ฒฝํํ๋ฉด์ ๋๋ผ๊ณ ์๊ฐํ๋ ์ด์ฒด์ ๊ฒฝํ |
ํ๋กํ์ผ | ์ด๋ค ์์คํ ์ ์ผ์ ๋ฒ์ ๋ด์์ ํ์ ์ ์ผ๋ก ํน์ง ์ง์ฐ๋ ๊ทธ๋ฃนํ๋ ๊ฐ |
์ฌ์ฉ์ฑ ํ ์คํธ | ์ฌ์ฉ์๊ฐ ์ง์ ์ ํ์ ์ฌ์ฉํ๋ฉด์ ๋ฏธ๋ฆฌ ์์ฑ๋ ์๋๋ฆฌ์ค์ ๋ง์ถฐ ๊ณผ์ ๋ฅผ ์ํํ ํ, ์ง๋ฌธ์ ๋ตํ๋๋ก ํ๋ ํ ์คํธ |
์กํฐ | ์์คํ ์ ์ธ๋ถ์ ์๊ณ ์์คํ ๊ณผ ์ํธ์์ฉ์ ํ๋ ์ฌ๋ ๋๋ ์์คํ |
์ ์ค์ผ์ด์ค | ์์คํ ์ด ์กํฐ์๊ฒ ์ ๊ณตํด์ผ ํ๋ ๊ธฐ๋ฅ์ผ๋ก ์์คํ ์๊ตฌ์ฌํญ์ด์, ์ฌ์ฉ์ ์ ์ฅ์์ ๋ฐ๋ผ๋ณธ ์์คํ ์ ๊ธฐ๋ฅ |
๋ชฉ์ | ์ค์ ์ ํ์ด ๋์ค๊ธฐ ์ ๋ง๋๋ ๋ชจํ |
7์ฅ ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ ๊ด๋ฆฌ
7-1. ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ ์ผ์ด์ค ์ค๊ณ
์ํํธ์จ์ด ํ
์คํธ
๊ฐ๋ฐ๋ ์์ฉ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ์์คํ
์ด ์ฌ์ฉ์๊ฐ ์๊ตฌํ๋ ๊ธฐ๋ฅ๊ณผ ์ฑ๋ฅ, ์ฌ์ฉ์ฑ, ์์ ์ฑ์ ๋ง์กฑํ๋์ง ํ์ธํ๊ณ , ๋
ธ์ถ๋์ง ์์ ์จ์ด์๋ ์ํํธ์จ์ด์ ๊ฒฐํจ์ ์ฐพ์๋ด๋ ํ๋
- ํ๋ก๊ทธ๋จ ์คํ ์ฌ๋ถ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ์ ์ ํ ์คํธ (์ ์ ๋ถ์๋๊ตฌ ํ ์คํธ) - ๋๋ฃ๊ฒํ , ์ํฌ์ค๋ฃจ, ์ธ์คํ์ ๐ด
- ๋์ ํ ์คํธ - ํ์ดํธ๋ฐ์ค ํ ์คํธ, ๋ธ๋๋ฐ์ค ํ ์คํธ
- ํ
์คํธ ๊ธฐ๋ฒ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ํ์ดํธ๋ฐ์ค ํ ์คํธ / ๋ธ๋๋ฐ์ค ํ ์คํธ
- ํ
์คํธ ์๊ฐ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ๊ฒ์ฆ / ํ์ธ
- ํ
์คํธ ๋ชฉ์ ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ํ๋ณต / ์์ / ๊ฐ๋ / ๊ตฌ์กฐ / ํ๊ท / ๋ณํ
- ํ
์คํธ ์ข
๋ฅ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ๋ช ์ธ ๊ธฐ๋ฐ ํ ์คํธ / ๊ตฌ์กฐ ๊ธฐ๋ฐ ํ ์คํธ / ๊ฒฝํ ๊ธฐ๋ฐ ํ ์คํธ
์์ค ํ์ง ๋ถ์๋๊ตฌ
- Static Analysis ๐ด
- ์์ ์ฝ๋๋ฅผ ๋ถ์ํ์ฌ ์ ์ฌ์ ์ธ ์ค๋ฅ๋ฅผ ๋ถ์ํ๋ฉฐ, ์ฝ๋ฉ ํ์ค, ๋ฐํ์ ์ค๋ฅ ๋ฑ์ ๊ฒ์ฆํ๋ค.
- Dynamic Analysis ๐ด
- ํ๋ก๊ทธ๋จ ์ํ ์ค ๋ฐ์ํ๋ ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๋ค. ๋ฉ๋ชจ๋ฆฌ ๋ฆญ, ๋๊ธฐํ ์ค๋ฅ๋ฅผ ๋ถ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค.
ํ์ดํธ๋ฐ์ค ํ
์คํธ
๊ตฌ์กฐ ํ
์คํธ๋ผ๊ณ ๋ ํ๋ฉฐ, ๋ด๋ถ ๋ก์ง์ ๋ณด๋ฉด์ ํ๋ ํ
์คํธ
- ๊ตฌ๋ฌธ ์ปค๋ฒ๋ฆฌ์ง, ๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง, ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง, ๋ณ๊ฒฝ ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง, ๋ค์ค ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง ํ ์คํธ ๋ฑ
- ๊ณตํต๋ชจ๋ ํ ์คํธ์์ ์ฌ์ฉํ๋ ํ ์คํธ
- ๋ฌธ์ฅ(๊ตฌ๋ฌธ) ์ปค๋ฒ๋ฆฌ์ง ๐ด
- ์ต์ ํ ๋ฒ์ ๋ชจ๋ ๋ฌธ์ฅ ์ํ
- ๊ฒฐ์ (๋ถ๊ธฐ) ์ปค๋ฒ๋ฆฌ์ง ๐ด
- ๊ฐ ๋ถ๊ธฐ์ ๊ฒฐ์ ํฌ์ธํธ ๋ด์ ์ ์ฒด ์กฐ๊ฑด์์ด ์ ์ด๋ ํ ๋ฒ์ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ํํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ฒซ ๋ฒ์งธ ๋ถ๊ธฐ๋ฌธ๋ ์ฐธ, ๊ฑฐ์ง์ด ํ ๋ฒ์ฉ ์์ผํ๊ณ , ๋ ๋ฒ์งธ ๋ถ๊ธฐ๋ฌธ๋ ์ฐธ, ๊ฑฐ์ง์ด ํ ๋ฒ์ฉ ์์ผ ํจ
- ๊ฒฐ์ ๊ฒ์ฆ ๊ธฐ์ค์ด๋ผ๊ณ ๋ ํจ. ์กฐ๊ฑด๋ณ True/False์ผ ๋ ์ํ
- ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง ๐ด
- ์ ์ฒด ์กฐ๊ฑด์์ ์๊ด์์ด ๊ฐ๋ณ ์กฐ๊ฑด์์ True/False์ ๋ํด ์ํ
๋ธ๋๋ฐ์ค ํ
์คํธ ๋๊ฒฝ๊ฒฐ์์ ๋ถํ
๐ด๐ด
ํ๋ก๊ทธ๋จ ์ธ๋ถ ์ฌ์ฉ์์ ์๊ตฌ์ฌํญ ๋ช
์ธ๋ฅผ ๋ณด๋ฉด์ ์ํํ๋ ํ
์คํธ๋ก ๋ช
์ธ ๊ธฐ๋ฐ ํ
์คํธ๋ผ๊ณ ๋ ํจ
- ๋๋ฑ ๋ถํ ํ
์คํธ ๐ด
- ์ ๋ ฅ ๋ฐ์ดํฐ์ ์์ญ์ ์ ์ฌํ ๋๋ฉ์ธ๋ณ๋ก ์ ํจ ๊ฐ/๋ฌดํจ ๊ฐ์ ๊ทธ๋ฃนํํ์ฌ ๋ํ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋์ถํ์ฌ ํ ์คํธํ๋ ๊ธฐ๋ฒ
- ๊ฒฝ๊ณ ๊ฐ ๋ถ์ ํ
์คํธ ๐ด๐ด
- ๋ฑ๊ฐ๋ถํ ํ ๊ฒฝ๊ณ ๊ฐ ๋ถ๋ถ์์ ์ค๋ฅ ๋ฐ์ ํ๋ฅ ์ด ๋๊ธฐ์ ๊ฒฝ๊ณ๊ฐ์ ํฌํจํ์ฌ ํ ์คํธ ์ผ์ด์ค์ ์ค๊ณํ๋ ๊ธฐ๋ฒ
- ์์ธ-๊ฒฐ๊ณผ ๊ทธ๋ํ ํ
์คํธ ๐ด
- ๊ทธ๋ํ๋ฅผ ํ์ฉํ์ฌ ์ ๋ ฅ ๋ฐ์ดํฐ ๊ฐ์ ๊ด๊ณ ๋ฐ ์ถ๋ ฅ์ ๋ฏธ์น๋ ์ํฅ์ ๋ถ์ํ์ฌ ํจ์ฉ์ฑ์ด ๋์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ ์ ํ์ฌ ํ ์คํธํ๋ ๊ธฐ๋ฒ
- ๊ฒฐ์ ํ
์ด๋ธ ํ
์คํธ
- ์๊ตฌ์ฌํญ์ ๋ ผ๋ฆฌ์ ๋ฐ์์กฐ๊ฑด์ ํ ์ด๋ธ ํํ๋ก ๋์ดํ์ฌ, ์กฐ๊ฑด๊ณผ ํ์๋ฅผ ๋ชจ๋ ์กฐํฉํ์ฌ ํ ์คํธํ๋ ๊ธฐ๋ฒ
- ์ํ์ ์ด ํ
์คํธ
- ํ ์คํธ ๋์/์์คํ ์ด๋ ๊ฐ์ฒด์ ์ํ๋ฅผ ๊ตฌ๋ถํ๊ณ , ์ด๋ฒคํธ์ ์ํด ์ด๋ ํ ์ํ์์ ๋ค๋ฅธ ์ํ๋ก ์ ์ด๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ์ํํ๋ ํ ์คํธ ๊ธฐ๋ฒ
- ์ ์ค์ผ์ด์ค ํ
์คํธ
- ์์คํ ์ด ์ค์ ์ฌ์ฉ๋๋ ์ ์ค์ผ์ด์ค๋ก ๋ชจ๋ธ๋ง ๋์ด ์์ ๋ ํ๋ก์ธ์ค ํ๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋ช ์ธํํ์ฌ ์ํํ๋ ํ ์คํธ ๊ธฐ๋ฒ
- ๋ถ๋ฅํธ๋ฆฌ ํ
์คํธ
- SW ์ผ๋ถ ๋๋ ์ ์ฒด๋ฅผ ํธ๋ฆฌ๊ตฌ์กฐ๋ก ํํํ์ฌ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ค๊ณํ์ฌ ํ ์คํธํ๋ ๊ธฐ๋ฒ
- ํ์ด์์ด์ฆ ํ
์คํธ
- Test data ๊ฐ๋ค ๊ฐ์ ์ต์ํ ํ ๋ฒ์ฉ์ ์กฐํฉํ๋ ๋ฐฉ์์ด๋ฉฐ, ์ด๋ ์ปค๋ฒํด์ผ ํ ๊ธฐ๋ฅ์ ๋ฒ์๋ฅผ ๋ชจ๋ ์กฐํฉ์ ๋นํด ์๋์ ์ผ๋ก ์ ์ ์์ ํ ์คํธ ์ธํธ๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํ ํ ์คํธ ๊ธฐ๋ฒ
๊ฒ์ฆ๊ณผ ํ์ธ
- ๊ฒ์ฆ(Verification)
- ์ํํธ์จ์ด ๊ณผ์ ์ ํ ์คํ๊ณ ๊ฐ๋ฐ์ ํน์ ์ํ์์ ์๊ฐ์ผ๋ก ์ํํธ์จ์ด๊ฐ ๋ช ์ธํ๋ ๊ธฐ๋ฅ์ ์ฌ๋ฐ๋ก ์ํํ๋์ง ์์๋ณด๋ ๊ณผ์
- ํ์ธ(Validation)
- ์ํํธ์จ์ด ๊ฒฐ๊ณผ๋ฅผ ํ ์คํธ, ์ฌ์ฉ์ ์์์ผ๋ก ์ฌ๋ฐ๋ฅธ ์ํํธ์จ์ด๊ฐ ๊ฐ๋ฐ๋์๋์ง ์ ์ฆํ๋ ๊ณผ์
ํ
์คํธ ์ค๋ผํด
ํ
์คํธ์ ๊ฒฐ๊ณผ๊ฐ ์ฐธ์ธ์ง ๊ฑฐ์ง์ธ์ง๋ฅผ ํ๋จํ๊ธฐ ์ํด์ ์ฌ์ ์ ์ ์๋ ์ฐธ ๊ฐ์ ์
๋ ฅํ์ฌ ๋น๊ตํ๋ ๊ธฐ๋ฒ
- ์ฐธ ์ค๋ผํด
- ๋ชจ๋ ์ ๋ ฅ๊ฐ์ ๋ํ์ฌ ๊ธฐ๋ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๋ฏ๋ก์จ ๋ฐ์๋ ์ค๋ฅ๋ฅผ ๋ชจ๋ ๊ฒ์ถํ ์ ์๋ ์ค๋ผํด
- ์ํ๋ง ์ค๋ผํด ๐ด
- ํน์ ํ ๋ช ๊ฐ์ ์ ๋ ฅ๊ฐ์ ๋ํด์๋ง ๊ธฐ๋ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํด์ฃผ๋ ์ค๋ผํด
- ํด๋ฆฌ์คํฑ ์ค๋ผํด
- ์ํ๋ง ์ค๋ผํด์ ๊ฐ์ ํ ์ค๋ผํด๋ก, ํน์ ์ ๋ ฅ๊ฐ์ ๋ํ์ฌ ์ฌ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๊ณ , ๋๋จธ์ง ๊ฐ๋ค์ ๋ํด์๋ ํด๋ฆฌ์คํฑ์ผ๋ก ์ฒ๋ฆฌํ๋ ์ค๋ผํด
- ์ผ๊ด์ฑ ๊ฒ์ฌ ์ค๋ผํด
- ์ ํ๋ฆฌ์ผ์ด์ ๋ณ๊ฒฝ์ด ์์ ๋ ์ํ ์ ๊ณผ ํ์ ๊ฒฐ๊ณผ๊ฐ์ด ๋์ผํ์ง ํ์ธํ๋ ์ค๋ผํด
ํ
์คํธ ๋ ๋ฒจ
๋จ์ ํ
์คํธ - ํตํฉ ํ
์คํธ - ์์คํ
ํ
์คํธ - ์ธ์ ํ
์คํธ ๐ด (V ๋ค์ด์ด๊ทธ๋จ)
- ๋จ์ ํ
์คํธ ๐ด
- ์ฌ์ฉ์ ์๊ตฌ์ฌํญ์ ๋ํ ๋จ์๋ชจ๋, ์๋ธ๋ฃจํด ๋ฑ์ ํ ์คํธ
- ํตํฉ ํ
์คํธ ๐ด
- ๋จ์ ํ ์คํธ๋ฅผ ํต๊ณผํ ๋ชจ๋ ์ฌ์ด์ ์ธํฐํ์ด์ค, ํตํฉ๋ ์ปดํฌ๋ํธ ๊ฐ์ ์ํธ์์ฉ์ ๊ฒ์ฆํ๋ ํ ์คํธ ๋จ๊ณ
- ์์คํ
ํ
์คํธ
- ํตํฉ๋ ๋จ์ ์์คํ ์ ๊ธฐ๋ฅ์ด ์์คํ ์์ ์ ์์ ์ผ๋ก ์ํ๋๋์ง๋ฅผ ๊ฒ์ฆํ๋ ํ ์คํธ ๋จ๊ณ
- ์ธ์ ํ
์คํธ
- ๊ณ์ฝ์์ ์๊ตฌ์ฌํญ์ด ๋ง์กฑํ์๋์ง ํ์ธํ๊ธฐ ์ํ ํ ์คํธ
- ์ํ ํ
์คํธ ๐ด
- ์ ํ๋ ์ฌ์ฉ์(ํ์ฌ ๋ด์ ๋ค๋ฅธ ์ฌ์ฉ์ ๋๋ ์ค์ ์ฌ์ฉ์)๊ฐ ๊ฐ๋ฐ์ ํ๊ฒฝ์์ ํต์ ๋ ์ํ๋ก ๊ฐ๋ฐ์์ ํจ๊ผ ์ํํ๋ ์ธ์ํ ์คํธ
- ์๋ก์ด ์ ํ ๊ฐ๋ฐ ๊ณผ์ ์์ ์ด๋ฃจ์ด์ง๋ ์ฒซ ๋ฒ์งธ ํ ์คํธ.
- ์ฆ, ์์ ํ์ด ์ด์๋๋ ๋์์ ์ ์ ํ ์ฐ๊ตฌ์ ๊ฐ๋ฐ ๊ณผ์ ๋จ๊ณ์์ ์ด๊ธฐ ์๋์ ๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ๋ ์๋จ์ด๋ฉฐ ๊ฐ๋ฐ ํ์ฌ ๋ด๋ถ์์ ์ด๋ฃจ์ด์ง๋ ํ ์คํธ๋ก์ ๋จ์ ํ ์คํธ, ๊ตฌ์ฑ ํ ์คํธ, ์์คํ ํ ์คํธ ๋ฑ์ ํฌํจ
- ๋ฒ ํ ํ
์คํธ ๐ด
- ์ค์ ํ๊ฒฝ์์ ์ผ์ ์์ ์ฌ์ฉ์์๊ฒ ๋์ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ๊ฒ ํ๊ณ ํผ๋๋ฐฑ์ ๋ฐ๋ ์ธ์ ํ ์คํธ
- ํ๋์จ์ด๋ ์ํํธ์จ์ด์ ๊ฐ๋ฐ ๋จ๊ณ์์ ์์ฉํํ๊ธฐ ์ ์ ์ค์ํ๋ ์ ํ ๊ฒ์ฌ ์์ . ์ ํ์ ๊ฒฐํจ ์ฌ๋ถ, ์ ํ์ผ๋ก์์ ๊ฐ์น ๋ฑ์ ํ๊ฐํ๊ธฐ ์ํด ์ค์
- ์ ๋ฐ๋ ์ ์ฌ ๊ณ ๊ฐ์ผ๋ก ํ์ฌ๊ธ ์ผ์ ๊ธฐ๊ฐ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ๊ฒ ํ ํ์ ๋ํ๋ ์ฌ๋ฌ ๊ฐ์ง ์ค๋ฅ๋ฅผ ์์ , ๋ณด์ํ๋ค. ๊ณต์์ ์ธ ์ ํ์ผ๋ก ๋ฐ๋งคํ๊ธฐ ์ด์ ์ ์ต์ข ์ ์ผ๋ก ์ค์ํ๋ ๊ฒ์ฌ ์์
ํ
์คํธ ์๋๋ฆฌ์ค
ํ
์คํธ ์ํ์ ์ํ ์ฌ๋ฌ ํ
์คํธ ์ผ์ด์ค์ ์งํฉ์ผ๋ก์ ํ
์คํธ ์ผ์ด์ค์ ๋์ ์์๋ฅผ ๊ธฐ์ ํ ๋ฌธ์์ด๋ฉฐ ํ
์คํธ๋ฅผ ์ํ ์ ์ฐจ๋ฅผ ๋ช
์ธํ ๋ฌธ์
7-2. ์ ํ๋ฆฌ์ผ์ด์ ํตํฉ ํ ์คํธ
ํตํฉํ
์คํธ
์ ํ๋ฆฌ์ผ์ด์
ํตํฉ ํ
์คํธ๋ ์ํํธ์จ์ด ๊ฐ ๋ชจ๋ ๊ฐ์ ์ธํฐํ์ด์ค ๊ด๋ จ ์ค๋ฅ ๋ฐ ๊ฒฐํจ์ ์ฐพ์๋ด๊ธฐ ์ํ ์ฒด๊ณ์ ์ธ ํ
์คํธ ๊ธฐ๋ฒ
- ๋น
๋ฑ
ํ
์คํธ
- ๋ชจ๋ ๋ชจ๋์ ๋์์ ํตํฉ ํ ํ ์คํธ ์ํ
- ํ ์คํธ ๋๋ผ์ด๋ฒ/์คํ ์์ด ์ค์ ๋ชจ๋๋ก ์งํ
- ๋จ์๊ฐ ํ ์คํธ ๊ฐ๋ฅ, ์์ ์์คํ ์ ์ ๋ฆฌ
- ๋ชจ๋ ๋ชจ๋ ๊ฐ๋ฐ ํ ๊ฐ๋ฅ
- ์ํฅ์ ํ
์คํธ
- ์ตํ์ ๋ชจ๋์์ ์ ์ง์ ์ผ๋ก ์งํ
- ํ ์คํธ ๋๋ผ์ด๋ฒ ํ์ ๐ด
- ์ฅ์ ์์น ํ์ ์ด ์ฝ์ง๋ง ์ค์ ๋ชจ๋์ ๋ง์ง๋ง์ ํ ์คํธํ๊ฒ ๋ ๊ฐ๋ฅ์ฑ ๋์
- ํํฅ์ ํ
์คํธ
- ์ต์์ ๋ชจ๋๋ถํฐ ํ์ ๋ชจ๋์ ํตํฉํ๋ฉด์ ํ ์คํธ
- ํ ์คํธ ์คํ ํ์
- ์ฅ์ ์์น ํ์ ์ด ์ฝ์ง๋ง, ๋ง์ ์คํ ์ด ํ์
ํ
์คํธ ํ๋ค์ค
์ ํ๋ฆฌ์ผ์ด์
์ปดํฌ๋ํธ ๋ฐ ๋ชจ๋์ ํ
์คํธํ๋ ํ๊ฒฝ์ ์ผ๋ถ๋ถ์ผ๋ก ํ
์คํธ๋ฅผ ์ง์ํ๊ธฐ ์ํ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ฉฐ, ๋จ์ ๋๋ ๋ชจ๋ ํ
์คํธ์ ์ฌ์ฉํ๊ธฐ ์ํด ์ฝ๋ ๊ฐ๋ฐ์๊ฐ ์์ฑ
- ํ
์คํธ ๋๋ผ์ด๋ฒ
- ํ ์คํธ ๋์ ํ์ ๋ชจ๋์ ํธ์ถํ๊ณ , ํ๋ผ๋ฏธํฐ๋ฅผ ์ ๋ฌํ๊ณ ๋ชจ๋ ํ ์คํธ ์ํ ํ์ ๊ฒฐ๊ณผ๋ฅผ ๋์ถํ๋ ๋ฑ ์ํฅ์ ํ ์คํธ์ ํ์
- ํ
์คํธ ์คํ
- ์ ์ด ๋ชจ๋์ด ํธ์ถํ๋ ํ ๋ชจ๋์ ๊ธฐ๋ฅ์ ๋จ์ํ ์ํํ๋ ๋๊ตฌ๋ก ํํฅ์ ํ ์คํธ์ ํ์
- ํ
์คํธ ์ํธ
- ํ ์คํธ ๋์ ์ปดํฌ๋ํธ๋ ๋ชจ๋, ์์คํ ์ ์ฌ์ฉ๋๋ ํ ์คํธ ์ผ์ด์ค์ ์งํฉ
- ํ
์คํธ ์ผ์ด์ค
- ์ ๋ ฅ๊ฐ, ์คํ์กฐ๊ฑด, ๊ธฐ๋ ๊ฒฐ๊ณผ ๋ฑ์ ์งํฉ
- ํ
์คํธ ์คํฌ๋ฆฝํธ
- ์๋ํ๋ ํ ์คํธ ์คํ ์ ์ฐจ์ ๋ํ ๋ช ์ธ
- ๋ชฉ ์ค๋ธ์ ํธ
- ์ฌ์ฉ์์ ํ์๋ฅผ ์กฐ๊ฑด๋ถ๋ก ์ฌ์ ์ ์ ๋ ฅํด ๋๋ฉด, ๊ทธ ์ํฉ์ ์์ ๋ ํ์๋ฅผ ์ํํ๋ ๊ฐ์ฒด
ํ
์คํธ ์ปค๋ฒ๋ฆฌ์ง ์ ํ
ํ
์คํธ ์ผ์ด์ค์ ์ํด ์ํ๋๋ ์ํํธ์จ์ด์ ํ
์คํธ ๋ฒ์๋ฅผ ์ธก์ ํ๋ ํ
์คํธ ํ์ง ์ธก์ ๊ธฐ์ค์ด๋ฉฐ, ํ
์คํธ์ ์ ํ์ฑ๊ณผ ์ ๋ขฐ์ฑ์ ํฅ์์ํค๋ ์ญํ ์ ํฉ๋๋ค.
- ๊ธฐ๋ฅ ๊ธฐ๋ฐ ์ปค๋ฒ๋ฆฌ์ง, ๋ผ์ธ ์ปค๋ฒ๋ฆฌ์ง, ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง
์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ์ ํ
๊ตฌ์กฐ ํ
์คํธ ์ ํ๊ณผ ๋์ผํฉ๋๋ค.
- ๊ตฌ๋ฌธ ์ปค๋ฒ๋ฆฌ์ง
- ํ๋ก๊ทธ๋จ ๋ด์ ๋ชจ๋ ๋ช ๋ น๋ฌธ์ ์ ์ด๋ ํ ๋ฒ ์ํํ๋ ์ปค๋ฒ๋ฆฌ์ง, ๊ตฌ๋ฌธ ์คํ ๊ฐ์๋ก ๊ณ์ฐ
- ๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง
- ํ๋ก๊ทธ๋จ ๋ด์ ์ ์ฒด ๊ฒฐ์ ๋ฌธ์ด ์ ์ด๋ ํ ๋ฒ์ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ํํ๋ ์ปค๋ฒ๋ฆฌ์ง
- ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง
- ๊ฒฐ์ ๋ช ๋ น๋ฌธ ๋ด์ ๊ฐ ์กฐ๊ฑด์ด ์ ์ด๋ ํ ๋ฒ์ ์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ฒฐ๊ณผ๊ฐ ๋๋๋ก ์ํํ๋ ์ปค๋ฒ๋ฆฌ์ง
- ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง
- ์ ์ฒด ์กฐ๊ฑด์ ๋ฟ๋ง ์๋๋ผ ๊ฐ๋ณ ์กฐ๊ฑด์๋ ์ฐธ ํ ๋ฒ, ๊ฑฐ์ง ํ ๋ฒ ๊ฒฐ๊ณผ๊ฐ ๋๋๋ก ์ํํ๋ ์ปค๋ฒ๋ฆฌ์ง
- ๋ณ๊ฒฝ ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง
- ๊ฐ ๊ฐ๋ณ ์กฐ๊ฑด์์ด ๋ค๋ฅธ ๊ฐ๋ณ ์กฐ๊ฑด์์ ์ํฅ์ ๋ฐ์ง ์๊ณ ์ ์ฒด ์กฐ๊ฑด์์ ๋ ๋ฆฝ์ ์ผ๋ก ์ํฅ์ ์ฃผ๋๋ก ํจ์ผ๋ก์จ ์กฐ๊ฑด/๊ฒฐ์ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํฅ์์ํจ ์ปค๋ฒ๋ฆฌ์ง
- ๋ค์ค ์กฐ๊ฑด ์ปค๋ฒ๋ฆฌ์ง
- ๊ฒฐ์ ์กฐ๊ฑด ๋ด ๋ชจ๋ ๊ฐ๋ฐ ์กฐ๊ฑด์์ ๋ชจ๋ ๊ฐ๋ฅํ ์กฐํฉ์ 100% ๋ณด์ฅํ๋ ์ปค๋ฒ๋ฆฌ์ง
7-3. ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๊ฐ์
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ จ ์ฑ๋ฅ์ ํ ์์ธ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฝ, ๋ถํ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํจ์น, ์ฐ๊ฒฐ ๋์, ๋ถ์ ์ ํ ์ปค๋ฅ์
ํ ํฌ๊ธฐ, commit ๊ด๋ จ
ํด๋ฆฐ์ฝ๋
์ ์์ฑ๋์ด ๊ฐ๋
์ฑ์ด ๋๊ณ , ๋จ์ํ๋ฉฐ, ์์กด์ฑ์ ์ค์ด๊ณ , ์ค๋ณต์ ์ต์ํํ์ฌ ๊น๋ํ๊ฒ ์ ์ ๋ฆฌ๋ ์ฝ๋
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
๋๋ฃ๊ฒํ | 2~3๋ช ์ด ์งํํ๋ ๋ฆฌ๋ทฐ์ ํํ๋ก ์๊ตฌ์ฌํญ ๋ช ์ธ์ ์์ฑ์๊ฐ ์๊ตฌ์ฌํญ ๋ช ์ธ์๋ฅผ ์ค๋ช ํ๊ณ , ์ดํด๊ด๊ณ์๋ค์ด ์ค๋ช ์ ๋ค์ผ๋ฉด์ ๊ฒฐํจ์ ๋ฐ๊ฒฌํ๋ ํํ๋ก ์งํํ๋ ๊ฒํ ๊ธฐ๋ฒ |
์ํฌ์ค๋ฃจ | ๊ฒํ ์๋ฃ๋ฅผ ํ์ ์ ์ ๋ฐฐํฌํด์ ์ฌ์ ๊ฒํ ํ ํ ์งง์ ์๊ฐ๋์ ํ์๋ฅผ ์งํํ๋ ํํ๋ก ๋ฆฌ๋ทฐ๋ฅผ ํตํด ์ค๋ฅ๋ฅผ ๊ฒ์ถํ๊ณ ๋ฌธ์ํํ๋ ๊ธฐ๋ฒ |
์ธ์คํ์ | ์ํํธ์จ์ด ์๊ตฌ, ์ค๊ณ, ์์ ์ฝ๋ ๋ฑ์ ์ ์์ ์ธ์ ๋ค๋ฅธ ์ ๋ฌธ๊ฐ ๋๋ ํ์ด ๊ฒ์ฌํ์ฌ ์ค๋ฅ๋ฅผ ์ฐพ์๋ด๋ ๊ณต์์ ๊ฒํ ๊ธฐ๋ฒ |
V๋ชจ๋ธ | SW ์๋ช ์ฃผ๊ธฐ ๊ฐ ๋จ๊ณ๋ณ๋ก ๊ฐ๋ฐ์ ๊ด์ ์์์ ๊ณต์ ๊ณผ์ ์ ๊ฒ์ฆ๊ณผ ์ฌ์ฉ์ ๊ด์ ์์์ ์ต์ข ์ฐ์ถ๋ฌผ์ ๋ํ ํ์ธ์ ์ง์ํ๊ธฐ ์ํ ํ ์คํธ ๋ชจ๋ธ |
VLAN | ๋ ผ๋ฆฌ์ ์ผ๋ก ๋ถํ ๋ ์ค์์น ๋คํธ์ํฌ๋ ๊ฐ์ ๊ธฐ๋ฅ์ ๊ฐ์ง LAN ์ค์์น ๋๋ ATM ์ค์์น๋ฅผ ์ฌ์ฉํด์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฐฐ์ ์ ๊ตฌ์ ๋ฐ์ง ์๊ณ ๋ธ๋ก๋์บ์คํธ ํจํท์ด ์ ๋ฌ๋๋ ๋ฒ์๋ฅผ ์์๋ก ๋๋๋ ๋คํธ์ํฌ ๊ธฐ์ |
๊น์ด-์ฐ์ | ๋ฃจํธ ๋ ธ๋์์ ์์ํด์ ๋ค์ ๋ถ๊ธฐ๋ก ๋์ด๊ฐ๊ธฐ ์ ์ ํด๋น ๋ถ๊ธฐ๋ฅผ ์๋ฒฝํ๊ฒ ํ์ํ๋ ๋ฐฉ๋ฒ |
๋๋น-์ฐ์ | ๋ฃจํธ ๋ ธํธ์์ ์์ํด์ ์ธ์ ํ ๋ ธ๋๋ฅผ ๋จผ์ ํ์ํ๋ ๋ฐฉ๋ฒ |
์คํ | ๋ชจ๋ ๋ฐ ๋ชจ๋ ํ์ ์ปดํฌ๋ํธ๋ฅผ ๋์ ํ๋ ๋๋ฏธ ๋ชจ๋๋ก ํ์ ๋ชจ๋์ ๋ฐํ ๊ฐ๋ง ์ ๋ฌํ๋ฉด ๋จ |
๋๋ผ์ด๋ฒ | ์์ ๋ชจ๋์์ ๋ฐ์ดํฐ์ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ํ์ธํ๊ธฐ ์ํ ๋๋ฏธ ๋ชจ๋ |
ํ๋ฅด์๋ | ์ ์ฌ์ ์ฌ์ฉ์์ ๋ค์ํ ๋ชฉ์ ๊ณผ ๊ด์ฐฐ๋ ํ๋ ํจํด์ ์์ง์์ผ ๋์ ๊ฐ์์ ์ฌ์ฉ์ |
LDAP(Lightweight Directory Access Protocol) | TCP/IP ์์์ ์กฐ์งํ๋๊ณ ๋น์ทํ ํน์ฑ์ ๊ฐ์ง ๊ฐ์ฒด๋ค์ ๋ชจ์์ธ ๋๋ ํ ๋ฆฌ ์๋น์ค๋ฅผ ์กฐํํ๊ณ ์์ ํ๋ ์์ฉ ํ๋กํ ์ฝ |
์คํฌ๋ฆฝํธ | ์ปดํ์ผ ํ์ง ์๊ณ ๋ ์คํํ ์ ์๋ ํ๋ก๊ทธ๋จ |
Ramp-up load | ํ๊ณ์ ์ ์ธก์ ์ ๋ชฉ์ ์ผ๋ก ๋ฎ์ ์์ค์ ๋ถํ๋ถํฐ ๋์ ์์ค์ ๋ถํ๊น์ง ์์ ํธ๋ํฝ์ ๊พธ์คํ ์ฆ๊ฐ์ํค๋ฉฐ ์งํํ๋ ๋ถํ ํ ์คํธ |
8์ฅ. SQL ์์ฉ
8-1. ์ ์ฐจ์ SQL ์์ฑํ๊ธฐ
ํ๋ก์์
์ ์ฐจํ SQL์ ํ์ฉํ์ฌ ํน์ ๊ธฐ๋ฅ์ ์ํํ ์ ์๋ ํธ๋์ญ์
์ธ์ด
์ ์ธ๋ถ(DECLARE), ์์/์ข
๋ฃ๋ถ(BEGIN/END), ์ ์ด๋ถ(CONTROL), SQL, ์์ธ๋ถ(EXCEPTION), ์ค๋ช
๋ถ(TRANSACTION)
CREATE PROCEDURE SALES_CLOSING
(V_CLOSING_DATE IN CHAR(8))
IS
V_SALSE_TOT_AMT NUMBER := 0;
BEGIN
IF V_CLOSING_DATE < "20000101"
SET
V_CLOSING_DATE < "20200101";
END IF;
SELECT SUM(SALES_AMT)
INTO V_SALES_TOT_AMT
FROM SALES_LIST_T
WHERE SALES_DATE = V_CLOSING_DATE;
EXCEPTION
WHEN NO_DATA_FOUND
SET V_SALES_TOT_AMT = 0;
INSERT INTO
SALES_CLOSED_T
(SALES_DATE,
SALES_TOT_AMT)
VALUES (V_CLOSING_DATE,
V_SALES_TOT_AMT);
COMMIT;
END;
EXECUTE SALES_CLOSING('20170425');
์ฌ์ฉ์ ์ ์ํจ์
DBMS์์ ์ ๊ณตํ๋ ๊ณตํต์ ํจ์ ์ด์ธ์ ์ฌ์ฉ์๊ฐ ์ง์ ์ ์ํ๊ณ ์์ฑ
ํ๋ก์์ ์ ๋ฌ๋ฆฌ ์ค๋ช
๋ถ ๋์ ๋ฐํ๋ถ(RETURN)
์ ๋์ด ์ฌ์ฉ์ ์ ์ํจ์ ํธ์ถํ ์ฟผ๋ฆฌ์ ๋ฐํํ๋ ๋จ์ผ๊ฐ์ ์ ์ํฉ๋๋ค.
ํธ๋ฆฌ๊ฑฐ
ํน์ ํ
์ด๋ธ์ ์ฝ์
, ์์ , ์ญ์ ๋ฑ์ ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ๋ฉด DBMS์์ ์๋์ ์ผ๋ก ์คํ๋๋๋ก ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์
๋๋ค.
ํ๋ก์์ ์ ๋ฌ๋ฆฌ ์ค๋ช
๋ถ(TRANSACTION)
๊ฐ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค๊ฐ์ EVENT
๊ฐ ์ถ๊ฐ๋ ํํ์
๋๋ค.
- ํธ๋ฆฌ๊ฑฐ ์์ฑ์ ์ ์์ฌํญ
- TCL ์ฌ์ฉ๋ถ๊ฐ
- COMMIT, ROLLBACK ์ฌ์ฉ์ ์ปดํ์ผ ์๋ฌ ๋ฐ์
- ์ค๋ฅ์ ์ฃผ์
- TCL ์ฌ์ฉ๋ถ๊ฐ
8-2. ์์ฉ SQL ์์ฑํ๊ธฐ
์ง๊ณ ํจ์
์ฌ๋ฌ ํ ๋๋ ํ
์ด๋ธ ์ ์ฒด ํ์ผ๋ก๋ถํฐ ํ๋์ ๊ฒฐ๊ด๊ฐ์ ๋ฐํํ๋ ํจ์
- COUNT, SUM, AVG, MAX, MIN, STDDEV(ํ์คํธ์ฐจ), VARIAN(๋ถ์ฐ)
๊ทธ๋ฃนํจ์
ํ
์ด๋ธ์ ์ ์ฒด ํ์ ํ๋ ์ด์์ ์ปฌ๋ผ์ ๊ธฐ์ค์ผ๋ก ์ปฌ๋ผ ๊ฐ์ ๋ฐ๋ผ ๊ทธ๋ฃนํํ์ฌ ๊ทธ๋ฃน๋ณ๋ก ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํจ์
- ROLLUP
- ์ง์ ๋ ์ปฌ๋ผ์ ์๊ณ ๋ฑ ์ค๊ฐ ์ง๊ณ ๊ฐ์ ์ฐ์ถํ๊ธฐ ์ํ ๊ทธ๋ฃน ํจ์
- CUBE
- ๋ชจ๋ ๊ฐ์ ๋ค์ฐจ์ ์ง๊ณ๋ฅผ ์์ฑ
- GROUPING SETS
- ์ง๊ณ ๋์ ์ปฌ๋ผ๋ค์ ๋ํ ๊ฐ๋ณ ์ง๊ณ๋ฅผ ๊ตฌํ ์ ์์ผ๋ฉฐ, ์ปฌ๋ผ ์์์ ๋ฌด๊ดํ๊ฒ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค.
์๋ํจ์
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์จ๋ผ์ธ ๋ถ์ ์ฒ๋ฆฌ ์ฉ๋๋ก ์ฌ์ฉํ๊ธฐ ์ํด์ ํ์ค SQL์ ์ถ๊ฐ๋ ํจ์, OLAP
- ์์ํจ์
- RANK, DENSE_RANK(๋์ผ ์์ ๋์ผํ๊ฒ ๋ถ์ฌ), ROW_NUMBER
- ํ์์ ํจ์
- FIRST_VALUE, LAST_VALUE, LAG, LEAD
- ๊ทธ๋ฃน ๋ด ๋น์จ ํจ์
- RATIO_TO_REPORT
- PERCENT_RANK
๋ฐ์ดํฐ ์ ์ด์ด(DCL, Data Control Language)
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ๋ฐ์ดํฐ ๋ณด์, ๋ฌด๊ฒฐ์ฑ ์ ์ง, ๋ณํ ์ ์ด, ํ๋ณต์ ์ํด ๊ด๋ฆฌ์(DBA)๊ฐ ์ฌ์ฉํ๋ ์ ์ด์ฉ ์ธ์ด
- GRANT ๐ด
- ํน์ ์ฌ์ฉ์์๊ฒ ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
๋ น์ด
GRANT ๊ถํ ON ํ ์ด๋ธ TO ์ฌ์ฉ์ [WITH ๊ถํ ์ต์ ];
- ํน์ ์ฌ์ฉ์์๊ฒ ๊ถํ์ ๋ถ์ฌํ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช
๋ น์ด
- REVOKE
REVOKE ๊ถํ ON ํ ์ด๋ธ TO ์ฌ์ฉ์ [CASCADE CONSTRAINTS];
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
TRUNCATE | ๋ฐ์ดํฐ๊ฐ ํ๋๋ ์์ด ํ ์ด๋ธ ๊ตฌ์กฐ๋ง ๋จ์ ์ต์ด ํ ์ด๋ธ์ด ๋ง๋ค์ด์ง ์ํ๋ก ๋๋์๊ฐ๋๋ก ํ๋ ๋ช ๋ น |
์ด์ถฉ์ ํจ๋ฌ๋ ์ค ๐ด | ๋์ผํ ํ ์คํธ ์ผ์ด์ค์ ์ํ ๋ฐ๋ณต์ ํ ์คํธ๋ ์๋ก์ด ๋ฒ๊ทธ๋ฅผ ์ฐพ์ง ๋ชปํ๋ค๋ ์ํํธ์จ์ด ํ ์คํธ ์๋ฆฌ |
์ค๋ฅ-๋ถ์ฌ์ ๊ถค๋ณ | ์๊ตฌ์ฌํญ์ ์ถฉ์กฑ์์ผ์ฃผ์ง ๋ชปํ๋ค๋ฉด, ๊ฒฐํจ์ด ์๋ค๊ณ ํด๋ ํ์ง์ด ๋๋ค๊ณ ๋ณผ ์ ์๋ค๋ ์ํํธ์จ์ด ํ ์คํธ ์๋ฆฌ |
์ํฌ์ค๋ฃจ | ์ ์ ํ ์คํธ์ ์ ํ์ผ๋ก ๊ฒํ ์์ฒญ ๋ฐ์์ ์๊ตฌ์ฌํญ, ์์ค ์ฝ๋, ํ ์คํธ ์ ํ์ผ๋ก ์งํํ๋ ๋น์ ํ์ ํ ์คํธ |
์ธ์คํ์ | ์ ์ ํ ์คํธ์ ์ ํ์ผ๋ก ๊ฐ๋ฐ๋จ๊ณ๋ณ ์ฐ์ถ๋ฌผ ๊ฒํ ๋ฅผ ์ํ ๊ณต์์ ์ธ ๊ฒํ ๋ฐฉ๋ฒ |
ํ๊ท ํ ์คํธ(Regression) ๐ด | ๋ณ๊ฒฝ ๋๋ ์์ ๋ ์ฝ๋์ ๋ํ์ฌ ์๋ก์ด ๊ฒฐํจ ๋ฐ๊ฒฌ ์ฌ๋ถ๋ฅผ ํ๊ฐํ๋ ํ ์คํธ๋ก ์ ์ง๋ณด์ ์ ๋ง์ด ์ฌ์ฉ๋๋ ํ ์คํธ |
๊ตฌ์กฐ ๊ธฐ๋ฐ ํ ์คํธ | ์ํํธ์จ์ด ๋ด๋ถ ๋ ผ๋ฆฌ ํ๋ฆ์ ๋ฐ๋ผ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์์ฑํ๊ณ ํ์ธํ๋ ํ ์คํธ ๊ธฐ๋ฒ |
์ธ์ ํ ์คํธ | ํ ์คํธ ๋ ๋ฒจ ์ค ๊ณ์ฝ์์ ์๊ตฌ์ฌํญ์ด ๋ง์กฑ๋์๋์ง ํ์ธํ๊ธฐ ์ํ ํ ์คํธ ๋จ๊ณ |
ํตํฉ ํ ์คํธ | ์ํํธ์จ์ด ๊ฐ ๋ชจ๋ ๊ฐ์ ์ธํฐํ์ด์ค ๊ด๋ จ ์ค๋ฅ ๋ฐ ๊ฒฐํจ์ ์ฐพ์๋ด๊ธฐ ์ํ ์ฒด๊ณ์ ์ธ ํ ์คํธ ๊ธฐ๋ฒ |
๋ชฉ ์ค๋ธ์ ํธ | ํ ์คํธ ์ฅ์น ๊ตฌ์ฑ์์ ์ค ํ๋๋ก ์ฌ์ฉ์์ ํ์๋ฅผ ์กฐ๊ฑด๋ถ๋ก ์ฌ์ ์ ์ ๋ ฅํด ๋๋ฉด, ๊ทธ ์ํฉ์ ์์ ๋ ํ์๋ฅผ ์ํํ๋ ๊ฐ์ฒด |
OLAP(OnLine Analytical Processing) | ์์ฌ๊ฒฐ์ ์ง์ ์์คํ ์ผ๋ก ์ฌ์ฉ์๊ฐ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ธฐ์ค์ ์ด์ฉํ๋ ๋ค์ํ ๋ฐฉ์์ผ๋ก ๋ฐ๋ผ๋ณด๋ฉด์ ๋ค์ฐจ์ ๋ฐ์ดํฐ ๋ถ์์ ํ ์ ์๋๋ก ๋์์ฃผ๋ ๊ธฐ์ |
์ํํธ์จ์ด ํ ์คํธ ์๋ฆฌ
- ํ ์คํ ์ ๊ฒฐํจ์ด ์กด์ฌํจ์ ๋ฐํ๋ ๊ฒ
- ์๋ฒฝํ ํ ์คํ ์ ๋ถ๊ฐ๋ฅ
- ๊ฐ๋ฐ ์ด๊ธฐ์ ํ ์คํ ์์
- ๊ฒฐํจ์ง์ค
- ์ด์ถฉ์ ํจ๋ฌ๋ ์ค
- ํ ์คํ ์ ์ ํฉ์ ์์กด์
- ์ค๋ฅ-๋ถ์ฌ์ ๊ถค๋ณ
9์ฅ. ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ณด์ ๊ตฌ์ถ
9-1. ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ณด์ ์ค๊ณ
SW ๊ฐ๋ฐ ๋ณด์
์๊ตฌ์ฌํญ ๋ช
์ธ - ์ค๊ณ - ๊ตฌํ - ํ
์คํธ - ์ ์ง๋ณด์
- ๊ธฐ๋ฐ์ฑ Confidentiality
- ์ธ๊ฐ๋์ง ์์ ๊ฐ์ธ ํน์ ์์คํ ์ ๊ทผ์ ๋ฐ๋ฅธ ์ ๋ณด ๊ณต๊ฐ ๋ฐ ๋ ธ์ถ์ ์ฐจ๋จํ๋ ํน์ฑ
- ๊ฐ์ฉ์ฑ Availability ๐ด
- ๊ถํ์ ๊ฐ์ง ์ฌ์ฉ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ํ๋ ์๋น์ค๋ฅผ ์ง์ ์ฌ์ฉํ ์ ์๋๋ก ๋ณด์ฅํ๋ ํน์
- ๋ฌด๊ฒฐ์ฑ Integrity
- ์ ๋นํ ๋ฐฉ๋ฒ์ ๋ฐ๋ฅด์ง ์๊ณ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋ ์ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ์ ์ ํ์ฑ ๋ฐ ์์ ์ฑ๊ณผ ๊ณ ์/์ ์๋ก ๋ณ๊ฒฝ๋๊ฑฐ๋ ํผ์ ๋๋ ํ๊ดด๋์ง ์์์ ๋ณด์ฅํ๋ ํน์ฑ
๋ณด์ ์๋ฃจ์
- SIEM(Security information and event management) ๐ด
- ๋จธ์ ๋ฌ๋ ๊ธฐ์ ์ ์ด์ฉํ์ฌ IT ์์คํ ์์ ๋ฐ์ํ๋ ๋๋์ ๋ก๊ทธ๋ฅผ ํตํฉ๊ด๋ฆฌ ๋ฐ ๋ถ์ํ์ฌ ์ฌ์ ์ ์ํ์ ๋์ํ๋ ๋ณด์ ์๋ฃจ์ ์ด๋ค.
- ์๋ก ๋ค๋ฅธ ๊ธฐ์ข ์ ๋ณด์์๋ฃจ์ ๋ก๊ทธ ๋ฐ ์ด๋ฒคํธ๋ฅผ ์ค์์์ ํตํฉ ์์งํ์ฌ ๋ถ์ํ ์ ์์ผ๋ฉฐ, ๋คํธ์ํฌ ์ํ์ monitoring ๋ฐ ์ด์์งํ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ์งํ ์ ์๋ค.
- ๋ค์ํ ์ฅ๋น์์ ๋ฐ์ํ๋ ๋ก๊ทธ ๋ฐ ๋ณด์ ์ด๋ฒคํธ๋ฅผ ํตํฉํ์ฌ ๊ด๋ฆฌํ๋ ๋ณด์ ์๋ฃจ์ ์ผ๋ก, ๋ฐฉํ๋ฒฝ, IDS, IPS, ์น ๋ฐฉํ๋ฒฝ, VPN ๋ฑ์์ ๋ฐ์ํ ๋ก๊ทธ ๋ฐ ๋ณด์ ์ด๋ฒคํธ๋ฅผ ํตํฉํ์ฌ ๊ด๋ฆฌํจ์ผ๋ก์จ ๋น์ฉ ๋ฐ ์์์ ์ ์ฝํ ์ ์๋ ํน์ง์ด ์๋ค. ๋ํ ๋ณด์ ์๋ฃจ์ ๊ฐ์ ์ํธ ์ฐ๋์ ํตํด ์ข ํฉ์ ์ธ ๋ณด์ ๊ด๋ฆฌ ์ฒด๊ณ๋ฅผ ์๋ฆฝํ ์ ์๋ค.
SIM(Security Information Management)
+SEM(Security Event Management)
- ESM(Enterprise Security Management)
- SIEM๊ณผ ๊ธฐ๋ฅ์ ๋์ผํ์ง๋ง
์งง์ ๊ธฐ๊ฐ
์ ๋ก๊ทธ ๋ฐ ๋ณด์ ์ด๋ฒคํธ๋ฅผ ๊ด๋ฆฌํ๋ ๋ณด์ ์๋ฃจ์
- SIEM๊ณผ ๊ธฐ๋ฅ์ ๋์ผํ์ง๋ง
- ๋ฐฉํ๋ฒฝ
- ๊ธฐ์ ์ด๋ ์กฐ์ง ๋ด๋ถ์ ๋คํธ์ํฌ์ ์ธํฐ๋ท ๊ฐ์ ์ ์ก๋๋ ์ ๋ณด๋ฅผ ์ ๋ณํ์ฌ ์์ฉ/๊ฑฐ๋ถ/์์ ํ๋ ๊ธฐ๋ฅ์ ๊ฐ์ง ์นจ์ ์ฐจ๋จ ์์คํ
- ์นจ์
ํ์ง ์์คํ
(IDS, Intrusion Detection System)
- ์ปดํจํฐ ์์คํ ์ ๋น์ ์์ ์ธ ์ฌ์ฉ, ์ค์ฉ, ๋จ์ฉ ๋ฑ์ ์ค์๊ฐ์ผ๋ก ํ์งํ๋ ์์คํ
- ์นจ์
๋ฐฉ์ง ์์คํ
(IPS, Intrusion Prevention System)
- ๋น์ ์์ ์ธ ํธ๋ํฝ์ ๋ฅ๋์ ์ผ๋ก ์ฐจ๋จํ๊ณ ๊ฒฉ๋ฆฌํ๋ ๋ฑ์ ๋ฐฉ์ด ์กฐ์น๋ฅผ ์ทจํ๋ ๋ณด์ ์๋ฃจ์
- ๋ฐ์ดํฐ ์ ์ถ ๋ฐฉ์ง (DLP, Data Leakage/Loss Prevention)
- ๋ด๋ถ ์ ๋ณด์ ์ธ๋ถ ์ ์ถ์ ๋ฐฉ์งํ๋ ๋ณด์ ์๋ฃจ์
- ์น ๋ฐฉํ๋ฒฝ (web Firewall)
- ์ผ๋ฐ ๋ฐฉํ๋ฒฝ์ด ํ์งํ์ง ๋ชปํ๋ SQL ์ฝ์ ๊ณต๊ฒฉ Cross-Site Scripting(XSS) ๋ฑ์ ์น ๊ธฐ๋ฐ ๊ณต๊ฒฉ์ ๋ฐฉ์ดํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง ์น ์๋ฒ์ ํนํ๋ ๋ฐฉํ๋ฒฝ
- VPN(Virtual Private Network, ๊ฐ์ ์ฌ์ค ํต์ ๋ง)
- ๊ณต์ค ๋คํธ์ํฌ์ ์ํธํ ๊ธฐ์ ์ ์ด์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ๋ง์น ์์ ์ ์ ์ฉ ํ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ฒ๋ผ ํด์ฃผ๋ ๋ณด์ ์๋ฃจ์
- NAC(Network Access Control)
- ๋คํธ์ํฌ์ ์ ์ํ๋ ๋ด๋ถ PC์ MAC ์ฃผ์๋ฅผ IP ๊ด๋ฆฌ ์์คํ ์ ๋ฑ๋กํ ํ ์ผ๊ด๋ ๋ณด์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๋ณด์ ์๋ฃจ์
- Trustzone
- ํ๋ก์ธ์(processor) ์์ ๋ ๋ฆฝ์ ์ธ ๋ณด์ ๊ตฌ์ญ์ ๋ฐ๋ก ๋์ด ์ค์ํ ์ ๋ณด๋ฅผ ๋ณดํธํ๋ ARM์ฌ์์ ๊ฐ๋ฐํ ํ๋์จ์ด ๊ธฐ๋ฐ์ ๋ณด์ ๊ธฐ์ ๋ก ํ๋ก์ธ์(processor) ์์ ๋ ๋ฆฝ์ ์ธ ๋ณด์ ๊ตฌ์ญ์ ๋ณ๋๋ก ํ์ฌ, ์ค์ํ ์ ๋ณด๋ฅผ ๋ณดํธํ๋ ํ๋์จ์ด ๊ธฐ๋ฐ์ ๋ณด์ ๊ธฐ์ ์ด๋ค.
3A, AAA
์ ๋ณด ๋ณดํธ ๊ธฐ์
- Authentication
- ์์คํ ์ ์ ๊ทผํ๊ธฐ ์ ์ ์ ๊ทผ ์๋ํ๋ ์ฌ์ฉ์์ ์ ์์ ๊ฒ์ฆ
- Authorization
- ๊ฒ์ฆ๋ ์ฌ์ฉ์์๊ฒ ์ด๋ค ์์ค์ ๊ถํ๊ณผ ์๋น์ค๋ฅผ ํ์ฉ
- Accounting ๊ณ์ ๊ด๋ฆฌ ๐ด
- ์ฌ์ฉ์์ ์์(์๊ฐ, ์ ๋ณด, ์์น ๋ฑ)์ ๋ํ ์ฌ์ฉ ์ ๋ณด๋ฅผ ์์ง
DoS ๊ณต๊ฒฉ
์์คํ
์ ์
์์ ์ผ๋ก ๊ณต๊ฒฉ์ ํด๋น ์์คํ
์ ์์์ ๋ถ์กฑํ๊ฒ ํ์ฌ ์๋ ์๋๋ ์ฉ๋๋ก ์ฌ์ฉํ์ง ๋ชปํ๊ฒ ํ๋ ๊ณต๊ฒฉ
- ์ง์ญ ์์คํ ๊ณต๊ฒฉ / ์๊ฒฉ ๋คํธ์ํฌ ๊ณต๊ฒฉ
DDoS ๊ณต๊ฒฉ
DoS ๊ณต๊ฒฉ์ ๋ค๋ฅธ ํํ๋ก ์ฌ๋ฌ ๋์ ๊ณต๊ฒฉ์๋ฅผ ๋ถ์ฐ ๋ฐฐ์นํ์ฌ ๋์์ ๋์ํ๊ฒ ํจ์ผ๋ก์จ ํน์ ์ฌ์ดํธ๋ฅผ ๊ณต๊ฒฉํ๋ ๊ธฐ๋ฒ
DoS์ ๋ฌ๋ฆฌ ์ง์ ๊ณต๊ฒฉ์ ํ์ง ์๊ณ ๊ณต๊ฒฉํ๋๋ก ์ง์ํ๊ณ ์๋ง์ ๊ฐ์ผ ํธ์คํธ๋ฅผ ํตํด ๊ณต๊ฒฉ์ ๊ฐํํฉ๋๋ค.
์์๊ณ ๊ฐ ๊ณต๊ฒฉ
SYN ํ๋ฌํ
/ UDP ํ๋ฌ๋ฉ / ์ค๋จธํ Smurf / PoD (Point of Death)
- SYN ํ๋ฌํ
- ์๋ฒ์ ๋์ ๊ฐ์ฉ ์ฌ์ฉ์ ์๋ฅผ SYN ํจํท๋ง ๋ณด๋ด ์ ์ ํ์ฌ ๋ค๋ฅธ ์ฌ์ฉ์๊ฐ ์๋ฒ๋ฅผ ์ฌ์ฉ ๋ถ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ณต๊ฒฉ
- ๊ณต๊ฒฉ์๋ ACK๋ฅผ ๋ฐ์กํ์ง ์๊ณ ๊ณ์ ์๋ก์ด ์ฐ๊ฒฐ ์์ฒญ์ ํ๊ฒ ๋์ด ์๋ฒ๋ ์์ํ ๋น์ ํด์งํ์ง ์๊ณ ์์๋ง ์๋นํ์ฌ ์์์ด ๊ณ ๊ฐ
- UDP ํ๋ฌ๋ฉ
- ๋๋์ UDP ํจํท์ ๋ง๋ค์ด ์์์ ํฌํธ ๋ฒํธ๋ก ์ ์กํ์ฌ ์๋ต ๋ฉ์์ง(ICMP)๋ฅผ ์์ฑํ๊ฒ ํ์ฌ ์ง์์ ์ผ๋ก ์์์ ๊ณ ๊ฐ์ํฐ๋ ๊ณต๊ฒฉ
- ICMP ํจํท์ ๋ณ์กฐ๋์ด ๊ณต๊ฒฉ์์๊ฒ ์ ๋ฌ๋์ง ์์ ๋๊ธฐํจ
- ์ค๋จธํ Smurf
- ์ถ๋ฐ์ง ์ฃผ์๋ฅผ ๊ณต๊ฒฉ ๋์์ IP๋ก ์ค์ ํ์ฌ ๋คํธ์ํฌ ์ ์ฒด์๊ฒ ICMP Echo ํจํท์ ์ง์ ๋ธ๋ก๋์บ์คํ ํ์ฌ ๋ง๋น์ํค๋ ๊ณต๊ฒฉ
- PoD (Point of Death)
- ํฐ ์ฌ์ด์ฆ์ด ํจํท์ ์๋์ ์ผ๋ก ๋ชฉํ์์คํ ์ผ๋ก ๋ฐ์์์ผ ์์คํ ์ด ์๋น์คํ ์ ์๋ ์ํ๋ก ๋ง๋๋ ๊ณต๊ฒฉ
- ๋น์ ์ ํจํท์ ์๊ฒ ์ชผ๊ฐ์ ์ ์ก
์ ํ๋ฆฌ์ผ์ด์
๊ณต๊ฒฉ
HTTP GET ํ๋ฌ๋ฉ(Flooding) / Slowloris(Slow HTTP Header DoS) / RUDY(Slow HTTP POST DoS)
- HTTP GET ํ๋ฌ๋ฉ(Flooding)
- Cache Control Attack ๊ณต๊ฒฉ
- HTTP ์บ์ ์ต์ ์ ์กฐ์ํ์ฌ ์บ์ฑ ์๋ฒ๊ฐ ์๋ ์น์๋ฒ๊ฐ ์ง์ ์ฒ๋ฆฌํ๋๋ก ์ ๋, ์น ์๋ฒ ์์์ ์์ง์ํค๋ ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ
- Slowloris(Slow HTTP Header DoS)
- HTTP GET ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํค๋์ ์ต์ข
๋์ ์๋ฆฌ๋ ๊ฐํ ๋ฌธ์์ด์ธ
\r\n\r\n
์ ์ ์ก์ํค์ง ์๊ณ\r\n
๋ง ์ ์กํ์ฌ ๋์ ์น์๋ฒ์ ์ฐ๊ฒฐ์ํ๋ฅผ ์ฅ์๊ฐ ์ง์์ํค๊ณ ์ฐ๊ฒฐ ์์์ ๋ชจ๋ ์์ง์ํค๋ ์๋น์ค ๊ฑฐ๋ถ ๊ณต๊ฒฉ
- HTTP GET ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํค๋์ ์ต์ข
๋์ ์๋ฆฌ๋ ๊ฐํ ๋ฌธ์์ด์ธ
- RUDY(Slow HTTP POST DoS)
- ์์ฒญ ํค๋์ Content-length๋ฅผ ๋น์ ์์ ์ผ๋ก ํฌ๊ฒ ์ค์ ํ์ฌ ๋ฉ์์ง ๋ฐ๋ ๋ถ๋ถ์ ๋งค์ฐ ์๋์ผ๋ก ๋ณด๋ด ๊ณ์ ์ฐ๊ฒฐ์ํ๋ฅผ ์ ์ง์ํค๋ ๊ณต๊ฒฉ
๋คํธ์ํฌ ์๋น์ค ๊ณต๊ฒฉ
์ค๋ํ / ๋คํธ์ํฌ ์ค์บ๋, ์ค๋ํผ / ํจ์ค์๋ ํฌ๋ํน / IP ์คํธํ / ARP ์คํธํ / ํธ๋ก์ด ๋ชฉ๋ง
- ์ค๋ํ ๐ด
- ๊ณต๊ฒฉ ๋์์๊ฒ ์ง์ ๊ณต๊ฒฉ์ ํ์ง ์๊ณ ๋ฐ์ดํฐ๋ง ๋ชฐ๋ ๋ค์ฌ๋ค๋ณด๋ ์๋์ ๊ณต๊ฒฉ ๊ธฐ๋ฒ
- ๋คํธ์ํฌ ์ค์บ๋, ์ค๋ํผ
- ๋คํธ์ํฌ ํ๋์จ์ด ๋ฐ ์ํํธ์จ์ด ๊ตฌ์ฑ์ ์ทจ์ฝ์ ํ์ ์ ์ํด ๊ณต๊ฒฉ์๊ฐ ์ฌ์ฉํ๋ ๋๊ตฌ
- ํจ์ค์๋ ํฌ๋ํน
- ์ฌ์ ํฌ๋ํน๊ณผ ๋ฌด์ฐจ๋ณ ํฌ๋ํน ๋ฐฉ๋ฒ์ ์ฌ์ฉํด ๋คํธ์ํฌ ํจ์ค์๋๋ฅผ ํ์
- ๋ํ์ ์ธ ๊ณต๊ฒฉ ๋๊ตฌ๋ก John the Ripper๊ฐ ์์
- IP ์คํธํ
- ์๋ฒ์ ๋ํ ์ธ์ฆ๋์ง ์์ ์ก์ธ์ค ๊ถํ์ ์ ์ํ๋๋ฐ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ
- ์นจ์ ์๊ฐ ํจํท ํค๋ ์์ ์ ํตํด ์ธ์ฆ๋ ํธ์คํธ์ IP ์ด๋๋ ์ค๋ฅผ ์์กฐ
- ARP ์คํธํ ๐ด
- ARP ์คํธํ์ ๊ณต๊ฒฉ์๊ฐ ํน์ ํธ์คํธ์ MAC ์ฃผ์๋ฅผ ์์ ์ MAC ์ฃผ์๋ก ์์กฐํ ARP Reply๋ฅผ ๋ง๋ค์ด ํฌ์์์๊ฒ ์ง์์ ์ผ๋ก ์ ์กํ์ฌ ํฌ์์์ ARP Cache Table์ ํน์ ํธ์คํธ์ MAC ์ ๋ณด๋ฅผ ๊ณต๊ฒฉ์์ MAC ์ ๋ณด๋ก ๋ณ๊ฒฝ, ํฌ์์๋ก๋ถํฐ ํน์ ํธ์คํธ๋ก ๋๊ฐ๋ ํจํท์ ๊ณต๊ฒฉ์๊ฐ ์ค๋ํํ๋ ๊ณต๊ฒฉ๊ธฐ๋ฒ
- ICMP Redirect ๊ณต๊ฒฉ
- ICMP ๋ฆฌ๋ค์ด๋ ํธ๋ 3๊ณ์ธต์์ ์ค๋ํ ์์คํ ์ ๋คํธ์ํฌ์ ์กด์ฌํ๋ ๋ ๋ค๋ฅธ ๋ผ์ฐํฐ๋ผ๊ณ ์๋ฆผ์ผ๋ก์จ ํจํท์ ํ๋ฆ์ ๋ฐ๊พธ๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ
- ICMP Redirect ๋ฉ์์ง๋ฅผ ๊ณต๊ฒฉ์๊ฐ ์ํ๋ ํํ๋ก ๋ง๋ค์ด์ ํน์ ๋ชฉ์ ์ง๋ก ๊ฐ๋ ํจํท์ ๊ณต๊ฒฉ์๊ฐ ์ค๋ํํ๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ
- ํธ๋ก์ด ๋ชฉ๋ง ๐ด
- ์ ์ฑ ๋ฃจํด์ด ์จ์ด ์๋ ํ๋ก๊ทธ๋จ์ผ๋ก์ ๊ฒ๋ณด๊ธฐ์๋ ์ ์์ ์ธ ํ๋ก๊ทธ๋จ์ฒ๋ผ ๋ณด์ด์ง๋ง ์คํํ๋ฉด ์ ์ฑ ์ฝ๋๋ฅผ ์คํ
- ์ ์์ ์ธ ํ๋ก๊ทธ๋จ์ผ๋ก ๊ฐ์ฅํด ์ฌ์ฉ์๊ฐ ์ง์ ์ปดํจํฐ์ ์ค์นํ๋๋ก ์์ฅํ๋ฉฐ, ๋ฐฑ๋์ด๋ฅผ ๋ง๋ค์ด ๊ณต๊ฒฉ์๊ฐ ์นจ์ ํ ์ ์๋๋ก ๋ง๋ค๊ฑฐ๋ ์์คํ ์ ํ๊ดด
- ์ ์์ ์ธ ํ๋ก๊ทธ๋จ์ผ๋ก ์์ฅํ์ฌ ์์๋ถํฐ ๋๊น์ง ๋จ์ ์์ฃผํ๋ฉฐ, ์์คํ ๋ด๋ถ ์ ๋ณด๋ฅผ ๊ณต๊ฒฉ์์ ์ปดํจํฐ๋ก ๋นผ๋๋ฆฌ๋ ํ๋ก๊ทธ๋จ
- ์ข๋น PC์ฒ๋ผ ๋ด๋ถ์ ๋ณด ์ ์ถ๋ฟ๋ง ์๋๋ผ ์ปจํธ๋กค๊น์ง ๊ฐ๋ฅํ ์ข ๋ฅ, ๋จ์ํ ๋ด๋ถ ๋ฐ์ดํฐ๋ง ์ ์ถํ ์ ์๋ ํ์
- ๊ฐ์ผ๋ ํ์ ์ค์ค๋ก๋ฅผ ๋ณต์ ํ๋ ๋ฅ๋ ฅ์ ์์
- ์ ๐ด
- ๊ฐ์ผ๋ ์ปดํจํฐ ์์คํ ์์ ์ค์ค๋ก ๋ณต์ ํด ๋ค๋ฅธ ์ปดํจํฐ๋ก ๋ณต์ฌ๋ณธ์ ํ์ฐ์ํฌ ์ ์๋ ์ ์ฑ ํ๋ก๊ทธ๋จ
- ๋ ์์ ์ผ๋ก ์คํ๋๋ฉฐ ๋ค๋ฅธ ์คํ ํ๋ก๊ทธ๋จ์ด ํ์ํ์ง ์์ผ๋ฉฐ, ํ์ผ ์ ์ก ๊ธฐ๋ฅ์ ์ฐฉ์ทจํ๋๋ก ์ค๊ณ
- ์๊ฐ ๋ณต์ ๋ฐ
๋คํธ์ํฌ
๋ฅผ ํตํ ์ ํ๋ ๊ฐ๋ฅ
- ๋ฐ์ด๋ฌ์ค ๐ด
๋์(์ ์ํ์ผ)
์ ๊ฐ์ผ์ํค๋ ํํ๋ก ์คํ๋๋ฉฐ, ๊ฐ์ผ์ํฌ ๋์์ด ์กด์ฌํ์ง ์์ ๋์๋ ์คํ๋์ง ์์ผ๋ฉฐ ๋ค๋ฅธ ์ ์ํ์ผ๋ก์ ์๊ธฐ ๋ณต์ ๊ธฐ๋ฅ- ์ปดํจํฐ ์์คํ ์ ์นจ์ ํด ํ๋ก๊ทธ๋จ์ ๊ธฐ์ํ๋ฉฐ ์์คํ ์ ๋ณ๊ฒฝํ๊ฑฐ๋ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋๋ ์ ์ฑ์ฝ๋
- ๋คํธ์ํฌ๋ฅผ ํตํด ์ ํ๋์ง ์์ผ๋ฉฐ ๋ฐฉ์ ๋ฐ ์์น์ ๋ฐ๋ผ ์ฌ๋ฌ ํํ๋ก ๋๋จ
์ทจ์ฝ์ ๊ณต๊ฒฉ
๋๋ ์ดํ / ๋ดํฌ, ๋ณด์ํฌ / ํฐ์ด ๋๋กญ
- ๋๋ ์ดํ ๐ด
- ์ถ๋ฐ์ง IP์ ๋ชฉ์ ์ง IP๋ฅผ ๊ฐ์ ํจํท ์ฃผ์๋ก ๋ง๋ค์ด ๋ณด๋
- ๊ณต๊ฒฉ์๊ฐ ํจํท์ ์ถ๋ฐ์ง ์ฃผ์๋ ํฌํธ๋ฅผ ์์๋ก ๋ณ๊ฒฝํด ์ถ๋ฐ์ง์ ๋ชฉ์ ์ง ์ฃผ์๋ฅผ ๋์ผํ๊ฒ ํจ์ผ๋ก์จ ๊ณต๊ฒฉ ๋์ ์ปดํจํฐ์ ์คํ์๋๋ฅผ ๋๋ฆฌ๊ฒ ํ๊ฑฐ๋ ๋์์ ๋ง๋น์์ผ ์๋น์ค ๊ฑฐ๋ถ ์ํ์ ๋น ์ง๋๋ก ํ๋ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ
- ๋ดํฌ, ๋ณด์ํฌ
- ํ๋กํ ์ฝ์ ์ค๋ฅ ์ ์ด๋ฅผ ์ด์ฉํ ๊ณต๊ฒฉ๊ธฐ๋ฒ์ผ๋ก ์์คํ ์ ํจํท ์ฌ์ ์ก๊ณผ ์ฌ์กฐ๋ฆฝ์ด ๊ณผ๋ถํ๋ฅผ ์ ๋ฐ
๋ดํฌ
: ๊ฐ์ ์ํ์ค ๋ฒํธ๋ฅผ ๊ณ์ ๋ณด๋๋ณด์ํฌ
: ์ผ์ ํ ๊ฐ๊ฒฉ์ผ๋ก ์ํ์ค ๋ฒํธ์ ๋น ๊ณต๊ฐ ์์ฑ
- ํฐ์ด ๋๋กญ
- IP ํจํท์ ์ฌ์กฐํฉ ๊ณผ์ ์์ ์๋ชป๋ Fragment Offset ์ ๋ณด๋ก ์ธํด ์์ ์์คํ ๋ฌธ์ ๋ฅผ ๋ฐ์ํ๋๋ก ํ๋ DoS ๊ณต๊ฒฉ
์ํธ ์๊ณ ๋ฆฌ์ฆ
- ๋์นญํค ์ํธ๋ฐฉ์
- ์๋ณตํธํ์ ๊ฐ์ ์ํธํค๋ฅผ ์ฐ๋ ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ก ์ํธ๋ฐฉ์: AES, DES, ARIA, SEED, HIGHT, IDEA
- ์คํธ๋ฆผ ์ํธ๋ฐฉ์: RC4
- ๋น๋์นญํค ์ํธ๋ฐฉ์
- ๊ณต์บํค๋ฅผ ์ํธํํ๊ณ ๊ณต๊ฐํค์ ํด๋นํ๋ ๊ฐ์ธํค๋ฅผ ์ด์ฉํด ๋ณตํธํํ๋ ์ํธ๋ฐฉ์
- ๋ํผ-ํฌ๋ง, RSA
- ํด์๋ฐฉ์
- ๋จ๋ฐฉํฅ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก์ ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ณ ์ ๋ ๊ธธ์์ ๋ฐ์ดํฐ๋ก ๋งคํํ๋ ํจ์
- SHA, MD5
DES(Data Encryption Standard) ๐ด
- IBM์์ ๊ฐ๋ฐํ 56bit์ ํค๋ฅผ ์ด์ฉ, 64bit์ ์ํธ๋ฌธ ๋ธ๋ก์ผ๋ก ๋ง๋๋ ๋ธ๋ก ์ํธ ๋ฐฉ์์ ๋ฏธ๊ตญํ์ค ์ํธํ ์๊ณ ๋ฆฌ์ฆ
- ๋ธ๋ก ์ํธ์ ์ผ์ข ์ผ๋ก, ๋ฏธ๊ตญ NBS (National Bureau of Standards, ํ์ฌ NIST)์์ ๊ตญ๊ฐ ํ์ค์ผ๋ก ์ ํ ์ํธ์ด๋ค.
- 64๋นํธ ํ๋ฌธ์ 64๋นํธ ์ํธ๋ฌธ์ผ๋ก ์ํธํํ๋ ๋์นญํค ์ํธ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
- ํค๋ 7๋นํธ๋ง๋ค ์ค๋ฅ๊ฒ์ถ์ ์ํ ์ ๋ณด๊ฐ 1๋นํธ์ฉ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ์ค์ง์ ์ผ๋ก๋
56๋นํธ
์ด๋ค.
AES(Advanced Encryption Standard) ๐ด
- ๊ณ ๊ธ ์ํธํ ํ์ค
- DES๋ฅผ ๋์ฒดํ๋ฉฐ,
128๋นํธ
๋ธ๋ก ํฌ๊ธฐ์ 128,192,256๋นํธ ํค ํฌ๊ธฐ์ ๋์นญ ํค ์ํธํ ๋ฐฉ์
SEED
- ์์ ์ฑ, ์ ๋ขฐ์ฑ์ด ์ฐ์ํ 128bit ๋จ์์ ๋์นญ ํค ์ํธํ ์๊ณ ๋ฆฌ์ฆ
IDEA ๐ด
- Xuejia Lai์ James Messey๊ฐ ๋ง๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก PES(Proposed Encryption Standard)์์ IPES(Improved PES)๋ก ๋ณ๊ฒฝ๋์๋ค๊ฐ, 1991๋ ์ ์ ์๋ ๋ธ๋ก ์ํธ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ์ฌ ๊ตญ์ ๋ฐ์ดํฐ ์ํธํ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ฌ์ฉ๋๊ณ ์๋ค.
- 64๋นํธ ๋ธ๋ก์ 128๋นํธ์ key๋ฅผ ์ด์ฉํ์ฌ 8๊ฐ์ ๋ผ์ด๋๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- DES๋ฅผ ๋์ฒดํ๊ธฐ ์ํด์ ์ค์์ค์์ ๊ฐ๋ฐํ ์๊ณ ๋ฆฌ์ฆ
SKIPJACK, ์คํต์ญ ๐ด
- ๋ฏธ๊ตญ์ NSA์์ ๊ฐ๋ฐํ Clipper ์นฉ์ ๋ด์ฅ๋๋ ๋ธ๋ก ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ์ ํ๊ธฐ์ ๊ฐ์ ์์ฑ์ ์ํธํ ํ๋๋ฐ ์ฃผ๋ก ์ฌ์ฉ๋๋ฉฐ 64๋นํธ ์ ์ถ๋ ฅ์ 80๋นํธ์ ํค ์ด 32๋ผ์ด๋๋ฅผ ๊ฐ์ง๋ค.
RSA(Rivest Shamir Adleman)
- ๋น๋์นญ ํค ์ํธ ๋ฐฉ์ ์ค์์ ๊ฐ์ฅ ๋๋ฆฌ ์ฐ์ด๋ ๋ฐฉ์์ผ๋ก ์์ธ์ ๋ถํด์ ์ด๋ ค์์ ์ด์ฉํ ๋ฐฉ์
SHA(Secure Hash Algorithm)
- ๋ฏธ๊ตญ ๊ตญ๊ฐ์๋ณด๊ตญ์ด ์ค๊ณํ ๋ฏธ๊ตญ ๊ตญ๊ฐ ํ์ค ์ง์ ๋ ํด์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ, SHA-1, SHA-2
MD5(Message-Digest Algorithm 5) ๐ด
- MD4๋ฅผ ๋์ฒดํ๊ธฐ ์ํด ์ฌ์ฉํ๋ 128bit ํด์ ์ํธํ ์๊ณ ๋ฆฌ์ฆ
HAS-160
- ๊ตญ๋ด ํ์ค ์๋ช ์๊ณ ๋ฆฌ์ฆ์ ์ํด ๊ฐ๋ฐ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก MD5์ SHA-1์ ์ฅ์ ์ ์ทจํ์ฌ ๊ฐ๋ฐ๋ ํด์ ์๊ณ ๋ฆฌ์ฆ
9-2. ์ํํธ์จ์ด ๊ฐ๋ฐ ๋ณด์ ๊ตฌํ
์ ๋ ฅ ๋ฐ์ดํฐ ๊ฒ์ฆ ๋ฐ ํํ ๊ณต๊ฒฉ
- SQL ์ฝ์
๐ด
- ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ณด์ ์ทจ์ฝ์ ์ ์ด์ฉํด์ ์ ์์ ์ธ SQL ๊ตฌ๋ฌธ์ ์ฝ์ , ์คํ์์ผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผ์ ํตํด ์ ๋ณด๋ฅผ ํ์ทจํ๊ฑฐ๋ ์กฐ์ ๋ฑ์ ํ์๋ฅผ ํ๋ ๊ณต๊ฒฉ ๊ธฐ๋ฒ
- ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํธ(XSS)
- ๊ฒ์ฆ๋์ง ์์ ์ธ๋ถ ์ ๋ ฅ๊ฐ์ ์ํด ๋ธ๋ผ์ฐ์ ์์ ์ ์์ ์ธ ์ฝ๋๊ฐ ์คํ
- ์ฌ์ดํธ ๊ฐ ์์ฒญ ์์กฐ(CSRF)
- ์ฌ์ฉ์๊ฐ ์์ ์ ์์ง์๋ ๋ฌด๊ดํ๊ฒ ๊ณต๊ฒฉ์๊ฐ ์๋ํ ํ์๋ฅผ ํน์ ์น ์ฌ์ดํธ์ ์์ฒญํ๊ฒ ํ๋ ๊ณต๊ฒฉ
- ๊ฒฝ๋ก ์กฐ์ ๋ฐ ์์ ์ฝ์
- ์ธ๋ถ ์ ๋ ฅ๊ฐ์ด ์ฌ์ ๊ฒ์ฆ ์๊ฑฐ๋ ์๋ชป ์ฒ๋ฆฌ๋ ๊ฒฝ์ฐ
- ์ด์์ฒด์ ๋ช
๋ น์ด ์ฝ์
- ์ด์์ฒด์ ๋ช ๋ น์ด ํ๋ผ๋ฏธํฐ ์ ๋ ฅ๊ฐ์ด ์ ์ ํ ์ฌ์ ๊ฒ์ฆ์ ๊ฑฐ์น์ง ์๊ณ ์ฌ์ฉ๋ ๋ ๊ณต๊ฒฉ์๊ฐ ์ด์์ฒด์ ๋ช ๋ น์ด๋ฅผ ์กฐ์
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
๋ํผ-ํฌ๋ง | ์ํธ ํค๋ฅผ ๊ตํํ๋ ๋ฐฉ๋ฒ์ผ๋ก์ ๋ ์ฌ๋์ด ์ํธํ๋์ง ์์ ํต์ ๋ง์ ํตํด ๊ณตํต์ ๋น๋ฐ ํค๋ฅผ ๊ณต์ ํ ์ ์๋๋ก ํ๋ ๋ฐฉ์ |
SSL(Secure Socket Layer) | ์์ฉ๊ณ์ธต๊ณผ TCP/IP ๊ณ์ธต ์ฌ์ด์์ ์น ๋ฐ์ดํฐ ์ํธํ ๋ฐ ์ ์ก ์ ๊ธฐ๋ฐ์ฑ์ ๋ณด์ฅํ๋ ๊ณต๊ฐํค ๊ธฐ๋ฐ์ ๋ณด์ ํ๋กํ ์ฝ |
์ํธ | ์ผ๋ฐฉํฅ ํด์ ํจ์์์ ๋ค์ด์ ์คํธ๋ฅผ ์์ฑํ ๋ ์ถ๊ฐ๋๋ ๋ฐ์ดํธ ๋จ์์ ์์์ ๋ฌธ์์ด |
์ธ์ ํ์ด์ฌํน ๐ด | TCP ์ ๋ขฐ์ฑ ๊ธฐ๋ฐ์ ์ฐ๊ฒฐ์ ์ด์ฉํ ๊ณต๊ฒฉ ๋ฐฉ๋ฒ์ผ๋ก ํต์ ๋ด์ฉ์ ์ฟ๋ณด๊ฑฐ๋ ์ธ์ ์ ๊ฐ๋ก์ฑ์ด ์ ์์ ์ธ ์ธ์ฆ ๊ณผ์ ์ ๋ฌด์ํ๊ณ , ๋ถ๋ฒ์ผ๋ก ์์คํ ์ ์ ๊ทผํ ์ ์๋ ๊ณต๊ฒฉ |
Mutex ์ํธ๋ฐฐ์ | ์๊ณ์์ญ์ ๊ฐ์ง ์ค๋ ๋๋ค์ ์คํ ์๊ฐ์ด ์๋ก ๊ฒน์น์ง ์๊ฒ ๊ฐ๊ฐ ๋จ๋ ์ผ๋ก ์คํ๋๊ฒ ํ๋ ๊ธฐ์ |
LEAD | ํํฐ์ ๋ณ ์๋์์ ์ดํ ๋ก์ฐ์ ๊ฐ์ ๋ฐํํ๋ ํจ์ |
์ธ์ | ํด๋ผ์ด์ธํธ์ ์๋ฒ์ ๋ ผ๋ฆฌ์ ์ธ ์ฐ๊ฒฐ |
์ฑ๊ธํค ํจํด | ์ ์ญ ๋ณ์๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๊ฐ์ฒด๋ฅผ ํ๋๋ง ์์ฑํ๋๋ก ํ๋ฉฐ, ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ด๋์์๋ ์ง ์ฐธ์กฐํ ์ ์๋๋ก ํ๋ ํจํด |
๋ชจ๋ธ ์ฒดํน | ์ ํ์ธ์ด๋ก ๋ช ์ธ๋ ๋ชจ๋ธ์ ๊ฒ์ฆํ๊ณ ์ ํ๋ ํน์ฑ์ ๋ง์กฑํ๋์ง ์ ์ฆํ๋ ๊ธฐ๋ฒ |
** ์ธ์ ์ ์น ๊ฐ๋ฐ์์ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ํ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ๊ฐ๋ ์ด๋ฉฐ, IP๋ ๋คํธ์ํฌ ํต์ ์์ ๊ธฐ๊ธฐ๋ฅผ ์ธํฐ๋ท์์ ์๋ณํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ์ฃผ์ ์ฒด๊ณ์ ๋๋ค.
10์ฅ. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ํ์ฉ
10-1. ๊ธฐ๋ณธ ๋ฌธ๋ฒ ํ์ฉํ๊ธฐ
๋ณ์ ํ์ฉ
- ๋ฐ์ธ๋ฉ
- ์ ์ ๋ฐ์ธ๋ฉ - ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ ์ ์ ์์ฑ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์
- ๋์ ๋ฐ์ธ๋ฉ - ํ๋ก๊ทธ๋จ ์คํ ์๊ฐ์ ์์ฑ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ์
- ์๋ฃ๊ตฌ์กฐ
- ์ปดํจํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ , ์ญ์ , ์์ ํ๊ฒ ํด์ฃผ๋ ๋ ผ๋ฆฌ์ ์ธ ๊ณต๊ฐ ๊ตฌ์กฐ
- ๋จ์๊ตฌ์กฐ / ์ ํ๊ตฌ์กฐ / ๋น์ ํ๊ตฌ์กฐ / ํ์ผ๊ตฌ์กฐ
float
์ 4๋ฐ์ดํธ ์์์ 6์๋ฆฌ๊น์ง ํํ,double
์ 8๋ฐ์ดํธ ์์์ 15์๋ฆฌ๊น์ง ํํ
- ์๊ณ ๋ฆฌ์ฆ
- ์ด๋ค ๋ฌธ์ ์ ๋ํ ๋ต์ ์ฐพ๋ ํด๋ฒ
- ๋ฐ์ดํฐ ํ์
- ์ค์์น, ์ ์ ์๋ฃํ๊ณผ ๊ฐ์ ์ฌ๋ฌ ์ข ๋ฅ์ ๋ฐ์ดํฐ๋ฅผ ์๋ณํ๋ ํํ
- ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๊ณ 2์ง์ ๋ฐ์ดํฐ๋ฅผ ๋ค์ํ ํํ๋ก ์ฌ์ฉํ๊ธฐ ์ํด ์กด์ฌ
- ๋ณ์
- ์ ์ฅํ๊ณ ์ ํ๋ ์ด๋ค ๊ฐ์ด ์์ ๋, ๊ทธ ๊ฐ์ ์ฃผ๊ธฐ์ต ์ฅ์น์ ๊ธฐ์ตํ๊ธฐ ์ํ ๊ณต๊ฐ์ ์๋ฏธ
- ์ด๋ค ๊ฐ์ ์ฃผ๊ธฐ์ต ์ฅ์น์ ๊ธฐ์ตํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๊ณต๊ฐ์ด๊ณ , ๋ฐ์ดํฐ ํ์ ์ ๋ณ์๊ฐ ๊ฐ์ง ์ ์๋ ์์ฑ๊ฐ์ ๊ธธ์ด ๋ฐ ์ฑ์ง์ ๋๋ค.
์ฐ์ฐ์
ํ๋ก๊ทธ๋จ ์คํ์ ์ํด ์ฐ์ฐ์ ํํํ๋ ๊ธฐํธ๋ก ์ฐ์ ์ฐ์ฐ์, ์ํํธ ์ฐ์ฐ์, ๊ด๊ณ์ฐ์ฐ์, ๋
ผ๋ฆฌ์ฐ์ฐ์, ๋นํธ์ฐ์ฐ์, ๋์
์ฐ์ฐ์, ์ฆ๊ฐ์ฐ์ฐ์
&
๋ ๊ฐ์ ๋นํธ๋ก ์ฐ์ฐํ์ฌ ๋ชจ๋ ์ฐธ์ด๋ฉด ์ฐธ์ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ์ง์ ๋ฐํํ๋ ์ฐ์ฐ์|
๋ ๊ฐ์ ๋นํธ๋ก ์ฐ์ฐํ์ฌ ํ๋๊ฐ ์ฐธ์ด๋ฉด ์ฐธ์ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ์ง์ ๋ฐํํ๋ ์ฐ์ฐ์^
๋ ๊ฐ์ ๋นํธ๋ก ์ฐ์ฐํ์ฌ ์๋ก ๋ค๋ฅด๋ฉด ์ฐธ์ ๋ฐํํ๊ณ , ๊ทธ๋ ์ง ์์ผ๋ฉด ๊ฑฐ์ง์ ๋ฐํํ๋ ์ฐ์ฐ์
์ฌ์ฉ์ ์ ์ ์๋ฃํ
์ฌ์ฉ์๊ฐ ์ํฉ์ ๋ง๊ฒ ๊ธฐ์กด ์๋ฃํ์ ์กฐํฉํด์ ๋ง๋๋ ์๋ฃํ
- ์ด๊ฑฐ์ฒด(Enumeration)
- ์๋ก ์ฐ๊ด๋ ์ ์ํ ์์๋ค์ ์งํฉ
- ๊ตฌ์กฐ์ฒด(Structure)
- ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ ํ์
์ ๊ฐ์ง๊ณ ์๋กญ๊ฒ ์ ์ํ ์ ์๋ ์ฌ์ฉ์ ์๋ฃํ
struct ๊ตฌ์กฐ์ฒด๋ช { char gender; int age; int school_name; }
- ์ฌ์ฉ์๊ฐ ๊ธฐ๋ณธ ํ์
์ ๊ฐ์ง๊ณ ์๋กญ๊ฒ ์ ์ํ ์ ์๋ ์ฌ์ฉ์ ์๋ฃํ
- ๊ณต์ฉ์ฒด(Union)
- ๋ชจ๋ ๋ฉค๋ฒ ๋ณ์๊ฐ ํ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ณต์ ํ๋ ์ฌ์ฉ์ ์ ์ ์๋ฃํ
- ๋ชจ๋ ๋ณ์๊ฐ ๋ค๋ฅธ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ์๋ ๊ตฌ์กฐ์ฒด์ ๋ฌ๋ฆฌ, ๊ณต์ฉ์ฒด๋ ๋ชจ๋ ๋ณ์๊ฐ ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ์ ํ ๋น๋์ด ์์
union ๊ตฌ์กฐ์ฒด๋ช { char gender; int age; int school_name; }
์ถ์ํ์ ์์
- ์ถ์ํ๋ ์ธ๋ถ ์ฌํญ์ ๋ฐฐ์ ํ๊ณ ์ค์ํ ๋ถ๋ถ์ ์ค์ฌ์ผ๋ก ๊ฐ๋ตํํ๋ ๊ธฐ๋ฒ
- ์์์ ์์ ์์ค ๊ทธ๋ฃน์ ๋ชจ๋ ํน์ฑ์ ํ์ ์์ค ๊ทธ๋ฃน์ด ์ด์ด๋ฐ์ ์ฌ์ฌ์ฉ ๋๋ ํ์ฅํ๋ ๊ธฐ๋ฒ
- ๊ตฌ์ฒดํ๋ ํ์ ์์ค ๊ทธ๋ฃน์ด ์์ ์์ค ๊ทธ๋ฃน์ ์ถ์์ ์ธ ๋ถ๋ถ์ ๊ตฌ์ฒดํํ๋ ๋ฐฉ๋ฒ
10-2. ์ธ์ด ํน์ฑ ํ์ฉํ๊ธฐ
๊ตฌํ ๊ธฐ๋ฒ์ ๋ฐ๋ฅธ ๋ถ๋ฅ
- ์ปดํ์ผ ๋ฐฉ์์ ์ธ์ด
- ๊ณ ๊ธ ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ ๋ฐฉ์์ ์ธ์ด
- FORTRAN, PASCAL, C, C++
- ์ธํฐํ๋ฆฌํฐ ๋ฐฉ์์ ์ธ์ด
- ๊ณ ๊ธ ์ธ์ด ๋ช ๋ น๋ฌธ์ ํ๋์ฉ ๋ฒ์ญํ๊ณ ์คํํ๋ ๋ฐฉ์์ ์ธ์ด
- BASIC, ํ๋กค๋ก๊ทธ, LISP
- ํผํฉํ ๋ฐฉ์์ ์ธ์ด
- ๊ณ ๊ธ ์ธ์ด๋ฅผ ์ปดํ์ผํ์ฌ ์ค๊ฐ ์ธ์ด๋ก ๋ณํํ ํ, ์ธํฐํ๋ฆฐํฐ์ ์ํด ๋ฒ์ญ์ ์คํํ๋ ๋ฐฉ์์ ์ธ์ด
- ์๋ฐ
ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณ ํน์ฑ
- ์ ์ฐจ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
- ALGOL, C, BASIC, FORTRAN
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด
- ๊ฐ์ฒด์ ๊ฐ์ฒด ๊ฐ ํต์ ์ ํตํด ํ๋ก๊ทธ๋จ์ ๊ตฌํ
- ๊ฐ์ฒด, ํด๋์ค, ๋ฉ์์ง
- ๊ฐ์ฒด์ ๊ตฌ์ฑ์์ - ๊ฐ์ฒด, ์์ฑ, ๋ฉ์๋
- C++, C, JAVA, Delphi
- ์คํฌ๋ฆฝํธ ์ธ์ด
- PHP, Perl, Python, JS
- ์ ์ธํ ์ธ์ด
- ํ์ค์ผ, ๋ฆฌ์คํ, ํ๋กค๋ก๊ทธ, SQL
๋ผ์ด๋ธ๋ฌ๋ฆฌ
ํจ์จ์ ์ธ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ํด ํ์ํ ํ๋ก๊ทธ๋จ์ ๋ชจ์ ๋์ ์งํฉ์ฒด, ๋ชจ๋๊ณผ ํจํค์ง
10-3. ํ๋ก๊ทธ๋๋ฐ ์์ ๋ฐ ์๊ณ ๋ฆฌ์ฆ
C ์ธ์ด
#includ<stdio.h>
void main(){
char a = 'B';
printf("a\n"); // a
// printf๋ง์ผ๋ก๋ ๋์ด์ฐ๊ธฐ ์๋จ
}
๐ด
void main(){
char *p="KOREA";
printf("%s\n", p); // KOREA
printf("%s\n", p+3); // EA
printf("%c\n", *p); // K
printf("%c\n", *(p+3)); // E
printf("%c\n", *p+2); // M
}
// p๋ผ๋ ํฌ์ธํฐ๋ KOREA๋ผ๋ ์ ์ฅ๊ณต๊ฐ์ด ํ ๋น๋ ๊ณณ์ ๊ฐ๋ฆฌํค๋๋ฐ, ๋ฌธ์ ๋ง์ง๋ง์๋ NULL์ด ์๋์ผ๋ก ์์ฑ
// %s๋ ๋ฌธ์์ด์ ์ถ๋ ฅํ๊ณ , %c๋ ๋ฌธ์๋ฅผ ์ถ๋ ฅ
// p๋ฅผ ์ถ๋ ฅํ๋ฉด p ์ฃผ์๋ถํฐ NULL๊น์ง์ ๊ฐ์ ์ฝ์ด์ค๋ฏ๋ก, 'KOREA'๊ฐ ์ถ๋ ฅ
// p+3์ ์ถ๋ ฅํ๋ฉด K์์ 3๋ฒ์งธ์ธ E๋ถํฐ NULL๊น์ง ์ฝ์ผ๋ฏ๋ก 'EA'๊ฐ ์ถ๋ ฅ
C++ ์ธ์ด
using namespace std;
๋ฅผ ์ฌ์ฉํ์ผ๋ฏ๋ก std::cout
์์ฑํ ํ์๊ฐ ์์ต๋๋ค. (๋ค์์คํ์ด์ค์ ํฌํจ๋จ์ ๋ช
์)
#includ<iostream>
using namespace std;
void main(){
cout << "Hello world";
}
cout << endl;
cout << hex << a << endl; // a ๋ณ์๊ฐ์ 16์ง์๋ก ์ถ๋ ฅ
cout << (a<<2) << endl; // a๋ฅผ ์ผ์ชฝ์ผ๋ก 2๋นํธ ์ด๋ํ ๊ฒฐ๊ณผ๋ฅผ 10์ง์๋ก ์ถ๋ ฅ
ํ์ด์ฌ
ํ์ด์ฌ ํจ์ ๐ด
- extend: ์์๋ฅผ ํ์ฅํด์ค๋ค๋ ์๋ฏธ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ๋ชจ๋ ํญ๋ชฉ์ ํ๋์ ์์๋ก ์ถ๊ฐ
- pop: ๋ฆฌ์คํธ ๋ด๋ถ ์์๋ฅผ ๊บผ๋ด์ฃผ๋ ํจ์๋ก์จ, ๊ทธ ์์๋ ๋ฆฌ์คํธ ์์์ ์ญ์ ํ๊ณ ๊ทธ ๊ฐ์ ๋ฐํ
- reverse: ๋ฆฌ์คํธ ๋ด๋ถ์ ์์์ ์์๋ ๋ค์ง๋ ์ญํ
print(oct(a)); // a ๋ณ์๊ฐ์ 16์ง์๋ก ์ถ๋ ฅ
print(7/3); // 2.33333 ํ์ด์ฌ์์๋ง '/' ๊ธฐํธ๊ฐ์ผ๋ก ์์์ ๊น์ง ๋ค ์ถ๋ ฅ
// '%' ์ฐ์ฐ์ ๋ค๋ฅธ ์ธ์ด๋ค๊ณผ ๋์ผ
for i in range(1,10): // 1~9๊น์ง ์ฐ์ฐ
print(ai)
class A:
def fnA():
print('Aํด๋์ค')
class B(A): // A ํด๋์ค ์์
def fnB():
print('Bํด๋์ค')
a.update({'ํ์ฝฉ', 'ํ๊ตญ', 'ํ๊ตญ'}) // ๊ธฐ์กด a์์ ์ค๋ณต ์ ์ธ ์ถ๊ฐ
print(a)
// {'ํ์ฝฉ', 'ํ๊ตญ', 'ํ๊ตญ'} ์ด๋ ๊ฒ {}๊น์ง ์ถ๋ ฅ ๐ด
lol=[[1,2,3],[4,5],[6,7,8,9]]
print(lol[0])
print(lol[2][1])
for sumb in lol:
for item in sub:
print(item, end='')
print()
[1,2,3] ๐ด
7
123
45
6789
a = 100
result = 0
for i in range(1,3); // i = 1 or 2
result = a >> i
result = result + 1
print(result)
// 26
range(1,3)
์์ ๋ ๊ฐ์ ์ ์ธํ๊ณ 1, 2๋ง ๋์- list์ ๊ฒฝ์ฐ์๋
[0:3]
์ธ ๊ฒฝ์ฐ์๋ ๋ ๊ฐ์ ์ ์ธํ๊ณ 1, 2๋ง ๋์ - i๊ฐ 1์ผ ๋,
1100100
๊ฐ์>>
์ฒ๋ฆฌํ๋ฉด110010
์ด ๋๊ณ , ์ด ๊ฐ์ด result๊ฐ ๋๋ค. - i๊ฐ 2์ผ ๋๋ ๋์ผํ๊ฒ ์งํ! ์ฌ๊ธฐ์ ์ฃผ์ํ ์ ์ a ๊ฐ์ ๊ณ์ 100์ผ๋ก ๋ณํ๊ฐ ์๋ค๋ ๊ฒ์ด๋ค. ๐ด
์๋ฐ
public class Conv{
public Conv(int a) {
this.a = a;
}
int func() {
int b =1;
for (int i=1; i<a; i++){
b = a * i + b;
}
return a + b;
}
}
public static void main(String[] args){
Conv obj = new Conv(3);
obj.a=5;
int b = obj.func();
system.out.print(obj.a + b); // 61
}
- b๋ a๊ฐ 1~4์ผ ๋์ func()์ return ๊ฐ์ ๊ตฌํ๋ฉด ๋๋ ๋ฌธ์ ์ ๋๋ค.
- func()์ ์ฐ์ฐ์ ์์๋๋ก ๋ณด๋ฉด, ๐ด
- b = 5*1+1 = 6
- b = 5*2+6 = 16
- b = 5*3+16 = 31
- b = 5*4+31 = 51
- return ๊ฐ์ 5+51=56 ์ด ๋ฉ๋๋ค.
- ๋ฐ๋ผ์ obj.a+b = 5+56 = 61
public class testco {
public static void main(String[] args) {
int a = 3, b = 4, c = 3, d = 5;
if((a == 2 | a == c) & !(c > d) & (1 == b ^ c != d)) {
a = b + c;
if(7 == b ^ c != a) {
System.out.println(a); // 7
} else {
System.out.println(b);
}
} else {
a = c + d;
if(7 == c ^ d != a) {
System.out.println(a);
} else {
System.out.println(d);
}
}
}
}
// 7
^
XOR์ฐ์ฐ์๋ก์จ ๋ ๊ฐ์ด ๊ฐ์ผ๋ฉด False, ์๋๋ฉด True๋ฅผ ๋ฐํํ๋ค1 == b ^ c != d
๋ถ๋ถ์1 == b
์c != d
๋ก ๋๋์ด์ ์๊ฐํ๋ค.1 == b
๋ ๊ฑฐ์ง์ด์ง๋งc != d
๋ ์ฐธ์ด๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ์ ์ผ๋ก^
์ฐ์ฐ์ผ๋ก true๊ฐ ๋๋ค. ๐ด
public class ClassA {
public static void main(String args[]) {
System.out.println(check(1));
}
static String check(int num){
}
}
// static
- ํด๋์ค๋ฅผ ์์ฑํ์ง ์๊ณ ์ฌ์ฉํ ์ ์๋ ๋ฉ์๋๋ฅผ ์ ์ธํ ๋ ์ฌ์ฉํ๋ static ๐ด
class Parent{
public int compute(int num){
if(num<=1) return num;
return compute(num-1)+compute(num-2);
}
}
class Child extends Parent{
public int compute(int num){
if(num<=1) return num;
return compute(num-1)+compute(num-3);
}
}
class Main{
public staic void main(String[] args){
Parent obj = new Child();
System.out.print(obj.compute(4));
}
}
- ์ค๋ฒ๋ผ์ด๋ฉ์ผ๋ก Child์ compute ๋ฉ์๋๋ฅผ ์คํ ๐ด
- compute(1) + compute(-1) + compute(0) + compute(1) = 1
๋
ผ๋ฆฌ์ฐ์ฐ์
์ผ๋ฐ์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์์ 0์ด๋ฉด False
๋ฅผ ๋ํ๋ด๊ณ 0 ์ด์ธ์ ๊ฐ์ True
๋ก ํ๋จ
์ ๊ทผ์ ์ด ์ง์์
- private ์ธ์คํด์ค ๋ณ์์ ๋ฉ์๋๋ ์ ์ธ๋ ํด๋์ค ๋ด๋ถ์์ ์ ๊ทผ ๊ฐ๋ฅ
- protected ์์๋ฐ์ ํด๋์ค์ ์ ๊ทผ์ ํ์ฉ
- public ์ด๋์๋ ์ ๊ทผ ๊ฐ๋ฅํ ์ธ์คํด์ค ๋ณ์ ๋ฐ ๋ฉ์๋
- ํ์ด์ฌ์์
_
(private),__
(protected)
์ค๋ฒ๋ก๋ฉ
๋์ผ ์ด๋ฆ์ ๋ฉ์๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ ์ํ ์ ์๋ ํน์ฑ
- ๋ฉ์๋ ์ด๋ฆ์ด ๊ฐ๊ณ , ๋งค๊ฐ๋ณ์ ์๋ ํ์ ์ด ๋ค๋ฅธ ํน์ฑ์ ๊ฐ์ง
- ๋ฐํํ์ ๊ฐ๊ฑฐ๋ ๋ฌ๋ผ๋ ๋จ
- ํ์ด์ฌ์ ๋ฉ์๋ ์ค๋ฒ๋ก๋ฉ์ ์ง์ํ์ง ์์
์ค๋ฒ๋ผ์ด๋ฉ
ํ์ ํด๋์ค์์ ์์ ํด๋์ค๋ฅผ ์ฌ์ ์ํ ์ ์๋ ํน์ฑ
- ๋ฉ์๋๋ ์์ํด๋์ค์ ๋์ผ(๋งค๊ฐ๋ณ์, ๋ฉ์๋๋ช , ๋ฐํํ์ ๋ชจ๋)
์ธํฐํ์ด์ค
์๋ฐ์ ๋คํ์ฑ์ ๊ทน๋ํํ์ฌ ๊ฐ๋ฐ์ฝ๋ ์์ ์ ์ค์ด๊ณ ํ๋ก๊ทธ๋จ ์ ์ง๋ณด์์ฑ์ ๋์ด๊ธฐ ์ํ ๋ฌธ๋ฒ
์ถ์ํด๋์ค
๋ฏธ๊ตฌํ ์ถ์ ๋ฉ์๋๋ฅผ ํ ๊ฐ ์ด์ ๊ฐ์ง๋ฉฐ, ์์ ํด๋์ค์์ ํด๋น ์ถ์ ๋ฉ์๋๋ฅผ ๋ฐ๋์ ๊ตฌํํ๋๋ก ๊ฐ์ ํ๋ ๋ฌธ๋ฒ
์์๋ฐ์ ํด๋์ค๋ ์ถ์ ๋ฉ์๋๋ฅผ ๊ตฌํํ์ง ์์๋, importํ ๋๊น์ง ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์ผ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ๋ ์๋ฌ๊ฐ ๋ฐ์
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
์ปดํ์ผ๋ฌ | FORTRAN, C์ ๊ฐ์ ๊ณ ๊ธ ์ธ์ด๋ฅผ ๊ธฐ๊ณ์ด๋ก ๋ฒ์ญํ๋ ํ๋ก๊ทธ๋จ์ด์ ๋๊ตฌ |
์ธํฐํ๋ฆฌํฐ | ํ๋ก๊ทธ๋จ ๋ฌธ์ฅ์ ํ๋์ฉ ๋ฒ์ญํ๊ณ ์คํํ ์ ์๋๋ก ํ๋ ํ๋ก๊ทธ๋จ |
11์ฅ. ์์ฉ SW ๊ธฐ์ด ๊ธฐ์ ํ์ฉ
11-1. ์ด์์ฒด์ ์ ํน์ง
์ ๋์ค ์ด์์ฒด์ ๐ด
๋ฐ๋์ค ๋ฆฌ์น์ ์ผํฐ์จ ๋ฑ์ด ํจ๊ป ๋ฒจ ์ฐ๊ตฌ์๋ฅผ ํตํด ๋ง๋ ์ด์์ฒด์ ์ด๋ฉฐ, 90% ์ด์ C์ธ์ด๋ก ๊ตฌํ๋์ด ์๊ณ , ์์คํ ํ๋ก๊ทธ๋จ์ด ๋ชจ๋ํ๋์ด ์์ด ๋ค๋ฅธ ํ๋์จ์ด ๊ธฐ์ข ์ผ๋ก ์ฝ๊ฒ ์ด์ ๊ฐ๋ฅํ๋ฉฐ ๊ณ์ธต์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง์ผ๋ก์จ ํตํฉ์ ์ธ ํ์ผ ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ ์ด์์ฒด์
๊ต์ก ๋ฐ ์ฐ๊ตฌ ๊ธฐ๊ด์์ ์ฌ์ฉ๋๋ ๋ฒ์ฉ ๋ค์ค ์ฌ์ฉ์ ๋ฐฉ์์ ์ฌ๋ถํ ์ด์์ฒด์
๋ํ์ ์ด์์ฒด์ , ๋ค์ค ์์
๊ธฐ๋ฅ ์ ๊ณต, ๋ค์ค ์ฌ์ฉ์ ๊ธฐ๋ฅ ์ ๊ณต, ์ด์์ฑ ์ ๊ณต, ๊ณ์ธต์ ํธ๋ฆฌ ๊ตฌ์กฐ ํ์ผ ์์คํ
์ ๊ณต
- ๋ฆฌ๋ ์ค ์ด์์ฒด์
- ๋งฅ ์ด์์ฒด์
- ์๋๋ก์ด๋ ์ด์์ฒด์ ๐ด
- ๊ตฌ๊ธ์์ ๊ฐ๋ฐํ ์ด์์ฒด์ ๋ก ๋ฆฌ๋ ์ค ์์์ ๊ตฌ๋ํ๋ฉฐ ํด๋ํฐ ์ ํ๋ฅผ ๋น๋กฏํ ํด๋์ฉ ์ฅ์น๋ฅผ ์ํ ์ด์ ์ฒด์ ์ ๋ฏธ๋ค์จ์ด, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๊ทธ๋ฆฌ๊ณ ํ์ค ์ด์ ํ๋ก๊ทธ๋จ ๋ฑ์ ํฌํจํ๊ณ ์๋ ์ํํธ์จ์ด ์คํ์ด์ ๋ฆฌ๋ ์ค ๋ชจ๋ฐ์ผ ์ด์์ฒด์
์ด์์ฒด์ ํต์ฌ ๊ธฐ๋ฅ
- ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ
- ํ๋ก๊ทธ๋๋ฏ์ด ์คํ์ด ์ข ๋ฃ๋ ๋๊น์ง ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ธฐ์ฉํ ์ํ๋ก ์ ์ง ๋ฐ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ
- ๋ฉ๋ชจ๋ฆฌ์ ์๋ ํ๋ก๊ทธ๋จ์ CPU๋ก ์ด๋ํ์ฌ ์ฒ๋ฆฌ
- ๋ฐ์ ๊ธฐ๋ฒ, ๋ฐฐ์น๊ธฐ๋ฒ, ํ ๋น๊ธฐ๋ฒ, ๊ต์ฒด๊ธฐ๋ฒ
- ํ๋ก์ธ์ค ๊ด๋ฆฌ
- CPU์ ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๋ ์ํฉ์์ ํ์ฌ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ถ๋ถ, ๋ฉ๋ชจ๋ฆฌ ์ ์ถ๋ ฅ ์์, ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ ํ๋ณด ๋ฑ ํ๋ก์ธ์ค์ ๋ํ ์ข ํฉ์ ์ธ ๊ด๋ฆฌ ๊ธฐ๋ฒ
ํ๋ก์ธ์ค ์ํ
- ์์ฑ์ํ, ์ค๋น์ํ, ์คํ์ํ, ๋๊ธฐ์ํ(์ฐ์ ์์๊ฐ ์กด์ฌํ์ง ์์), ์๋ฃ์ํ ๐ด
ํ๋ก์ธ์ค ์ํ์ ์ด
- ๋์คํจ์น(Dispatch)
- ์ค๋น ์ํ์ ์๋ ์ฌ๋ฌ ํ๋ก์ธ์ค ์ค ์คํ๋ ํ๋ก์ธ์ค๋ฅผ ์ ์ ํ์ฌ CPU ํ ๋น - ๋ฌธ๋งฅ๊ตํ ๋ฐ์
- ํ์ด๋จธ ๋ฐ ์์(Timer run out)
- ๋์คํจ์น์ ๋ฐ๋๋ก CPU๋ฅผ ํ ๋น๋ฐ์ ํ๋ก์ธ์ค๋ ์ง์ ๋ ์๊ฐ์ด ์ด๊ณผ๋๋ฉด ์ค์ผ์ค๋ฌ์ ์ํด PCB ์ ์ฅ, CPU ๋ฐ๋ฉ ํ ๋ค์ ์ค๋น ์ํ๋ก ์ ์ด๋จ
- ๋ธ๋ก(Block/Sleep)
- ์คํ์ํ์์ ํ๋ก์ธ์ค๊ฐ ์ง์ ๋ ํ ๋น์๊ฐ์ ์ด๊ณผํ๊ธฐ ์ ์ ์ ์ถ๋ ฅ์ด๋ ๊ธฐํ ์ฌ๊ฑด์ด ๋ฐ์ํ๋ฉด CPU๋ฅผ ์ค์ค๋ก ๋ฐ๋ฉํ๊ณ ์ ์ถ๋ ฅ์ด ์๋ฃ๋ ๋๊น์ง ๋๊ธฐ ์ํ๋ก ์ ์ด๋จ
- ์จ์ดํฌ์
(Wake-up)
- ์ด๋ ์๊ฐ์ ์ ์ถ๋ ฅ์ด ์ข ๋ฃ๋๋ฉด ๋๊ธฐ ์ํ์ ํ๋ก์ธ์ค์๊ฒ ์ ์ถ๋ ฅ ์ข ๋ฃ ์ฌ์ค์ wait & signal ๋ฑ์ ์ํด ์๋ ค์ฃผ๊ณ , ์ค๋น ์ํ๋ก ์ ์ด๋จ
- Swap-in
- ํ๋ก์ธ์ค์๊ฒ ๋ค์ ๊ธฐ์ต์ฅ์น๊ฐ ํ ๋น๋ ๊ฒฝ์ฐ
- ์ง์ฐ์ค๋น/์ง์ฐ๋๊ธฐ ์ํ์์ ์ค๋น ๋๋ ๋๊ธฐ ์ํ๋ก
- Swap-out
- ํ๋ก์ธ์ค๊ฐ ๊ธฐ์ต์ฅ์น๋ฅผ ์์ ๊ฒฝ์ฐ
ํ๋ก์ธ์ค ์ค์ผ์ค๋ง
CPU๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋ ํ๋ก์ธ์ค๋ค ์ฌ์ด์ ์ฐ์ ์์๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฒ
- ์ ์ ํ ์ค์ผ์ค๋ง, ๋น์ ์ ํ ์ค์ผ์ค๋ง
์ ์ ํ ์ค์ผ์ค๋ง
ํ๋์ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ์ฐจ์งํ๊ณ ์์ ๋ ์ฐ์ ์์๊ฐ ๋์ ๋ค๋ฅธ ํ๋ก์ธ์ค๊ฐ ํ์ฌ ํ๋ก์ธ์ค๋ฅผ ์ค๋จ์ํค๊ณ CPU๋ฅผ ์ ์ ํ๋ ์ค์ผ์ค๋ง ๋ฐฉ์
๋ผ์ด๋ ๋ก๋น, SRT, ๋ค๋จ๊ณ ํ, ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ
- ๋ผ์ด๋ ๋ก๋น RR ๐ด
- ํ๋ก์ธ์ค๋ ๊ฐ์ ํฌ๊ธฐ์ CPU ์๊ฐ์ ํ ๋น, ํ๋ก์ธ์ค๊ฐ ํ ๋น๋ ์๊ฐ ๋ด ์ฒ๋ฆฌ ์๋ฃ๋ฅผ ๋ชปํ๋ฉด ์ค๋น ํ ๋ฆฌ์คํธ์ ๊ฐ์ฅ ๋ค๋ก ๋ณด๋ด์ง๊ณ , CPU๊ฐ ๋๊ธฐ ์ค์ธ ๋ค์ ํ๋ก์ธ์ค๋ก ๋์ด๊ฐ
- SRT(Shortest Remaining Time First) ๐ด
- ๊ฐ์ฅ ์งง์ ์๊ฐ์ด ์์๋๋ ํ๋ก์ธ์ค๋ฅผ ๋จผ์ ์ํํ๊ณ , ๋จ์ ์ฒ๋ฆฌ ์๊ฐ์ด ๋ ์งง๋ค๊ณ ํ๋จ๋๋ ํ๋ก์ธ์ค๊ฐ ์ค๋น ํ์ ์๊ธฐ๋ฉด ์ธ์ ๋ผ๋ ํ๋ก์ธ์ค๊ฐ ์ ์ ๋จ
- ๋ค๋จ๊ณ ํ
- ์์ ๋ค์ ์ฌ๋ฌ ์ข ๋ฅ ๊ทธ๋ฃน์ผ๋ก ๋ถํ , ์ฌ๋ฌ ๊ฐ ํ๋ฅผ ์ด์ฉํ์ฌ ์์๋จ๊ณ ์์ ์ ์ํ ํ์๋จ๊ณ ์์ ์ด ์ ์ ๋นํจ
- ๋ค๋จ๊ณ ํผ๋๋ฐฑ ํ
- ์ ์ถ๋ ฅ ์์ฃผ์ CPU ์์ฃผ์ธ ํ๋ก์ธ์ค์ ํน์ฑ์ ๋ฐ๋ผ ํ๋ง๋ค ์๋ก ๋ค๋ฅธ CPU ์๊ฐ ํ ๋น๋์ ๋ถ์ฌ
๋น์ ์ ํ ์ค์ผ์ค๋ง
ํ ํ๋ก์ธ์ค๊ฐ CPU๋ฅผ ํ ๋น๋ฐ์ผ๋ฉด ์์
์ข
๋ฃ ํ CPU ๋ฐํ์๊น์ง ๋ค๋ฅธ ํ๋ก์ธ์ค๋ CPU ์ ์ ๊ฐ ๋ถ๊ฐ๋ฅํ ์ค์ผ์ค๋ง ๋ฐฉ์
์ฐ์ ์์, ๊ธฐํ๋ถ, FCFS, HRN, SJF
- ์ฐ์ ์์
- ํ๋ก์ธ์ค๋ณ ์ฐ์ ์์๊ฐ ์ฃผ์ด์ง๊ณ ์ฐ์ ์์์ ๋ฐ๋ผ CPU๋ฅผ ํ ๋น, ๋์ผ ์์๋ FCFS
- ๊ธฐํ๋ถ
- ์์ ๋ค์ด ๋ช ์๋ ์๊ฐ์ด๋ ๊ธฐํ ๋ด ์๋ฃ๋๋๋ก ๊ณํ
- FCFS(First Come First Service) = FIFO
- ํ๋ก์ธ์ค๊ฐ ๋๊ธฐ ํ์ ๋์ฐฉํ ์์์ ๋ฐ๋ผ CPU๋ฅผ ํ ๋นํจ
- SJF(Shortest Job First) ๐ด
- ํ๋ก์ธ์ค๊ฐ ๋์ฐฉํ๋ ์์ ์ ๋ฐ๋ผ ๊ทธ ๋น์ ๊ฐ์ฅ ์์ ์๋น์ค ์๊ฐ์ ๊ฐ๋ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ์๊น์ง ์์ ์ ์
- ๊ธฐ์ํ์ ๋ฐ์
- HRN(Highest Response Radio Next)
- ๋๊ธฐ ์ค์ธ ํ๋ก์ธ์ค ์ค ํ์ฌ ์๋ต๋ฅ ์ด ๊ฐ์ฅ ๋์ ๊ฒ์ ์ ํ
- SJF์ ์ฝ์ ์ธ ๊ธฐ์ํ์์ ๋ณด์ํ ๊ธฐ๋ฒ์ผ๋ก ๊ธด ์์ ์๊ฐ๊ณผ ์งง์ ์์ ์๊ฐ ๊ฐ์ ๋ถํ๋ฑ ์ํ
(๋๊ธฐ์๊ฐ + ์๋น์ค์๊ฐ)/์๋น์ค์๊ฐ
๐ด
๊ฐ์ํ
๋ฌผ๋ฆฌ์ ์ธ ๋ฆฌ์์ค๋ค์ ์ฌ์ฉ์์๊ฒ ํ๋๋ก ๋ณด์ด๊ฒ ํ๊ฑฐ๋, ํ๋์ ๋ฌผ๋ฆฌ์ ์ธ ๋ฆฌ์์ค๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋ณด์ด๊ฒ ํ๋ ๊ธฐ์
๊ฐ์ํ๋ฅผ ์ด์ฉํ๋ฉด ์๋ฒ ์ฉ๋์ 20% ์ฌ์ฉ์ ๋ถ๊ณผํ๋ ๋ถ๋ถ์ 60~70% ์ด์์ผ๋ก ์ฌ๋ฆด ์ ์์ต๋๋ค.
ํด๋ผ์ฐ๋ ์ปดํจํ
์ธํฐ๋ท์ ํตํด ๊ฐ์ํ๋ ์ปดํจํฐ ์์คํ
๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ๊ณ , ์ ๋ณด๋ฅผ ์์ ์ ์ปดํจํฐ๊ฐ ์๋ ํด๋ผ์ฐ๋์ ์ฐ๊ฒฐ๋ ๋ค๋ฅธ ์ปดํจํฐ๋ก ์ฒ๋ฆฌํ๋ ๊ธฐ์
ํด๋ผ์ฐ๋ฉ ์ปดํจํ
์ ํ
- ์ธํ๋ผํ ์๋น์ค (IaaS, Infrastructure as a Service)
- ์๋ฒ, ์คํ ๋ฆฌ์ง ๊ฐ์ ์์คํ ์์์ ํด๋ผ์ฐ๋๋ก ์ ๊ณตํ๋ ์๋น์ค
- ํ๋ซํผํ ์๋น์ค (PaaS, Platform as a Service)
- ์ธํ๋ผ๋ฅผ ์์ฑ, ๊ด๋ฆฌํ๋ ๋ณต์กํจ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐ, ์คํ ๊ด๋ฆฌํ ์ ์๊ฒ ํ๋ ํ๋ซํผ์ ์ ๊ณตํ๋ ์๋น์ค
- ์ํํธ์จ์ดํ ์๋น์ค (SaaS, Software as a Service)
- ์ํํธ์จ์ด ๋ฐ ๊ด๋ จ ๋ฐ์ดํฐ๋ ์ค์์ ํธ์คํ ๋๊ณ ์ฌ์ฉ์๋ ์น ๋ธ๋ผ์ฐ์ ๋ฑ ํด๋ผ์ด์ธํธ๋ฅผ ํตํด ์ ์ํ์ฌ ์ํํธ์จ์ด๋ฅผ ์๋น์ค ํํ๋ก ์ด์ฉํ๋ ์๋น์ค
11-2. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ด ํ์ฉํ๊ธฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค
ํ์ผ ์์คํ
, ๊ณ์ธตํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋งํ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค
DBMS(Database Management System)
๋ฐ์ดํฐ ๊ด๋ฆฌ์ ๋ณต์ก์ฑ์ ํด๊ฒฐํ๋ ๋์์ ๋ฐ์ดํฐ ์ถ๊ฐ, ๋ณ๊ฒฝ, ๊ฒ์, ์ญ์ ๋ฐ ๋ฐฑ์
, ๋ณต๊ตฌ, ๋ณด์ ๋ฑ์ ๊ธฐ๋ฅ์ ์ง์ํ๋ ์ํํธ์จ์ด
- ํค-๊ฐ DBMS
- ์ปฌ๋ผ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ ์ฅ DBMS
- ๋ฌธ์์ ์ฅ DBMS
- ๊ทธ๋ํ DBMS
๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ / ์ผ๊ด์ฑ / ํ๋ณต์ฑ / ๋ณด์์ฑ / ํจ์จ์ฑ
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ์ฉ
ERD(E-R Diagram)
์
๋ฌด ๋ถ์๊ฒฐ๊ณผ๋ก ๋์ถ๋ ์ค์ฒด(์ํฐํฐ)์ ์ํฐํฐ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋์ํํ ๋ค์ด์ด๊ทธ๋จ, ์ํฐํฐ / ์์ฑ / ๊ด๊ณ
ํธ๋์ญ์
์ธ๊ฐ๋ฐ์ง ์์ ์ฌ์ฉ์๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฅํ๊ธฐ ์ํด DBMS๊ฐ ๊ฐ์ ธ์ผ ํ๋ ํน์ฑ์ด์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ
์์ ํ๋์ ๋
ผ๋ฆฌ์ ๊ธฐ๋ฅ์ ์ ์์ ์ผ๋ก ์ํํ๊ธฐ ์ํ ์์
์ ๊ธฐ๋ณธ ๋จ์
ํธ๋์ญ์
์ ํน์ฑ ACID
- ์์์ฑ(Atomicity) ๐ด
- ๋ถํด๊ฐ ๋ถ๊ฐ๋ฅํ ์์ ์ ์ต์๋จ์
- ์ฐ์ฐ ์ ์ฒด๊ฐ ์ฑ๊ณต ๋๋ ์คํจ
- ๊ตฌ์ฑํ๋ ์ฐ์ฐ ์์ฒด๊ฐ ๋ชจ๋ ์ ์์ ์ผ๋ก ์คํ๋๊ฑฐ๋ ๋ชจ๋ ์ทจ์๋์ด์ผ ํ๋ ํน์ฑ
- ์ผ๊ด์ฑ(Consistency)
- ํธ๋์ญ์ ์ด ์คํ ์ฑ๊ณต ํ ํฅ์ ์ผ๊ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๋ฅผ ๋ณด์กดํด์ผ ํ๋ ํน์ฑ
- ๊ฒฉ๋ฆฌ์ฑ(Isolation)
- ํธ๋์ญ์ ์คํ ์ค ์์ฑํ๋ ์ฐ์ฐ์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ ๊ทผ ๋ถ๊ฐํ ํน์ฑ
- ์์์ฑ(์ง์์ฑ)(Durability) ๐ด
- ์ฑ๊ณต์ด ์๋ฃ๋ ํธ๋์ญ์ ์ ๊ฒฐ๊ณผ๋ ์์์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๋ ํน์ฑ
ํธ๋์ญ์ ์ ์ด์ด(TCL, Transaction Control Language)
- COMMIT
- ROLLBACK ๐ด
- ํธ๋์ญ์ ์ฒ๋ฆฌ์ค ์ค๋ฅ๊ฐ ๋ฐ์ํ์ ๋, ์ค๋ฅ ์ด์ ์ ํน์ ์์ ์ผ๋ก ๋๋๋ ค์ฃผ๋ ๋ช ๋ น์ด
- CHECKPOINT
ํ๋ณต๊ธฐ๋ฒ์ ์ข ๋ฅ
- ๋ก๊ทธ ๊ธฐ๋ฐ ํ๋ณต ๊ธฐ๋ฒ
- ์ง์ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ (Deferred Update)
- ํธ๋์ญ์ ์ด ์๋ฃ๋๊ธฐ ์ ๊น์ง ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋กํ์ง ์๋ ๊ธฐ๋ฒ
- ์ฆ๊ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ (Immediate Update) ๐ด
- ํธ๋์ญ์ ์ํ ์ค ๊ฐฑ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก DB์ ๋ฐ์ํ๋ ๊ธฐ๋ฒ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๋ณต ๊ธฐ๋ฒ ์ค Rollback ์ Redo, Undo ๋ชจ๋ ์คํ๋๋ ํธ๋์ญ์
์ฒ๋ฆฌ๋ฒ์ผ๋ก ํธ๋์ญ์
์ํ ์ค ๊ฐฑ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ๋ก DB์ ๋ฐ์ํ๋ ๊ธฐ๋ฒ
- REDO ๐ด: ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ ๊น์ง์ ์ฌํญ์ ๋ก๊ทธ๋ก ๊ธฐ๋กํด ๋๊ณ ์ด์ ์ํ๋ก ๋๋์๊ฐ ํ ์คํจ๊ฐ ๋ฐ์ํ๊ธฐ ์ ๊น์ง์ ๊ณผ์ ์ ์ฌ์คํ
- UNDO ๐ด: ๋ก๊ทธ๋ฅผ ์ด์ฉํ์ฌ ์ค๋ฅ์ ๊ด๋ จ๋ ๋ด์ฉ์ ์ทจ์ํ์ฌ ๋ณต๊ตฌ
- ์ง์ฐ ๊ฐฑ์ ํ๋ณต ๊ธฐ๋ฒ (Deferred Update)
- ์ฒดํฌ ํฌ์ธํธ ํ๋ณต ๊ธฐ๋ฒ
- ์ฅ์ ๋ฐ์์ ๊ฒ์ฌ์ ์ดํ์ ์ฒ๋ฆฌ๋ ํธ๋์ญ์ ์ ๋ํด์๋ง ์ฅ์ ๋ฐ์ ์ด์ ์ ์ํ๋ก ๋ณต์์ํค๋ ํ๋ณต๊ธฐ๋ฒ
- ๊ทธ๋ฆผ์ ํ์ด์ง ํ๋ณต ๊ธฐ๋ฒ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋์ญ์ ์ํ ์ ๋ณต์ ๋ณธ์ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฅ์ ์ ์ด๋ฅผ ์ด์ฉํด ๋ณต๊ตฌํ๋ ๊ธฐ๋ฒ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณ ๋ฆฝํ ์์ค
- Read Uncommitted
- ํ ํธ๋์ญ์ ์์ ์ฐ์ฐ ์ค์ธ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ฝ๋ ๊ฒ์ ํ์ฉ, ์ฐ์ฐ ์ค์ธ ๋ฐ์ดํฐ์ ๋ํ ์ฐ์ฐ์ ๋ถํ
- Read Committed
- ํ ํธ๋์ญ์ ์์ ์ฐ์ฐ์ ์ํํ ๋, ์ฐ์ฐ์ด ์๋ฃ๋ ๋๊น์ง ์ฐ์ฐ๋์ ๋ฐ์ดํฐ์ ๋ํ ์ฝ๊ธฐ๋ฅผ ์ ํ, ์ฐ์ฐ์ด ์๋ฃ๋์ด ์ปค๋ฐ๋ ๋ฐ์ดํฐ๋ ๋ค๋ฅธ ํธ๋์ญ์ ์ด ์ฝ๋ ๊ฒ์ ํ์ฉ
- Repeatable Read
- ์ ํ ํธ๋์ญ์ ์ด ํน์ฑ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ๋, ํธ๋์ญ์ ์ข ๋ฃ ์๊น์ง ํด๋น ๋ฐ์ดํฐ์ ๋ํ ๊ฐฑ์ /์ญ์ ๋ฅผ ์ ํ
- Serializable Read
- ์ ํ ํธ๋์ญ์ ์ด ํน์ ๋ฐ์ดํฐ ์์ญ์ ์์ฐจ์ ์ผ๋ก ์ฝ์ ๋, ํด๋น ๋ฐ์ดํฐ ์์ญ ์ ์ฒด์ ๋ํ ์ ๊ทผ์ ์ ํ
๋น
๋ฐ์ดํฐ
์์คํ
, ์๋น์ค ์กฐ์ง ๋ฑ์์ ์ฃผ์ด์ง ๋น์ฉ, ์๊ฐ ๋ด์ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ๋ฒ์๋ฅผ ๋์ด์๋ ํํ๋ฐ์ดํธ(PB) ํฌ๊ธฐ์ ๋น์ ํ ๋ฐ์ดํฐ
NoSQL(Not Only SQL)
JOIN์ ์ฌ์ฉํ ์ ์๊ณ ์ํ์ ํ์ฅ์ด ๊ฐ๋ฅํ DBMS๋ก ์ ํต์ ์ธ RDBMS์ ๋ค๋ฅธ DBMS๋ฅผ ์ง์นญํ๊ธฐ ์ํ ์ฉ์ด
๋ฐ์ดํฐ ๋ง์ด๋ ๐ด
๋๊ท๋ชจ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ ์์์ ์ฒด๊ณ์ ์ด๊ณ ์๋์ ์ผ๋ก ํต๊ณ์ ๊ท์น์ด๋ ํจํด์ ์ฐพ์๋ด๋ ๊ธฐ์
SELECT COUNT(COL2)
FROM TBL
WHERE COL1 IN (2,3) OR COL2 IN (3,5);
| COL1 | COL2 | COL3 | |:โ-:|:โ-:|:โ-:| | 2 | NULL | 1 | | 3 | 7 | NULL | | 4 | 5 | 5 | | 5 | 3 | NULL | | NULL | 3 | 9 |
- count()์์ NULL ๊ฐ์ธ ๊ฒ์ ์ ์ธํ๊ณ ์นด์ดํ ํ๋ค.
11-3. ๋คํธ์ํฌ ๊ธฐ์ด ํ์ฉํ๊ธฐ
๋คํธ์ํฌ
์ํ๋ ์ ๋ณด๋ฅผ ์ํ๋ ์์ ์ ๋๋ ๊ธฐ๊ธฐ์ ์ ํํ๊ฒ ์ ์กํ๊ธฐ ์ํ ๊ธฐ๋ฐ ์ธํ๋ผ
- WAN, ๊ด๋์ญ ๋คํธ์ํฌ: ๋ผ์ฐํ ์๊ณ ๋ฆฌ์ฆ์ด ํ์
- LAN, ๊ทผ๊ฑฐ๋ฆฌ ๋คํธ์ํฌ: ํ ๊ฑด๋ฌผ ๋๋ ์์ ์ง์ญ์ ์ปค๋ฒํ๋ ๋คํธ์ํฌ
VPN (Virtual Private Network)
- ์ธํฐ๋ท์ ํตํด ๋๋ฐ์ด์ค ๊ฐ์ ์ฌ์ค ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ์์ฑํ๋ฉฐ, ํผ๋ธ๋ฆญ ๋คํธ์ํฌ๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ์ต๋ช ์ผ๋ก ์ ์กํ๋ ๋ฐ ์ฌ์ฉ๋๋ค.
- ๋ํ ์ฌ์ฉ์ IP ์ฃผ์๋ฅผ ๋ง์คํนํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ์์ ๊ถํ์ด ์๋ ์ฌ๋์ด ์ฝ์ ์ ์๋๋ก ํ๋ค.
OSI 7๊ณ์ธต
์ ์ด ์ ๋ณด๋ค์ ๋ชจ๋ ์ด์์ฒด์ ๊ฐ ์ ๊ณตํ๋ ํ๋กํ ์ฝ์ ์ํด ์ก์ ์ธก์์๋ ๊ณ์ธต์ ์ง๋ ๋๋ง๋ค ๋ง๋ถ์ฌ์ ์ถ๊ฐ๋๊ณ , ์์ ์ธก์์๋ ๊ณ์ธต์ ์ง๋ ๋๋ง๋ค ์ ๊ฑฐ
1๊ณ์ธต
- ํ๋ธ
- ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ฅผ ์ฐ๊ฒฐํ์ฌ ๋คํธ์ํฌ๋ก ๋ณด๋ด๊ฑฐ๋, ํ๋์ ๋คํธ์ํฌ๋ก ์์ ๋ ์ ๋ณด๋ฅผ ์ฌ๋ฌ ๋์ ์ปดํจํฐ๋ก ์ก์ ํ๊ธฐ ์ํ ์ฅ๋น
- ๋ฆฌํผํฐ
- ๋์งํธ ์ ํธ๋ฅผ ์ฆํญ์์ผ์ฃผ๋ ์ญํ ์ ํ์ฌ ์ ํธ๊ฐ ์ฝํด์ง์ง ์๊ณ ์ปดํจํฐ๋ก ์์ ๋๋๋ก ํ๋ ์ฅ๋น
2๊ณ์ธต
- ๋ธ๋ฆฌ์ง
- ๋ ๊ฐ์ ๊ทผ๊ฑฐ๋ฆฌํต์ ๋ง(LAN)์ ์๋ก ์ฐ๊ฒฐํด ์ฃผ๋ ํต์ ๋ง ์ฐ๊ฒฐ ์ฅ์น
- L2 ์ค์์น
- ๋๋ฆฐ ์ ์ก์๋์ ๋ธ๋ฆฌ์ง, ํ๋ธ์ ๋จ์ ์ ๊ฐ์ ํ๊ธฐ ์ํด ์ถ๋ฐ์ง์์ ๋ค์ด์จ ํ๋ ์์ ๋ชฉ์ ์ง MAC ์ฃผ์ ๊ธฐ๋ฐ์ผ๋ก ๋น ๋ฅด๊ฒ ์ ์ก์ํค๋ ๋ฐ์ดํฐ ๋งํฌ ๊ณ์ธต์ ํต์ ์ฅ์น
3๊ณ์ธต
- ๋ผ์ฐํฐ
- LAN๊ณผ LAN์ ์ฐ๊ฒฐํ๊ฑฐ๋ LAN๊ณผ WAN์ ์ฐ๊ฒฐํ๊ธฐ ์ํ ์ธํฐ๋ท ๋คํธ์ํน ์ฅ๋น
- ํจํท์ ์์น๋ฅผ ์ถ์ถํ์ฌ ๊ทธ ์์น์ ๋ํ ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ฉฐ, ์ด ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ ๋ฐ์ดํฐ ํจํท์ ๋ค์ ์ฅ์น๋ก ์ ์ก์ํค๋ ์ฅ๋น
- ๊ฒ์ดํธ์จ์ด
- ํ๋กํ ์ฝ์ ์๋ก ๋ค๋ฅธ ํต์ ๋ง์ ์ ์ํ ์ ์๊ฒ ํด์ฃผ๋ ์ฅ์น
- LAN์์ ๋ค๋ฅธ ๋คํธ์ํฌ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ฑฐ๋ ๋ค๋ฅธ ๋คํธ์ํฌ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์๋ค์ด๋ ์ถ์ ๊ตฌ ์ญํ
- L3 ์ค์์น
- 3๊ณ์ธต์์ ๋คํธ์ํฌ ๋จ์๋ค์ ์ฐ๊ฒฐํ๋ ํต์ ์ฅ๋น
- IP ๋ ์ด์ด์์์ ์ค์์นญ์ ์ํํ์ฌ ์ธ๋ถ๋ก ์ ์ก
4๊ณ์ธต
- L4 ์ค์์น
- 4๊ณ์ธต์์ ๋คํธ์ํฌ ๋จ์๋ค์ ์ฐ๊ฒฐํ๋ ํต์ ์ฅ๋น
- TCP/UDP ๋ฑ ์ค์์นญ ์ํ
- FTP, HTTP ๋ฑ์ ๊ตฌ๋ถํ์ฌ ์ค์์นญํ๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ธฐ๋ฅ
์ ๋ ํน ๋คํธ์ํฌ ๐ด
- ๋ ธ๋๋ค์ ์ํด ์์จ์ ์ผ๋ก ๊ตฌ์ฑ๋๋ ๊ธฐ๋ฐ ๊ตฌ์กฐ๊ฐ ์๋ ๋คํธ์ํฌ๋ก ๊ตฌ์ฑ ๋ฐ ์ ์ง๋ฅผ ์ํด ๊ธฐ์ง๊ตญ์ด๋ ์ก์ธ์ค ํฌ์ธํธ์ ๊ฐ์ ๊ธฐ๋ฐ ์ฅ์น๋ฅผ ํ์๋ก ํ์ง ์๋ ๋คํธ์ํฌ
- ๋ ธ๋๋ค์ ๋ฌด์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์๋ก ํต์ ํ๊ณ ๋ฉํฐ ํ ๋ผ์ฐํ ๊ธฐ๋ฅ์ ์ํด ๋ฌด์ ์ธํฐํ์ด์ค๊ฐ ๊ฐ์ง๋ ํต์ ๊ฑฐ๋ฆฌ์์ ์ ์ฝ์ ๊ทน๋ณตํ๋ฉฐ, ๋ ธ๋๋ค์ ์ด๋์ด ์์ ๋กญ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ ํ ํด๋ก์ง๊ฐ ๋์ ์ผ๋ก ๋ณํ๋๋ ํน์ง์ด ์์
- ์์ฉ ๋ถ์ผ๋ก๋ ๊ธด๊ธ ๊ตฌ์กฐ, ๊ธด๊ธํ์, ์ ์ํฐ์์์ ๊ตฐ์ฌ ๋คํธ์ํฌ ๋ฑ์ด ์์
ํ๋กํ ์ฝ ๐ด
์๋ก ๋ค๋ฅธ ์์คํ
์ด๋ ๊ธฐ๊ธฐ๋ค ๊ฐ์ ๋ฐ์ดํฐ ๊ตํ์ ์ํํ ํ๊ธฐ ์ํ ํ์คํ๋ ํต์ ๊ท์ฝ
์ฌ๋ฆฌํ์ ํฐ ๋ง๋ฆด์ ์ปดํจํฐ๊ฐ ๋ฉ์์ง๋ฅผ ์ ๋ฌํ๊ณ ๋ฉ์์ง๊ฐ ์ ๋๋ก ๋์ฐฉํ๋์ง ํ์ธํ๋ฉฐ, ๋์ฐฉํ์ง ์์์ ๊ฒฝ์ฐ ๋ฉ์์ง๋ฅผ ์ฌ์ ์กํ๋ ์ผ๋ จ์ ๋ฐฉ๋ฒ์ โ๊ธฐ์ ์ ์์ดโ๋ก ํ๋กํ ์ฝ์ด๋ผ ๋ถ๋ฆ
ํ๋กํ ์ฝ์ ๊ธฐ๋ณธ์์ ๊ตฌ์ํ
๐ด
- ๊ตฌ๋ฌธ: ์์คํ ๊ฐ์ ์ ๋ณด ์ ์ก์ ์ํ ๋ฐ์ดํฐ ํ์, ์ฝ๋ฉ, ์ ํธ ๋ ๋ฒจ ๋ฑ์ ๊ท์
- ์๋ฏธ: ์์คํ ๊ฐ์ ์ ๋ณด ์ ์ก์ ์ํ ์ ์ด ์ ๋ณด๋ก ์กฐ์ ๊ณผ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ท์
- ํ์ด๋ฐ: ์์คํ ๊ฐ์ ์ ๋ณด ์ ์ก์ ์ํ ์๋ ์กฐ์ ๊ณผ ์์ ๊ด๋ฆฌ ๊ท์
๋คํธ์ํฌ ํ๋กํ ์ฝ
์ปดํจํฐ๋ ์๊ฑฐ๋ฆฌ ํต์ ์ฅ๋น ์ฌ์ด์์ ๋ฉ์์ง๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์์๊ณผ ๊ท์น์ ์ฒด๊ณ
- IP(Internet Protocol)
- ์ก์์ ๊ฐ์ ํจํท ๋จ์๋ก ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๋ ๋คํธ์ํฌ์์ ์ ๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ๋ฐ ์ฌ์ฉํ๋ ํต์ ํ๋กํ ์ฝ
- ARP(Address Resolution Protocol)
- IP ๋คํธ์ํฌ ์์์ IP์ฃผ์๋ฅผ MAC ์ฃผ์(๋ฌผ๋ฆฌ์ฃผ์)๋ก ๋ณํํ๋ ํ๋กํ ์ฝ
- RARP(Reverse Address Resolution Protocol) ๐ด
- IP ํธ์คํธ๊ฐ ์์ ์ ๋ฌผ๋ฆฌ ๋คํธ์ํฌ ์ฃผ์๋ ์์ง๋ง IP์ฃผ์๋ฅผ ๋ชจ๋ฅด๋ ๊ฒฝ์ฐ, ์๋ฒ๋ก๋ถํฐ IP ์ฃผ์๋ฅผ ์์ฒญํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ
- ICMP(Internet Control Message Protocol)
- IP ํจํท์ ์ฒ๋ฆฌํ ๋ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์๋ ค์ฃผ๋ ํ๋กํ ์ฝ ๋ฉ์์ง ํ์์ 8bit ํค๋์ ๊ฐ๋ณ ๊ธธ์ด์ ๋ฐ์ดํฐ ์์ญ์ผ๋ก ๋ถ๋ฆฌ
- IGMP(Internet Group Management Protocol)
- ์ธํฐ๋ท ๊ทธ๋ฃน ๊ด๋ฆฌ ํ๋กํ ์ฝ์ ํธ์คํธ ์ปดํจํฐ์ ์ธ์ ๋ผ์ฐํฐ๊ฐ ๋ฉ์บ์คํธ ๊ทธ๋ฃน ๋ฉค๋ฒ์ญ์ ๊ตฌ์ฑํ๋๋ฐ ์ฌ์ฉํ๋ ํต์ ํ๋กํ ์ฝ
- ๋ผ์ฐํ
ํ๋กํ ์ฝ(Routing Protocol)
- ๋ฐ์ดํฐ ์ ์ก์ ์ํด ๋ชฉ์ ์ง๊น์ง ๊ฐ ์ ์๋ ์ฌ๋ฌ ๊ฒฝ๋ก ์ค ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํด์ฃผ๋ ๋ผ์ฐํฐ ๊ฐ์ ์ํธ ํต์ ํ๋กํ ์ฝ
TCP(Transmission Control Protocol)
์ ์ก ์ ์ด ํ๋กํ ์ฝ์ ์ธํฐ๋ท ํ๋กํ ์ฝ ์ค์ํธ์ ํต์ฌ ํ๋กํ ์ฝ ์ค ํ๋
์ ์ก ๊ณ์ธต์ ์์นํ๋ฉด์ ๊ทผ๊ฑฐ๋ฆฌ ํต์ ๋ง์ด๋ ์ธํธ๋ผ๋ท, ์ธํฐ๋ท์ ์ฐ๊ฒฐ๋ ์ปดํจํฐ์์ ์คํ๋๋ ํ๋ก๊ทธ๋จ ๊ฐ์ ์ผ๋ จ์ ์ฅํ
์ ์์ ์ ์ผ๋ก ์์๋๋ก ์๋ฌ ์์ด ๊ตํํ ์ ์๊ฒ ํด์ฃผ๋ ํ๋กํ ์ฝ
UDP(User Datagram Protocol)
๋น์ฐ๊ฒฐ์ฑ์ด๊ณ ์ ๋ขฐ์ฑ์ด ์์ผ๋ฉฐ, ์์ํ๋์ง ์์ ๋ฐ์ดํฐ๊ทธ๋จ ์๋น์ค๋ฅผ ์ ๊ณตํ๋ ์ ์ก ๊ณ์ธต์ ํต์ ํ๋กํ ์ฝ
IPv4
์ธํฐ๋ท์์ ์ฌ์ฉ๋๋ ํจํท ๊ตํ ๋คํธ์ํฌ์์์ ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ธฐ ์ํ 32bit ์ฃผ์์ฒด๊ณ๋ฅผ ๊ฐ๋ ๋คํธ์ํฌ ๊ณ์ธต์ ํ๋กํ ์ฝ
- 32bit (8bit์ฉ ๋ค ๋ถ๋ถ์ผ๋ก ๋๋์ด ํํ๊ฐ๋ฅ) ๐ด
- ๊ฐ๋ณํค๋
- IPSec ํ๋กํ ์ฝ ๋ณ๋ ์ ๊ณต
IPv6 ๐ด
์ธํฐ๋ท ํ๋กํ ์ฝ ์คํ ์ค ๋คํธ์ํฌ ๊ณ์ธต์ ํ๋กํ ์ฝ๋ก์ ๋ฒ์ 6 ์ธํฐ๋ท ํ๋กํ ์ฝ๋ก ์ฌ์ ์๋ ์ฐจ์ธ๋ ์ธํฐ๋ท ํ๋กํ ์ฝ
- 128bit ๐ด
- ๊ณ ์ ํค๋
- ํ์ฅ๊ธฐ๋ฅ์์ ๋ณด์ ๊ธฐ๋ณธ ์ ๊ณต
L2TP ๐ด
- 2 ๊ณ์ธต(๋ฐ์ดํฐ๋งํฌ ๊ณ์ธต)์์ ๊ตฌํ๋๋ ํฐ๋๋ง ๊ธฐ์ ์ค ํ๋
- L2F์ PPTP๊ฐ ๊ฒฐํฉ๋ ํ๋กํ ์ฝ๋ก VPN๊ณผ ์ธํฐ๋ท ์๋น์ค ์ ๊ณต์(ISP)๊ฐ ์ด์ฉ
- IPsec์ ํจ๊ป ์ฌ์ฉํ๋ฉด PPTP๋ณด๋ค ํจ์ฌ ์์ ํ์ง๋ง ๋ณด์๋ณด๋ค ์ต๋ช ํ์ ๋ ์ ํฉ
์ํท ๊ตํ ๋ฐฉ์
- ์ ์ก๊ฒฝ๋ก๋ฅผ ์ค์ ํ ๋ค ๋ฐ์ดํฐ๋ฅผ ์ก์์ ํ๋ ๋ฐฉ์
- ์ก์์ ์ธก ๋ชจ๋ ๋ฐ์ดํฐ ๊ตํ ์ค๋น๊ฐ ์๋ฃ๋์ด์ผ ํ๊ณ ํ์ ์ด ๋ ์ ๋์ด ์์
- ์์, ๋น๋์ค
ํจํท ๊ตํ ๋ฐฉ์
- ๋ฐ์ดํฐ๋ฅผ ํจํท ๋จ์๋ก ๋ณด๋ด๋ ๋ฐฉ์
- ํ์ ํจ์จ์ด ์ฐ์ํ๊ณ ๋น๋๊ธฐ ์ ์ก์ด ๊ฐ๋ฅ
- ์ค์๊ฐ ์ ์ก์ ๋ถ์ ํฉํ๋ฉฐ ๋คํธ์ํฌ ์ง์ฐ์ด ๋ฐ์
- ์ด๋ฉ์ผ, ๋ฉ์์ง ๋ฑ
- ๊ฐ์ํ์ ๋ฐฉ์ ๐ด๐ด
- ๋ชฉ์ ์ง ํธ์คํธ์ ๋ฏธ๋ฆฌ ์ฐ๊ฒฐ ํ ํต์ ํ๋ ์ฐ๊ฒฐํ ๊ตํ ๋ฐฉ์
- ์ฒ์ ํจํท์ผ๋ก ์ต์ ์ ๊ฒฝ๋ก๋ฅผ ๊ณ ์ ํ๊ณ ๊ฒฝ๋ก๊ฐ ๊ณ ์ ๋๋ฉด ๊ทธ ๋ค์์ ํจํท์ผ๋ก ๋๋์ด ๊ณ ์์ผ๋ก ์ ์ก
- ๋ฐ์ดํฐ๊ทธ๋จ ๋ฐฉ์ ๐ด๐ด
- ํค๋๋ฅผ ๋ถ์ฌ์ ๊ฐ๋ณ์ ์ผ๋ก ์ ๋ฌํ๋ ๋น์ฐ๊ฒฐํ ๊ตํ ๋ฐฉ์
- ์งง์ ๋ฉ์์ง์ ํจํท๋ค์ ์ ์กํ ๋ ํจ๊ณผ์ ์ด๊ณ ์ฌ์ ๋ ฌ ๊ธฐ๋ฅ์ด ํ์
- ๊ฐ์ํ์ ๋ฐฉ์ ๐ด๐ด
๋ผ์ฐํ
ํ๋กํ ์ฝ
๋ฐ์ดํฐ๋ ์ก์ ์ธก์ผ๋ก๋ถํฐ ์์ ์ธก๊น์ง ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ณผ์ ์์ ๋ค์ํ ๋ฌผ๋ฆฌ์ ์ธ ์ฅ์น๋ค์ ๊ฑฐ์นจ
๋ชฉ์ ์ง๊ฐ์ง์ ์ต์ ๊ฒฝ๋ก๋ฅผ ์ฐ์ถํ๊ธฐ ์ํ ๋ฐฉ๋ฒ
์๊ณ ๋ฆฌ์ฆ
- ๊ฑฐ๋ฆฌ ๋ฒกํฐ ์๊ณ ๋ฆฌ์ฆ
- ์ธ์ ๋ผ์ฐํฐ์ ์ ๋ณด๋ฅผ ๊ณต์ ํ์ฌ ๋ชฉ์ ์ง๊น์ง์ ๊ฑฐ๋ฆฌ์ ๋ฐฉํฅ์ ๊ฒฐ์ ํ๋ ๋ผ์ฐํ ํ๋กํ ์ฝ ์๊ณ ๋ฆฌ์ฆ
- ๋งํฌ ์ํ ์๊ณ ๋ฆฌ์ฆ(OSPF,Open Shortest Path First) ๐ด
- ๋งํฌ ์ํ ์ ๋ณด๋ฅผ ๋ชจ๋ ๋ผ์ฐํฐ์ ์ ๋ฌํ์ฌ ์ต๋จ ๊ฒฝ๋ก ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ ๋ผ์ฐํ ์๊ณ ๋ฆฌ์ฆ
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉ
- ๋ผ์ฐํฑ ๋ฉํธ๋ฆญ ์ง์
- ์ต์ ์ง์ฐ, ์ต๋ ์ฒ๋ฆฌ๋ ๋ฑ ๊ด๋ฆฌ์๊ฐ ๋ผ์ฐํ ๋ฉํธ๋ฆญ ์ง์
- AS ๋ถํ ์ฌ์ฉ
- ์์น ์์คํ ์ ์ง์ญ์ผ๋ก ๋๋์ด ๋ผ์ฐํ ์ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌ
- ํ ์นด์ดํธ ๋ฌด์ ํ
- ํ ์นด์ดํธ์ ์ ํ์ด ์๋ค.
์ข ๋ฅ
- RIP
- ์ต์ด์ ๋ผ์ฐํ ํ๋กํ ์ฝ
- ๊ฑฐ๋ฆฌ ๋ฒกํฐ ์๊ณ ๋ฆฌ์ฆ ํ์ฉ
- IGP(Interior Gateway Protocol)
- ๋ผ์ฐํฐ๋ก ์ํธ ์ ์์ด ๋์ด์๋ ์ฌ๋ฌ ๊ฐ์ ๋คํธ์ํฌ ์งํฉ์ผ๋ก ๋๋ฉ์ธ ํน์ ์์จ์์คํ (Autonomous System, AS)์ด๋ผ๊ณ ํ๋ค.
- ๊ฐ์ ๋๋ฉ์ธ ๋ด์ ์กด์ฌํ๋ ๋ผ์ฐํฐ๋ ๋๋ฉ์ธ ๋ด๋ถ ๋ผ์ฐํฐ๊ฐ ๋๊ณ ๋๋ฉ์ธ ์ธ๋ถ์ ์กด์ฌํ๋ ๋ผ์ฐํฐ๋ ๋๋ฉ์ธ ์ธ๋ถ ๋ผ์ฐํฐ๊ฐ ๋๋๋ฐ, ์ฌ๊ธฐ์ ๋๋ฉ์ธ ๋ด๋ถ ๊ฒฝ๋ก ์ค์ ์ ๊ฐ๋ฅดํจ๋ค.
- RIP ๋ฌธ์ ์ ๊ฐ์ ์ ์ํด ์์ค์ฝ์์ ๊ฐ๋ฐ
- ๋คํธ์ํฌ ์ํ๋ฅผ ๊ณ ๋ คํ๊ณ ๋ผ์ฐํ
- OSPF(Open Shortest Path First)
- IP ๋ผ์ฐํ ํ๋กํ ์ฝ์ ํ ์ข ๋ฅ๋ก์จ RIP(routing information protocol)๋ณด๋ค ๊ท๋ชจ๊ฐ ํฐ ๋คํธ์ํฌ์์๋ ์ฌ์ฉํ ์ ์๋ค.
- ๊ท๋ชจ๊ฐ ํฌ๊ณ ๋ณต์กํ TCP/IP ๋คํธ์ํฌ์์ RIP์ ๋จ์ ์ ๊ฐ์ ํ ๋ผ์ฐํ ํ๋กํ ์ฝ๋ก์จ RIP์ ๋นํด ์์ธํ ์ ์ด๊ฐ ๊ฐ๋ฅํ๊ณ , ๊ด๋ฆฌ ์ ๋ณด์ ํธ๋ํฝ๋ ์ค์ผ ์ ์๋ค.
- ๋งํฌ ์ํ ์๊ณ ๋ฆฌ์ฆ ์ฌ์ฉ
- ๋ฐ์ํ ๋ณ๊ฒฝ ์ ๋ณด์ ๋ํด RIP๋ณด๋ค ๋น ๋ฅธ ์ ๋ฐ์ดํธ
- EGP(Exterior Gateway Protocol)
- ์์คํ ์ฌ์ด์ ๊ฒฝ๋ก ์ค์ ์ ๋ณด ๋ฑ์ ๊ตํํ๊ธฐ ์ํด ์ฌ์ฉํ๋ ํ๋กํ ์ฝ
- ๋ค๋ฅธ ๋๋ฉ์ธ ์ฌ์ด์ ๋ผ์ฐํ ์ ์ ๋ฆฌ๋ ๊ด๋ฆฌ๊ฐ ๊ฑฐ์ ์๊ณ ๋ง์ ๊ฒฝ์ฐ์ ์ ์ฉ๋๊ฐ ๋งค์ฐ ๋ฎ์ ๋น ๋ฅธ ์ํ๋ณด๋ค๋ ๋ณด์๊ณผ ์ ์ด๊ฐ ๋ณธ๋์ ๋ชฉ์ ์ด๋ค.
- BGP(Border Gateway Protocol)
- ๊ท๋ชจ๊ฐ ํฐ ๋คํธ์ํฌ์ ์ํธ ์ฐ๊ฒฐ
- ์๋ก ๋ค๋ฅธ ์์จ ์์คํ (AS)์ ๋ผ์ฐํฐ ๊ฐ์ ๋ผ์ฐํ ์ ๋ณด๋ฅผ ๊ตํํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ธ๋ถ ๊ฒ์ดํธ์จ์ด ํ๋กํ ์ฝ(EGP)์ด๋ค.
- ๊ฐ ๋ชฉ์ ์ง์ ๋ํ ์ ์ฒด ๊ฒฝ๋ก๊ฐ ํฌํจ๋๋ฉฐ, ๋ค๋ฅธ ์์คํ ๊ณผ ๊ตํํ๋ ๋คํธ์ํฌ ๋๋ฌ ๊ฐ๋ฅ์ฑ ์ ๋ณด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ์งํ๋ค.
- ๋คํธ์ํฌ ๋๋ฌ ๊ฐ๋ฅ์ฑ ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ AS ์ฐ๊ฒฐ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ฑํ๋ฉฐ, ์ด๋ฅผ ํตํด ๋ผ์ฐํ ๋ฃจํ๋ฅผ ์ ๊ฑฐํ๊ณ AS ์์ค์์ ์ ์ฑ ๊ฒฐ์ ์ ์คํํ ์ ์๋ค.
๋คํธ์ํฌ ์ฃผ์ ๋ถํ
๐ด
์ฒซ๋ฒ์งธ ๋คํธ์ํฌ ์ฃผ์๊ฐ 192.168.1.0/24์ผ๋ FLSM 3๊ฐ๋ก ๋ถํ ํ์๋
๋๋ฒ์งธ ๋คํธ์ํฌ ๋ธ๋ก๋์บ์ค๋ IP๋ฅผ 10์ง์๋ก ๋ณํํ ๊ฐ์ ์์ฑํ์์ค.
// 192.168.1.127
- FLSM๋ ๊ณ ์ ๋ ํฌ๊ธฐ๋ ๋๊ฐ์ด ๋๋๋ ๊ฒ์ ๋งํ๋ค.
/24
๋ ์์์๋ถํฐ 24๊ฐ์ 1์ ์๋ฏธํ๋ฏ๋ก ๋ง์ง๋ง 8๋นํธ๋ง์ ๋ณ๊ฒฝํด์ IP ์ฃผ์๋ก ์ฌ์ฉ์ด ๊ฐ๋ฅํ๋ค.- ์ฆ, ๋ง์ง๋ง ์๋ฆฌ์ 0~255์ 256๊ฐ์ IP์ฃผ์๊ฐ ์์ฑ๋ ์ ์๋ค.
11111111 11111111 11111111 11000000
์ด์ง๋ง ๋ง์ง๋ง11000000
์์ FLSM์ 3๊ฐ๋ก ๋ถํ ํ๊ธฐ ๋๋ฌธ์2<super>2</super>
๊ฐ ๋์ด ์์ ๋ ์๋ฆฌ๋ฅผ ๋ง์์ฃผ๊ธฐ ๋๋ฌธ์ 64๊ฐ์ฉ ๋๋๋ฉด ๋๋ค.192.168.1.0 ~ 192.168.1.63
์ฒซ ๋ฒ์งธ ๊ทธ๋ฃน์ด ์ด๋ ๊ฒ ์ ํด์ง๋ค๊ณ ํ์ ๋, ๋งจ ์์ ๋คํธ์ํฌ ID ์ฃผ์์ด๊ณ ๋ค์ ์ฃผ์๋ ๋ธ๋ก๋์บ์คํธ IP ์ฃผ์๊ฐ ๋๋ค.- ๋ฐ๋ผ์ ๋ ๋ฒ์งธ ๊ทธ๋ฃน์ ๋ธ๋ก๋์บ์คํธ ์ฃผ์๋
192.168.1.127
์ด ๋๋ค.
๐ด
IP ์ฃผ์๊ฐ 139.127.19.132์ด๊ณ ์๋ธ๋ท๋ง์คํฌ 255.255.255.192์ผ ๋ ์๋์ ๋ต์ ์์ฑํ์์ค.
// (1) ๊ดํธ์์ ๋ค์ด๊ฐ ๋คํธ์ํฌ ์ฃผ์ : 139.127.19.(128)
// (2) ํด๋น ๋คํธ์ํฌ ์ฃผ์์ ๋ธ๋ก๋์บ์คํธ ์ฃผ์๋ฅผ ์ ์ธํ ํธ์คํธ ๊ฐ์ : 62
- ๋คํธ์ํฌ ์ฃผ์๋ AND ์ฐ์ฐ์ ํตํด ๊ตฌํ๋ค. IP ์ฃผ์์ ์๋ธ๋ท ๋ง์คํฌ์ ID๋ฅผ AND ์ฐ์ฐํ๋ฉด, ์ด์ฐจํผ ์๋ธ๋ท ๋ง์คํฌ๋ 255 ์ด๋๊น, HOST ID ๋นผ๊ณ IP ์ฃผ์๋ฅผ ๋ฐ๋ผ๊ฐ๋ค.
- ์ฆ, ๋ค์ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ณด๋ฉด, IP ์ฃผ์๋ 132์ด๋ฏ๋ก
10001000
, ์๋ธ๋ท๋ง์คํฌ๋ 192์ด๋ฏ๋ก1100000000
์ด ๋๋ค. - ๋ฐ๋ผ์ AND ์ฐ์ฐํ๋ฉด,
10000000
= 128 ์ด ๋คํธ์ํฌ ์ฃผ์ ๋ง์ง๋ง ์๊ฐ ๋๋ค. - ํธ์คํธ ๊ฐ์๋ ์๋ธ๋ท์ ๊ตฌ๋ถํ๋ ๋ ์๋ฆฌ๋ฅผ ์ ์ธํ๊ณ 6๋นํธ๋ก ๊ตฌ๋ถ๋๋ฏ๋ก 2
6 - 2 =62
์ด๋ค. - ์ฌ๊ธฐ์ ๋คํธ์ํฌ ์ฃผ์์ ๋ธ๋ก๋์บ์คํธ ์ฃผ์๋ฅผ ์ ์ธํ๊ธฐ ๋๋ฌธ์ 2๋ฅผ ๋นผ์ ๊ณ์ฐํ๋ค.
11-4. ๊ธฐ๋ณธ ๊ฐ๋ฐํ๊ฒฝ ๊ตฌ์ถํ๊ธฐ
๊ฐ๋ฐํ๊ฒฝ ์ธํ๋ผ ๊ตฌ์ฑ๋ฐฉ์
- ์จํ๋ ๋ฏธ์ค ๋ฐฉ์
- ์ธ๋ถ ์ธํฐ๋ท๋ง์ด ์ฐจ๋จ๋ ์ํ์์ ์ธํธ๋ผ๋ท๋ง๋ง์ ํ์ฉํ์ฌ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐฉ์
- ํด๋ผ์ฐ๋ ๋ฐฉ์
- ์๋ง์กด, ๊ตฌ๊ธ, ๋ง์ดํฌ๋ก์ํํธ ๋ฑ ํด๋ผ์ฐ๋ ๊ณต๊ธ ์๋น์ค๋ฅผ ํ๋ ํ์ฌ๋ค์ ์๋น์ค๋ฅผ ์๋ํ์ฌ ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํ๋ ๋ฐฉ์
- ํ์ด๋ธ๋ฆฌ๋ ๋ฐฉ์
- ์จํ๋ ๋ฏธ์ค + ํด๋ผ์ฐ๋
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
MMU(Memory Management Unit) | CPU๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์ ๊ทผํ๋ ๊ฒ์ ๊ด๋ฆฌํ๋ ์ปดํจํฐ ํ๋์จ์ด ๋ถํ์ผ๋ก ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ฅผ ์ค์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์๋ก ๋ณํํ๋ ์ฅ์น |
ํ๋ก์ธ์ค | ์ผ๋ฐ์ ์ผ๋ก CPU์ ์ํด ์ฒ๋ฆฌ๋๋ ํ๋ก๊ทธ๋จ์ผ๋ก ํ์ฌ ์คํ ์ค์ธ ํ๋ก๊ทธ๋จ |
๋ฌธ๋งฅ๊ตํ | CPU๊ฐ ํ์ฌ ์คํํ๊ณ ์๋ ํ๋ก์ธ์ค์ ๋ฌธ๋งฅ ์ํ๋ฅผ ํ๋ก์ธ์ค ์ ์ด๋ธ๋ก์ ์ ์ฅํ๊ณ ๋ค์ ํ๋ก์ธ์ค์ PCB๋ก๋ถํฐ ๋ฌธ๋งฅ์ ๋ณต์ํ๋ ์์ ์ ๋ฌธ๋งฅ๊ตํ์ด๋ผ๊ณ ํ๋ค. |
๊ธฐ์ํ์ | ์์คํ ๋ถํ๊ฐ ๋ง์ ์ค๋น ํ์ ์๋ ๋ฎ์ ๋ฑ๊ธ์ ํ๋ก์ธ์ค๊ฐ ๋ฌดํ์ ๊ฐ๋ค๋ฆฌ๋ ํ์ |
์ ์ธ | ๋ณ์์ ์ด๋ฆ, ๋ฐ์ดํฐ ํ์ ๋ฑ์ ์์ฑ์ ๋ถ์ฌํ๋ ์์ |
์จํจ๋ก์ง | ์ค์ธ๊ณ์ ์กด์ฌํ๋ ๋ชจ๋ ๊ฐ๋ ๋ค๊ณผ ๊ฐ๋ ๋ค์ ์์ฑ, ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ ๋ค ๊ฐ์ ๊ด๊ณ ์ ๋ณด๋ฅผ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋๋ก ์์ ํด ๋์ ์ง์๋ฒ ์ด์ค |
์๋งจํฑ ์น | ์จํจ๋ก์ง๋ฅผ ํ์ฉํ์ฌ ์๋น์ค๋ฅผ ๊ธฐ์ ํ๊ณ , ์จํจ๋ก์ง์ ์๋ฏธ์ ์ํธ ์ด์ฉ์ฑ์ ์ด์ฉํด์ ์๋น์ค ๊ฒ์, ์กฐํฉ, ์ค์ฌ ๊ธฐ๋ฅ์ ์๋ํํ๋ ์น |
๋ฉํฐ์บ์คํธ | ํ๋ ์ด์์ ์ก์ ์๋ค์ด ํน์ ํ ํ๋ ์ด์์ ์์ ์๋ค์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๋ฐฉ์์ผ๋ก ์ธํฐ๋ท ํ์ ํ์ ๋ฑ์์ ์์ฉ |
์ ๋์บ์คํธ | ๊ณ ์ ์ฃผ์๋ก ์๋ณ๋ ํ๋์ ๋คํธ์ํฌ ๋ชฉ์ ์ง์ 1:1๋ก ํธ๋ํฝ ๋๋ ๋ฉ์์ง๋ฅผ ์ ์กํ๋ ์ ์ก ๊ธฐ์ |
๋ธ๋ก๋์บ์คํธ | ํ๋์ ์ก์ ์ง๊ฐ ๊ฐ์ ์๋ธ ๋คํธ์ํฌ ์์ ๋ชจ๋ ์์ ์์๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ๋ ๊ธฐ์ |
์ ๋์บ์คํธ | ๋จ์ผ ์ก์ ์๋ก๋ถํฐ์ ๋ฐ์ดํฐ๊ทธ๋จ๋ค์ ํ ํ๋ก์ง ์์ ์ ์ฌ์ ์ธ ์์ ์ ๊ทธ๋ฃน ์์์ ๊ฐ์ฅ ๊ฐ๊น์ด ๋ ธ๋๋ก ์ฐ๊ฒฐ์ํค๋ ์ ์ก ๊ธฐ์ |
12์ฅ. ์ ํ ์ํํธ์จ์ด ํจํค์ง
๋์งํธ ์ ์๊ถ ๊ด๋ฆฌ
- ์ฝํ ์ธ ์ ๊ณต์: ์ ์๊ถ์
- ์ฝํ ์ธ ๋ถ๋ฐฐ์: ์ํธํ๋ ์ฝํ ์ธ ์ ๊ณต
- ํจํค์ : ์ฝํ ์ธ ๋ฅผ ๋ฉํ ๋ฐ์ดํฐ์ ํจ๊ป ๋ฐฐ์ด ๊ฐ๋ฅํ ๋จ์๋ก ๋ฌถ๋ ๊ธฐ๋ฅ
- ๋ณด์ ์ปจํ ์ด๋: ์๋ณธ์ ์์ ํ๊ฒ ์ ํตํ๊ธฐ ์ํ ์ ์์ ๋ณด์ ์ฅ์น
- DRM ์ปจํธ๋กค๋ฌ: ๋ฐฐํฌ๋ ์ฝํ ์ธ ์ ์ด์ฉ๊ถํ์ ํต์
- ํด๋ฆฌ์ด๋ง ํ์ฐ์ค: ํค ๊ด๋ฆฌ ๋ฐ ๋ผ์ด์ ์ค ๋ฐ๊ธ ๊ด๋ฆฌ
๋ฆด๋ฆฌ์ฆ ๋ ธํธ
- ํค๋ ๐ด: ๋ฌธ์์ด๋ฆ, ์ ํ์ด๋ฆ, ๋ฒ์ , ๋ฆด๋ฆฌ์ฆ ๋ ์ง, ์ฐธ๊ณ ๋ ์ง, ๋ ธํธ ๋ฒ์ ๋ฑ์ ์ ๋ณด
- ๊ฐ์: ์ ํ ๋ฐ ๋ณ๊ฒฝ์ ๋ํ ๊ฐ๋ตํ ์ ๋ฐ์ ๊ฐ์
- ๋ชฉ์ : ๋ฆด๋ฆฌ์ค ๋ฒ์ ์ ์๋ก์ด ๊ธฐ๋ฅ๋ชฉ๋ก๊ณผ ๋ฆด๋ฆฌ์ค ๋ ธํธ์ ๋ชฉ์ ์ ๋ํ ๊ฐ์, ๋ฒ๊ทธ ์์ ๋ฐ ์๋ก์ด ๊ธฐ๋ฅ ๊ธฐ์
- ์ด์ ์์ฝ: ๋ฒ๊ทธ์ ๊ฐ๋จํ ์ค๋ช ๋๋ ๋ฆด๋ฆฌ์ฆ ์ถ๊ฐ ํญ๋ชฉ ์์ฝ
- ์ฌํ ํญ๋ชฉ: ๋ฒ๊ทธ ๋ฐ๊ฒฌ์ ๋ฐ๋ฅธ ์ฌํ ๋จ๊ณ ๊ธฐ์
- ์์ /๊ฐ์ ๋ด์ฉ
- ์ฌ์ฉ์ ์ํฅ๋
- ์ํํธ์จ์ด ์ง์ ์ํฅ๋
- ๋ ธํธ
- ๋ฉด์ฑ ์กฐํญ
- ์ฐ๋ฝ ์ ๋ณด
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
๋ชจ๋ | ์ํํธ์จ์ด ์ค๊ณ์์ ๊ธฐ๋ฅ ๋จ์๋ก ๋ถํดํ๊ณ ์ถ์ํ๋์ด ์ฌ์ฌ์ฉ ๋ฐ ๊ณต์ ๊ฐ๋ฅํ ์์ค์ผ๋ก ๋ง๋ค์ด์ง ๋จ์ |
ISAM | ์๋ฃ ๋ด์ฉ์ ์ฃผ ์ ์ฅ๋ถ, ์๋ฃ์ ์์ธ์ ์๋ฃ๊ฐ ๊ธฐ๋ก๋ ์์น์ ํจ๊ป ์์ธ๋ถ์ ๊ธฐ๋ก |
VSAM | ๋ํ ์ด์์ฒด์ ์์ ์ฌ์ฉ๋๋ ํ์ผ ๊ด๋ฆฌ์์คํ |
์ปดํฌ๋ํธ ์ ์ฅ์ | ์ธ์ฆ์ ๋ฐ์ ์ปดํฌ๋ํธ๋ฅผ ๋ฑ๋กํ๋ ์ ์ฅ์๋ก์ ์ฌ์ฉ์๋ ์ ์ฅ์๋ฅผ ํตํด ์์ฝ๊ฒ ์ปดํฌ๋ํธ๋ฅผ ์ด์ฉ |
13์ฅ. ๊ธฐํ ์ถ๊ฐ๋ด์ฉ
์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ์ธก์ ์งํ
- ์ฒ๋ฆฌ๋
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฃผ์ด์ง ์๊ฐ์ ์ฒ๋ฆฌํ ์ ์๋ ํธ๋์ญ์ ์
- ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์๊ฐ๋น ํ์ด์ง ์๋ก ํํ
- ์๋ต์๊ฐ ๐ด
- ์ฌ์ฉ์ ์ ๋ ฅ์ด ๋๋ ํ, ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ต ์ถ๋ ฅ์ด ๊ฐ์๋ ๋๊น์ง์ ์๊ฐ
- ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ๋ฉ๋ด ํด๋ฆญ์ ํด๋น ๋ฉ๋ด๊ฐ ๋ํ๋๊ธฐ๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
- ๊ฒฝ๊ณผ์๊ฐ ๐ด
- ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉ์๊ฐ ์๊ตฌ๋ฅผ ์ ๋ ฅํ ์์ ๋ถํฐ ํธ๋์ญ์ ์ ์ฒ๋ฆฌ ํ ๊ทธ ๊ฒฐ๊ณผ์ ์ถ๋ ฅ์ด ์๋ฃํ ๋๊น์ง ๊ฑธ๋ฆฌ๋ ์๊ฐ
- ์์ ์ฌ์ฉ๋ฅ
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ํธ๋์ญ์ ์ ์ฒ๋ฆฌํ๋ ๋์ ์ฌ์ฉํ๋ CPU ์ฌ์ฉ๋, ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋, ๋คํธ์ํฌ ์ฌ์ฉ๋
๋น์ฆ๋์ค ์ฐ์์ฑ ๊ณํ(BCP)
- BIA(Business Impact Analysis)
- ์ฅ์ ๋ ์ฌํด๋ก ์ธํด ์ด์์์ ์ฃผ์ ์์ค์ ๋ณผ ๊ฒ์ ๊ฐ์ ํ์ฌ ์๊ฐ ํ๋ฆ์ ๋ฐ๋ฅธ ์ํฅ๋ ๋ฐ ์์คํ๊ฐ๋ฅผ ์กฐ์ฌํ๋ BCP๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํ ๋น์ฆ๋์ค ์ํฅ ๋ถ์
- RTO(Recovery Time Objective), ์ฌํด ๋ณต๊ตฌ ์๊ฐ ๐ด
- ๋น์์ํ ๋๋ ์ ๋ฌด์ค๋จ ์์ ๋ถํฐ ์ ๋ฌด๊ฐ ๋ณต๊ตฌ๋์ด์ ๋ค์ ์ ์ ๊ฐ๋๋ ๋๊น์ง์ ์๊ฐ์ ์๋ฏธํ๋ ์ฉ์ด
- RPO(Recovery Point Objective)
- ์ ๋ฌด์ค๋จ ์์ ๋ถํฐ ๋ฐ์ดํฐ๊ฐ ๋ณต๊ตฌ๋์ด ๋ค์ ์ ์๊ฐ๋๋ ๋ ๋ฐ์ดํฐ์ ์์คํ์ฉ ์์
- ์ฌํด์ ๋ณต๊ตฌ ๋ชฉํ ์ง์ ์ ์ ์
- DRP(Diaster Recovery Plan)
- ์ฌ๋์ผ๋ก ์ฅ๊ธฐ๊ฐ์ ๊ฑธ์ณ ์์ค์ ์ด์์ด ๋ถ๊ฐ๋ฅํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ ์ฌ๋ ๋ณต๊ตฌ ๊ณํ
- DRS(Disaster Recovery System)
- ์ฌํด๋ณต๊ตฌ ๊ณํ์ ์ํํ ์ํ์ ์ง์ํ๊ธฐ ์ํ์ฌ ํ์์์ ํ๋ณดํ์ฌ ๋๋ ์ธ์ , ๋ฌผ์ ์์ ๋ฐ ์ด๋ค์ ๋ํ ์ง์์ ์ธ ๊ด๋ฆฌ์ฒด๊ณ๊ฐ ํตํฉ๋ ์ฌํด๋ณต๊ตฌ์ผํฐ
์ํํธ์จ์ด ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก
- ๊ตฌ์กฐ์ ๋ฐฉ๋ฒ๋ก
- ์ ์ฒด ์์คํ ์ ๊ธฐ๋ฅ์ ๋ฐ๋ผ ๋๋ ๊ฐ๋ฐํ๊ณ ์ด๋ฅผ ํตํฉํ๋ ๋ถํ ๊ณผ ์ ๋ณต ์ ๊ทผ ๋ฐฉ์์ ๋ฐฉ๋ฒ๋ก
- ์ ๋ณด๊ณตํ ๋ฐฉ๋ฒ๋ก
- ์ ๋ณด ์์คํ ๊ฐ๋ฐ์ ํ์ํ ๊ด๋ฆฌ ์ ์ฐจ์ ์์ ๊ธฐ๋ฒ์ ์ฒด๊ณํํ ๋ฐฉ๋ฒ๋ก
- ๊ฐ์ฒด์งํฅ ๋ฐฉ๋ฒ๋ก
- ๊ฐ์ฒด๋ผ๋ ๊ธฐ๋ณธ ๋จ์๋ก ์์คํ ์ ๋ถ์ ๋ฐ ์ค๊ณํ๋ ๋ฐฉ๋ฒ๋ก
- ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก
- ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ๋ ์ปดํฌ๋ํธ๋ฅผ ์กฐ๋ฆฝํด์ ํ๋์ ์๋ก์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ฑํ๋ ๋ฐฉ๋ฒ๋ก
- ์ ์์ผ ๋ฐฉ๋ฒ๋ก ๐ด
- ์ ์ฐจ๋ณด๋ค๋ ์ฌ๋์ด ์ค์ฌ์ด ๋์ด ๋ณํ์ ์ ์ฐํ๊ณ ์ ์ํ๊ฒ ์ ์ํ๋ฉด์ ํจ์จ์ ์ผ๋ก ์์คํ ๊ฐ๋ฐํ ์ ์๋ ์ ์ ์ ์์ ๊ฒฝ๋ ๊ฐ๋ฐ๋ฐฉ๋ฒ๋ก
- ์ ํ ๊ณ์ด ๋ฐฉ๋ฒ๋ก
- ํน์ ์ ํ์ ์ ์ฉํ๊ณ ์ถ์ ๊ณตํต๋ ๊ธฐ๋ฅ์ ์ ์ํ์ฌ ๊ฐ๋ฐํ๋ ๋ฐฉ๋ฒ๋ก
๊ฐ์ฒด์งํฅ ์ค๊ณ ์์น (= SOILD)
5๋ ์ค๊ณ์์น: SRP, OCP, LSP, ISP, DIP
SRP(Single Responsibility Principle), ๋จ์ผ ์ฑ ์ ์์น
- ํ ํด๋์ค๋ ํ๋์ ์ฑ ์๋ง ๊ฐ์ ธ์ผ ํ๋ค.
OCP(Open/Closed principle), ๊ฐ๋ฐฉ-ํ์ ์์น
- ์ํํธ์จ์ด ์์๋ ํ์ฅ์๋ ์ด๋ ค ์์ผ๋ ๋ณ๊ฒฝ์๋ ๋ซํ ์์ด์ผ ํ๋ค.
LSP(Liskov Substitution Principle), ๋ฆฌ์ค์ฝํ ์นํ ์์น
- ํ๋ก๊ทธ๋จ์ ๊ฐ์ฒด๋ ํ๋ก๊ทธ๋จ์ ์ ํ์ฑ์ ๊นจ๋จ๋ฆฌ์ง ์์ผ๋ฉด์ ํ์ ํ์ ์ ์ธ์คํด์ค๋ก ๋ฐ๊ฟ ์ ์์ด์ผ ํ๋ค.
ISP(Interface Segregation Principle), ์ธํฐํ์ด์ค ๋ถ๋ฆฌ ์์น ๐ด
- ํน์ ํด๋ผ์ด์ธํธ๋ฅผ ์ํ ์ธํฐํ์ด์ค ์ฌ๋ฌ ๊ฐ๊ฐ ๋ฒ์ฉ ์ธํฐํ์ด์ค ํ๋๋ณด๋ค ๋ซ๋ค.
- ํด๋ผ์ด์ธํธ๊ฐ ์์ ์ด ์ด์ฉํ์ง ์๋ ๋ฉ์๋์ ์์กดํ์ง ์์์ผ ํ๋ค๋ ์์น์ด๋ค.
- ํฐ ๋ฉ์ด๋ฆฌ์ ์ธํฐํ์ด์ค๋ค์ ๊ตฌ์ฒด์ ์ด๊ณ ์์ ๋จ์๋ค๋ก ๋ถ๋ฆฌ์ํด์ผ๋ก์จ ํด๋ผ์ด์ธํธ๋ค์ด ๊ผญ ํ์ํ ๋ฉ์๋๋ค๋ง ์ด์ฉํ ์ ์๊ฒ ํ๋ค.
- ๋ก์ง์ด ๋ฐ๋์ด๋ ๋ค๋ฅธ ๋ฉ์๋๋ ์ํฅ์ ๋ฐ์ง ์๋๋ก ํด์ผ ํ๋ค.
- ํด๋ผ์ด์ธํธ๋ ์์ ์ด ์ฌ์ฉํ์ง ์๋ ๋ฉ์๋์ ์์กด ๊ด๊ณ๋ฅผ ๋งบ์ผ๋ฉด ์ ๋๋ค.
- ์ธํฐํ์ด์ค๋ฅผ ํด๋ผ์ด์ธํธ์ ํนํ๋๋๋ก ๋ถ๋ฆฌ์์ผ ์ค๊ณํ๋ ์์น
- ์๋ฅผ ๋ค์ด, ๋ณตํฉ๊ธฐ ํด๋์ค์ ๋ชจ๋ ๊ธฐ๋ฅ์ ํด๋ผ์ด์ธํธ๊ฐ ๋์์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ผ๋ฏ๋ก ํ์์ ํ๋ฆฐํธ, ํฉ์ค, ๋ณต์ฌ๊ธฐ ํด๋ผ์ด์ธํธ ์ค ํ๋์ ๊ธฐ๋ฅ๋ง ์ด์ฉํ ์ ์๋๋ก ์ค๊ณํ๋ ๊ฒฝ์ฐ
DIP(Dependency Inversion Principle), ์์กด๊ด๊ณ ์ญ์ ์์น
- ํ๋ก๊ทธ๋๋จธ๋ ์ถ์ํ์ ์์กดํด์ผ์ง ๊ตฌ์ฒดํ์ ์์กดํ๋ฉด ์๋๋ค. - ์์กด์ฑ ์ฃผ์
๋์์ธ ํจํด
์ํํธ์จ์ด ์ค๊ณ์์ ์์ฃผ ๋ฐ์ํ๋ ๋ฌธ์ ์ ๋ํ ์ผ๋ฐ์ ์ด๊ณ ๋ฐ๋ณต์ ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ
๋ชจ๋ ๊ฐ์ ๊ด๊ณ ๋ฐ ์ธํฐํ์ด์ค๋ฅผ ์ค๊ณํ ๋ ์ฐธ์กฐํ ์ ์๋ ์ ํ์ ์ธ ํด๊ฒฐ๋ฐฉ์ ๋๋ ์์ ๋ฅผ ์๋ฏธํจ
GoF(Gang of Four) ๋์์ธ ํจํด ์๊ตฌํ
์์ฑ ํจํด
ํด๋์ค/๊ฐ์ฒด ์์ฑ๊ณผ ์ฐธ์กฐ๊ณผ์ ์ ์ ์ํ๋ ํจํด
Abstract Factory, Builder, Factory Method, Prototype, Singleton
Abstract Factory
ํจํด, ์ถ์ํ ํจํด- ๊ตฌ์ฒด์ ์ธ ํด๋์ค์ ์์กดํ์ง ์๊ณ ์ธํฐํ์ด์ค๋ฅผ ํตํด ์๋ก ์ฐ๊ด/์์กดํ๋ ๊ฐ์ฒด๋ค์ ๊ทธ๋ฃน์ผ๋ก ์์ฑํ๋ ค ์ถ์์ ์ผ๋ก ํํํจ
Builder
ํจํด- ์๊ฒ ๋ถ๋ฆฌ๋ ์ธ์คํด์ค๋ฅผ ๊ฑด์ถ ํ๋ฏ์ด ์กฐํฉํ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํจ. ๊ฐ์ฒด์ ์์ฑ ๊ณผ์ ๊ณผ ํํ ๋ฐฉ๋ฒ์ ๋ถ๋ฆฌํ๊ณ ์์ด, ๋์ผํ ๊ฐ์ฒด ์์ฑ์์๋ ์๋ก ๋ค๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋ผ ์ ์์
Factory Method
ํจํด ๐ด- ๊ฐ์ ์์ฑ์ ํจํด์ผ๋ก ๊ฐ์ฒด ์์ฑ์ ์๋ธ ํด๋์ค์์ ์ฒ๋ฆฌํ๋๋ก ๋ถ๋ฆฌํ์ฌ ์บก์ํ ํ ํจํด์ผ๋ก ์์ ํด๋์ค์์ ์ธํฐํ์ด์ค๋ง ์ ์ํ๊ณ ์ค์ ์์ฑ์ ์๋ธ ํด๋์ค๊ฐ ๋ด๋นํจ.
- ๋ถ๋ชจ(์์) ํด๋์ค์ ์๋ ค์ง์ง ์์ ๊ตฌ์ฒด ํด๋์ค๋ฅผ ์์ฑํ๋ ํจํด์ด๋ฉฐ, ์์(ํ์) ํด๋์ค๊ฐ ์ด๋ค ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ง๋ฅผ ๊ฒฐ์ ํ๋๋ก ํ๋ ํจํด์ด๊ธฐ๋ ํ๋ค. ๋ถ๋ชจ(์์) ํด๋์ค ์ฝ๋์ ๊ตฌ์ฒด ํด๋์ค ์ด๋ฆ์ ๊ฐ์ถ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ฌ์ฉํ๋ค.
Prototype
ํจํด- ์๋ณธ ๊ฐ์ฒด๋ฅผ ๋ณต์ ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ํจํด์ผ๋ก ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉฐ ๋น์ฉ์ด ํฐ ๊ฒฝ์ฐ ์ฃผ๋ก ์ด์ฉํจ
Singleton
ํจํด- ํ๋์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ฉด ์์ฑ๋ ๊ฐ์ฒด๋ฅผ ์ด๋์๋ ์ฐธ์กฐํ ์ ์์ง๋ง, ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๋์์ ์ฐธ์กฐํ ์๋ ์๊ณ ํด๋์ค ๋ด์์ ์ธ์คํด์ค๊ฐ ํ๋๋ฟ์์ ๋ณด์ฅํ๋ฉฐ, ๋ถํ์ํ ๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ์ต์ํํ ์ ์์
๊ตฌ์กฐ ํจํด
๊ตฌ์กฐ๊ฐ ๋ณต์กํ ์์คํ
์ ๊ฐ๋ฐํ๊ธฐ ์ฝ๋๋ก ํด๋์ค๋ ๊ฐ์ฒด๋ค์ ์กฐํฉํ์ฌ ๋ ํฐ ๊ตฌ์กฐ๋ก ๋ง๋ ํจํด
Adapter, Bridge, Proxy, Composite, Decorator, Facade, Flyweight
Adapter
ํจํด- ํธํ์ฑ์ด ์๋ ํด๋์ค๋ค์ ์ธํฐํ์ด์ค๋ฅผ ๋ค๋ฅธ ํด๋์ค๊ฐ ์ด์ฉํ ์ ์๋๋ก ๋ณํํด์ฃผ๋ ํจํด์ผ๋ก, ๊ธฐ์กด์ ํด๋์ค๋ฅผ ์ด์ฉํ๊ณ ์ถ์ง๋ง ์ธํฐํ์ด์ค๊ฐ ์ผ์นํ์ง ์์ ๋ ์ด์ฉํจ
Bridge
ํจํด ๐ด- ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ๋ ํด๋์ค์ ๊ตฌํ์ ๋ด๋นํ๋ ์ถ์ ํด๋์ค๋ก ๊ตฌ๋ณํ๋ค.
- ๊ตฌํ๋ฟ ์๋๋ผ ์ถ์ํ๋ ๋ ๋ฆฝ์ ๋ณ๊ฒฝ์ด ํ์ํ ๋ ๋ธ๋ฆฌ์ง ํจํด์ ์ฌ์ฉํ๋ค.
- ๊ธฐ์กด ์์คํ ์ ๋ถ์์ ์ธ ์๋ก์ด ๊ธฐ๋ฅ๋ค์ ์ง์์ ์ผ๋ก ์ถ๊ฐํ ๋ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๋ฉฐ, ์๋ก์ด ์ธํฐํ์ด์ค๋ฅผ ์ ์ํ์ฌ ๊ธฐ์กด ํ๋ก๊ทธ๋จ์ ๋ณ๊ฒฝ ์์ด ๊ธฐ๋ฅ์ ํ์ฅํ ์ ์๋ค.
Composite
ํจํด- ์ฌ๋ฌ ๊ฐ์ฒด๋ฅผ ๊ฐ์ง ๋ณตํฉ ๊ฐ์ฒด์ ๋จ์ผ ๊ฐ์ฒด๋ฅผ ๊ตฌ๋ถ ์์ด ๋ค๋ฃจ๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ํจํด์ผ๋ก, ๊ฐ์ฒด๋ค์ ํธ๋ฆฌ ๊ตฌ์กฐ๋ก ๊ตฌ์ฑํ์ฌ ๋๋ ํฐ๋ฆฌ ์์ ๋๋ ํฐ๋ฆฌ๊ฐ ์๋ฏ์ด ๋ณตํฉ ๊ฐ์ฒด ์์ ๋ณตํฉ ๊ฐ์ฒด๊ฐ ํฌํจ๋๋ ๊ตฌ์กฐ๋ฅผ ๊ตฌํํ ์ ์์
Decorator
ํจํด- ๊ฐ์ฒด ๊ฐ์ ๊ฒฐํฉ์ ํตํด ๋ฅ๋์ ์ผ๋ก ๊ธฐ๋ฅ๋ค์ ํ์ฅํ ์ ์๋ ํจํด์ผ๋ก, ์์์ ๊ฐ์ฒด์ ๋ถ๊ฐ์ ์ธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด ๋ค๋ฅธ ๊ฐ์ฒด๋ค์ ๋ง๋ถ์ด๋ ๋ฐฉ์์ผ๋ก ๊ตฌํํจ
Facade
ํจํด- ๋ณต์กํ ์๋ธ ํด๋์ค๋ค์ ํผํด ๋ ์์์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌ์ฑํจ์ผ๋ก์จ ์๋ธ ํด๋์ค๋ค์ ๊ธฐ๋ฅ์ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ํจํด์ผ๋ก, ์๋ธ ํด๋์ค๋ค ์ฌ์ด์ ํตํฉ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ Wrapper ๊ฐ์ฒด๊ฐ ํ์ํจ
Flyweight
ํจํด- ์ธ์คํด์ค๊ฐ ํ์ํ ๋๋ง๋ค ๋งค๋ฒ ์์ฑํ๋ ๊ฒ์ด ์๋๊ณ ๊ฐ๋ฅํ ํ ๊ณต์ ํด์ ์ฌ์ฉํจ์ผ๋ก์จ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ ์ฝํ๋ ํจํด์ผ๋ก, ๋ค์์ ์ ์ฌ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ฑฐ๋ ์กฐ์ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์
Proxy
ํจํด ๐ด- ์ ๊ทผ์ด ์ด๋ ค์ด ๊ฐ์ฒด์ ์ฌ๊ธฐ์ ์ฐ๊ฒฐํ๋ ค๋ ๊ฐ์ฒด ์ฌ์ด์์ ์ธํฐํ์ด์ค ์ญํ ์ ์ํํ๋ ํจํด์ผ๋ก ๋คํธ์ํฌ ์ฐ๊ฒฐ, ๋ฉ๋ชจ๋ฆฌ์ ๋์ฉ๋ ๊ฐ์ฒด๋ก์ ์ ๊ทผ ๋ฑ์ ์ฃผ๋ก ์ด์ฉํจ
ํ๋/ํ์ ํจํด ๐ด๐ด
Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Observer, State, Strategy, Visitor
Chain of Responsibility
ํจํด- ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฐ์ฒด๊ฐ ๋ ์ด์ ์กด์ฌํ์ฌ ํ ๊ฐ์ฒด๊ฐ ์ฒ๋ฆฌํ์ง ๋ชปํ๋ฉด ๋ค์ ๊ฐ์ฒด๋ก ๋์ด๊ฐ๋ ํํ์ ํจํด์ผ๋ก, ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฐ ๊ฐ์ฒด๋ค์ด ๊ณ ๋ฆฌ๋ก ๋ฌถ์ฌ ์์ด ์์ฒญ์ด ํด๊ฒฐ๋ ๋๊น์ง ๊ณ ๋ฆฌ๋ฅผ ๋ฐ๋ผ ์ฑ ์์ด ๋์ด๊ฐ
Command
ํจํด- ์์ฒญ์ ๊ฐ์ฒด์ ํํ๋ก ์บก์ํํ์ฌ ์ฌ์ด์ฉํ๊ฑฐ๋ ์ทจ์ํ ์ ์๋๋ก ์์ฒญ์ ํ์ํ ์ ๋ณด๋ฅผ ์ ์ฅํ๊ฑฐ๋ ๋ก๊ทธ์ ๋จ๊ธฐ๋ ํจํด์ผ๋ก, ์์ฒญ์ ์ฌ์ฉ๋๋ ๊ฐ์ข ๋ช ๋ น์ด๋ค์ ์ถ์ ํด๋์ค์ ๊ตฌ์ฒด ํด๋์ค๋ก ๋ถ๋ฆฌํ์ฌ ๋จ์ํํจ
Interpreter
ํจํด- ์ธ์ด์ ๋ฌธ๋ฒ ํํ์ ์ ์ํ๋ ํจํด์ผ๋ก, SQL์ด๋ ํต์ ํ๋กํ ์ฝ๊ณผ ๊ฐ์ ๊ฒ์ ๊ฐ๋ฐํ ๋ ์ฌ์ฉํจ
Iterator
ํจํด- ์๋ฃ ๊ตฌ์กฐ์ ๊ฐ์ด ์ ๊ทผ์ด ์ฆ์ ๊ฐ์ฒด์ ๋ํด ๋์ผํ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋๋ก ํ๋ ํจํด์ผ๋ก, ๋ด๋ถ ํํ ๋ฐฉ๋ฒ์ ๋ ธ์ถ ์์ด ์์ฐจ์ ์ธ ์ ๊ทผ์ด ๊ฐ๋ฅํจ
Mediator
ํจํด- ์ ๋ง์ ๊ฐ์ฒด๋ค ๊ฐ์ ๋ณต์กํ ์ํธ์์ฉ์ ์บก์ํํ์ฌ ๊ฐ์ฒด๋ก ์ ์ํ๋ ํจํด์ผ๋ก, ๊ฐ์ฒด ์ฌ์ด์ ์์กด์ฑ์ ์ค์ฌ ๊ฒฐํฉ๋๋ฅผ ๊ฐ์์ํฌ ์ ์์
Mememto
ํจํด- ํน์ ์์ ์์์ ๊ฐ์ฒด ๋ด๋ถ ์ํ์ ๊ฐ์ฒดํํจ์ผ๋ก์จ ์ดํ ์์ฒญ์ ๋ฐ๋ผ ๊ฐ์ฒด๋ฅผ ํด๋น ์์ ์ ์ํ๋ก ๋๋ฆด ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ํจํด์ผ๋ก, [Ctrl]+[Z]์ ๊ฐ์ ๋๋๋ฆฌ๊ธฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ ๋ ์ฃผ๋ก ์ด์ฉํจ
State
ํจํด- ๊ฐ์ฒด์ ์ํ์ ๋ฐ๋ผ ๋์ผํ ๋์์ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํด์ผ ํ ๋ ์ฌ์ฉํ๋ ํจํด์ผ๋ก ๊ฐ์ฒด ์ํ๋ฅผ ์บก์ํํ๊ณ ์ด๋ฅผ ์ฐธ์กฐํ๋ ๋ฐฉ์์ผ๋ก ์ฒ๋ฆฌํจ
Observer
ํจํด ๐ด๐ด- ํ ๊ฐ์ฒด์ ์ํ๊ฐ ๋ณํํ๋ฉด ๊ฐ์ฒด์ ์์๋์ด ์๋ ๋ค๋ฅธ ๊ฐ์ฒด๋ค์๊ฒ ๋ณํ๋ ์ํ๋ฅผ ์ ๋ฌํด์ฃผ๋ ํจํด์ด๋ค.
- ์ผ๋๋ค ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ฉฐ, ์ฃผ๋ก ๋ถ์ฐ๋ ์์คํ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ์์ฑยท๋ฐํ(Publish)ํ๊ณ , ์ด๋ฅผ ์์ (Subscribe)ํด์ผ ํ ๋ ์ด์ฉํ๋ค.
Strategy
ํจํด- ๋์ผํ ๊ณ์ด์ ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ๋ณ์ ์ผ๋ก ์บก์ํํ์ฌ ์ํธ ๊ตํํ ์ ์๊ฒ ์ ์ํ๋ ํจํด์ผ๋ก ํด๋ผ์ด์ธํธ๋ ๋ ๋ฆฝ์ ์ผ๋ก ์ํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํ์ฌ ์ฌ์ฉํ ์ ์์ผ๋ฉฐ, ํด๋ผ์ด์ธํธ์ ์ํฅ ์์ด ์๊ณ ๋ฆฌ์ฆ์ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํจ
Template Method
ํจํด- ์์ ํด๋์ค์์ ๊ณจ๊ฒฉ์ ์ ์ํ๊ณ , ํ์ ํด๋์ค์์ ์ธ๋ถ ์ฒ๋ฆฌ๋ฅผ ๊ตฌ์ฒดํ๋ ๊ตฌ์กฐ์ ํจํด์ผ๋ก, ์ ์ฌํ ์๋ธ ํด๋์ค๋ฅผ ๋ฌถ์ ๊ณตํต๋ ๋ด์ฉ์ ์์ ํด๋์ค์์ ์ ์ํจ์ผ๋ก์จ ์ฝ๋์ ์์ ์ค์ด๊ณ ์ ์ง๋ณด์๋ฅผ ์ฉ์ดํ๊ฒ ํด์ค
Visitor
ํจํด- ๊ฐ ํด๋์ค๋ค์ ๋ฐ์ดํฐ ๊ตฌ์กฐ์์ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ์ฌ ๋ณ๋์ ํด๋์ค๋ก ๊ตฌ์ฑํ๋ ํจํด์ผ๋ก, ๋ถ๋ฆฌ๋ ์ฒ๋ฆฌ ๊ธฐ๋ฅ์ ๊ฐ ํด๋์ค๋ฅผ ๋ฐฉ๋ฌธํ์ฌ ์ํํจ
๋ฆฌ๋ ์ค ๋ช ๋ น์ด
- ์์ ๊ถ ๊ด๋ จ ๋ช
๋ น์ด
chown // ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ์ฌ์ฉ์ ์์ ๊ถ๊ณผ ๊ทธ๋ฃน ์์ ๊ถ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด chgrp // ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ๊ทธ๋ฃน ์์ ๊ถ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด
chgrp -R kait data/
: data ๋๋ ํฐ๋ฆฌ์ ํ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ํฌํจํด์ ๋๋ ํฐ๋ฆฌ ๋ด๋ถ์ ๋ชจ๋ ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ์ ๊ทธ๋ฃน ์์ ๊ถ์ kait๋ก ๋ณ๊ฒฝํ๋ ๊ณผ์
- ํ๊ฐ๊ถ ๊ด๋ จ ๋ช
๋ น์ด
// ํ๊ฐ๊ถ์ ์ฝ๊ธฐ, ์ฐ๊ธฐ, ์คํ์ผ๋ก ๊ตฌ๋ถ chmod // ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ํ๊ฐ๊ถ์ ๋ณ๊ฒฝํ๋ ๋ช ๋ น์ด umask // ์๋ก ์์ฑ๋๋ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ๊ธฐ๋ณธ ํ๊ฐ๊ถ์ ์ง์ ํ๋ ๋ช ๋ น์ด
chmod 751 a.txt ๐ด // ์ฌ์ฉ์์ ๋ํ ์ฝ๊ธฐ(4), ์ฐ๊ธฐ(2), ์คํ(1) ๊ถํ // ๊ทธ๋ฃน์ ๋ํ ์ฝ๊ธฐ(4), ์คํ(1) ๊ถํ // ๊ทธ ์ธ์ ๋ํ ์คํ(1) ๊ถํ
๋ฆฌํํ ๋ง
๋ฆฌํํ ๋ง์ ์ํํธ์จ์ด ๋ชจ๋์ ์ธ๋ถ์ ๊ธฐ๋ฅ์ ์์ ํ์ง ์๊ณ ๋ด๋ถ์ ์ผ๋ก ๊ตฌ์กฐ, ๊ด๊ณ ๋ฑ์ ๋จ์ํํ์ฌ ์ํํธ์จ์ด์ ์ ์ง๋ณด์์ฑ์ ํฅ์์ํค๋ ๊ธฐ๋ฒ
๋ฆฌํํ ๋ง์ ๋ชฉ์ ๐ด
๋ณต์กํ ์ฝ๋์ ๋จ์ํ, ์์ค์ ๊ฐ๋
์ฑ์ ํตํด ์ ์ง๋ณด์์ฑ ํฅ์, ์์ฐ์ฑ ํฅ์, ํ์ง ํฅ์ ๋ฑ
๊ด๊ณํด์ ๐ด
- ๊ด๊ณ ๋ฐ์ดํฐ์ ์ฐ์ฐ์ ํํํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ํ๋ ์ ๋ณด๋ฅผ ์ ์ํ ๋๋ ๊ณ์ฐ ์์์ ์ฌ์ฉํ๋ค.
- ์ํ๋ ์ ๋ณด์ ๊ทธ ์ ๋ณด๋ ์ด๋ป๊ฒ ์ ๋ํ๋๊ฐ๋ฅผ ๊ธฐ์ ํ๋ ๋น์ ์ฐจ์ ์ธ ์ธ์ด๋ค.
- ์ํ์ predicate calculus์ ๊ธฐ๋ฐ์ ๋๊ณ ์์ผ๋ฉฐ, ๊ด๊ณ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ์์์ธ codd๊ฐ ์ํ์ ๊ฐ๊น์ด ๊ธฐ๋ฐ์ ๋๊ณ ํน๋ณํ ๊ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ํด ์ ์ํด์ ํ์
ํ๋ธ ๊ด๊ณํด์
๊ณผ๋๋ฉ์ธ ๊ด๊ณํด์
์ด ์๋ค.
๊ด๊ณ๋์
๊ด๊ณ๋์๋ ์ ์ฐจ์ ์ธ์ด๋ก ์ด๋ป๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ง๋ฅผ ํจ์จ์ ์ผ๋ก ์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ, ๊ด๊ณํด์์ ์ด๋ค ๋ฐ์ดํฐ๊ฐ ํ์ํ์ง๋ฅผ ๋์ฑ ๊ฐ๋จํ๊ฒ ์ ์ํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
์ฐ์ฐ์ | ๊ธฐํธ | ์ค๋ช |
---|---|---|
SELECT | ฯ | ๋ฆด๋ ์ด์ R์์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํํ ๋ฐํ |
PROJECT | ฯ ๐ด๐ด | ๋ฆด๋ ์ด์ R์์ ์ฃผ์ด์ง ์์ฑ๋ค์ ๊ฐ๋ง์ผ๋ก ๊ตฌ์ฑ๋ ํํ ๋ฐํ |
JOIN | โทโ ๐ด | ๊ณตํต ์์ฑ์ ์ด์ฉํด R๊ณผ S์ ํํ์ ์ฐ๊ฒฐํด ๋ง๋ค์ด์ง ํํ ๋ฐํ |
DIVISION | รท ๐ด | ๋ฆด๋ ์ด์ S์ ๋ชจ๋ ํํ๊ณผ ๊ด๋ จ ์๋ R์ ํํ ๋ฐํ |
์ฐ์ฐ์ | ๊ธฐํธ | ์ฐ์ฐ์ | ๊ธฐํธ |
---|---|---|---|
UNION (ํฉ์งํฉ) | โช ๐ด | OR | โจ |
INTERSECTION (๊ต์งํฉ) | โฉ | AND | โง |
DIFFERENCE (์ฐจ์งํฉ) | - ๐ด | NOT | ๏ฟข |
CARTESIAN PRODUCT (๊ต์ฐจ๊ณฑ) | X ๐ด | FOR ALL (์ ์นญ ์ ๋์) | โ |
ย | ย | THERE EXISTS (์กด์ฌ ์ ๋์) | โ |
- ํ๋ก์ ํธ(PROJECT)๋ ์ฃผ์ด์ง ๋ฆด๋ ์ด์ ์์ ์์ฑ ๋ฆฌ์คํธ์ ์ ์๋ ์์ฑ ๊ฐ๋ง์ ์ถ์ถํ์ฌ ์๋ก์ด ๋ฆด๋ ์ด์ ์ ๋ง๋ค๋ ์ฐ์ฐ
// ๊ด๊ณ๋์์
ฯ ttl (EMPLOYEE)
- EMPLOYEE ํ ์ด๋ธ์์ ttl ์์ฑ์ ์ด์ ์ถ๋ ฅ โ ์์ง ๋ถ๋ถ์งํฉ
์๋ณ์ ํ๊ธฐ๋ฒ
- ์นด๋ฉ ํ๊ธฐ๋ฒ
inputFunction
- ํ์ค์นผ ํ๊ธฐ๋ฒ
InputFunction
- ์ค๋ค์ดํฌ ํ๊ธฐ๋ฒ
input_function
- ํ๊ฐ๋ฆฌ์ ํ๊ธฐ๋ฒ
nScore
๐ด- ์๋ณ์ ํ๊ธฐ์ ๋์ด์ ์๋ฃํ์ ๋ถ์ด๋ ํ๊ธฐ๋ฒ
- ์๋ณ์ ํ๊ธฐ์์ int๋
n
, char๋c
, ๋ฌธ์์ด์s
๋ฅผ ๋ถ์
NAT(Network Address Transformantion) ๐ด
๋ณดํต ์ฌ์ค ๋คํธ์ํฌ์ ์ํ ์ฌ๋ฌ ๊ฐ์ ํธ์คํธ๊ฐ ํ๋์ ๊ณต์ธ IP์ฃผ์๋ฅผ ์ฌ์ฉํ์ฌ ์ธํฐ๋ท์ ์ ์ํ๊ธฐ ์ํด์ ์ฌ์ฉ
- Static NAT
- ์ฌ์ค IP์ฃผ์์ ๊ณต์ธ IP์ฃผ์๊ฐ 1:1๋ก ์ฐ๊ฒฐ๋๋ ๊ตฌ์ฑ
- Dynamic NAT
- ์ฌ์ค IP์ ๊ณต์ธ IP ์ฃผ์๊ฐ N:1 ๋๋ N:M์ผ๋ก ์ฐ๊ฒฐ๋๋ ๊ตฌ์ฑ
- ์ฌ์ค IP๋ฅผ ๊ฐ์ง ์ฅ์น์ ์์ฒญ์ ๋์ ์ผ๋ก ๊ณต์ธ IP์ฃผ์ Table์ ํ ๋นํ์ฌ ์ธํฐ๋ท๊ณผ ์ฐ๊ฒฐํ๋ ๋ฐฉ์
ํ๋ก ๐ด
์คํ ์์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ถ์ฐ ์ปดํจํ
ํ๋ซํผ์ผ๋ก ์ผ๋ฐ PC๊ธ ์ปดํจํฐ๋ค๋ก ๊ฐ์ํ๋ ๋ํ ์คํ ๋ฆฌ์ง๋ฅผ ํ์ฑํ๊ณ ๊ทธ ์์ ๋ณด๊ด๋ ๊ฑฐ๋ํ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ณ๋ ฌ๋ก ์ฒ๋ฆฌํ ์ ์๋๋ก ๊ฐ๋ฐ๋ ์๋ฐ ์ํํธ์จ์ด ํ๋ ์์ํฌ๋ก ๊ตฌ๊ธ, ์ผํ ๋ฑ์ ์ ์ฉํ ๊ธฐ์
๋น
๋ฐ์ดํฐ ๊ธฐ์ ๋ก ์คํ ์์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋ถ์ฐ ์ปดํจํ
ํ๋ซํผ
- ํ๋ก ๋ถ์ฐ ํ์ผ ์์คํ
(HDFS, Hadoop Distributed File System)
- ๋์ฉ๋ ํ์ผ ์ ๋ถ์ฐ๋ ์๋ฒ์ ์ ์ฅํ๊ณ , ๊ทธ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋ ํ๋ก ๋ถ์ฐํ์ผ ์์คํ
- ๋งต๋ฆฌ๋์ค(Map Reduce)
- ๋์ฉ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋ถ์ฐ ๋ณ๋ ฌ ์ปดํจํ ์์ ์ฒ๋ฆฌํ๊ฑฐ๋ ์์ฑํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง ์ํํธ์จ์ด ํ๋ ์์ํฌ
- ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ํค-๊ฐ ์์ผ๋ก ๊ตฌ์ฑ, ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฅ
์๋ฒ ์ ๊ทผํต์ ์ ํ
- ์์์ ์ ๊ทผํต์ (DAC, Discretionary Access Control) ๐ด
- ์์คํ
์ ๋ํ ์ ๊ทผ์ ์ฌ์ฉ์/๊ทธ๋ฃน์
์ ๋ถ
๊ธฐ๋ฐ์ผ๋ก ์ ํํ๋ ๋ฐฉ๋ฒ - DAC์์ ์ฌ์ฉํ๋ ์ฌ์ฉ์๋ ์์๊ณผ ๊ด๋ จ๋ ACL(Access Control List)์ด ์์ ๋จ์ผ๋ก์จ ์์์ ๋ํ ๊ถํ์ ๋ถ์ฌ
- ์์คํ
์ ๋ํ ์ ๊ทผ์ ์ฌ์ฉ์/๊ทธ๋ฃน์
- ๊ฐ์ ์ ์ ๊ทผํต์ (MAC, Mandatory Access Control)
- ์์คํ
์ ๋ณด์
ํ์ฉ๋ฑ๊ธ
์ ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ์๊ฐ ๊ฐ๋ ์ ๊ทผ ํ๊ฐ ๊ถํ์ ๊ทผ๊ฑฐํ์ฌ ์์คํ ์ ๋ํ ์ ๊ทผ์ ์ ํํ๋ ๋ฐฉ๋ฒ
- ์์คํ
์ ๋ณด์
- ์ญํ ๊ธฐ๋ฐ ์ ๊ทผํต์ (RBAC, Role Based Access Control)
- ์ค์ ๊ด๋ฆฌ์๊ฐ ์ฌ์ฉ์์ ์์คํ
์ ์ํธ๊ด๊ณ๋ฅผ ํต์ ํ๋ฉฐ ์กฐ์ง ๋ด ๋งก์
์ญํ
์ ๊ธฐ์ดํ์ฌ ์์์ ๋ํ ์ ๊ทผ์ ์ ํํ๋ ๋ฐฉ๋ฒ
- ์ค์ ๊ด๋ฆฌ์๊ฐ ์ฌ์ฉ์์ ์์คํ
์ ์ํธ๊ด๊ณ๋ฅผ ํต์ ํ๋ฉฐ ์กฐ์ง ๋ด ๋งก์
๏ธRAID(Redundant Array of Independent Disks)
- ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ํ๋๋์คํฌ๋ฅผ ํ๋์ ๋ ผ๋ฆฌ ๋์คํฌ๋ก ์ธ์ํ๊ฒ ๋ง๋๋ ๊ธฐ์
- ์ค์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์๋ ์๋ฒ์ ์ฃผ๋ก ์ฌ์ฉ, ์ฌ๋ฌ ๊ฐ์ ํ๋๋์คํฌ์ ๋์ผํ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ์์น์ ์ค๋ณตํด์ ์ ์ฅํ๋ ๊ธฐ์
- ํ๋์จ์ด RAID, ์ํํธ์จ์ด RAID
- ๋ ๋ฒจ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๋ฐฉ๋ฒ์ด ์์ด
- ์ฌ๋ฌ ๊ฐ์ ํ๋๋์คํฌ๋ก ๋์คํฌ ๋ฐฐ์ด์ ๊ตฌ์ฑํ์ฌ ํ์ผ์ ๊ตฌ์ฑํ๊ณ ์๋ ๋ฐ์ดํฐ ๋ธ๋ก๋ค์ ์๋ก ๋ค๋ฅธ ๋์คํฌ๋ค์ ๋ถ์ฐ ์ ์ฅํ ๊ฒฝ์ฐ, ๊ทธ ๋ธ๋ก๋ค์ ์ฌ๋ฌ ๋์คํฌ์์ ๋์์ ์ฝ๊ฑฐ๋ ์ธ ์ ์์ผ๋ฏ๋ก ๋์คํฌ์ ์๋๊ฐ ๋งค์ฐ ํฅ์๋๋๋ฐ, ์ด ๊ธฐ์ ์ RAID๋ผ๊ณ ํจ
RAID ๋จ๊ณ
- RAID 0:
์คํธ๋ผ์ดํ
์ ์ด์ฉ, ๋ ผ๋ฆฌ์ ์ผ๋ก ์ฐ์๋ ์ฌ๋ฌ ๊ฐ์ ๋ฌผ๋ฆฌ์ ์ธ ๋์คํฌ ๋๋ผ์ด๋ธ์ ๋๋์ด ์ ์ฅํ๋ ๊ธฐ์ ๐ด- ๊ตฌ์ฑ๋ ๋์คํฌ ์ค ํ ๊ฐ๋ผ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ ๋ณต๊ตฌ๊ฐ ๋ถ๊ฐํ RAID ๊ตฌ์ฑ๋ฒ
- ๋์คํฌ ์ค๋ฅ ๋์ฒ์ ๊ฐ์ฅ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค.
- RAID 1: ๋ ๊ฐ ์ด์์ ๋์คํฌ๋ฅผ
๋ฏธ๋ฌ๋ง
์ผ๋ก ํ๋๊ฐ์ด ์ฌ์ฉ, ๋ณต์ฌ๋ณธ์ ๋ง๋๋ ๊ธฐ์ - RAID 0+1: ์ต์ 4๊ฐ ์ด์์ ๋์คํฌ์์ ๋จผ์ 2๊ฐ์ฉ RAID 0์ผ๋ก ๋ฌถ๊ณ , ์ด๊ฒ์ ๋ค์ RAID 1์ผ๋ก ๊ฒฐํฉํ๋ ๋ฐฉ์
- RAID 2: ๋ฐ์ดํฐ ์ค๋ฅ ๊ฒ์ถ์ ์ํ
ํด๋ฐ์ฝ๋
๋ฅผ ์ฌ์ฉ, ์ต๊ทผ ๋์คํฌ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ฌํ ๊ธฐ์ ๋ก ๊ฑฐ์ ์ฌ์ฉ๋์ง ์์ - RAID 3/4: ํ๋์ ๋์คํฌ๋ฅผ
ํจ๋ฆฌํฐ
์ ๋ณด๋ฅผ ์ํด ์ฌ์ฉํ๊ณ ๋๋จธ์ง ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ๊ท ๋ฑํ๊ฒ ๋ถ์ฐ ์ ์ฅํ๋ ๋ฐฉ์- ํจ๋ฆฌํฐ: ์ ๋ณด์ ์ ๋ฌ ๊ณผ์ ์์ ์ค๋ฅ๊ฐ ์๊ฒผ๋์ง๋ฅผ ๊ฒ์ฌํ๊ธฐ ์ํด ์ถ๊ฐ๋๋ ๋นํธ
- RAID 0๊ณผ ์ ์ฌํ๋ ์ฐ๊ธฐ๋ ํจ๋ฆฌํฐ ์ฒ๋ฆฌ๋ก ์ธํด ์ผ๋ถ ์ฑ๋ฅ ์ ํ
- RAID 4๋ RAID 3๊ณผ ๋ฌ๋ฆฌ ๋ชจ๋ ๋ธ๋ก์ด ๊ท ๋ฑํ๊ฒ ์ ์ฅ๋์ง ์๋๋ค.
๋ธ๋ก ๋จ์ ๋ถ์ฐ ์ ์ฅ
- ๋ณ๋ชฉ ํ์์ด ๋ฐ์ํ๋ฉด ์ฑ๋ฅ ์ ํ๊ฐ ๋ฐ์ํ ์ฐ๋ ค๊ฐ ์๋ค.
- RAID 5: 3๊ฐ ์ด์์ ๋์คํฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋์ ๋์คํฌ์ฒ๋ผ ์ฌ์ฉํ๊ณ ,
๊ฐ๊ฐ์ ๋์คํฌ์ ํจ๋ฆฌํฐ ์ ๋ณด
๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ฐฉ์- ๋ณ๋์ ํจ๋ฆฌํฐ ๋์คํฌ๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ๋ณ๋ชฉ ํ์์ด ๋ฐ์ํ์ง ์๋๋ค.
- RAID 6: ํ๋์ ํจ๋ฆฌํฐ๋ฅผ ๋ ๊ฐ์ ๋์คํฌ์ ๋ถ์ฐ ์ ์ฅ
- ํจ๋ฆฌํฐ๋ฅผ ์ด์ค์ผ๋ก ์ ์ฅํ๋ฏ๋ก ๋ ๊ฐ์ ๋์คํฌ์ ์ค๋ฅ๊ฐ ๋ฐ์ํด๋ ๋ณต๊ตฌ ๊ฐ๋ฅ
- ๋๋ ค์ง ์ ์์ผ๋, ์์ ์ฑ์ ๋์์ง๋ค.
HTTP ๐ด
- ์ธํฐ๋ท์์, ์น ์๋ฒ์ ์ฌ์ฉ์์ ์ธํฐ๋ท ๋ธ๋ผ์ฐ์ ์ฌ์ด์ ๋ฌธ์/๋ฉํฐ๋ฏธ๋์ด๋ฅผ ์ ์กํ๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํต์ ๊ท์ฝ์ ๋งํ๋ค.
- ์ธํฐ๋ท์์ ํ์ดํผํ ์คํธ(hypertext) ๋ฌธ์๋ฅผ ๊ตํํ๊ธฐ ์ํ์ฌ ์ฌ์ฉ๋๋ ํต์ ๊ท์ฝ์ด๋ค. ์ด ๊ท์ฝ์ ๋ง์ถฐ ๊ฐ๋ฐํด์ ์๋ก ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๊ฒ ๋์๋ค.
Hypertext ๐ด
Hypertext
์์ ๋ค๋ฅธ ๋ฌธ์ ๊ฐ์ ์ฐ๊ฒฐ์ ๋งํฌ(Link)๋ผ๊ณ ํ๋ค.- ๋ฌธ์, ๊ทธ๋ํฝ, ์์ฑ ๋ฐ ์์์ ํ๋์ ์ฐ์ ๊ฑฐ๋ฏธ์ง(Web of Association)๊ณผ ๊ฐ์ด ์๋ก ์ฐ๊ฒฐ์์ผ, ์ ์๋ ์์์ ๊ด๊ณ์์ด ์ด์ฉ์๊ฐ ๊ด๋ จ๋ ์ ๋ณด๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ํ๋ ์ ๋ณด ์ ๊ณต ๋ฐฉ๋ฒ์ด๋ค.
- ์ฆ, ํ ํ์ด์ง์์ ๋งํฌ๋ ์์์ ์๊ด์์ด ์ฌ์ฉ์๋ค์ด ์ํ๋ ์ ๋ณด๋ฅผ ํด๋ฆญํจ์ผ๋ก์จ ์ํ๋ ์ ๋ณด์ ์ฝ๊ฒ ์ ๊ทผํ๋ ๋ฐฉ์์ ๋งํ๋ค.
HTML ๐ด
- ์น ํ์ด์ง ํ์๋ฅผ ์ํด ๊ฐ๋ฐ๋ ์ง๋ฐฐ์ ์ธ ๋งํฌ์ ์ธ์ด๋ค. ๋ํ, ์ ๋ชฉ, ๋จ๋ฝ, ๋ชฉ๋ก ๋ฑ๊ณผ ๊ฐ์ ๋ณธ๋ฌธ์ ์ํ ๊ตฌ์กฐ์ ์๋ฏธ๋ฅผ ๋ํ๋ด๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ๋งํฌ, ์ธ์ฉ๊ณผ ๊ทธ ๋ฐ์ ํญ๋ชฉ์ผ๋ก ๊ตฌ์กฐ์ ๋ฌธ์๋ฅผ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
์ฉ์ด์ ๋ฆฌ
์ฉ์ด | ์ค๋ช |
---|---|
LOD(Linked Open Data) ๐ด | ์น์์ ์กด์ฌํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ณ๋ก ์๋ณํ๊ณ ๊ฐ URI์ ๋งํฌ์ ๋ณด๋ฅผ ๋ถ์ฌํจ์ผ๋ก์จ ์ํธ ์ฐ๊ฒฐ๋ ์น์ ์งํฅํ๋ ๋ฐ์ดํฐ HTTP, RDF, URI ๋ฑ ์น ํ์ค์ ํ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ๋๊ตฌ๋ ์์ ๋กญ๊ฒ ํ์ฉํ๊ณ ์ฌ์์ฐํ ์ ์๋๋ก ๊ฐ๋ฐฉํ ๋ฐ์ดํฐ |
์์ฑ์ ๐ด | ํด๋น ํด๋์ค์ ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์๋์ผ๋ก ํธ์ถ๋๋ ํน์ํ ์ข ๋ฅ์ ๋ฉ์๋ |
๋ธ๋ก์ฒด์ธ ๐ด | ๋ถ์ฐ ์ปดํจํ ๊ธฐ์ ๊ธฐ๋ฐ์ ๋ฐ์ดํฐ ์๋ณ์กฐ ๋ฐฉ์ง ๊ธฐ์ ๋ก P2P ๋ฐฉ์์ ๊ธฐ๋ฐ์ผ๋ก ํ์ฌ ์๊ท๋ชจ ๋ฐ์ดํฐ๋ค์ด ์ฐ๊ฒฐ๋์ด ํ์ฑ๋ โ๋ธ๋กโ์ด๋ผ๋ ๋ถ์ฐ ๋ฐ์ดํฐ ์ ์ฅ ํ๊ฒฝ์ ๊ด๋ฆฌ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํจ์ผ๋ก์จ ๋๊ตฌ๋ ์์๋ก ์์ ํ ์ ์๊ณ ๋๊ตฌ๋ ๋ณ๊ฒฝ์ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๊ฒ๋ ๋ง๋๋ ๊ธฐ์ |
์ ๊ธ(๋กํน, Locking) ๐ด | ๊ฐ์ ์์์ ์ก์ธ์คํ๋ ๋ค์ค ํธ๋์ญ์ ํ๊ฒฝ์์ DB์ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ธฐ ์ํด ํธ๋์ญ์ ์ ์์ฐจ์ ์งํ์ ๋ณด์ฅํ๋ ์ง๋ ฌํ ๊ธฐ๋ฒ |
ISMS (Information Security Management System), ์ ๋ณด๋ณดํธ ๊ด๋ฆฌ์ฒด๊ณ ๐ด | ์ ๋ถ์์ ์ ํ ์ธ์ฆ๊ธฐ๊ด ๋ฐ ์ฌ์ฌ๊ธฐ๊ด์์ ๊ธฐ์ ์ด ์ฃผ์ ์ ๋ณด์์ฐ์ ๋ณดํธํ๊ธฐ ์ํด ์๋ฆฝ/๊ด๋ฆฌ/์ด์ํ๋ ์ ๋ณด๋ณดํธ ๊ด๋ฆฌ์ฒด๊ณ๊ฐ ์ธ์ฆ ๊ธฐ์ค์ ์ ํฉํ์ง๋ฅผ ์ฌ์ฌํ์ฌ ์ธ์ฆ์ ๋ถ์ฌํ๋ ์ ๋ |
์ฌํ๊ณตํ ๐ด | ๋ณด์ํ์ ์ธก๋ฉด์์ ๊ธฐ์ ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋ ์ฌ๋๋ค๊ฐ์ ๊ธฐ๋ณธ์ ์ธ ์ ๋ขฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋์ ์์ฌ ๋น๋ฐ ์ ๋ณด๋ฅผ ํ๋ํ๋ ๊ธฐ๋ฒ์คํผ์ด ํผ์ฑ(Spear Phishing) : ์ฌํ๊ณตํ์ ํ ๊ธฐ๋ฒ์ผ๋ก ํน์ ๋์์ ์ ์ ํ ํ ๊ทธ ๋์์๊ฒ ์ผ๋ฐ์ ์ธ ์ด๋ฉ์ผ๋ก ์์ฅํ ๋ฉ์ผ์ ์ง์์ ์ผ๋ก ๋ฐ์กํ์ฌ, ๋ฐ์ก ๋ฉ์ผ์ ๋ณธ๋ฌธ ๋งํฌ๋ ์ฒจ๋ถ๋ ํ์ผ์ ํด๋ฆญํ๋๋ก ์ ๋ํด ์ฌ์ฉ์์ ๊ฐ์ธ ์ ๋ณด๋ฅผ ํ์ทจํจ |
๋คํฌ ๋ฐ์ดํฐ ๐ด | ๋น
๋ฐ์ดํฐ(Big Data)์ ๋น์ทํ๋ฉด์๋ ๊ตฌ์กฐํ๋ผ ์์ง ์๊ณ , ๋๋ ์ฌ์ฉํ์ง ์๋ โ์ฃฝ์โ ๋ฐ์ดํฐ๋ฅผ ์๋ฏธ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ณด๋ฅผ ์์งํด ์ ์ฅํ ์ดํ ๋ถ์์ด๋ ํน๋ณํ ๋ชฉ์ ์ ์ํด ํ์ฉํ๋ ๋ฐ์ดํฐ๊ฐ ์๋๋ฉฐ, ์ ์ฅ๊ณต๊ฐ๋ง ์ฐจ์งํ๊ณ ์ด๋ฌํ ์ด์ ๋ก ์ฌ๊ฐํ ๋ณด์ ์ํ์ ์ด๋ํ ์ ์์ |
ํ์ดํฌ์ค์ฟผํ Typosquatting ๐ด | ๋คํฐ์ฆ๋ค์ด ์ฌ์ดํธ์ ์ ์ํ ๋ ์ฃผ์๋ฅผ ์๋ชป ์ ๋ ฅํ๊ฑฐ๋ ์ฒ ์๋ฅผ ๋น ๋จ๋ฆฌ๋ ์ค์๋ฅผ ์ด์ฉํ๊ธฐ ์ํด ์ด์ ์ ์ฌํ ์ ๋ช ๋๋ฉ์ธ์ ๋ฏธ๋ฆฌ ๋ฑ๋กํ๋ ์ผ๋ก, URL ํ์ด์ฌํน์ด๋ผ๊ณ ๋ ํจ |
APT(Advanced Persistent Treats), ์ง๋ฅํ ์ง์์ํ | ๋ค์ํ IT ๊ธฐ์ ๊ณผ ๋ฐฉ์๋ค์ ์ด์ฉํด ์กฐ์ง์ ์ผ๋ก ํน์ ๊ธฐ์ ์ด๋ ์กฐ์ง ๋คํธ์ํฌ์ ์นจํฌํด ํ๋ ๊ฑฐ์ ์ ๋ง๋ จํ ๋ค ๋๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ฉด์ ๋ณด์์ ๋ฌด๋ ฅํ์ํค๊ณ ์ ๋ณด๋ฅผ ์์งํ ๋ค์ ์ธ๋ถ๋ก ๋นผ๋๋ฆฌ๋ ํํ์ ๊ณต๊ฒฉ |
watering hole ๐ด | ์ด ๊ณต๊ฒฉ์ APT ๊ณต๊ฒฉ์์ ์ฃผ๋ก ์ฐ์ด๋ ๊ณต๊ฒฉ์ผ๋ก, ๊ณต๊ฒฉ ๋์์ด ๋ฐฉ๋ฌธํ ๊ฐ๋ฅ์ฑ์ด ์๋ ํฉ๋ฒ์ ์ธ ์น ์ฌ์ดํธ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ์ผ์ํจ ๋ค, ์ ๋ณตํ๊ณ ์๋ค๊ฐ ๊ณต๊ฒฉ ๋์์ด ๋ฐฉ๋ฌธํ๋ฉด ๋์์ ์ปดํจํฐ์ ์ ์ฑ์ฝ๋๋ฅผ ์ค์นํ๋ ๋ฐฉ์ |
Trustzone ๐ด | ํ๋ก์ธ์(processor) ์์ ๋ ๋ฆฝ์ ์ธ ๋ณด์ ๊ตฌ์ญ์ ๋ฐ๋ก ๋์ด ์ค์ํ ์ ๋ณด๋ฅผ ๋ณดํธํ๋ ARM์ฌ์์ ๊ฐ๋ฐํ ํ๋์จ์ด ๊ธฐ๋ฐ์ ๋ณด์ ๊ธฐ์ ๋ก ํ๋ก์ธ์(processor) ์์ ๋ ๋ฆฝ์ ์ธ ๋ณด์ ๊ตฌ์ญ์ ๋ณ๋๋ก ํ์ฌ, ์ค์ํ ์ ๋ณด๋ฅผ ๋ณดํธํ๋ ํ๋์จ์ด ๊ธฐ๋ฐ์ ๋ณด์ ๊ธฐ์ |