์ธ๊ธฐ๋ ๋์ง๋ง ๋ฐฐ์ฐ๊ธฐ ์ด๋ ต๋ ์คํ๋ง๋ถํธ ๊ฐ๋ฐ,
์ฝํ๋ฆฐ์ผ๋ก ๋์ฑ ์ฝ๊ฒ ๋ฐฐ์๋ณด์ธ์!
์ฃผ์ ์๊ฐ ๐
์๋
ํ์ธ์, Steve์
๋๋ค. ๋จผ์ ๋ง๋๋ต๊ฒ ๋์ด ๋ฐ๊ฐ์ต๋๋ค.
ํด๋น ๊ฐ์๋ ์ฝํ๋ฆฐ(Kotlin)์ ์ด์ฉํ์ฌ ์คํ๋ง๋ถํธ(Spring Boot)๋ฅผ ๊ฐ๋ฐํ๋ ๊ฐ์์
๋๋ค.
๊ทธ๋์ ์คํ๋ง๋ถํธ๊ฐ ์ด๋ ค์์ ํฌ๊ธฐํ์ ๋ถ๋ค, ์คํ๋ง(Spring)์ ํ์ฉํ๋ ํ์ฌ์ ์
์ฌํ๊ณ ์ถ์ผ์ ๋ถ๋ค ๋ชจ๋
์ฝํ๋ฆฐ์ด๋ผ๋ ๊ฐ๋ ฅํ ์ธ์ด๋ฅผ ํ์ฉํ ์คํ๋ง๋ถํธ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋ณด์ธ์.
์ ๋ฐฐ์์ผ ํ๋์ง โ๏ธ
ํํ โ๊ฐ๊ณ ์ถ๋คโ๊ณ ๋ค ํ๋ ๊ตญ๋ด์ ์ด๋ฆ๋ ํ์ฌ, ์์๊ถ ๊ธฐ์
์ ๋๋ค์๊ฐ ์คํ๋ง ๊ฐ๋ฐ์๋ฅผ ํ๋ฐํ๊ฒ ์ฑ์ฉํฉ๋๋ค.
๊ทธ๋งํผ ๊ตญ๋ด์์ ์คํ๋ง ํ๋ ์์ํฌ(Spring Framework)๋ ํ์๋ ๋ค๋ฆ์๋ ๊ธฐ์ ์
๋๋ค.
์๋ฐ์ ๋น๊ตํด ๊ฐ๊ฒฐํ๊ณ ์ฌ๋ฏธ์๋ ์ฝํ๋ฆฐ ์ธ์ด๋ฅผ ํตํด ์คํ๋ง๋ถํธ๋ฅผ ํ์ตํจ์ผ๋ก์จ ๋ค์ํ ๊ธฐ์
์ ์ง์ํด๋ณด์ธ์!
์ด ๊ฐ์์์ ๋ฐฐ์ฐ๋ ๊ฒ๋ค โ๏ธ
Spring Boot Rest API JUnit
- Kotlin์ ์ฌ์ฉํ์ฌ ์คํ๋ง์ ๊ฐ๋ฐํฉ๋๋ค.
- Spring Boot Web Application ๊ฐ๋ฐ์ ๋ฐฐ์๋๋ค.
- REST-API ์์ฒญ์ ๋ํด์ ์ฒ๋ฆฌ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
- REST-API ์๋ต์ ๋ํด์ ๋ค์ํ๊ฒ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
- Spring์์ Bean Validationํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
- Spring์์ ์์ธ์ฒ๋ฆฌ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
- JUnit๋ฅผ ํ์ฉํ์ฌ ์ฝ๋๋ฅผ ํ
์คํธ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
- Todo Web Application์ ๊ฐ์ด ๊ฐ๋ฐํจ์ผ๋ก์จ ๋ฐฐ์ด ๋ด์ฉ์ ๋ณต์ตํฉ๋๋ค.
- Web ๊ฐ๋ก ์ ํตํ์ฌ URI ์ค๊ณ ๋ฐฉ๋ฒ๊ณผ Web, HTTP์ ๋ํด์ ํ์ตํฉ๋๋ค.
๊ฐ์ ํน์ง ๐ก
์คํ๋ง์ ๋๋ฌด๋๋ ๋ฐฉ๋ํ ํ๋ ์์ํฌ์
๋๋ค. ๊ทธ๋ ๊ธฐ์ ์ด ๊ฐ์์์๋ ๊ฐ์ด ํ์ตํ ๋ด์ฉ์ ๋ฐ๋ผํ๋ฉด์ ์ฝ๋ฉํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์์
์ ์งํํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ธ ์คํ๋ง์ ์ด๋ก ์ ๋จธ๋ฆฌ๋ก ์ตํ๊ธฐ๋ณด๋ค๋ ์ง์ ์์ผ๋ก ๋ฐ๋ผํ๋ฉด์ ์คํ๋ง๊ณผ ์ธ์ฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
*๊ฐ ๊ฐ์๋ณ ๊ฐ์ ์๋ฃ๋ฅผ ์ ๊ณตํ๋ฉฐ, ๊ฐ์ ๋
ธํธ์ Github ๋งํฌ๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. ์งํ ์ค ๋งํ๋ ๋ถ๋ถ์ ๊ฐ์ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํ์ธ์.
์ฌ๊ธฐ์ ๋ค๋ฃจ๋ ํด ๐งฐ
- JDK8 ๋ฒ์ ์ ์ฌ์ฉํฉ๋๋ค.
- Intellij๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐํฉ๋๋ค.
- Chrome ๋ธ๋ผ์ฐ์ ๋ฅผ ํ์ฉํ์ฌ ์ค์ตํฉ๋๋ค.
์์ ์ง๋ฌธ Q&A ๐๐ปโโ๏ธ
Q. ์๋ฐ ๊ฐ๋ฐ์๊ฐ ๋ค์ด๋ ๋ ๊น์?
A. ๋ค. ์ ํ ์ง์ฅ์ด ์์ต๋๋ค. ์ฝํ๋ฆฐ์ ์๋ฐ์ ๋งค์ฐ ์ ์ฌํ๊ธฐ ๋๋ฌธ์ ์ฝํ๋ฆฐ์ผ๋ก ๋ด์ฉ์ ๋ฐฐ์ฐ์
๋ ๋๊ฐ์ด ์๋ฐ-์คํ๋ง ๊ฐ๋ฐ์ด ๊ฐ๋ฅํฉ๋๋ค.
Q. ๋น์ ๊ณต์๋ ๋ค์ ์ ์๋์?
A. ์๋์, ์ฝํ๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ์ ์์๋ ๋ถ์ ๋ค์ ์ ์์ง๋ง ์๋ฌด๋ฐ ๊ธฐ์ด ์ง์์ด ์์ด ๋ฃ๊ธฐ๋ ์ด๋ ต์ต๋๋ค. ํ๋ฉด์ ๋์ค๋ ์ฝ๋๋ฅผ ๋ฐ๋ผ์ ์ค์ต์ ๋ฐ๋ผํ์ค ์๋ ์์ต๋๋ค. (์ฝํ๋ฆฐ ๊ธฐ์ด ์ ํํ์ต ๊ถ์ฅ)
Q. ํ์
์์ ๋ง์ด ์ฌ์ฉํ๋์?
A. ๊ฐ๋ฐ์์ ์ ํ์
๋๋ค. ์ด๋ฏธ ๊ฐ๋ฐ๋ ๋ ๊ฑฐ์ ์์คํ
์์๋ ์์ง ์ฝํ๋ฆฐ์ ์ฐพ์๋ณด๊ธฐ๋ ์ด๋ ต๊ฒ ์ง๋ง, ์ด์ ์์ํ๋ ํ๋ก์ ํธ๊ฐ ์๋ค๋ฉด ์ ๋ ํ์ฌ ๋ชจ๋ ์ฝํ๋ฆฐ์ผ๋ก ๊ฐ๋ฐ์ ํ๊ณ ์์ต๋๋ค.
Q. ํด๋น ๊ฐ์๋ง์ ์ฅ์ ์ ๋ฌด์์ธ๊ฐ์?
A. ์ค์ ํ์
์์ ๋ง๋ ์ ์๋ ์ฌ๋ก๋ฅผ ๋ง๋ค์ด์ ์ค์ต ์ฝ๋๋ฅผ ์์ฑํ์์ต๋๋ค. ์์ค์ ์๋ ์ฑ
์ ๋์ค๋ ๋ด์ฉ๋ ์ฐพ์๋ณผ ์ ์์ง๋ง, ์ฐพ์๋ณผ ์ ์๋ ๋ด์ฉ๋ ํฌํจํ์ฌ ๊ตฌ์ฑํ์์ต๋๋ค.