- ๋คํธ์ํฌ
- ์ ๊ทํ
- CS ๊ด๋ จ์ง์
- ์ธ์ด ๊ด๋ จ
- ๋ฉด์ ๊ด๋ จ ์ถ์ฒ ์์
#์ด์์ฒด์
#ํ๋ก์ธ์ค
ํ๋ก์ธ์ค์ ์ค๋ ๋์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?
ํ๋ก์ธ์ค๋ ๋ ๋ฆฝ์ ์ธ ์คํ ๋จ์๋ก, ๊ฐ๊ฐ ๋ณ๋์ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ๊ฐ์ง๋๋ค. ๋ฐ๋ฉด ์ค๋ ๋๋ ํ๋์ ํ๋ก์ธ์ค๋ด์์ ์คํ๋๋ฉฐ ๊ฐ์ ํ๋ก์ธ์ค์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ณต์ ํฉ๋๋ค.
ํ๋ก์ธ์ค๋ ์๋ก ๋ ๋ฆฝ์ ์ด์ด์ ํ ํ๋ก์ธ์ค์ ๋ฌธ์ ๊ฐ ๋ค๋ฅธ ํ๋ก์ธ์ค์ ์ํฅ์ ์ฃผ์ง ์์ต๋๋ค. ํ์ง๋ง ๊ฐ์ ํ๋ก์ธ์ค๋ด์ ์ค๋ ๋๋ค์ ์๋ก ์ํฅ์ ์ค ์ ์์ต๋๋ค.
ํ๋ก์ธ์ค๋ ์์ฑ๊ณผ ์ปจํ ์คํธ ์ค์์นญ์ ๋ ๋ง์ ์ค๋ฒํค๋๊ฐ ๋ฐ์ํ์ง๋ง, ์ค๋ ๋๋ ์๋์ ์ผ๋ก ๊ฐ๋ณ๊ณ ๋น ๋ฆ ๋๋ค.
๊ต์ฐฉ์ํ๋ ๋ฌด์์ด๋ฉฐ, ๊ต์ฐฉ์ํ๊ฐ ๋ฐ์ํ๊ธฐ ์ํด์๋ ์ด๋ค ์กฐ๊ฑด์ด ์์ด์ผ ํ๋์?
์๋ฐ
๊ต์ฐฉ์ํ์ ํด๊ฒฐ๋ฒ์ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
๋ฎคํ ์ค์ ์ธ๋งํฌ์ด์ ๋ํด์ ์ค๋ช ํด ๋ณด์์ค.
์๋ฐ
์ปจํ ์คํธ ์ค์์นญ์ด๋ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
๊ฒฝ์ ์ํ๋ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
ํ๋ก์ธ์ค ํน์ ์ค๋ ๋์ ๋๊ธฐํ๋ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
์ฌ์ฉ์ ์์ค์ ์ค๋ ๋์ ์ปค๋ ์์ค์ ์ค๋ ๋์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
CPU ์ค์ผ์ค๋ง์ด๋ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
CPU ์ค์ผ์ค๋ง ๋ฐฉ๋ฒ์๋ ๋ํ์ ์ผ๋ก ์ด๋ค ๊ฒ๋ค์ด ์๋์?
์๋ฐ
๋๊ธฐ์ ๋น๋๊ธฐ, ๋ธ๋กํน๊ณผ ๋๋ธ๋กํน์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?
๋๊ธฐ๋ ์์ ์ ์์ฐจ์ ์ผ๋ก ์คํํ๋ฉฐ, ํ ์์ ์ด ์๋ฃ๋ ๋๊น์ง ๋ค๋ฅธ ์์ ์ ์์ํ์ง ์์ต๋๋ค. ๋น๋๊ธฐ๋ ์์ ์ ์์ํ ํ ์๋ฃ๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ๋ค๋ฅธ ์์ ์ ์งํํฉ๋๋ค, ์์ ์๋ฃ ์ ์ฝ๋ฐฑ, ํ๋ก๋ฏธ์ค ๋ฑ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
๋ธ๋กํน์ ์์ ์ด ์๋ฃ๋ ๋๊น์ง ์ ์ด๊ถ์ ๊ฐ์ง๊ณ ๋๊ธฐํฉ๋๋ค. ๋ ผ๋ธ๋กํน์ ์์ ์๋ฃ ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ฆ์ ์ ์ด๊ถ์ ๋ฐํํฉ๋๋ค.
์ฃผ์ ์ฐจ์ด๋ ๋๊ธฐ/๋น๋๊ธฐ๋ ์์ ์์์ ํ๋ฆ ์ ์ด์ ๊ดํ๊ฒ์ด๊ณ , ๋ธ๋กํน/๋ ผ๋ธ๋กํน์ ์์ ์ ์ ์ด๊ถ ๋ฐํ ์ฌ๋ถ์ ๊ดํ ๊ฒ ์ ๋๋ค.
ํ๋ก์ธ์ค์ ํ ๋น๋๋ ๋ฉ๋ชจ๋ฆฌ์ ๊ฐ ์์ญ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์
์๋ฐ
๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ์ ์์๊ฐ ์ด๋ป๊ฒ ๋๋๊ฐ? CPU์์ ๊ฐ๊น์ด ์์ผ๋ก ๋งํด๋ณด์์ค.
์๋ฐ
ํ์ด์ง์ ์ธ๊ทธ๋ฉํ ์ด์ ์ ๋ํด์ ์ค๋ช ํด ๋ณด์์ค.
์ธ๋ถ ๋จํธํ๋? ๋ด๋ถ ๋จํธํ๋?
์๋ฐ
First Fit, Best Fit, Worst Fit์ ๋ํด์ ์ค๋ช ํด ๋ณด์์ค.
์๋ฐ
ํ์ด์ง ๊ต์ฒด ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ์๋ ์ด๋ค ๊ฒ๋ค์ด ์๋์?
์๋ฐ
#๋คํธ์ํฌ
OSI 7๊ณ์ธต์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
์๋ฐ
TCP/IP 4๊ณ์ธต์ ๋ํด์ ์ค๋ช ํด์ฃผ์ธ์.
์๋ฐ
DNS๊ฐ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
๋๋ฉ์ธ ์ด๋ฆ์ผ๋ก ์ค์ IP๋ฅผ ์ด๋ป๊ฒ ์ฐพ์ ์ ์๋์ง ํ๋ฆ์ ์ค๋ช ํด ์ฃผ์ธ์.
์๋ฐ
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์ ์ฐจ์ด๋ ๋ฌด์์ธ๊ฐ์?
์๋ฐ
์ฟ ํค์ ์ธ์ ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์.
์ฟ ํค๋ ์น ์๋ฒ๊ฐ ์ฌ์ฉ์์ ์น ๋ธ๋ผ์ฐ์ ์ ์ ์ฅํ๋ ์์ ํ ์คํธ ํ์ผ์ ๋๋ค. ์ธ์ ์ ์๋ฒ์ธก์์ ์ ์ง๋๋ ์ฌ์ฉ์๋ณ ์ํ ์ ๋ณด์ ๋๋ค.
์ฟ ํค๋ ํด๋ผ์ด์ธํธ์ธก์๊ฒ ์ ์ฅ๋๊ณ ์ธ์ ์ ์๋ฒ์ธก์ ์ ์ฅ๋ฉ๋๋ค
๋๊ฒ ์ฟ ํค๋ ๋ฐฉ๋ฌธ ์ฌ์ดํธ ๋ก๊ทธ์ธ ์ ์์ด๋, ๋น๋ฐ๋ฒํธ ์ ์ฅ์ ์ฌ์ฉํ๊ฑฐ๋ ์ผํ๋ชฐ์ ์ฅ๋ฐ๊ตฌ๋ ๊ธฐ๋ฅ ๋ฑ์์ ์ฝ๊ฒ ์ ํ ์ ์์ต๋๋ค
์ธ์ ์ ์ฟ ํค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ ธ์์ง๋ง ๋ณด์ ์ธก์์ ๋ ์ฐ์ํฉ๋๋ค ๋ํ ์๋ฒ์์ ๊ด๋ฆฌํ๋ ๋งํผ ๋ก๊ทธ์ธ๊ฐ์ด ๋ณด์์ ์ค์ํ ์์ ์ ์ํํ ๋ ์ฌ์ฉํฉ๋๋ค.
์น๋ธ๋ผ์ฐ์ ์์ ์๋ฒ๋ก ์์ฒญํ์ ๋, ํ๋ฆ์ ์ค๋ช ํด์ฃผ์ธ์.
์๋ฐ
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์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์.
์๋ฐ
์ต์ ์ ์ฅ ํธ๋ฆฌ์ ๋ํด์ ์ค๋ช ํด ์ฃผ์ธ์.
์๋ฐ
.
์๋ฐ
์๋ฐ ๋ฐ์ดํฐ ํ์ ์ค ๊ธฐ๋ณธํ๊ณผ ์ฐธ์กฐํ์ ์ฐจ์ด์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
๋ ๊ฐ์ ๋ฐ์ดํฐ ํ์ ์ ์ฐจ์ด์ ์ ๊ธฐ๋ณธํ์ ์ค์ ๊ฐ์ ์ง์ ์ ์ฅํ๋ฉฐ, 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์ ์ฐจ์ด์ ์ ์ค๋ช
ํด ์ฃผ์ธ์.
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์ ๋ณด๊ฐ ๋์ง๋ง, ์ฒด์ธ์ ๋๋ฒ์งธ ํํฐ๊ฐ ๋ณ๊ฒฝํ๋ ์์ฒญ์ ๋ณด๋ ์ฒซ๋ฒ์งธ ํํฐ๋ฅผ ํตํด ๋ณ๊ฒฝ๋ ์์ฒญ์ ๋ณด๊ฐ ๋๋ค. ์ฆ ์์ฒญ์ ๋ณด๋ ๋ณ๊ฒฝ์ ๋ณ๊ฒฝ์ ๋ณ๊ฒฝ์ ๊ฑฐ๋ญํ๊ฒ๋ฉ๋๋ค ์๋ต ์ ๋ณด์ ๊ฒฝ์ฐ๋ ์์ฒญ์ ๋ณด์ ๋น์ทํ ๊ณผ์ ์ ๊ฑฐ์น์ง๋ง ์ฐจ์ด์ ์ ํํฐ์ ์ ์ฉ ์์๊ฐ ์์ฒญ๊ณผ ๋ฐ๋์ ๋๋ค
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 ๋ฐฐํฌ ์๋ํ ๊ณผ์ ์ ์ค๋ช
ํด ์ฃผ์ธ์.