์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜
BEST

์ฅฌ์ฅฌ์™€ ํ•จ๊ป˜ ํ•˜๋ฃจ๋งŒ์— ๋๋‚ด๋Š” ์Šคํ”„๋ง ํ…Œ์ŠคํŠธ

ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ๋ง์„ค์—ฌ์ง€์‹œ๋‚˜์š”? ์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์Šคํ”„๋ง ํ™˜๊ฒฝ ํ…Œ์ŠคํŠธ์˜ A to Z๋ฅผ ๊ฒฝํ—˜ํ•ด๋ณด์„ธ์š”!

Thumbnail

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

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

  • JUnit5๋ฅผ ํ™œ์šฉํ•œ ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐฉ๋ฒ•

  • mockito๋ฅผ ์ด์šฉํ•œ Mocking, Slice ํ…Œ์ŠคํŠธ

  • ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ™œ์šฉํ•œ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ๋ฐ ํ™˜๊ฒฝ ๊ตฌ์ถ•

  • ์ •์  ์ฝ”๋“œ ๋ถ„์„์„ ํ†ตํ•œ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ์Šคํƒ€์ผ ํ…Œ์ŠคํŠธ

  • Git๊ณผ GitHub์„ ์ด์šฉํ•œ ํ…Œ์ŠคํŠธ ์ž๋™ํ™”

ํ…Œ์ŠคํŠธ์˜ ์‹œ์ž‘์€ ํ™˜๊ฒฝ ๊ตฌ์ถ•๋ถ€ํ„ฐ!
ํ˜„์—…์—์„œ ์“ฐ์ด๋Š” ์Šคํ”„๋ง ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐฐ์›Œ๋ณด์„ธ์š” ๐Ÿ”ฅ

์‹ค๋ฌด ๋ฐ€์ฐฉํ˜• ํ…Œ์ŠคํŠธ ํ•™์Šต,
์ฅฌ์ฅฌ์™€ ํ•จ๊ป˜ํ•ด์š”! ๐Ÿ’ก

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

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

๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค ๐Ÿ‘‹ ์œ ๋‹ˆ์ฝ˜ ๊ธฐ์—… ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์ผํ•˜๊ณ  ์žˆ๋Š” ์ฅฌ์ฅฌ์ž…๋‹ˆ๋‹ค!

๋…ํ•™ํ•  ๋•Œ ๊ฒช๋Š” ์‚ฝ์งˆ(!)์˜ ์–ด๋ ค์›€์„ ์ž˜ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ € ์—ญ์‹œ C์–ธ์–ด๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์œ ๋‹ˆ์ฝ˜ ๊ธฐ์—…์—์„œ ์Šคํ”„๋ง ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์ผํ•˜๊ธฐ๊นŒ์ง€ ์ •๋ง ๋งŽ์€ ๊ธธ์„ ๋Œ์•„๊ฐ”๋˜ ๊ฒฝํ—˜์ด ์žˆ์–ด์š”. ์ˆ˜๊ฐ•์ƒ ์—ฌ๋Ÿฌ๋ถ„์€ ์ €์ฒ˜๋Ÿผ ํ—ค๋งค์ง€ ์•Š๊ณ  ์ง€๋ฆ„๊ธธ๋กœ๋งŒ ํ•™์Šตํ•˜์…จ์œผ๋ฉด ํ•˜๋Š” ๋ฐ”๋žŒ์œผ๋กœ ๊ฐ•์˜๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค ๐Ÿ˜„


์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜ ์ถ”์ฒœํ•ด์š” ๐Ÿ™†โ€โ™€๏ธ

์Šคํ”„๋ง ํ™˜๊ฒฝ์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ณ  ์‹ถ์€๋ฐ, ์–ด๋–ค  ๋ฐฐ์›Œ์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”!

๐Ÿ‘‰ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์ด ์ฒ˜์Œ์ด์‹ ๊ฐ€์š”? ์ผ๋ฐ˜์ ์œผ๋กœ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ์€ JUnit๊ณผ Mockito๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค! ์ œ ๊ฐ•์˜์—์„œ๋„ ์œ„ ๋‚ด์šฉ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์™„๊ฐ•ํ•˜์‹  ์ดํ›„์—๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒฝํ—˜์„ ํ•ด๋ณด์‹ค ์ˆ˜ ์žˆ์œผ์‹ค ๊ฑฐ์˜ˆ์š”!

ํ˜„์—…์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด ๋ณด๊ณ  ์‹ถ์€๋ฐ, ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์–ด์š”!

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

