๐Ÿ“– ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ

์ˆ˜์ œ๋น„ ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ์‹ค๊ธฐ ์ฑ… ๋‚ด์šฉ ์š”์•ฝ๋‚ด์šฉ + ์ง์ ‘์ ์œผ๋กœ ์‹œํ—˜์— ๋‚˜์™”๋˜ ๋ฌธ์ œ๋Š” ๊ธฐํ˜ธ(๐Ÿ”ด) ํ‘œ๊ธฐ๋ฅผ ํ•ด๋‘์—ˆ์Šต๋‹ˆ๋‹ค.
๊ธฐ์ถœ๋ฒ”์œ„ (2020๋…„ 1ํšŒ ~ 2023๋…„ 1ํšŒ)


Contents


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. ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ

์š”๊ตฌ์‚ฌํ•ญ์˜ ๋ถ„๋ฅ˜

  1. ๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ
    ์‹œ์Šคํ…œ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ, ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ
  2. ๋น„๊ธฐ๋Šฅ์  ์š”๊ตฌ์‚ฌํ•ญ
    ์‹œ์Šคํ…œ์ด ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋Šฅ ์ด์™ธ์˜ ์‚ฌํ•ญ, ์‹œ์Šคํ…œ ๊ตฌ์ถ•์— ๋Œ€ํ•œ ์ œ์•ฝ์‚ฌํ•ญ์— ๊ด€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ

์š”๊ตฌ์‚ฌํ•ญ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ๋„๋ถ„๋ช…ํ™•
์š”๊ตฌ์‚ฌํ•ญ ๋„์ถœ - ์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„ - ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ - ์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ

  • ๋„์ถœ: ์ธํ„ฐ๋ทฐ, ์„ค๋ฌธ์กฐ์‚ฌ, ๋ธŒ๋ ˆ์ธ์Šคํ† ๋ฐ, ์›Œํฌ์ˆ
  • ๋ถ„์„: ์ž๋ฃŒ ํ๋ฆ„ ์ง€ํ–ฅ ๋ถ„์„, ๊ฐ์ฒด์ง€ํ–ฅ ๋ถ„์„
  • ๋ช…์„ธ: ์ž์—ฐ์–ด์— ์˜ํ•œ ๋ฐฉ๋ฒ•, ์ •ํ˜•ํ™” ๊ธฐ๋ฒ• ์‚ฌ์šฉ๋ฐฉ๋ฒ•
  • ํ™•์ธ: ๋™๋ฃŒ๊ฒ€ํ† , ์›Œํฌ์Šค๋ฃจ(ํšŒ์˜์ „ ๋ฐฐํฌ), ์ธ์ŠคํŽ™์…˜(์ „๋ฌธ๊ฐ€)

์š”๊ตฌ์‚ฌํ•ญ ๋ถ„์„
์š”๊ตฌ์‚ฌํ•ญ ๋ถ„๋ฅ˜, ๊ฐœ๋… ๋ชจ๋ธ๋ง, ์š”๊ตฌ์‚ฌํ•ญ ํ• ๋‹น, ์š”๊ตฌ์‚ฌํ•ญ ํ˜‘์ƒ, ์ •ํ˜•๋ถ„์„

์š”๊ตฌ์‚ฌํ•ญ ํ™•์ธ๊ธฐ๋ฒ•
์š”๊ตฌ์‚ฌํ•ญ ๊ฒ€ํ† , ํ”„๋กœํ† ํƒ€์ดํ•‘, ๋ชจ๋ธ ๊ฒ€์ฆ, ์ธ์ˆ˜ ํ…Œ์ŠคํŠธ

