Skip to content

Latest commit

ย 

History

History
1070 lines (671 loc) ยท 32.1 KB

File metadata and controls

1070 lines (671 loc) ยท 32.1 KB

Backend-Interview-Question

Table Of Contents

  • ๋„คํŠธ์›Œํฌ
  • ์ •๊ทœํ™”
  • CS ๊ด€๋ จ์ง€์‹
  • ์–ธ์–ด ๊ด€๋ จ
  • ๋ฉด์ ‘ ๊ด€๋ จ ์ถ”์ฒœ ์˜์ƒ

CS ๊ด€๋ จ ์ง€์‹

#์šด์˜์ฒด์ œ

#ํ”„๋กœ์„ธ์Šค

ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

ํ”„๋กœ์„ธ์Šค๋Š” ๋…๋ฆฝ์ ์ธ ์‹คํ–‰ ๋‹จ์œ„๋กœ, ๊ฐ๊ฐ ๋ณ„๋„์˜ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ์Šค๋ ˆ๋“œ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋‚ด์—์„œ ์‹คํ–‰๋˜๋ฉฐ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ์„œ๋กœ ๋…๋ฆฝ์ ์ด์–ด์„œ ํ•œ ํ”„๋กœ์„ธ์Šค์˜ ๋ฌธ์ œ๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์˜ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ฐ™์€ ํ”„๋กœ์„ธ์Šค๋‚ด์˜ ์Šค๋ ˆ๋“œ๋“ค์€ ์„œ๋กœ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค๋Š” ์ƒ์„ฑ๊ณผ ์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์— ๋” ๋งŽ์€ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€๋งŒ, ์Šค๋ ˆ๋“œ๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ€๋ณ๊ณ  ๋น ๋ฆ…๋‹ˆ๋‹ค.

๊ต์ฐฉ์ƒํƒœ๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ๊ต์ฐฉ์ƒํƒœ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ค ์กฐ๊ฑด์ด ์žˆ์–ด์•ผ ํ•˜๋‚˜์š”?

์ž๋ฐ”

๊ต์ฐฉ์ƒํƒœ์˜ ํ•ด๊ฒฐ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

๋ฎคํ…์Šค์™€ ์„ธ๋งˆํฌ์–ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ๋ณด์‹œ์˜ค.

์ž๋ฐ”

์ปจํ…์ŠคํŠธ ์Šค์œ„์นญ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

๊ฒฝ์Ÿ ์ƒํƒœ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

ํ”„๋กœ์„ธ์Šค ํ˜น์€ ์Šค๋ ˆ๋“œ์˜ ๋™๊ธฐํ™”๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

์‚ฌ์šฉ์ž ์ˆ˜์ค€์˜ ์Šค๋ ˆ๋“œ์™€ ์ปค๋„ ์ˆ˜์ค€์˜ ์Šค๋ ˆ๋“œ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

CPU ์Šค์ผ€์ค„๋ง์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

CPU ์Šค์ผ€์ค„๋ง ๋ฐฉ๋ฒ•์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?

์ž๋ฐ”

๋™๊ธฐ์™€ ๋น„๋™๊ธฐ, ๋ธ”๋กœํ‚น๊ณผ ๋„Œ๋ธ”๋กœํ‚น์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๋™๊ธฐ๋Š” ์ž‘์—…์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉฐ, ํ•œ ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋–„๊นŒ์ง€ ๋‹ค๋ฅธ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋น„๋™๊ธฐ๋Š” ์ž‘์—…์„ ์‹œ์ž‘ํ•œ ํ›„ ์™„๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ์ž‘์—…์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค, ์ž‘์—… ์™„๋ฃŒ ์‹œ ์ฝœ๋ฐฑ, ํ”„๋กœ๋ฏธ์Šค ๋“ฑ์œผ๋กœ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋ธ”๋กœํ‚น์€ ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์ œ์–ด๊ถŒ์„ ๊ฐ€์ง€๊ณ  ๋Œ€๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๋…ผ๋ธ”๋กœํ‚น์€ ์ž‘์—… ์™„๋ฃŒ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ์ฆ‰์‹œ ์ œ์–ด๊ถŒ์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์ฐจ์ด๋Š” ๋™๊ธฐ/๋น„๋™๊ธฐ๋Š” ์ž‘์—… ์ˆœ์„œ์™€ ํ๋ฆ„ ์ œ์–ด์— ๊ด€ํ•œ๊ฒƒ์ด๊ณ , ๋ธ”๋กœํ‚น/๋…ผ๋ธ”๋กœํ‚น์€ ์ž‘์—…์˜ ์ œ์–ด๊ถŒ ๋ฐ˜ํ™˜ ์—ฌ๋ถ€์— ๊ด€ํ•œ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ

ํ”„๋กœ์„ธ์Šค์— ํ• ๋‹น๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ฐ ์˜์—ญ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”

์ž๋ฐ”

๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ์˜ ์ˆœ์„œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€? CPU์—์„œ ๊ฐ€๊นŒ์šด ์ˆœ์œผ๋กœ ๋งํ•ด๋ณด์‹œ์˜ค.

์ž๋ฐ”

ํŽ˜์ด์ง€์™€ ์„ธ๊ทธ๋ฉ˜ํ…Œ์ด์…˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ๋ณด์‹œ์˜ค.
์™ธ๋ถ€ ๋‹จํŽธํ™”๋ž€? ๋‚ด๋ถ€ ๋‹จํŽธํ™”๋ž€?

์ž๋ฐ”

First Fit, Best Fit, Worst Fit์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ๋ณด์‹œ์˜ค.

์ž๋ฐ”

ํŽ˜์ด์ง€ ๊ต์ฒด ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ข…๋ฅ˜์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?

์ž๋ฐ”

#๋„คํŠธ์›Œํฌ

์ „์‚ฐ ๊ธฐ๋ณธ

OSI 7๊ณ„์ธต์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ž๋ฐ”

TCP/IP 4๊ณ„์ธต์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ž๋ฐ”

DNS๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

๋„๋ฉ”์ธ ์ด๋ฆ„์œผ๋กœ ์‹ค์ œ IP๋ฅผ ์–ด๋–ป๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š”์ง€ ํ๋ฆ„์„ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

TCP/UDP

TCP์™€ UDP์˜ ์ฐจ์ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

TCP ํ—ค๋”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

MTU๊ฐ€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

3-way hand shake, 4-way hand shake ํ๋ฆ„์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ž๋ฐ”

#HTTP

HTTP ํ”„๋กœํ† ์ฝœ์— ๋Œ€ํ•ด์„œ ์•„๋Š”๋Œ€๋กœ ๋งํ•ด์ฃผ์„ธ์š”. ์›น์—์„œ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ๊ฐ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋ชจ๋ธ์˜ ํ”„๋กœํ† ์ฝœ์ž…๋‹ˆ๋‹ค. ์š”์•ฝํ•˜๋ฉด ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๊ทœ์น™์ž…๋‹ˆ๋‹ค.
HTTP์™€ HTTPS ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