์‹ค๋ฌดํ˜• ํ…Œ์ŠคํŠธ๋ฅผ ํ–ฅํ•œ ์ง€๋ฆ„๊ธธ์ด ์—ฌ๊ธฐ ์žˆ์–ด์š”.

ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๋ฐ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„์ด๋ผ๋ฉด ๐Ÿ˜…

ํ…Œ์ŠคํŠธ๋ฅผ ์–ด๋–ป๊ฒŒ ์ž‘์„ฑํ•˜๋Š”์ง€ ์•Œ๊ฒŒ ๋ผ์š”!

์งง์€ ์‹œ๊ฐ„์— ์ˆ˜์ค€ ๋†’์€ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์ถ•์„ ๊ฒฝํ—˜ํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„์ด๋ผ๋ฉด ๐Ÿซข

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ๋”๋ผ๋„ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒŒ ๋‘๋ ต์ง€ ์•Š์•„์ ธ์š”!

๋ฐฑ์—”๋“œ ์ด๋ ฅ์„œ์— ํ…Œ์ŠคํŠธ ๊ฒฝํ—˜์„ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์œผ์‹  ์ทจ์ค€์ƒ์ด๋ผ๋ฉด ๐Ÿ˜Ž

์‹ค๋ฌด ์ˆ˜์ค€์˜ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ผ์š”!

ํ˜„์—…์—์„œ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ๊ฐ–์ถ”๊ณ  ์‹ถ์œผ์‹  ๋ถ„์ด๋ผ๋ฉด ๐Ÿ˜…

๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์ข‹์€์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋Š” ์ง€ํ‘œ๊ฐ€ ์ƒ๊ฒจ์š”!


์Šคํ”„๋ง ํ…Œ์ŠคํŠธ์˜ A๋ถ€ํ„ฐ Z๊นŒ์ง€
ํ•ต์‹ฌ์„ ๋น ๋ฅด๊ฒŒ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค ๐Ÿ“Œ

โœ… JUnit5๋ฅผ ํ™œ์šฉํ•œ ๊ธฐ๋ณธ์ ์ธ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋ฐฉ๋ฒ•

โœ… mockito๋ฅผ ์ด์šฉํ•œ Mocking, Slice ํ…Œ์ŠคํŠธ

โœ… docker-compose, testcontainers์™€ flyway๋ฅผ ํ™œ์šฉํ•œ RDBMS ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ

โœ… localstack์„ ์ด์šฉํ•œ AWS ํ…Œ์ŠคํŠธ

โœ… kraft mode kafka container๋ฅผ ํ™œ์šฉํ•œ ์นดํ”„์นด ํ…Œ์ŠคํŠธ

โœ… spotless์™€ git hook์„ ํ™œ์šฉํ•œ ์ฝ”๋“œ ์Šคํƒ€์ผ ํ…Œ์ŠคํŠธ

โœ… Arhcunit์„ ํ™œ์šฉํ•œ ์•„ํ‚คํ…์ฒ˜ ํ…Œ์ŠคํŠธ

โœ… sonarqube๋ฅผ ํ™œ์šฉํ•œ ์ •์  ์ฝ”๋“œ ๋ถ„์„

โœ… Github Action์„ ํ™œ์šฉํ•œ ํ…Œ์ŠคํŠธ ์ž๋™ํ™”


์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ’ฌ

Q. ๊ฐ•์˜ ๋“ฃ๊ธฐ ์ „ ์ค€๋น„ํ•ด์•ผ ํ•  ๊ฒƒ์ด ์žˆ๋‚˜์š”?

ํ•„์š” ์†Œํ”„ํŠธ์›จ์–ด ์„ค์น˜๋งŒ ํ•ด๋†“์œผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค! ๋…ธ์…˜์— ์„ค์น˜ํ•ด์•ผ ํ•  ์†Œํ”„ํŠธ์›จ์–ด ๋ชฉ๋ก๊ณผ ์ž˜ ์„ค์น˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ ์ž‘์„ฑํ•ด ๋†“์•˜์Šต๋‹ˆ๋‹ค.

Q. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ํ•œ ๋ฒˆ๋„ ์ž‘์„ฑํ•ด ๋ณด์ง€ ์•Š์•˜๋Š”๋ฐ ๋“ค์„ ์ˆ˜ ์žˆ์„๊นŒ์š”?