๋น„์šฉ์‚ฐ์ • ๋ชจ๋ธ์˜ ๋ถ„๋ฅ˜

  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 ํ•ฉ์„ฑ ์—ฐ๊ด€ ๊ด€๊ณ„ ๐Ÿ”ด
      • ์ „์ฒด ์†Œ๋ฉธ ์‹œ ๋ถ€๋ถ„๋„ ์†Œ๋ฉธ
  • Dependency ์˜์กด๊ด€๊ณ„
    • Extend ํ™•์žฅ์˜์กด๊ด€๊ณ„
      • ํด๋žœ์Šค ๋ณ€ํ™”๊ฐ€ ํƒ€ํด๋ž˜์Šค์— ์˜ํ–ฅ
      • ์ฐธ์กฐ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์Œ
      • ์„ ํƒ์  ํ™•์žฅํ•˜๋Š” ๊ด€๊ณ„
    • Include ํฌํ•จ์˜์กด๊ด€๊ณ„
      • ํด๋ž˜์Šค ๋ณ€ํ™”๊ฐ€ ํƒ€ํด๋ž˜์Šค์— ์˜ํ–ฅ
      • ์ฐธ์กฐ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์Œ
      • ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•˜๋Š” ๊ด€๊ณ„
  • Generalization ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„ ๐Ÿ”ด
    • ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„๋Š” ํ•˜๋‚˜์˜ ์‚ฌ๋ฌผ์ด ๋‹ค๋ฅธ ์‚ฌ๋ฌผ์— ๋น„ํ•ด ๋” ์ผ๋ฐ˜์ ์ธ์ง€ ๊ตฌ์ฒด์ ์ธ์ง€๋ฅผ ํ‘œํ˜„
    • ์ผ๋ฐ˜์ ์ธ ๊ฐœ๋…์„ ๋ถ€๋ชจ(์ƒ์œ„)๋ผ๊ณ  ํ•˜๊ณ , ๊ตฌ์ฒด์ ์ธ ์ž์‹ ๊ฐœ๋…์„ ์ž์‹(ํ•˜์œ„)์ด๋ผ๊ณ  ํ•จ
    • ๊ตฌ์ฒด์ (ํ•˜์œ„)์ธ ์‚ฌ๋ฌผ์—์„œ ์ผ๋ฐ˜์ (์ƒ์œ„)์ธ ์‚ฌ๋ฌผ ์ชฝ์œผ๋กœ ์†์ด ๋นˆ ํ™”์‚ดํ‘œ๋ฅผ ์—ฐ๊ฒฐํ•˜์—ฌ ํ‘œํ˜„
    • ์ผ๋ฐ˜ํ™” ๊ด€๊ณ„๋Š” ๋‹ค๋ฅธ ์˜๋ฏธ๋กœ ์ƒ์† ๊ด€๊ณ„๋ผ๊ณ  ํ•จ
  • Realization ์‹ค์ฒดํ™” ๊ด€๊ณ„
    • ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ตฌํ˜„ํด๋ž˜์Šค ๊ด€๊ณ„
    • ๋ถ€๋ชจ์˜ ๋ถˆ์™„์ „ ํ–‰๋™์„ ์ž์‹์ด ๊ตฌํ˜„

UML ๋‹ค์ด์–ด๊ทธ๋žจ ์ข…๋ฅ˜

Use Case, Activity, Sequence, Collaboration, Class, Component, Deployment ๋‹ค์ด์–ด๊ทธ๋žจ

  • ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ๐Ÿ”ด๐Ÿ”ด
    • ์†์„ฑ, ๋ฉ”์„œ๋“œ๋ฅผ ํฌํ•จํ•˜๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ
    • ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ฐ์ฒด ํƒ€์ž…์„ ์ •์˜ํ•˜๊ณ , ๊ทธ๋“ค ๊ฐ„์˜ ์กด์žฌํ•˜๋Š” ์ •์ ์ธ ๊ด€๊ณ„๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ํ‘œํ˜„ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ
  • ์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ
    • ์š”๊ตฌ์‚ฌํ•ญ๋“ค ๊ฐ€์šด๋ฐ์„œ ๊ธฐ๋Šฅ์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์„ ์œ ์Šค์ผ€์ด์Šค๋ž‘ ๋‹จ์œ„๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์•กํ„ฐ์™€ ์‹œ์Šคํ…œ์˜ ๊ด€๊ณ„๋ฅผ ํ‘œํ˜„ํ•œ ๋‹ค์ด์–ด๊ทธ๋žจ
  • ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ
    • ํด๋” ๋ชจ์–‘์˜ ํŒจํ‚ค์ง€์™€ ์ ์„ ์œผ๋กœ ํ‘œ์‹œ๋œ ์˜์กด๊ด€๊ณ„, ยซImportยป๋ผ๋Š” ์Šคํ…Œ๋ ˆ์˜ค ํƒ€์ž… ํ‘œ๊ธฐ๋ฅผ ํ†ตํ•ด ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ์ธ์ง€๋ฅผ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Œ
ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ์ปดํฌ๋„ŒํŠธ ๋‹ค์ด์–ด๊ทธ๋žจ ๋ฐฐํฌ ๋‹ค์ด์–ด๊ทธ๋žจ
class_diagram.png component_diagram.gif uml_diagram.png
์œ ์Šค์ผ€์ด์Šค ๋‹ค์ด์–ด๊ทธ๋žจ ํŒจํ‚ค์ง€ ๋‹ค์ด์–ด๊ทธ๋žจ
usecase_diagram.svg package_diagram.png