HTTP๋Š” ์•”ํ˜ธํ™” ๋˜์ง€ ์•Š์€ ํ‰๋ฌธ ํ†ต์‹ ์ด๊ณ , HTTPS๋Š”SSL/TLS๋ฅผ ํ†ตํ•ด ์•”ํ˜ธํ™”๋œ ๋ณด์•ˆ ํ†ต์‹ ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ HTTP๋Š” 80 ํฌํŠธ์ด๊ณ  HTTPS๋Š” 443 ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ํ•ต์‹ฌ์€ HTTPS๋Š”HTTP์— ๋ณด์•ˆ๊ณ„์ธต์„ ์ถ”๊ฐ€ํ•œ ํ”„๋กœํ† ์ฝœ๋กœ ๋ฐ์ดํ„ฐ์˜ ์•ˆ์ „ํ•œ ์ „์†ก์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์•„์ฃผ ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด HTTP๋Š” ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋Š” ๊ทœ์น™์ด๊ณ  HTTPS๋Š” ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™”๊ฐ€ ์ถ”๊ฐ€๋œ ํ”„๋กœํ† ์ฝœ์ธ๊ฒƒ์ด๋‹ค.

HTTPS๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”. HTTPS๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์„œ๋ฒ„์— ์—ฐ๊ฒฐ์„ ์‹œ์ž‘ํ•˜๋ฉด ์„œ๋ฒ„์—์„œ SSL/TLS ์ธ์ฆ ๊ณผ์ •์„ ๊ฑฐ์น˜๋Š”๋ฐ, ์ด๋•Œ ๊ณต๊ฐœํ‚ค์™€ ๋””์ง€ํ„ธ ์ธ์ฆ์„œ๋ฅผ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ๋Š” ์„ธ์…˜ํ‚ค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์„ธ์…˜ํ‚ค๋ฅผ ์„œ๋ฒ„์—๊ฒŒ ๋ฐ›์€ ๊ณต๊ฐœํ‚ค๋กœ ์•”ํ˜ธํ™”ํ•˜์—ฌ ๋‹ค์‹œ ์„œ๋ฒ„์—๊ฒŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ๊ฐœ์ธํ‚ค๋กœ ์•”ํ˜ธํ™”๋œ ์„ธ์…˜ํ‚ค๋ฅผ ๋ณตํ˜ธํ™”ํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํ›„๋ถ€ํ„ฐ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ„์˜ ๋™์ผํ•œ ์„ธ์…˜ํ‚ค๋ฅผ ๊ฐ€์ง€๊ณ  ์•ˆ์ „ํ•˜๊ฒŒ ํ†ต์‹ ์„ ํ•ฉ๋‹ˆ๋‹ค.
HTTP 1.0๊ณผ 1.1์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

HTTP2์™€ ๊ทธ ํŠน์ง•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

HTTP ํ—ค๋”์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

keep-alive ํ—ค๋”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

HTTP GET๊ณผ POST์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

์ฟ ํ‚ค์™€ ์„ธ์…˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ฟ ํ‚ค๋Š” ์›น ์„œ๋ฒ„๊ฐ€ ์‚ฌ์šฉ์ž์˜ ์›น ๋ธŒ๋ผ์šฐ์ €์— ์ €์žฅํ•˜๋Š” ์ž‘์€ ํ…์ŠคํŠธ ํŒŒ์ผ์ž…๋‹ˆ๋‹ค. ์„ธ์…˜์€ ์„œ๋ฒ„์ธก์—์„œ ์œ ์ง€๋˜๋Š” ์‚ฌ์šฉ์ž๋ณ„ ์ƒํƒœ ์ •๋ณด์ž…๋‹ˆ๋‹ค.

์ฟ ํ‚ค๋Š” ํด๋ผ์ด์–ธํŠธ์ธก์—๊ฒŒ ์ €์žฅ๋˜๊ณ  ์„ธ์…˜์€ ์„œ๋ฒ„์ธก์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค

๋Œ€๊ฒŒ ์ฟ ํ‚ค๋Š” ๋ฐฉ๋ฌธ ์‚ฌ์ดํŠธ ๋กœ๊ทธ์ธ ์‹œ ์•„์ด๋””, ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ์— ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ์‡ผํ•‘๋ชฐ์˜ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ๊ธฐ๋Šฅ ๋“ฑ์—์„œ ์‰ฝ๊ฒŒ ์ ‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

์„ธ์…˜์€ ์ฟ ํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋งŒ๋“ค์–ด์ ธ์žˆ์ง€๋งŒ ๋ณด์•ˆ ์ธก์—์„œ ๋” ์šฐ์ˆ˜ํ•ฉ๋‹ˆ๋‹ค ๋˜ํ•œ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•˜๋Š” ๋งŒํผ ๋กœ๊ทธ์ธ๊ฐ™์ด ๋ณด์•ˆ์ƒ ์ค‘์š”ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

WEB (์›น)

์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ์„œ๋ฒ„๋กœ ์š”์ฒญํ–ˆ์„ ๋•Œ, ํ๋ฆ„์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ž๋ฐ”

CORS๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

CORS๋Š” ๋„๋ฉ”์ธ์ด ๋‹ค๋ฅธ ์„œ๋ฒ„๋ผ๋ฆฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฃผ๊ณ  ๋ฐ›์„ ๋•Œ ๋ณด์•ˆ์„ ์œ„ํ•ด ์„ค์ •๋œ ์ •์ฑ…์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ CORS๊ฐ€ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ์„ ๊ตฌ๋ถ„ํ•˜๋Š” ๋™์ผ ์˜ค๋ฆฌ์ง„ ์ •์ฑ…์€ URL์—์„œ ํ”„๋กœํ† ์ฝœ, ํ˜ธ์ŠคํŠธ, ํฌํŠธ๋กœ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

์›น ์„œ๋ฒ„์™€ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS)์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

REST API์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

REST API๋Š” REST์˜ ์›๋ฆฌ๋ฅผ ๋”ฐ๋ฅด๋Š” API๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. URI๋Š” ๋™์‚ฌ๋ณด๋‹ค ๋ช…์‚ฌ๋ฅผ ๋Œ€๋ฌธ์ž๋ณด๋‹จ ์†Œ๋ฌธ์ž๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค ๋งˆ์ง€๋ง‰์— ์Šฌ๋ž˜์‹œ๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค. ์–ธ๋”๋ฐ” ๋Œ€์‹  ํ•˜์ดํ”ˆ์„ ์‚ฌ์šฉํ•œ๋‹ค ํŒŒ์ผํ™•์žฅ์ž๋Š” URI์— ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค. ํ–‰์œ„๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š”๋‹ค ์ด ๊ทœ์น™์„ ์ง€ํ‚ค๋ฉด์„œ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

API Gateway๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

API Gateway๊ฐ€ ๋‹ค์šด๋˜๋ฉด ๋ชจ๋“  API๋ฅผ ์‚ฌ์šฉ ๋ชปํ• ์ง€๋„ ๋ชจ๋ฅด๋Š”๋ฐ, ์–ด๋–ค ๋ฐฉ์•ˆ์„ ๋งˆ๋ จํ•ด์•ผ ํ• ๊นŒ์š”?

์ž๋ฐ”

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

์ „์‚ฐ ๊ธฐ๋ณธ

JOIN์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

๋‚ด๋ถ€ ์กฐ์ธ๊ณผ ์™ธ๋ถ€ ์กฐ์ธ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

์ •๊ทœํ™”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

ํŒŒํ‹ฐ์…”๋‹๊ณผ ์ƒค๋”ฉ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