์Šคํ”„๋ง์„ ์ด์šฉํ•ด ๋‹จ์ˆœํ•œ CRUD ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ, ๊ฒŒ์‹œํŒ ๋“ฑ)์„ ๊ฐœ๋ฐœํ•ด ๋ณด์…จ๋‹ค๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๋“ค์œผ์‹ค ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค! Redis, Kafka, AWS ๋“ฑ์„ ์ด์šฉํ•ด ๋ณด์ง€ ์•Š์•˜๋”๋ผ๋„ ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค! ์ˆ˜๋งŽ์€ ๋ฐ˜๋ณต๊ณผ์ •์„ ๊ฑฐ์น˜๋ฉด์„œ, ๊ฐ•์˜๋ฅผ ๋”ฐ๋ผ๋งŒ ํ•˜์‹œ๋ฉด ๋˜‘๊ฐ™์ด ๋™์ž‘ํ•˜๋„๋ก ์‹ ๊ฒฝ ์จ์„œ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค!

Q. macOS ๋Œ€์‹  Windows ํ™˜๊ฒฝ์œผ๋กœ ์‹ค์Šตํ•ด๋„ ๊ดœ์ฐฎ์„๊นŒ์š”?

์ž๋ฐ”๋Š” ํฌ๋กœ์Šคํ”Œ๋žซํผ ์–ธ์–ด๋กœ ์œˆ๋„์šฐ/๋งฅ ๋ชจ๋‘ ์›ํ™œํžˆ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค! ๋‹ค๋งŒ, Docker์˜ ๊ฒฝ์šฐ ์œˆ๋„์šฐ๋Š” wsl ๋“ฑ์˜ ์„ค์ •์„ ํ•ด์ฃผ์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค! ๋‹ค๋งŒ ์ œ๊ฐ€ ์ง์ ‘ ์„ค์น˜ํ•ด ๋ณด๋‹ˆ, ์œˆ๋„์šฐ ๋„์ปค ๋ฐ์Šคํฌํƒ‘ ์•ฑ์„ ์ด์šฉํ•˜๋ฉด ์†์‰ฝ๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์œˆ๋„์šฐ ์ˆ˜๊ฐ•์ƒ๋ถ„๋“ค์€ ๋„์ปค ์„ค์น˜ ์‹œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์งˆ๋ฌธ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ํ•ด๊ฒฐํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค!

Q. ์ˆ˜์—… ๋‚ด์šฉ์€ ์–ด๋Š ์ˆ˜์ค€๊นŒ์ง€ ๋‹ค๋ฃจ๋‚˜์š”?

๋งค์šฐ ๊ธฐ์ดˆ์ ์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ๋ฐฉ๋ฒ•๋ถ€ํ„ฐ, ํ˜„์—…์—์„œ๋„ ์“ฐ์ผ ์ˆ˜์ค€์˜ ํ™˜๊ฒฝ ๊ตฌ์ถ•๊นŒ์ง€ ๋„“์€ ์ปค๋ฒ„๋ฆฌ์ง€๋กœ ๊ฐ•์˜๋ฅผ ์ œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. DevOps Enginner๋ผ๋ฉด ์ด ๊ฐ•์˜ ๋‚ด์šฉ๋ณด๋‹ค ๋”์šฑ ๋งŽ์€ ๊ฒƒ์„ ๊ณต๋ถ€ํ•ด์•ผ ํ•˜์ง€๋งŒ, ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋ชฉํ‘œ์ด์‹œ๋ผ๋ฉด ์ด ๊ฐ•์˜ ํ•˜๋‚˜๋กœ ๋ฐฑ์—”๋“œ ํ…Œ์ŠคํŠธ์˜ A to Z๋ฅผ ๊ฒฝํ—˜ํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

Q. ์™„๊ฐ•ํ•œ ์ดํ›„์—๋Š” ์–ด๋–ค ๊ฒƒ์„ ํ•ด์•ผ ํ• ๊นŒ์š”?

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

Q. ํ˜„์žฌ ํ˜„์—…์—์„œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค๋ฌด์—์„œ ๊ฐ•์˜ ๋‚ด์šฉ์˜ RDBMS ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์ ์šฉํ•ด ๋ณด๊ณ  ์‹ถ์€๋ฐ, ์–ด๋–ป๊ฒŒ ์ ‘๊ทผํ•˜๋ฉด ๋ ๊นŒ์š”?