์ธํ„ฐํŽ˜์ด์Šค ๐Ÿ”ด

  • ํด๋ž˜์Šค์™€ ๊ฐ™์€ ๊ธฐํƒ€ ๋ชจ๋ธ ์š”์†Œ ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ตฌํ˜„ํ•ด์•ผํ•˜๋Š” ์˜คํผ๋ ˆ์ด์…˜ ์„ธํŠธ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ชจ๋ธ ์š”์†Œ
  • ํด๋ž˜์Šค์™€ ๊ฐ™์€ 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
ํ…Œ์ด๋ธ”์— ์˜ฌ๋ฐ”๋ฅธ ๋ฐ์ดํ„ฐ๋งŒ ์ž…๋ ฅ๋ฐ›๊ณ  ์ž˜๋ชป๋œ ๋ฐ์ดํ„ฐ๋Š” ๋“ค์–ด์˜ค์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋Š” ์ปฌ๋Ÿผ๋งˆ๋‹ค ์ •ํ•˜๋Š” ๊ทœ์น™

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŒŒ์ผ ๊ตฌ์กฐ

  • ์ˆœ์ฐจ ๋ฐฉ๋ฒ•
    • ๋ ˆ์ฝ”๋“œ๋“ค์˜ ๋ฌผ๋ฆฌ์  ์ˆœ์„œ๊ฐ€ ๋ ˆ์ฝ”๋“œ๋“ค์˜ ๋…ผ๋ฆฌ์ ์ธ ์ˆœ์„œ์™€ ๊ฐ™๊ฒŒ ์ˆœ์ฐจ์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ์ธ๋ฑ์Šค ๋ฐฉ๋ฒ•
    • ์ธ๋ฑ์Šค๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ฃผ์†Œ๋ฅผ ๋”ฐ๋ผ ์›ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ํ•ด์‹ฑ ์ ‘๊ทผ ๋ฐฉ๋ฒ•
    • ํ‚ท๊ฐ’์„ ํ•ด์‹œ ํ•จ์ˆ˜์— ๋Œ€์ž…์‹œ์ผœ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ฃผ์†Œ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ ˆ์ฝ”๋“œ์— ์ ‘๊ทผํ•˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•