ORM์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ฐ์ฒด ๊ด€๊ณ„ ๋งคํ•‘ ์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๋งคํ•‘ํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

NoSQL์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? Non-relational SQL ์˜ ์•ฝ์ž๋กœ ์ „ํ†ต์ ์ธ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์™€๋Š” ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ํŠน์ง•์€ ์Šคํ‚ค๋งˆ๊ฐ€ ์—†๊ณ  ์ˆ˜ํ‰์  ํ™•์žฅ์„ฑ๊ณผ ๊ณ ์„ฑ๋Šฅ์ด ์žˆ๊ณ  ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ Redis, MongoDB ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์Šคํ‚ค๋งˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ตฌ์กฐ์™€ ์ œ์•ฝ์กฐ๊ฑด์— ๊ด€ํ•œ ์ „๋ฐ˜์ ์ธ ๊ธฐ์ˆ  ๋ช…์„ธ๋ฅผ ๊ธฐ์ˆ ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ตฌ์„ฑ๋˜๋Š” ๋ฐฉ์‹๊ณผ ์„œ๋กœ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•œ ๊ฒƒ์ธ๋ฐ

ํ…Œ์ด๋ธ”/ํ•„๋“œ/๋ฐ์ดํ„ฐ ํƒ€์ž…/์ œ์•ฝ์กฐ๊ฑด/๊ด€๊ณ„ ์˜ ๊ตฌ์„ฑ์š”์†Œ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค

์ž๋ฐ”

์ธ๋ฑ์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? ์–ด๋–ป๊ฒŒ ๋™์ž‘ ํ•˜๋‚˜์š”?

์ž๋ฐ”

์ธ๋ฑ์Šค์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”?

์ž๋ฐ”

Table Full Scan๊ณผ Index Range Scan ์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ž๋ฐ”

ํŠธ๋žœ์žญ์…˜

ํŠธ๋žœ์žญ์…˜์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”? 4๊ฐ€์ง€ ์›์น™์„ ํฌํ•จํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”. ํŠธ๋žœ์žญ์…˜์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ณ€ํ™”์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์˜ ๋‹จ์œ„์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ 4๊ฐ€์ง€์˜ ํŠน์„ฑ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ์ฒซ์žฌ๋กœ ์›์ž์„ฑ์ธ๋ฐ ํŠธ๋žœ์žญ์…˜์˜ ๋ชจ๋“  ์—ฐ์‚ฐ์ด ์™„์ „ํžˆ ์ˆ˜ํ–‰๋˜๊ฑฐ๋‚˜, ์ „ํ˜€ ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋‹ค์Œ ์ผ๊ด€์„ฑ์€ ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰ ์ „๊ณผ ํ›„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ผ๊ด€๋œ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ฒฉ๋ฆฌ์„ฑ์€ ๋™์‹œ์— ์‹คํ–‰๋˜๋Š” ํŠธ๋žœ์žญ์…˜๋“ค์ด ์„œ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ์ง€์†์„ฑ์€ ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋œ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๋Š” ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€๊ณผ ๊ฐ ์ˆ˜์ค€์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•ด ๋งํ•ด๋ณด์„ธ์š”.

์ž๋ฐ”

๊ณต์œ  ๋ฝ๊ณผ ๋ฐฐํƒ€ ๋ฝ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

๋ฐ๋“œ๋ฝ์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ, ์–ด๋–ป๊ฒŒ ๋ฐœ์ƒํ• ๊นŒ์š”?

์ž๋ฐ”

โ‰ˆy

์•Œ๊ณ ๋ฆฌ์ฆ˜

์ „์‚ฐ ๊ธฐ๋ณธ

๋น…์˜ค ํ‘œ๊ธฐ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”

์ž๋ฐ”

ํŒฉํ† ๋ฆฌ์–ผ(factorial)์„ ๊ตฌํ˜„ํ•ด ๋ณด์„ธ์š”(์†์ฝ”๋”ฉ).

์ž๋ฐ”

ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด ๊ตฌํ˜„ ๋ฐฉ์‹ ์„ธ ๊ฐ€์ง€๋ฅผ ๋งํ•ด๋ณด์‹œ๊ณ , ์‹œ๊ฐ„๋ณต์žก๋„์™€ ๊ณต๊ฐ„๋ณต์žก๋„๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

BFS/DFS ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์ž๋ฐ”

ํ”„๋ฆผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

๋‹ค์ต์ŠคํŠธ๋ผ ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

์€ํ–‰์› ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

์ •๋ ฌ

์ •๋ ฌ์˜ ์ข…๋ฅ˜์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋‚˜์š”? ์‚ฝ์ž…, ์„ ํƒ, ๋ฒ„๋ธ”, ํ€ต, ๋ณ‘ํ•ฉ, ํž™, ๊ณ„์ˆ˜, ๊ธฐ์ˆ˜ ์ •๋ ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
์‚ฝ์ž… ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”. ์ •๋ ฌ๋œ ๋ถ€๋ถ„๊ณผ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ๋ถ€๋ถ„์œผ๋ก  ๋‚˜๋ˆ„๊ณ , ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ์›์†Œ๋ฅผ ์ •๋ ฌ๋œ ๋ถ€๋ถ„์˜ ์ ์ ˆํžˆ ์‚ฝ์ž…ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ๊ฑฐ์˜ ์ •๋ ฌ๋œ ๋ฐ์ดํ„ฐ๋‚˜ ์ž‘์€ ๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ์— ํšจ์œจ์ 

ํ€ต ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”.

ํ”ผ๋ฒ—์„ ์„ ํƒํ•˜๊ณ  ์ž‘์€ ๊ฐ’๊ณผ ํฐ ๊ฐ’์œผ๋กœ ๋ถ„ํ• ํ•œ ํ›„ ์žฌ๊ท€์ ์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ์— ๋งค์šฐ ํšจ์œจ์ ์ด๋ฉฐ ํ‰๊ท ์ ์œผ๋กœ ๊ฐ€์žฅ ๋น ๋ฅธ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž…๋‹ˆ๋‹ค.

๋ฒ„๋ธ” ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”. ์ธ์ ‘ํ•œ ๋‘ ์›์†Œ๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ๋น„๊ตํ•˜์—ฌ ํฐ ๊ฐ’์„ ๋’ค๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค

๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ์•ˆ์ •์ ์ธ ์ •์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์ •๋ ฌ์— ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

์„ ํƒ ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”. ์ „์ฒด์—์„œ ์ตœ์†Ÿ๊ฐ’์„ ์ฐพ ๋งจ ์•ž์œผ๋กœ ์ด๋™ ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ์ž‘์€ ๊ทœ๋ชจ์— ๋ฐ์ดํ„ฐ๋‚˜ ๋ฉ”๋ชจ ์‚ฌ์šฉ์ด ์ œํ•œ์ ์ผ ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํž™ ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”. ๋ฐ์ดํ„ฐ ์ตœ๋Œ€ ํž™์„ ๊ตฌ์„ฑํ•œ ํ›„, ๋ฃจํŠธ๋ฅผ ๊บผ๋‚ด์–ด ๋งจ ๋’ค๋กœ ๋ณด๋‚ด๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ์ตœ๋Œ“๊ฐ’/์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์•„์•ผํ•  ๋•Œ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ์ด ์ œํ•œ์ ์ธ ๊ฒฝ์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.
๋ณ‘ํ•ฉ ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”. ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ˜์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๊ฐ๊ฐ์„ ์ •๋ ฌํ•œ ํ›„ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ณผ์ •์„ ์žฌ๊ท€์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ์•ˆ์ •์ ์ธ ์ •๋ ฌ์ด ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์ •๋ ฌ์— ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.
๊ณ„์ˆ˜ ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”. ๊ฐ ์›์†Œ์˜ ์ถœํ˜„ ํšŸ์ˆ˜๋ฅผ ์„ธ์–ด ์ €์žฅํ•œ , ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ์ •์ˆ˜๋‚˜ ์ •์ˆ˜๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ์˜ ๋ฒ”์œ„๊ฐ€ ์ž‘์„ ๋•Œ ๋งค์šฐ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

