์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
BEST

Kotlin์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” Spring Boot Web MVC

ํ˜„์—… ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ ค์ฃผ๋Š” Kotlin ์„ ํ™œ์šฉํ•œ Spring Boot ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•!! ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•๊ณผ Spring Boot๋ฅผ ํ™œ์šฉํ•œ ์•ˆ์ •์ ์ธ Web Application ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ณด์„ธ์š”.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[์›น ๊ฐœ๋ฐœ, ๋ฐฑ์—”๋“œ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • Web Application ๊ฐœ๋ฐœ

  • Spring Boot MVC

  • REST-API

  • JUnit

  • Kotlin

์ธ๊ธฐ๋Š” ๋†’์ง€๋งŒ ๋ฐฐ์šฐ๊ธฐ ์–ด๋ ต๋˜ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐœ๋ฐœ, 
์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ๋”์šฑ ์‰ฝ๊ฒŒ ๋ฐฐ์›Œ๋ณด์„ธ์š”! 

์ฃผ์ œ ์†Œ๊ฐœ ๐Ÿ“

์•ˆ๋…•ํ•˜์„ธ์š”, Steve์ž…๋‹ˆ๋‹ค. ๋จผ์ € ๋งŒ๋‚˜๋ต™๊ฒŒ ๋˜์–ด ๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค.

ํ•ด๋‹น ๊ฐ•์˜๋Š” ์ฝ”ํ‹€๋ฆฐ(Kotlin)์„ ์ด์šฉํ•˜์—ฌ ์Šคํ”„๋ง๋ถ€ํŠธ(Spring Boot)๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๊ทธ๋™์•ˆ ์Šคํ”„๋ง๋ถ€ํŠธ๊ฐ€ ์–ด๋ ค์›Œ์„œ ํฌ๊ธฐํ•˜์‹  ๋ถ„๋“ค, ์Šคํ”„๋ง(Spring)์„ ํ™œ์šฉํ•˜๋Š” ํšŒ์‚ฌ์— ์ž…์‚ฌํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค ๋ชจ๋‘ 
์ฝ”ํ‹€๋ฆฐ์ด๋ผ๋Š” ๊ฐ•๋ ฅํ•œ ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•œ ์Šคํ”„๋ง๋ถ€ํŠธ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ณด์„ธ์š”.

์™œ ๋ฐฐ์›Œ์•ผ ํ•˜๋Š”์ง€ โœ’๏ธ

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

๊ทธ๋งŒํผ ๊ตญ๋‚ด์—์„œ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ(Spring Framework)๋Š” ํ•„์ˆ˜๋‚˜ ๋‹ค๋ฆ„์—†๋Š” ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. 
์ž๋ฐ”์™€ ๋น„๊ตํ•ด ๊ฐ„๊ฒฐํ•˜๊ณ  ์žฌ๋ฏธ์žˆ๋Š” ์ฝ”ํ‹€๋ฆฐ ์–ธ์–ด๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ํ•™์Šตํ•จ์œผ๋กœ์จ ๋‹ค์–‘ํ•œ ๊ธฐ์—…์— ์ง€์›ํ•ด๋ณด์„ธ์š”!

์ด ๊ฐ•์˜์—์„œ ๋ฐฐ์šฐ๋Š” ๊ฒƒ๋“ค โœ๏ธ

 Spring Boot   Rest API   JUnit 

  1. Kotlin์„ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ”„๋ง์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.
  2. Spring Boot Web Application ๊ฐœ๋ฐœ์„ ๋ฐฐ์›๋‹ˆ๋‹ค.
  3. REST-API ์š”์ฒญ์— ๋Œ€ํ•ด์„œ ์ฒ˜๋ฆฌ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.
  4. REST-API ์‘๋‹ต์— ๋Œ€ํ•ด์„œ ๋‹ค์–‘ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.
  5. Spring์—์„œ Bean Validationํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.
  6. Spring์—์„œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.
  7. JUnit๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.
  8. Todo Web Application์„ ๊ฐ™์ด ๊ฐœ๋ฐœํ•จ์œผ๋กœ์จ ๋ฐฐ์šด ๋‚ด์šฉ์„ ๋ณต์Šตํ•ฉ๋‹ˆ๋‹ค.
  9. Web ๊ฐœ๋ก ์„ ํ†ตํ•˜์—ฌ URI ์„ค๊ณ„ ๋ฐฉ๋ฒ•๊ณผ Web, HTTP์— ๋Œ€ํ•ด์„œ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•์˜ ํŠน์ง• ๐Ÿ’ก 

์Šคํ”„๋ง์€ ๋„ˆ๋ฌด๋‚˜๋„ ๋ฐฉ๋Œ€ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์ด ๊ฐ•์˜์—์„œ๋Š” ๊ฐ™์ด ํ•™์Šตํ•  ๋‚ด์šฉ์„ ๋”ฐ๋ผํ•˜๋ฉด์„œ ์ฝ”๋”ฉํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ˆ˜์—…์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์ธ ์Šคํ”„๋ง์˜ ์ด๋ก ์„ ๋จธ๋ฆฌ๋กœ ์ตํžˆ๊ธฐ๋ณด๋‹ค๋Š” ์ง์ ‘ ์†์œผ๋กœ ๋”ฐ๋ผํ•˜๋ฉด์„œ ์Šคํ”„๋ง๊ณผ ์ธ์‚ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

*๊ฐ ๊ฐ•์˜๋ณ„ ๊ฐ•์˜ ์ž๋ฃŒ๋ฅผ ์ œ๊ณตํ•˜๋ฉฐ, ๊ฐ•์˜ ๋…ธํŠธ์— Github ๋งํฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง„ํ–‰ ์ค‘ ๋ง‰ํžˆ๋Š” ๋ถ€๋ถ„์€ ๊ฐ•์˜ ์ฝ”๋“œ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์—ฌ๊ธฐ์„œ ๋‹ค๋ฃจ๋Š” ํˆด ๐Ÿงฐ 

  • JDK8 ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • Intellij๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

  • Chrome ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹ค์Šตํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ™‹๐Ÿปโ€โ™‚๏ธ 

Q. ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋“ค์–ด๋„ ๋ ๊นŒ์š”?
A. ๋„ค. ์ „ํ˜€ ์ง€์žฅ์ด ์—†์Šต๋‹ˆ๋‹ค. ์ฝ”ํ‹€๋ฆฐ์€ ์ž๋ฐ”์™€ ๋งค์šฐ ์œ ์‚ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ๋‚ด์šฉ์„ ๋ฐฐ์šฐ์…”๋„ ๋˜‘๊ฐ™์ด ์ž๋ฐ”-์Šคํ”„๋ง ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Q. ๋น„์ „๊ณต์ž๋„ ๋“ค์„ ์ˆ˜ ์žˆ๋‚˜์š”?
A. ์•„๋‹ˆ์š”, ์ฝ”ํ‹€๋ฆฐ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์„ ์•„์‹œ๋Š” ๋ถ„์€ ๋“ค์„ ์ˆ˜ ์žˆ์ง€๋งŒ ์•„๋ฌด๋Ÿฐ ๊ธฐ์ดˆ ์ง€์‹์ด ์—†์ด ๋“ฃ๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ™”๋ฉด์— ๋‚˜์˜ค๋Š” ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ์„œ ์‹ค์Šต์„ ๋”ฐ๋ผํ•˜์‹ค ์ˆ˜๋Š” ์žˆ์Šต๋‹ˆ๋‹ค. (์ฝ”ํ‹€๋ฆฐ ๊ธฐ์ดˆ ์„ ํ–‰ํ•™์Šต ๊ถŒ์žฅ)

Q. ํ˜„์—…์—์„œ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋‚˜์š”?
A. ๊ฐœ๋ฐœ์ž์˜ ์„ ํƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฏธ ๊ฐœ๋ฐœ๋œ ๋ ˆ๊ฑฐ์‹œ ์‹œ์Šคํ…œ์—์„œ๋Š” ์•„์ง ์ฝ”ํ‹€๋ฆฐ์„ ์ฐพ์•„๋ณด๊ธฐ๋Š” ์–ด๋ ต๊ฒ ์ง€๋งŒ, ์ด์ œ ์‹œ์ž‘ํ•˜๋Š” ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ๋‹ค๋ฉด ์ €๋Š” ํ˜„์žฌ ๋ชจ๋‘ ์ฝ”ํ‹€๋ฆฐ์œผ๋กœ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Q. ํ•ด๋‹น ๊ฐ•์˜๋งŒ์˜ ์žฅ์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?
A. ์‹ค์ œ ํ˜„์—…์—์„œ ๋งŒ๋‚  ์ˆ˜ ์žˆ๋Š” ์‚ฌ๋ก€๋ฅผ ๋งŒ๋“ค์–ด์„œ ์‹ค์Šต ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์‹œ์ค‘์— ์žˆ๋Š” ์ฑ…์— ๋‚˜์˜ค๋Š” ๋‚ด์šฉ๋„ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ฐพ์•„๋ณผ ์ˆ˜ ์—†๋Š” ๋‚ด์šฉ๋„ ํฌํ•จํ•˜์—ฌ ๊ตฌ์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Kotlin์„ ์‚ฌ์šฉํ•˜์—ฌ Spring Boot Web Application์„ ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • Spring Boot๋ฅผ ๋ฐฐ์šฐ๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • Web Application์„ ๊ฐœ๋ฐœ ํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • Kotlin์œผ๋กœ Web Server๋ฅผ ๊ฐœ๋ฐœ ํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

  • Java ์™ธ์— ๋น ๋ฅด๊ฒŒ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด๋ฅผ ์ฐพ๊ณ  ์žˆ๋Š” ์‚ฌ๋žŒ

  • Spring ๊ธฐ๋ฐ˜์˜ ํšŒ์‚ฌ์— ์ž…์‚ฌ ํ•˜๊ณ ์ž ํ•˜๋Š” ์‚ฌ๋žŒ

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • Kotlin

  • Java

  • Web

์•ˆ๋…•ํ•˜์„ธ์š”
Steve (์˜ˆ์ƒ๊ตญ)์ž…๋‹ˆ๋‹ค.

1,290

๋ช…

์ˆ˜๊ฐ•์ƒ

84

๊ฐœ

์ˆ˜๊ฐ•ํ‰

18

๊ฐœ

๋‹ต๋ณ€

4.8

์ 

๊ฐ•์˜ ํ‰์ 

1

๊ฐœ

๊ฐ•์˜

LinkedIn

ํ˜„ Fintech Backend Server Engineer ์ž…๋‹ˆ๋‹ค.

  • ์ „ [SK M&Service]      Android Developer
  • ์ „ [Kakao]                  Server Engineer
  • ์ „ [Kakao Pay]           Server Engineer
  • ํ˜„ [Fintech StartUp]  Server Engineer

์–ด๋ ต๊ฒŒ ๋ณด๋‹ค๋Š” ์‰ฝ๊ฒŒ, ๋ณต์žกํ•˜๊ฒŒ ๋ณด๋‹ค๋Š” ๋‹จ์ˆœํ•˜๊ฒŒ,  ๋ฉ‹๋ณด๋‹ค๋Š” ์ •ํ™•ํ•˜๊ฒŒ, ๋Œ€์ถฉ๋ณด๋‹ค๋Š” ํ™•์‹คํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์ž…๋‹ˆ๋‹ค.

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

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

19๊ฐœ โˆ™ (7์‹œ๊ฐ„ 37๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!