๋ฌผ๋ฆฌ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ๊ตฌ์„ฑ

  1. ์ œ์•ฝ์กฐ๊ฑด ์„ค๊ณ„ - ์ฐธ์กฐ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด
    ๋ฆด๋ ˆ์ด์…˜๋“ค ์‚ฌ์ด์— ๋Œ€ํ•ด ์ฐธ์กฐ์˜ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•œ ์กฐ๊ฑด
    • ์ œํ•œ(์—ฐ์‚ฐ๊ฑฐ์ ˆ), ์—ฐ์‡„(์ผ๊ด„์‚ญ์ œ), ๋„ ๊ฐ’(Null์ฒ˜๋ฆฌ)
  2. ์ธ๋ฑ์Šค ๐Ÿ”ด
    ๊ฒ€์ƒ‰์—ฐ์‚ฐ์˜ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋‚ด ์—ด์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ตฌ์„ฑํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ <ํ‚ค๊ฐ’, ์ฃผ์†Œ> ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ
    • ์ ์šฉ๊ธฐ์ค€: ๋ถ„ํฌ๋„ 10~15%
    • ์ธ๋ฑ์Šค๊ฐ€ ๊ฑธ๋ ค์žˆ๋Š” ์ปฌ๋Ÿผ์€ HAVING์ ˆ ์‚ฌ์šฉ์‹œ ์ธ๋ฑ์Šค ๋ฏธ์‚ฌ์šฉ
    • CREATE [UNIQUE] INDEX ์ธ๋ฑ์Šค๋ช… ON ํ…Œ์ด๋ธ”๋ช…(์ปฌ๋Ÿผ๋ช…1, ์ปฌ๋Ÿผ๋ช…2, ...) ๐Ÿ”ด
  3. ๋ทฐ
    • ๋ทฐ์˜ ์†์„ฑ REPLACE, FORCE, NOFORCE, WITH CHECK OPTION, WITH READ ONLY
  4. ํด๋Ÿฌ์Šคํ„ฐ
    ๋Œ€์ƒ์ด ๋˜๋Š” ๋ฒ”์œ„(๋ชจ์ง‘๋‹จ)์˜ ์š”์†Œ๋ฅผ ๋ช‡ ๊ฐœ ๋ชจ์€ ๋‹จ์œ„์ฒด๋กœ ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋„“์€ ๋ถ„ํฌ๋„๋ฅผ ๊ฐ€์ง„ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  5. ํŒŒํ‹ฐ์…˜
    ํŒŒํ‹ฐ์…”๋‹์„ ํ•˜๋ฉด ์„ฑ๋Šฅํ–ฅ์ƒ, ๊ฐ€์šฉ์„ฑ ํ–ฅ์ƒ, ๋ฐฑ์—… ๊ฐ€๋Šฅ, ๊ฒฝํ•ฉ ๊ฐ์†Œ์˜ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    ๋ ˆ์ธ์ง€ ํŒŒํ‹ฐ์…”๋‹ / ํ•ด์‹œ ํŒŒํ‹ฐ์…”๋‹ / ๋ฆฌ์ŠคํŠธ ํŒŒํ‹ฐ์…”๋‹ / ์ปดํฌ์ง€ํŠธ ํŒŒํ‹ฐ์…”๋‹
    • ๋ ˆ์ธ์ง€ ํŒŒํ‹ฐ์…”๋‹ - ์—ฐ์†์ ์ธ ์ˆซ์ž๋‚˜ ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋Š” ํŒŒํ‹ฐ์…”๋‹ ๊ธฐ๋ฒ•
    • ํ•ด์‹œ ํŒŒํ‹ฐ์…”๋‹ - ํŒŒํ‹ฐ์…˜ ํ‚ค์˜ ํ•ด์‹œ ํ•จ์ˆ˜ ๊ฐ’์— ์˜ํ•œ ํŒŒํ‹ฐ์…”๋‹ ๊ธฐ๋ฒ•
    • ๋ฆฌ์ŠคํŠธ ํŒŒํ‹ฐ์…”๋‹ - ํŠน์ • ํŒŒํ‹ฐ์…˜์— ์ €์žฅ๋  ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ช…์‹œ์  ์ œ์–ด๊ฐ€ ๊ฐ€๋Šฅํ•œ ํŒŒํ‹ฐ์…”๋‹ ๊ธฐ๋ฒ•
    • ์ปดํฌ์ง€ํŠธ ํŒŒํ‹ฐ์…”๋‹ - ๋ฒ”์œ„๋ถ„ํ•  ์ดํ›„์— ํ•ด์‹œํ•จ์ˆ˜๋ฅผ ์ ์šฉํ•˜์—ฌ ์žฌ๋ถ„ํ•  ํ•˜๋Š” ํŒŒํ‹ฐ์…”๋‹ ๊ธฐ๋ฒ•

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

  1. ์ปฌ๋Ÿผ ์ถ”๊ฐ€
    ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… [์ œ์•ฝ์กฐ๊ฑด]; ๐Ÿ”ด
    
  2. ์ปฌ๋Ÿผ ์ˆ˜์ •
    ALTER TABLE ํ…Œ์ด๋ธ”๋ช… MODIFY ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… [์ œ์•ฝ์กฐ๊ฑด]; ๐Ÿ”ด
    
  3. ์ปฌ๋Ÿผ ์‚ญ์ œ
    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 ์‚ฌ์šฉ์‹œ ์ปดํŒŒ์ผ ์—๋Ÿฌ ๋ฐœ์ƒ
    • ์˜ค๋ฅ˜์— ์ฃผ์˜


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๊ณผ ๊ธฐ๋Šฅ์€ ๋™์ผํ•˜์ง€๋งŒ ์งง์€ ๊ธฐ๊ฐ„์˜ ๋กœ๊ทธ ๋ฐ ๋ณด์•ˆ ์ด๋ฒคํŠธ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ณด์•ˆ ์†”๋ฃจ์…˜
  • ๋ฐฉํ™”๋ฒฝ
    • ๊ธฐ์—…์ด๋‚˜ ์กฐ์ง ๋‚ด๋ถ€์˜ ๋„คํŠธ์›Œํฌ์™€ ์ธํ„ฐ๋„ท ๊ฐ„์— ์ „์†ก๋˜๋Š” ์ •๋ณด๋ฅผ ์„ ๋ณ„ํ•˜์—ฌ ์ˆ˜์šฉ/๊ฑฐ๋ถ€/์ˆ˜์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์นจ์ž… ์ฐจ๋‹จ ์‹œ์Šคํ…œ
  • ์นจ์ž… ํƒ์ง€ ์‹œ์Šคํ…œ (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๋งŒ ์ „์†กํ•˜์—ฌ ๋Œ€์ƒ ์›น์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ์ƒํƒœ๋ฅผ ์žฅ์‹œ๊ฐ„ ์ง€์†์‹œํ‚ค๊ณ  ์—ฐ๊ฒฐ ์ž์›์„ ๋ชจ๋‘ ์†Œ์ง„์‹œํ‚ค๋Š” ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ
  • 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์™€ ๋ฐ์ดํ„ฐ๋ฅผ ์†ก์ˆ˜์‹ ํ•˜๋Š” ์ƒํ™ฉ์—์„œ ํ˜„์žฌ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋ถ€๋ถ„, ๋ฉ”๋ชจ๋ฆฌ ์ž…์ถœ๋ ฅ ์ˆœ์„œ, ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„ ํ™•๋ณด ๋“ฑ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ข…ํ•ฉ์ ์ธ ๊ด€๋ฆฌ ๊ธฐ๋ฒ•

process-status.png

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ

  • ์ƒ์„ฑ์ƒํƒœ, ์ค€๋น„์ƒํƒœ, ์‹คํ–‰์ƒํƒœ, ๋Œ€๊ธฐ์ƒํƒœ(์šฐ์„ ์ˆœ์œ„๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Œ), ์™„๋ฃŒ์ƒํƒœ ๐Ÿ”ด

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ์ „์ด

  • ๋””์ŠคํŒจ์น˜(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 ๐Ÿ”ด: ๋กœ๊ทธ๋ฅผ ์ด์šฉํ•˜์—ฌ ์˜ค๋ฅ˜์™€ ๊ด€๋ จ๋œ ๋‚ด์šฉ์„ ์ทจ์†Œํ•˜์—ฌ ๋ณต๊ตฌ
  • ์ฒดํฌ ํฌ์ธํŠธ ํšŒ๋ณต ๊ธฐ๋ฒ•
    • ์žฅ์•  ๋ฐœ์ƒ์‹œ ๊ฒ€์‚ฌ์  ์ดํ›„์— ์ฒ˜๋ฆฌ๋œ ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•ด์„œ๋งŒ ์žฅ์•  ๋ฐœ์ƒ ์ด์ „์˜ ์ƒํƒœ๋กœ ๋ณต์›์‹œํ‚ค๋Š” ํšŒ๋ณต๊ธฐ๋ฒ•
  • ๊ทธ๋ฆผ์ž ํŽ˜์ด์ง• ํšŒ๋ณต ๊ธฐ๋ฒ•
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์‹œ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์žฅ์•  ์‹œ ์ด๋ฅผ ์ด์šฉํ•ด ๋ณต๊ตฌํ•˜๋Š” ๊ธฐ๋ฒ•

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณ ๋ฆฝํ™” ์ˆ˜์ค€

  • 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๋น„ํŠธ๋กœ ๊ตฌ๋ถ„๋˜๋ฏ€๋กœ 26 - 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) ์•ˆ์— ๋…๋ฆฝ์ ์ธ ๋ณด์•ˆ ๊ตฌ์—ญ์„ ๋ณ„๋„๋กœ ํ•˜์—ฌ, ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋ณดํ˜ธํ•˜๋Š” ํ•˜๋“œ์›จ์–ด ๊ธฐ๋ฐ˜์˜ ๋ณด์•ˆ ๊ธฐ์ˆ 

results matching ""

    No results matching ""