๊ธฐ์ˆ˜ ์ •๋ ฌ์ด ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ๋ณด์„ธ์š”. ๊ฐ ์ž๋ฆฟ์ˆ˜ ๋ณ„๋กœ ๋ฒ„ํ‚ท์— ๋ถ„๋ฐฐํ•˜๊ณ  ์ˆ˜์ง‘ํ•˜๋Š” ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค

๐Ÿ’ก ์ ์ ˆํ•œ ์ƒํ™ฉ: ์ •์ˆ˜๋‚˜ ๋ฌธ์ž ๊ฐ™์ด ์ž๋ฆฟ์ˆ˜๊ฐ€ ์žˆ์„ ๋ฐ์ดํ„ฐ์˜ ์ •๋ ฌ์— ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

54321 ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, ์–ด๋–ค ์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ์š”?

์ž๋ฐ”

๋žœ๋ค์œผ๋กœ ๋ฐฐ์น˜๋œ ๋ฐฐ์—ด์ด ์žˆ์„๋•Œ, ์–ด๋–ค ์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ์š”?

์ž๋ฐ”

์ž๋ฆฟ์ˆ˜๊ฐ€ ๋ชจ๋‘ ๊ฐ™์€ ์ˆ˜๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์ด ์žˆ์„ ๋•Œ, ์–ด๋–ค ์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ์š”?

์ž๋ฐ”

์ž๋ฃŒ๊ตฌ์กฐ

์ „์‚ฐ ๊ธฐ๋ณธ

๋ฐฐ์—ด๊ณผ ๋งํฌ๋“œ ๋ฆฌ์ŠคํŠธ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

์Šคํƒ๊ณผ ํ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

ํ•ด์‹œํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

ํŠธ๋ฆฌ

ํฌํ™”(Perfect) ์ด์ง„ํŠธ๋ฆฌ, ์™„์ „(Complete) ์ด์ง„ํŠธ๋ฆฌ, ์ •(Full) ์ด์ง„ํŠธ๋ฆฌ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ๊ฐ๊ฐ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ž๋ฐ”

๊ทธ๋ž˜ํ”„์™€ ํŠธ๋ฆฌ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

ํž™ ์ž๋ฃŒ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

ํž™์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๋Š” ์–ด๋–ป๊ฒŒ ์ด๋ฃจ์–ด์ง€๋‚˜์š”?

์ž๋ฐ”

๋ ˆ๋“œ ๋ธ”๋ž™ ํŠธ๋ฆฌ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ž๋ฐ”

๋ ˆ๋“œ ๋ธ”๋ž™ ํŠธ๋ฆฌ์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ ๊ณผ์ •์— ๋Œ€ํ•ด์„œ ๋งํ•ด๋ณด์„ธ์š”.

์ž๋ฐ”

B-Tree์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

์ตœ์†Œ ์‹ ์žฅ ํŠธ๋ฆฌ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์ž๋ฐ”

ํ”„๋กœ๊ทธ๋ž˜๋ฐ

์ „์‚ฐ ๊ธฐ๋ณธ

.

์ž๋ฐ”


์–ธ์–ด ๊ด€๋ จ

Java

์ž๋ฐ” ๋ฐ์ดํ„ฐ ํƒ€์ž… ์ค‘ ๊ธฐ๋ณธํ˜•๊ณผ ์ฐธ์กฐํ˜•์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋‘ ๊ฐœ์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ฐจ์ด์ ์€ ๊ธฐ๋ณธํ˜•์€ ์‹ค์ œ ๊ฐ’์„ ์ง์ ‘ ์ €์žฅํ•˜๋ฉฐ, int, double ๊ณผ ๊ฐ™์ด ๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธํ˜•์€ ์Šคํƒ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜๊ณ  ๊ณ ์ •๋œ ํฌ๊ธฐ๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

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

๋˜ํ•œ ๊ธฐ๋ณธํ˜•์€ null๊ฐ’์„ ๊ฐ–์ง€๋ชปํ•˜์ง€๋งŒ ์ฐธ์กฐํ˜•์€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธํ˜•์€ ๋ฉ”์„œ๋“œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์—†๊ณ , ์ฐธ์กฐํ˜•์€ ๊ฐ์ฒด์˜ ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํด๋ž˜์Šค์™€ ๊ฐ์ฒด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”. ํด๋ž˜์Šค๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ ์œ„ํ•œ ์„ค๊ณ„๋„ ํ˜น์€ ํ‹€์ด๋ผ ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š”๋ฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค

๊ฐ์ฒด๋Š” ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ ๊ฐ์ฒด๋Š” ๊ณ ์œ ์˜ ์ด๋ฆ„๊ณผ ์ƒํƒœ, ํ–‰๋™์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ ๊ฐ์ฒด์˜ ์ƒํƒœ๋Š” ํ•„๋“œ ํ–‰๋™์€ ๋ฉ”์„œ๋“œ๋ผ๊ณ  ํ‘œํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์ฒด์— ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํ• ๋‹น๋˜์–ด ์‹ค์ œ๋กœ ํ™œ์šฉ๋˜๋Š” ์‹ค์ฒด๋Š” ์ธ์Šคํ„ด์Šค๋ผ ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ์ž์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š” ์ƒ์„ฑ์ž๋Š” ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ์ž๋™์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ํŠน๋ณ„ํ•œ ๋ฉ”์„œ๋“œ ์ž…๋‹ˆ๋‹ค. ์ฃผ๋กœ ๊ฐ์ฒด์˜ ์ดˆ๊ธฐํ™” ์ž‘์—…์„ ๋‹ด๋‹นํ•˜๋ฉฐ ๊ฐ์ฒด ์ƒ์„ฑ์‹œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๊ณ  ์˜ค๋ฒ„๋กœ๋”ฉ์ด ๊ฐ€๋Šฅํ•ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ƒ์„ฑ์ž๋„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

๋˜ํ•œ ๊ฐ์ฒด ์ƒ์„ฑ ์‹œ new ํ‚ค์›Œ๋“œ๋ฅผ ํ•จ๊ป˜ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

  • df
๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ๊ณผ ๋ฉ”์„œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์˜ค๋ฒ„๋ผ์ด๋”ฉ์€ ์ƒ์œ„ ํด๋ž˜์Šค์— ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ์žฌ์ •์˜ ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•˜๊ณ  ์˜ค๋ฒ„๋กœ๋”ฉ์€ ๋ฉ”์„œ๋“œ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋‚˜ ํƒ€์ž…์„ ๋ณ€๊ฒฝํ•˜์—ฌ ๊ฐ™์€ ์ด๋ฆ„์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ •์˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” ์˜ค๋ฒ„๋ผ์ด๋”ฉ์€ ์ƒ์†๊ด€๊ณ„์—์„œ ๋ฐœ์ƒํ•˜๊ณ  ์˜ค๋ฒ„๋กœ๋”ฉ์€ ํ•œ ํด๋ž˜์Šค ๋‚ด์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ ํ•˜๋Š” ์ ์—์„œ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์˜ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ํž™/ ๋ฉ”์„œ๋“œ / ์Šคํƒ / ํ”ผ์‹œ ๋ ˆ์ง€์Šคํ„ฐ / ๋„ค์ดํ‹ฐ๋ธŒ ๋ฉ”์„œ๋“œ ์Šคํƒ์œผ๋กœ 5๊ฐœ์˜ ์˜์—ญ์„ ์ง€๋‹ˆ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

static ํ‚ค์›Œ๋“œ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , static๋ฅผ ์–ธ์ œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

์ž๋ฐ” ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ƒํ™”์‹œ์ผœ ์ƒํƒœ์™€ ํ–‰์œ„๋ฅผ ๊ฐ€์ง„ ๊ฐ์ฒด๋กœ ๋งŒ๋“ค๊ณ  ๊ทธ ๊ฐ์ฒด๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ๋กœ์ง์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

4๊ฐœ์˜ ์ฃผ์š” ํŠน์ง•๋„ ๊ฐ–๊ณ  ์žˆ๋Š”๋ฐ ์บก์Аํ™” ์ƒ์† ์ถ”์ƒํ™” ๋‹คํ˜•์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค ๊ฐ„๋‹จํ•˜๊ฒŒ ์บก์Аํ™”๋Š” ์†์„ฑ๊ณผ ํ–‰์œ„๋ฅผ ํด๋ž˜์Šค๋กœ ๋ฌถ๋Š” ๊ฒƒ์ธ๋ฐ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ์™€ ์€๋‹‰์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ์†์€ ๊ธฐ์กด ํด๋ž˜์Šค์˜ ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๊ฐ€ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ณ  ์ถ”์ƒํ™”๋Š” ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์—์„œ ํ•ต์‹ฌ์ ์ธ ๊ฐœ๋…์ด๋‚˜ ๊ธฐ๋Šฅ์„ ๊ฐ„์ถ”๋ฆฌ๋Š” ๊ฒƒ์ด๋ฉฐ ๋‹คํ˜•์„ฑ์€ ๊ฐ™์€ ์ธํ„ฐํŽ˜์ด์Šค๋‚˜ ๋ฉ”์„œ๋“œ๊ฐ€ ๋‹ค๋ฅธ ๊ตฌํ˜„์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š”๊ฒƒ์„ ๋งํ•˜๋Š”๋ฐ ์œ ์—ฐ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ์ฑ™๊น๋‹ˆ๋‹ค.

์ž๋ฐ” ์ ‘๊ทผ ์ œ์–ด์ž์˜ ํŠน์ง•๊ณผ ์ข…๋ฅ˜์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

์ ‘๊ทผ ์ œ์–ด์ž๋Š” public, private, protected, default๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํผ๋ธ”๋ฆญ์€ ๋ชจ๋“  ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ์ ‘๊ทผ ์ œ์–ด์ž์ž…๋‹ˆ๋‹ค. ํ”„๋ผ์ด๋น—์€ ๊ฐ™์€ ํด๋ž˜์Šค๋‚ด์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•œ ์ ‘๊ทผ ์ œ์–ด์ž์ž…๋‹ˆ๋‹ค. ํ”„๋กœํ…ํ‹ฐ๋“œ๋Š” ๊ฐ™์€ ํŒจํ‚ค์ง€์•ˆ์˜ ๋ชจ๋“  ํด๋ž˜์Šค์™€ ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์˜ ํ•˜์œ„ ํด๋ž˜์Šค์—์„œ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋””ํดํŠธ๋Š” ๊ฐ™์€ ํŒจํ‚ค์ง€์•ˆ์˜ ํด๋ž˜์Šค์—์„œ๋งŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์ถ”์ƒ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ฐ™์€ ์ถ”์ƒํ™”์ธ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์ถ”์ƒํด๋ž˜์Šค์˜ ๋‹ค๋ฅธ ์ ์€ ์ถ”์ƒ ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค ๊ฐ„์˜ ์—ฐ๊ด€ ๊ด€๊ณ„๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋‘”๋‹ค๋ฉด ์ธํ„ฐํŽ˜์ด์Šค๋Š” ํด๋ž˜์Šค์˜ ํŠน์ • ๋™์ž‘์„ ์ •์˜ํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํด๋ž˜์Šค์—์„œ ๊ณตํ†ต ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋‘๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋„ˆํด๋ž˜์Šค์˜ ์žฅ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

OOP์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.
List, Set, Map์˜ ์ฐจ์ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

๋ฆฌ์ŠคํŠธ๋Š” ์ˆœ์„œ๊ฐ€ ์žˆ๊ณ  ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๊ณ  ์…‹์€ ์ˆœ์„œ๊ฐ€ ์—†์œผ๋ฉฐ ์ค‘๋ณต ๋˜ํ•œ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค ๋งต์€ ํ‚ค-๊ฐ’ ์Œ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์ˆœ์„œ์™€ ์ค‘๋ณต์ด ์—†์Šต๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜๊ณผ ์ŠคํŠธ๋ฆผ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

์ œ๋„ค๋ฆญ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•˜๊ณ , ์ปฌ๋ ‰์…˜ ํด๋ž˜์Šค์—์„œ ์™œ ์ œ๋„ค๋ฆญ์„ ์‚ฌ์šฉํ•˜๋Š” ์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

์žฌ๊ท€ ํ•จ์ˆ˜์™€ ๋ฐ˜๋ณต๋ฌธ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

Stack๊ณผ Queue์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

์ธ์ ‘ ํ–‰๋ ฌ๊ณผ ์ธ์ ‘ ๋ฆฌ์ŠคํŠธ์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

ex

ํƒ์š•(Greedy) ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์„ฑ๋ฆฝํ•ด์•ผ ํ•˜๋Š” ์กฐ๊ฑด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

์ด์ง„ ํƒ์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜(BST)์ด ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฐพ๊ธฐ ์œ„ํ•ด ํƒ์ƒ‰ํ•˜๋Š” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ CORS ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์›์ธ์€ ๋ฌด์—‡์ด๋ฉฐ, ์„œ๋ฒ„์—์„œ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‚˜์š”?

ex

URL๊ณผ URI์˜ ์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ๊ฐ€์š”?

ex

DNS์˜ ์ •์˜์™€ DNS๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

REST API๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

ex

Client Side Rendering ๊ณผ Server Side Rendering ์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

ํŠธ๋žœ์žญ์…˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

Foreign Key์™€ Primary Key์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

IOC์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

Spring์—์„œ AOP๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

์Šคํ”„๋ง ์ปจํ…Œ์ด๋„ˆ(Spring Container)์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

DI(Dependency Injection)์— ๋Œ€ํ•œ ์„ค๋ช…๊ณผ ํ•ด๋‹น ๊ธฐ์ˆ ์˜ ์žฅ์ ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š”.