์ด๋ฏธ ์šด์šฉ ์ค‘์ธ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ๋‹ค๋ฉด, ์–ด๋””์„œ๋ถ€ํ„ฐ ์ ‘๊ทผํ•ด์•ผ ํ• ์ง€ ๋ง‰๋ง‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ JPA auto-ddl: validate ์˜ต์…˜์„ ์ ์šฉ์‹œํ‚จ ์ƒํƒœ๋กœ, ์šด์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ Schema Dump๋ฅผ ํ†ตํ•ด DDL์„ ์ถ”์ถœํ•˜๊ณ  ๊ฐ•์˜๋‚ด์šฉ์ฒ˜๋Ÿผ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด ๋ณด์„ธ์š”! ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์˜ ์ฒซ๊ฑธ์Œ์ด ๋˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ“ข ์ˆ˜๊ฐ• ์ „ ํ™•์ธํ•ด ์ฃผ์„ธ์š”.

  • ์‹ค์Šต ํ™˜๊ฒฝ
    • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): macOS
    • ์‚ฌ์šฉ ๋„๊ตฌ: IntelliJ, Docker Desktop, Postman, Chrome
    • PC ์‚ฌ์–‘: RAM 16G
  • ํ•™์Šต ์ž๋ฃŒ: ๋…ธ์…˜
  • ์Šคํ”„๋ง์„ ์ด์šฉํ•ด ๋‹จ์ˆœํ•œ CRUD ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜(ํˆฌ๋‘ ๋ฆฌ์ŠคํŠธ, ๊ฒŒ์‹œํŒ ๋“ฑ)์„ ๊ฐœ๋ฐœํ•ด ๋ณด์…จ๋‹ค๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ๋“ค์œผ์‹ค ์ˆ˜ ์žˆ๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค!
  • ์—ฌ๋Ÿฌ ๋‚ ์— ๊ฑธ์ณ ๋“ฃ๊ธฐ๋ณด๋‹ค๋Š”, ์ฃผ๋ง ๋˜๋Š” ํœด์ผ์„ ํ•˜๋ฃจ ๋น„์›Œ ๊ทธ๋‚  ํ•œ๋ฒˆ์— ๊ฐ•์˜๋ฅผ ๋ถ€์ˆ˜๋Š” ๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค!
  • ๋ณธ ์ž‘ํ’ˆ์˜ ์บ๋ฆญํ„ฐ์—๋Š” ์ฃผ์‹ํšŒ์‚ฌ Live2D๊ฐ€ ์ •ํ•˜๋Š” ์•ฝ๊ด€์— ๋”ฐ๋ผ ์ฃผ์‹ํšŒ์‚ฌ Live2D์˜ ์ €์ž‘๋ฌผ์ธ ์ƒ˜ํ”Œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด์šฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ์ž‘ํ’ˆ์€ ์ œ์ž‘์ž์˜ ์™„์ „ํ•œ ์ž๊ธฐ ์žฌ๋Ÿ‰์œผ๋กœ ์ œ์ž‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

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

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

  • ์งง์€ ์‹œ๊ฐ„์— ์ˆ˜์ค€ ๋†’์€ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์ถ•์„ ๊ฒฝํ—˜ํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ๋ฐฑ์—”๋“œ ์ทจ์—… ์ค€๋น„ ์‹œ ์ด๋ ฅ์„œ์— ํ…Œ์ŠคํŠธ ๊ฒฝํ—˜์„ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๋ฐ ์ž‘์„ฑ ๋ฐฉ๋ฒ•์„ ํ•™์Šตํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • ํ˜„์—…์—์„œ ์ˆ˜์ค€ ๋†’์€ ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์„ ๊ฐ–์ถ”๊ณ  ์‹ถ์œผ์‹  ๋ถ„

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

  • JAVA

  • ์Šคํ”„๋ง

์•ˆ๋…•ํ•˜์„ธ์š”
์ฅฌ์ฅฌ์ž…๋‹ˆ๋‹ค.

461

๋ช…

์ˆ˜๊ฐ•์ƒ

36

๊ฐœ

์ˆ˜๊ฐ•ํ‰

41

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

2

๊ฐœ

๊ฐ•์˜

์ง€์‹๊ณต์œ ์ž ์†Œ๊ฐœ โœ’๏ธ

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

์ด๋ ฅ ์‚ฌํ•ญ/ํฌํŠธํด๋ฆฌ์˜ค/๊ฐœ์ธ ์˜์ƒ

  • (ํ˜„)์œ ๋‹ˆ์ฝ˜ ๊ธฐ์—… ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž

๋”๋ณด๊ธฐ

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

์ „์ฒด

29๊ฐœ โˆ™ (5์‹œ๊ฐ„ 18๋ถ„)

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

์ˆ˜๊ฐ•ํ‰

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