ex

โœ” ํ…Œ์ŠคํŒ…

24๋ฒˆ - ๊ธฐ๋Šฅ ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ, ์Šฌ๋ผ์ด์Šค ํ…Œ์ŠคํŠธ, ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

25๋ฒˆ - JUnit์˜ Assertion์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

26๋ฒˆ - Given - When - Then ํŒจํ„ด์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

27๋ฒˆ - MockMvc๋ฅผ ์ด์šฉํ•ด Spring MVC์˜ API ์—”๋“œํฌ์ธํŠธ์ธ Controller๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

Mock์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

Mock ์ด๋ž€

์‹ค์ œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค๊ธฐ์—” ๋น„์šฉ๊ณผ ์‹œ๊ฐ„์ด ๋งŽ์ด ๋“ค๊ฑฐ๋‚˜ ์˜์กด์„ฑ์ด ๊ธธ๊ฒŒ ๊ฑธ์ณ์ ธ์žˆ์–ด ์ œ๋Œ€๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์šธ ๊ฒฝ์šฐ, ๊ฐ€์งœ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•˜๋Š”๋ฐ ์ด๊ฒƒ์„ Mock์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค

์ฆ‰, ์‹ค์ œ์™€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์€ ํ•˜์ง„ ์•Š์ง€๋งŒ ๋Œ€๋žต ํ˜ธ์ถœ์„ ํ•˜๋ฉด, ์ด๋Ÿฐ ๊ฒฐ๊ณผ ์ด๋Ÿฐ ๊ธฐ๋Šฅ์„ ํ• ๊ฒƒ์ด๋ผ๊ณ  ์•Œ๋ ค์ฃผ๋Š” ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค

๋ชฉ ๊ฐ์ฒด๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋Š” ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์„ ์œ„ํ•œ ํ™˜๊ฒฝ ๊ตฌ์ถ•์ด ์–ด๋ ค์šธ๋•Œ ํ…Œ์ŠคํŠธ๊ฐ€ ํŠน์ • ๊ฒฝ์šฐ๋‚˜ ์ˆœ๊ฐ„์— ์˜์กด์ ์ธ ๊ฒฝ์šฐ ํ˜น์€ ์‹œ๊ฐ„์ด ์˜ค๋ž˜๊ฑธ๋ฆฌ๋Š” ๊ฒฝ์šฐ์— ํ•„์š”ํ•˜๋ฉฐ

์ฃผ์˜ํ• ์ ์ด ์žˆ๋Š”๋ฐ Mock์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์œ ์ง€์— ๋ณต์žก์„ฑ์ด ๋”ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์˜์กด์„ฑ์ด ์ ์€ ๊ตฌ์กฐ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ด์•ผํ•˜๋ฉฐ ์‹ค์ œ ๊ฐ์ฒด๋กœ ์ž‘๋™์„ ํ•ด๋ดค์„๋•Œ ์˜ˆ์ƒํ•œ๊ฒƒ์ฒ˜๋Ÿผ ์ •์ƒ ์ž‘๋™์ด ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค ์ด์œ ๋Š” Mock์€ ์‹ค์ œ ๊ฐ์ฒด๊ฐ€ ์•„๋‹Œ ํ‰๋‚ด๋งŒ ๋‚ด๋Š” ๊ฐ€์งœ ๊ฐ์ฒด์ด๊ธฐ ๋–„๋ฌธ์ด๋‹ค

Mock์„ ๋ฌด๋ถ„๋ณ„ํ•˜๊ฒŒ ์‚ฌ์šฉํ• ๊ฒฝ์šฐ ๋ฆฌํŒฉํ† ๋ง์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ํฌ๊ฒŒ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ์ฒด์— ํ•„์š”ํ•œ ํ–‰๋™๋งŒ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋งŒ๋“ค์–ด Mock ๊ฐ์ฒด๋ฅผ ํ˜•์„ฑํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค ๋ถˆํ•„์š”ํ•˜๋ฉด ์ƒํƒœ ๊ฒ€์ฆ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ๋งŒ๋“ค์ง€ ์•Š๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค

29๋ฒˆ - Stub๊ณผ Stubbing์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

30๋ฒˆ - Mockito๊ฐ€ ๋ฌด์—‡์ธ์ง€, Mockito์˜ ์—ญํ• ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

31๋ฒˆ - @SpringBootTest์™€ @@WebMvcTest์˜ ์ฐจ์ด์ ์„ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

โœ” API ๋ฌธ์„œํ™”

Swagger์™€ Spring Rest Docs์˜ ์žฅ๋‹จ์ ์„ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

Swagger vs spring Rest Docs

์Šค์›จ๊ฑฐ์˜ ์žฅ์  API๋ฅผ ํ…Œ์ŠคํŠธ ํ•ด ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ™”๋ฉด์„ ์ œ๊ณตํ•œ๋‹ค ์Šค์›จ๊ฑฐ๋Š” ์ ์šฉ์ด ์‰ฝ์ง€๋งŒ ์ปจํŠธ๋กค๋Ÿฌ์— ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด๋œ๋‹ค

๋‹จ์  ์–ด๋…ธํ…Œ์ด์…˜๋„ ๊ต‰์žฅํžˆ ๋งŽ๊ธฐ๋•Œ๋ฌธ์— ๊ฐ€๋…์„ฑ์ด ๋งค์šฐ ๋–จ์–ด์ง„๋‹ค ๊ฐ€์žฅ ํฐ ๋ฌธ์ œ๋Š” ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์„ ์ˆ˜ ๋„ ์žˆ๋‹ค.

๋ ˆ์ŠคํŠธ ๋…์Šค ์ œํ’ˆ ์ฝ”๋“œ์— ์˜ํ–ฅ์ด ์—†๋‹ค ์ต์ˆ™ํ•˜๋ฉด ๋†’์€ ๊ฐ€๋…์„ฑ ๋ณ€๊ฒฝ์— ๋”ฐ๋ผ ์œ ์ง€๋ณด์ˆ˜๋ฅผ ์ตœ์‹ ํ™”ํ• ์ˆ˜ ์žˆ๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•ด์•ผ๋งŒ ์ž‘์„ฑ๋˜์–ด ์‹ ๋ขฐ์„ฑ์ด ๋†’๋‹ค

๋‹จ์ ์€ ์ ์šฉํ•˜๋Š” ๋‚œ์ด๋„๊ฐ€ ์ƒ๋‹นํ•˜๋‹ค

33๋ฒˆ - Spring Rest Docs์˜ API ๋ฌธ์„œํ™” ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

34๋ฒˆ - Spring Boot ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋นŒ๋“œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

35๋ฒˆ - Spring Boot ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œ ์‹œ, ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํŒŒ์ผ(Profile)์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

36๋ฒˆ - Spring Boot ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰ ํŒŒ์ผ์„ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ์ „ํ†ต์ ์ธ ๋ฐฐํฌ ๋ฐฉ์‹
  • ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค์— ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ์‹

โœ” ์ธ์ฆ / ๋ณด์•ˆ

1๋ฒˆ - ์ธ์ฆ๊ณผ ์ธ๊ฐ€์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

2๋ฒˆ - ์„ธ์…˜์— ๋Œ€ํ•ด์„œ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒํ•œํ…Œ ์„ค๋ช…ํ•˜๋“ฏ ๊ฐ„๋‹จํ•˜๊ฒŒ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

์„ธ์…˜์ด๋ž€ ์šฐ๋ฆฌ๊ฐ€ ์ธํ„ฐ๋„ท ์‡ผํ•‘๋ชฐ์„ ์ด์šฉํ• ๋•Œ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์™€ ๋น„์Šทํ•œ ๊ฐœ๋…์ด๋ผ๊ณ  ํŽธํ•˜๊ฒŒ ์˜ˆ๋ฅผ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์‡ผํ•‘๋ชฐ์—์„œ ์ƒํ’ˆ์„ ๊ตฌ๋งคํ•˜๊ธฐ์œ„ํ•ด ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋‹ด์•„๋‘์—ˆ์„๋•Œ, ๋’ค์—์„œ ์„œ๋ฒ„๋„ ์žฅ๋ฐ”๊ตฌ๋‹ˆ์— ๋ณด๊ด€์„ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋˜ ๋‹ค๋ฅธ ์ƒํ’ˆ์„ ๋‹ด์•˜์„๋•Œ ์„ธ์…˜์ด ๋งŒ์•ฝ ์กด์žฌ ํ•˜์ง€์•Š๋Š”๋‹ค๋ฉด ์šฐ๋ฆฌ๊ฐ€ ๋ฐ”๋กœ ์ „์— ์žฅ๋ฐ”๊ตฌ๋‹ˆ์—  ์ฐœํ•ด๋†“์•˜๋˜ ์ƒํ’ˆ์€ ์‚ฌ๋ผ์ง€๊ณ  ๋ฐฉ๊ธˆ ์ƒˆ๋กœ ์ฐœํ•ด๋†“์€ ์ƒํ’ˆ๋งŒ ์žฅ๋ฐ”๊ตฌ๋‹ˆ ์†์— ์žˆ์„๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒŒ ๋ฐ”๋กœ ์„ธ์…˜์˜ ์—ญํ• ์ธ๋ฐ ์‚ฌ์šฉ์ž์˜ ์›ํ•˜๋Š” ์š”๊ตฌ ๋ฐ ๊ฐ๊ฐ์˜ ์ƒํƒœ๋ฅผ ์„œ๋ฒ„์—์„œ ์ €์žฅํ•˜๋Š” ๊ธฐ์ˆ ์ด๋ฉฐ,

๋” ์‰ฌ์šด ์˜ˆ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์›นํŽ˜์ด์ง€์— ๋กœ๊ทธ์ธ ํ–ˆ์„๋•Œ ์„ธ์…˜์ด ์—†๋‹ค๋ฉด ๊ณ„์† ๋กœ๊ทธ์ธ์ด ์œ ์ง€ ๋˜์ง€์•Š์•„์„œ, ์šฐ๋ฆฌ๋Š” ๊ณ„์† ๋กœ๊ทธ์ธ์„ ํ•ด์•ผํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊ธธ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์„œ๋ฒ„์—์„œ ์ €์žฅํ•˜๊ณ ์žˆ๊ธฐ์— ์ธํ„ฐ๋„ท์„ ์‚ฌ์šฉํ•˜๋ฉด์„œ ๋“ค์–ด๋ณธ โ€˜์ฟ ํ‚คโ€™ ๋ณด๋‹ค ๋ณด์•ˆ์ ์œผ๋กœ ์•ˆ์ „ํ•˜์—ฌ ์šฐ๋ฆฌ์˜ ๊ฐœ์ธ ์ •๋ณด๋ฅผ ์ง€ํ‚ค๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค!

3๋ฒˆ - ์„ธ์…˜๊ณผ ์ฟ ํ‚ค ๊ทธ๋ฆฌ๊ณ  ํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

4๋ฒˆ ****- ์„ธ์…˜๊ณผ ํ† ํฐ ์ธ์ฆ ๋ฐฉ์‹ ์ค‘ ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์„ ๋ง์”€ํ•ด ์ฃผ์„ธ์š”.

5๋ฒˆ - HTTP์™€ HTTPS ๊ฐ๊ฐ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ  ๋‘˜์˜ ์ฐจ์ด์ ์„ ๋ง์”€ํ•ด ์ฃผ์„ธ์š”.

6๋ฒˆ - HTTPS์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

7๋ฒˆ - OAuth 2.0์˜ ์›Œํฌํ”Œ๋กœ์šฐ์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

8๋ฒˆ - Spring Security์˜ ์ธ์ฆ ์ฒ˜๋ฆฌ ํ๋ฆ„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

9๋ฒˆ - Spring Security์˜ ์ธ๊ฐ€ ์ฒ˜๋ฆฌ ํ๋ฆ„์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

10๋ฒˆ - Filter๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ณ  Filter Chain์˜ ๋™์ž‘์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”. HTTP ์š”์ฒญ๊ณผ ์‘๋‹ต์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š” ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ์ด๋ฉฐ, ์„œ๋ธ”๋ฆฟ 2.3 ๊ทœ์•ฝ์— ์ƒˆ๋กญ๊ฒŒ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค ํ•„ํ„ฐ๋Š” ๊ฐ์ฒด์˜ ํ˜•ํƒœ๋กœ ์กด์žฌํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ์˜ค๋Š” request ์™€ ์ตœ์ข…์ž์›(์„œ๋ธ”๋ฆฟ) ์‚ฌ์ด์— ์œ„์น˜ํ•˜๋ฉฐ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ ์ •๋ณด๋ฅผ ์•Œ๋งž๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค ๋˜ํ•œ ํ•„ํ„ฐ๋Š” ์ตœ์ข… ์ž์›๊ณผ ํด๋ผ์ด์–ธํŠธ๋กœ ๊ฐ€๋Š” response ์‚ฌ์ด์— ์œ„์น˜ํ•˜์—ฌ ์ตœ์ข… ์ž์›์˜ request ๊ฒฐ๊ณผ๋ฅผ ์•Œ๋งž๊ฒŒ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค

์š”์•ฝํ•˜์ž๋ฉด ํ•„ํ„ฐ์˜ ๊ฐ€์žฅ ํฐ ์—ญํ• ์€ ์‚ฌ์šฉ์ž request๋ฅผ ๊ฒ€์ฆํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ๋ณ€์กฐํ•˜๋Š” ๊ฒƒ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค

ํ•„ํ„ฐ์ฒด์ธ์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํ•„ํ„ฐ๊ฐ€ ๋ชจ์—ฌ์„œ ํ•˜๋‚˜์˜ ์ฒด์ธ์„ ํ˜•์„ฑํ• ๋•Œ ์ฒซ๋ฒˆ์งธ ํ•„ํ„ฐ๊ฐ€ ๋ณ€๊ฒฝํ•˜๋Š” request์ •๋ณด๋Š” ํด๋ผ์ด์–ธํŠธ์˜ request์ •๋ณด๊ฐ€ ๋˜์ง€๋งŒ, ์ฒด์ธ์˜ ๋‘๋ฒˆ์งธ ํ•„ํ„ฐ๊ฐ€ ๋ณ€๊ฒฝํ•˜๋Š” ์š”์ฒญ์ •๋ณด๋Š” ์ฒซ๋ฒˆ์งธ ํ•„ํ„ฐ๋ฅผ ํ†ตํ•ด ๋ณ€๊ฒฝ๋œ ์š”์ฒญ์ •๋ณด๊ฐ€ ๋œ๋‹ค. ์ฆ‰ ์š”์ฒญ์ •๋ณด๋Š” ๋ณ€๊ฒฝ์— ๋ณ€๊ฒฝ์— ๋ณ€๊ฒฝ์„ ๊ฑฐ๋“ญํ•˜๊ฒŒ๋ฉ๋‹ˆ๋‹ค ์‘๋‹ต ์ •๋ณด์˜ ๊ฒฝ์šฐ๋„ ์š”์ฒญ์ •๋ณด์™€ ๋น„์Šทํ•œ ๊ณผ์ •์„ ๊ฑฐ์น˜์ง€๋งŒ ์ฐจ์ด์ ์€ ํ•„ํ„ฐ์˜ ์ ์šฉ ์ˆœ์„œ๊ฐ€ ์š”์ฒญ๊ณผ ๋ฐ˜๋Œ€์ž…๋‹ˆ๋‹ค

โœ” Cloud

11๋ฒˆ - ์‚ฌ์šฉํ•ด ๋ณธ ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•ด ์ฃผ์„ธ์š”.

12๋ฒˆ - vmware์™€ ๊ฐ™์€ ๊ฐ€์ƒ๋จธ์‹ ์ด๋ž‘ Docker๊ฐ€ ๋ฌด์Šจ ์ฐจ์ด๊ฐ€ ์žˆ๋Š”์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

๋„์ปค๋Š” ์ฝ”๋“œ ๋ฐ ์ข…์†์„ฑ์„ ํ•จ๊ป˜ ํŒจํ‚ค์ง•ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์˜ ์ถ”์ƒํ™”๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ง์€, ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ๋™์ผํ•œ ์‹œ์Šคํ…œ์—์„œ ์ฆ‰ ๋‚ด ํ”ผ์”จ์—์„œ ์‹คํ–‰๋˜๊ณ  OS์ปค๋„์„ ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฐ ์ปจํ…Œ์ด๋„ˆ๋Š” ์‚ฌ์šฉ์ž ๊ณต๊ฐ„์—์„œ ๋ถ„๋ฆฌ๋œ ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค

๋„์ปค๋Š” vm๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ ์ ๊ฒŒ ์ฐจ์ง€ํ•˜๊ณ  ๋” ๋งŽ์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋” ์ ์€ ์ˆ˜์˜ vm ๋˜๋Š” os๋ฅผ ํ•„์š”๋กœ ํ•ฉ๋‹ˆ๋‹ค!

์‰ฝ๊ฒŒ ํ’€๋ฉด ํ•˜๋‚˜์˜ HostOS์œ„์— ๋„์ปค๋ฅผ ์„ค์น˜ํ•ด ๊ทธ ์œ„์— ๊ฐ๊ฐ์˜ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ™˜๊ฒฝ๋“ค์„ ์„ค์น˜ํ•˜๋ฉฐ ์šด์˜ํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค! ๊ฐ๊ฐ OS์— ์„ค์น˜๋œ๊ฒƒ์ด ์•„๋‹Œ ํ•˜๋‚˜์˜ ํ˜ธ์ŠคํŠธOS์œ„์—์„œ ์ž์›๋งŒ ๊ณต์œ ํ•˜๊ธฐ์— ์ƒ๋Œ€์ ์œผ๋กœ ๊ฐ€๋ฒผ์šฐ๋ฉฐ ๋„์ปค๊ฐ€ ์„ค์น˜๋œ ํ™˜๊ฒฝ์ด๋ผ๋ฉด ์ด๋ฏธ์ง€๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ธฐ์— ์–ด๋””์„œ๋“  ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค

Vm์€ ํ•˜๋‚˜์˜ ์„œ๋ฒ„๋ฅผ ์—ฌ๋Ÿฌ ์„œ๋ฒ„๋กœ ์ „ํ™”ํ•˜๋Š” ๋ฌผ๋ฆฌ์ ์ธ ํ•˜๋“œ์›จ์–ด์˜ ์ถ”์ƒํ™”๋ผ๊ณ  ์ •์˜ํ•  ์ˆ˜ ์žˆ๊ณ  ํ•˜์ดํผ๋ฐ”์ด์ € ๊ธฐ๋ฒ•์„ ํ†ตํ•ด ๋‹จ์ผ ์‹œ์Šคํ…œ์—์„œ ์—ฌ๋Ÿฌ VM์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ฐ VM์—” OS, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜, ํ•„์š”ํ•œ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ „์ฒด ๋ณต์‚ฌ๋ณธ์ด ํฌํ•จ๋˜์–ด ์ˆ˜์‹ญ GB๋ฅผ ์ฐจ์ง€ํ•˜๊ธฐ์— VM์˜ ๋ถ€ํŒ… ์†๋„ ๋˜ํ•œ ๋А๋ ค์งˆ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค

์ฆ‰ VM๊ฐ€์ƒ๋จธ์‹ ์€ ํ•˜์ดํผ๋ฐ”์ด์ €๋ฅผ ์ด์šฉํ•ด ํ•˜๋‚˜์˜ ํ˜ธ์ŠคํŠธOS์—์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ OS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ฉฐ, VM๊ตฌ์กฐ์™€ ๊ฐ™์€ ๊ธฐ๋ฐ˜์ธ ํ˜ธ์ŠคํŠธOS ์œ„์— ๊ฐ๊ฐ์˜ ๊ฒŒ์ŠคํŠธOS๋ฅผ ํ•˜๋‚˜์”ฉ ์„ค์น˜ํ•˜๋Š” ํ˜•ํƒœ์ž…๋‹ˆ๋‹ค ์ด๋Š” ๊ฐ๊ฐ์˜ ๊ฐ€์ƒ๋จธ์‹ ์€ ํ•˜๋‚˜์˜ ๋…๋ฆฝ๋œ ์ปค๋„ ๊ณต๊ฐ„์„ ๊ฐ€์ง„ ์™„์ „ํ•œ ์ปดํ“จํ„ฐ๋ฅผ ์ƒ์‚ฐํ•˜๋Š” ์‹์˜ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค

๋„์ปค์™€ ๋‹ฌ๋ฆฌ ์šฉ๋Ÿ‰์ด ๋งค์šฐ ๋ฌด๊ฒ์Šต๋‹ˆ๋‹ค ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๊ฒŒ์ŠคํŠธOS์™€ ๋ถ„๋ฆฌ ๋…๋ฆฝ๋œ ๊ณต๊ฐ„๊ณผ ์ž์›์„ ํ• ๋‹น๋ฐ›์•„ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋ณด์•ˆ์„ฑ ์ธก๋ฉด์—์„œ ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค!

13๋ฒˆ - CI/CD๊ฐ€ ๋ฌด์—‡์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋‚˜์š”? CI์™€ CD์˜ ์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

14๋ฒˆ - ๋ณธ์ธ์ด ๊ตฌํ˜„ํ•ด ๋ณธ CI/CD ๋ฐฐํฌ ์ž๋™ํ™” ๊ณผ์ •์„ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.