Super Kawaii Cute Cat Kaoani
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
{Project}/Extracurricular Project

[UMC 7๊ธฐ ํšŒ๊ณ ] ๋ฐ๋ชจ๋ฐ์ด ํ”„๋กœ์ ํŠธ ํšŒ๊ณ ๋ก

by wonee1 2025. 2. 23.
728x90

 

๐Ÿˆ 0. ์†Œ๊ฐœ 


 
 
 ์•ˆ๋…•ํ•˜์„ธ์š”! ์ €๋Š” ํ˜„์žฌ ์ปดํ“จํ„ฐ ๊ณตํ•™๊ณผ์— ์žฌํ•™ ์ค‘์ธ 3ํ•™๋…„์ž…๋‹ˆ๋‹ค. ์ž‘๋…„ 9์›”๋ถ€ํ„ฐ UMC 7๊ธฐ๋กœ ํ™œ๋™ํ•˜๋ฉฐ 10์ฃผ ๋™์•ˆ ์›Œํฌ๋ถ์„ ํ†ตํ•ด ์Šคํ„ฐ๋””ํ•œ ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ UMC 7๊ธฐ ๋ฐ๋ชจ๋ฐ์ด์— ์ฐธ๊ฐ€ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋™์•ˆ ๊ฐ„๋‹จํ•œ ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•ด๋ณธ ๊ฒฝํ—˜์€ ์žˆ์—ˆ์ง€๋งŒ, PM, ๋””์ž์ธ, ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ๊ฐ€ ํ•จ๊ป˜ํ•˜๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ๋Š” ์ฒ˜์Œ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ฐ ์—ญํ•  ๊ฐ„์˜ ์†Œํ†ต ๋ฐฉ์‹์ด๋‚˜ ํ˜‘์—… ํ”„๋กœ์„ธ์Šค์— ์ต์ˆ™ํ•˜์ง€ ์•Š์•„ ์–ด๋ ค์›€๋„ ์žˆ์—ˆ์ง€๋งŒ, ์ ์ฐจ ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์˜ ์ค‘์š”์„ฑ์„ ๊นจ๋‹ซ๊ณ  ํŒ€์›๋“ค๊ณผ์˜ ํ˜‘๋ ฅ์„ ํ†ตํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ•ด ๋‚˜๊ฐ€๋Š” ๊ณผ์ •์—์„œ ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค โœ๏ธ

 

 

  ๐Ÿ’ป 1. ํ™œ๋™ ๊ฒฝํ—˜  


 
 
 

 
 

1๏ธโƒฃ ์ฐธ์—ฌ ํ”„๋กœ์ ํŠธ์™€ ๋งก์€ ์—ญํ• 

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

์—ด์‹ฌํžˆ ์ ์—ˆ๋˜ ๊ฐœ๋ฐœ ๋งค์นญ ์ง€์›์„œ

 
 
๋‹คํ–‰์ด 1์ฐจ ๋งค์นญ ๋•Œ ๋ฐ”๋กœ ํ•ฉ๊ฒฉ์ด ๋˜์–ด ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๊ฒŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (์ด๋•Œ ๋–จ์–ด์งˆ๊นŒ๋ด ์—„์ฒญ ๋งˆ์Œ์„ ์กธ์˜€์Šต๋‹ˆ๋‹ค) 
 
 

2๏ธโƒฃ   ํŒ€์›๋“ค๊ณผ์˜ ํ˜‘์—… ๊ฒฝํ—˜

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

๐Ÿค GitHub PR ๋ฆฌ๋ทฐ 

  • ์ฝ”๋“œ ํ’ˆ์งˆ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด PR ์ž‘์„ฑ ์‹œ ๊ธฐ๋Šฅ ์„ค๋ช… ๋ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ƒ์„ธํžˆ ๋ฌธ์„œํ™”ํ•˜์—ฌ ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.  ๋ฏธ๋ฆฌ ์ž‘์„ฑ๋œ ์ด์Šˆ, pr ํ…œํ”Œ๋ฆฟ์œผ๋กœ pr์„ ์ž‘์„ฑํ•˜๋ฉด์„œ ๋จธ์ง€ํ•˜๋Š” ๊ฑธ ์ตํ˜”์Šต๋‹ˆ๋‹ค 

pr ์ž‘์„ฑ

 
 

  • ์ฝ”๋“œ ์Šคํƒ€์ผ์„ ๋งž์ถ”๊ธฐ ์œ„ํ•ด ์ผ๊ด€๋œ ์ฝ”๋”ฉ ์ปจ๋ฒค์…˜์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค. (ESLint๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค )

 
 

๐Ÿ“† ์ž‘์—… ๊ด€๋ฆฌ

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

 

ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ์ •ํ•œ ๊ทธ๋ผ์šด๋“œ ๋ฃฐ/ ๋งค์ฃผ ์ง„ํ–‰ํ•œ ์ •๊ธฐ ํšŒ์˜

 
 
 
 

๐Ÿ›  ๊ธด๊ธ‰ ๋ฒ„๊ทธ ํ•ด๊ฒฐ์„ ์œ„ํ•œ ์‹ ์†ํ•œ ๋Œ€์‘

  • ์„œ๋น„์Šค ์šด์˜ ์ค‘ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ํŒ€์›๋“ค๊ณผ ์ฆ‰๊ฐ์ ์ธ ํ˜‘์—…์„ ํ†ตํ•ด ์›์ธ์„ ๋ถ„์„ํ•˜๊ณ  ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. 
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๊ฒ€์ƒ‰์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ, ํ”„๋ก ํŠธ ๋ถ„๊ป˜ ์ „๋‹ฌ ๋ฐ›์€ ํ›„ ๋ฐ”๋กœ

 

2๏ธโƒฃ ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ค‘ ๊ฒช์—ˆ๋˜ ์—ํ”ผ์†Œ๋“œ

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

๐ŸŽฏ ์ข‹์•„์š”/๋ถ๋งˆํฌ ์ •๋ ฌ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

  • ์ฒ˜์Œ์—๋Š” Prisma์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ ํ›„, JS์—์„œ .sort()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ข‹์•„์š” ๋ฐ ๋ถ๋งˆํฌ ๊ฐœ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ–ˆ์ง€๋งŒ, limit ๊ฐ’์ด ๋‹ค๋ฅผ ๊ฒฝ์šฐ ์ •ํ™•ํ•œ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ๋˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ํ•ด๊ฒฐ์ฑ…์œผ๋กœ Prisma์˜ orderBy ์˜ต์…˜์„ ํ™œ์šฉํ•˜์—ฌ DB ์ฟผ๋ฆฌ์—์„œ ๋ฐ”๋กœ ์ •๋ ฌ์„ ์ ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ์ถ”๊ฐ€๋กœ, ์ข‹์•„์š” ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ ์ตœ์‹ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋„๋ก ๋ณด์™„ํ•˜์—ฌ, ๋ฐ์ดํ„ฐ๊ฐ€ ์ •ํ™•ํ•˜๊ฒŒ ์ •๋ ฌ๋˜๋„๋ก ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ›  ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์˜ ์ตœ์ ํ™”

  • ๊ธฐ์กด ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์—์„œ๋Š” mode: "insensitive" ์˜ต์…˜์„ ์‚ฌ์šฉํ–ˆ์œผ๋‚˜, Prisma ์ตœ์‹  ๋ฒ„์ „์—์„œ๋Š” ์ง€์›๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(MySQL ๋“ฑ)์—์„œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. 
  • ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ํ•ด๋‹น ์˜ต์…˜์„ ์ œ๊ฑฐํ•˜๊ณ , ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ๊ฒ€์ƒ‰์ด ๊ฐ€๋Šฅํ•˜๋„๋ก DB ๋ ˆ๋ฒจ์—์„œ ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค. 

 
๐Ÿ— ์ข‹์•„์š” ๋ฐ ๋ถ๋งˆํฌ ์—ฌ๋ถ€ ์กฐํšŒ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

  • ํŒ ์ƒ์„ธ ์กฐํšŒ ๋ฐ ์ €์žฅ๋œ ํŒ ๋ชฉ๋ก์—์„œ, ์‚ฌ์šฉ์ž๊ฐ€ ํ•ด๋‹น ํŒ์„ ์ข‹์•„์š” ๋ฐ ๋ถ๋งˆํฌํ–ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ํ•จ๊ป˜ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. 


๐Ÿ‘ฅ ์ธํ”Œ๋ฃจ์–ธ์„œ ์—ฌ๋ถ€ ์ถ”๊ฐ€

  • ์ธํ”Œ๋ฃจ์–ธ์„œ๊ฐ€ ์ž‘์„ฑํ•œ ํŒ์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. 

 

๐Ÿ“ท ์ด๋ฏธ์ง€ ์—…๋กœ๋“œ ๊ธฐ๋Šฅ ๊ตฌํ˜„ 

๋”๋ณด๊ธฐ

1๏ธโƒฃ Multer์™€ Multer-S3 ์„ค์ •

  • Multer๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒŒ์ผ ์—…๋กœ๋“œ ๋ฏธ๋“ค์›จ์–ด๋ฅผ ์ ์šฉํ•˜๊ณ ,
  • Multer-S3๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์„ S3 ๋ฒ„ํ‚ท์— ์ €์žฅํ•˜๋Š” ๊ตฌ์กฐ๋ฅผ ์ตํ˜”์Šต๋‹ˆ๋‹ค.

2๏ธโƒฃ S3์— ์—…๋กœ๋“œ๋œ ์ด๋ฏธ์ง€์˜ URL ๋ฐ˜ํ™˜

  • ์—…๋กœ๋“œ๋œ ํŒŒ์ผ์˜ S3 URL์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์‘๋‹ต ๊ฐ’์œผ๋กœ ์ „๋‹ฌํ•˜์—ฌ,
    ํ”„๋ก ํŠธ์—”๋“œ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

3๏ธโƒฃ S3 ํŒŒ์ผ ์ ‘๊ทผ ๊ถŒํ•œ ๋ฐ ๋ณด์•ˆ ์„ค์ •

  • ์ฒ˜์Œ์—๋Š” ์—…๋กœ๋“œ๋œ ์ด๋ฏธ์ง€๊ฐ€ ํผ๋ธ”๋ฆญ URL๋กœ ๋…ธ์ถœ๋˜์ง€ ์•Š์•„์„œ ์ ‘๊ทผ์ด ๋ถˆ๊ฐ€๋Šฅํ–ˆ๋Š”๋ฐ,
    S3 ๋ฒ„ํ‚ท ์ •์ฑ…์„ ์ˆ˜์ •ํ•˜์—ฌ ํ—ˆ์šฉ๋œ ์‚ฌ์šฉ์ž๋งŒ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋„๋ก ๊ถŒํ•œ์„ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

4๏ธโƒฃ ๋ถˆํ•„์š”ํ•œ ์ด๋ฏธ์ง€ ์‚ญ์ œ ๋ฐ ์—…๋ฐ์ดํŠธ ์ฒ˜๋ฆฌ

  • ๊ธฐ์กด ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๊ณ  ์ƒˆ๋กœ์šด ์ด๋ฏธ์ง€๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • S3์—์„œ ํŠน์ • ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๋Š” deleteObject API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ธฐ์กด ํŒŒ์ผ์„ ์ œ๊ฑฐํ•œ ํ›„ ์ƒˆ๋กœ์šด ํŒŒ์ผ์„ ์—…๋กœ๋“œํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ›  ๊ตฌํ˜„ํ•˜๋ฉฐ ๋ฐฐ์šด ์  & ์–ด๋ ค์› ๋˜ ์ 

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

 

4๏ธโƒฃ ๋ฐฐ์šด ๊ธฐ์ˆ ๊ณผ ๊ทน๋ณตํ•œ ๋„์ „ ๊ณผ์ œ

 
โšก Prisma ํ™œ์šฉ ๋Šฅ๋ ฅ ํ–ฅ์ƒ

  • Prisma๋ฅผ ๋‹จ์ˆœํ•œ ORM์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์ •๋ ฌ, ๊ฒ€์ƒ‰ ์ตœ์ ํ™”, ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ์กฐํšŒ ๋“ฑ์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.
  • ํŠนํžˆ, orderBy์™€ _count๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ข‹์•„์š” ๋ฐ ๋ถ๋งˆํฌ ๊ฐœ์ˆ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋กœ์ง์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. (orderBy๋Š” ์•Œ๊ณ  ์žˆ์—ˆ๋Š”๋ฐ _count๋Š” ์ด๋ฒˆ์— ์ƒˆ๋กญ๊ฒŒ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค) 

 
๐Ÿ“Œ RESTful API ์„ค๊ณ„ ์›์น™ ํ•™์Šต

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

 
 
 

api ๊ฐœ๋ฐœ ์ง„ํ–‰ ๋ฐ ํŠธ๋Ÿฌ๋ธ” ์ŠˆํŒ…, ํšŒ๊ณ ๋ก ์ž‘์„ฑ

 

์Šค์›จ๊ฑฐ ์ž‘์„ฑ

 
 
 
 

๐Ÿ† 2. ์ฃผ์š” ์„ฑ๊ณผ ๋ฐ ๋ฐฐ์›€ (Achievements & Learning)


 

๐ŸŽ ๋ฐ๋ชจ๋ฐ์ด ๋ถ€์Šค ์šด์˜

 
 ์ €๋Š” ์ด๋Ÿฐ ํฐ ํ–‰์‚ฌ์— ์ฐธ์—ฌํ•˜๋Š” ๊ฒƒ์ด ์ฒ˜์Œ์ด๋ผ ๋งŽ์ด ๋–จ๋ ธ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ, ์ง์ ‘ ์‚ฌ๋žŒ๋“ค ์•ž์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๋งŒ๋“  ์‚ฌ์ดํŠธ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์‹œ์—ฐํ•˜๋Š” ์ˆœ๊ฐ„์ด ๊ฐ€์žฅ ๊ธด์žฅ๋˜๋Š” ์ด์œ  ์ค‘ ํ•˜๋‚˜์˜€์Šต๋‹ˆ๋‹ค. (์ค‘๊ฐ„์— ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฉด ์–ด์ฉŒ๋‚˜ ๊ฑฑ์ •๋ผ์„œ ๊ณ„์† ์ฝ”๋“œ๋ž‘ ์„œ๋ฒ„๋ฅผ ์ ๊ฒ€ํ–ˆ์–ด์š” ใ…‹ใ…‹)
 
 ์‹ค์ œ๋กœ ๋ฐ๋ชจ๋ฐ์ด ์ „๋‚ ๊นŒ์ง€ ํŒ€์›๋“ค๊ณผ ํ…Œ์ŠคํŠธ๋ฅผ ๋ฐ˜๋ณตํ•˜๋ฉฐ ๊ธฐ๋Šฅ์ด ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ–ˆ์ง€๋งŒ, ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๋ณ€์ˆ˜๊ฐ€ ์ƒ๊ธธ๊นŒ ๋ด ๊ฑฑ์ •์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ง‰์ƒ ์ „์‹œํšŒ๋ฅผ ์‹œ์ž‘ํ•˜๋‹ˆ, ์ง€๊ธˆ๊นŒ์ง€ ์šฐ๋ฆฌ๊ฐ€ ์—ด์‹ฌํžˆ ๊ฐœ๋ฐœํ•ด์˜จ ๊ฒฐ๊ณผ๋ฌผ์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ณผ์ •์ด ๋ฟŒ๋“ฏํ•˜๊ธฐ๋„ ํ–ˆ๊ณ , ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ด€์‹ฌ์„ ๊ฐ€์ ธ์ฃผ์‹œ๋Š” ๊ฑธ ๋ณด๋ฉฐ ๋ณด๋žŒ๋„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค.
 
 






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

๐Ÿ† ์šฐ์ˆ˜์ƒ ์ˆ˜์ƒ!

 
 

 
 

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

 
 

๋‹ค๋“ค ์ด๋ ‡๊ฒŒ ์ผ์–ด๋‚จ

 
  ์•ฝ ๋‘ ๋‹ฌ์ด๋ผ๋Š” ๊ธฐ๊ฐ„๋™์•ˆ ์—ด์‹ฌํžˆ ์ค€๋น„ ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋กœ ์ข‹์€ ์„ฑ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์–ด์„œ ๊ธฐ๋ปค์Šต๋‹ˆ๋‹ค โ˜บ๏ธ
 
 

 
 

3. ๋А๋‚€ ์  ๋ฐ ์กฐ์–ธ  


 
 
์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์› ๊ณ , ๊ทธ์ค‘์—์„œ๋„ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ฒŒ ๋А๊ผˆ๋˜ ์ ๋“ค์„ ๊ฐ„์ถ”๋ ค ์ •๋ฆฌํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค!
 
 
โœ… ํ˜ผ์ž์„œ ํ•˜๋Š” ๊ฐœ๋ฐœ๊ณผ ํŒ€ ํ”„๋กœ์ ํŠธ๋Š” ์™„์ „ํžˆ ๋‹ค๋ฅด๋‹ค.
  ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‚ด๊ฐ€ ์›ํ•˜๋Š” ๋ฐฉ์‹๋Œ€๋กœ ์ฝ”๋“œ๋งŒ ์ž‘์„ฑํ•˜๋ฉด ๋˜์—ˆ์ง€๋งŒ, ํŒ€ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋‹ค๋ฅธ ํŒ€์›๋“ค๊ณผ์˜ ์†Œํ†ต๊ณผ ์ผ์ • ์กฐ์œจ์ด ํ›จ์”ฌ ๋” ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์„œ๋กœ์˜ ์ž‘์—…์„ ๊ณ ๋ คํ•˜๋ฉด์„œ ๊ฐœ๋ฐœํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ํ˜‘์—… ๋Šฅ๋ ฅ์ด ํ–ฅ์ƒ๋  ์ˆ˜๋ฐ–์— ์—†์—ˆ์Šต๋‹ˆ๋‹ค.
 
โœ… ์ผ๊ด€๋œ ์ฝ”๋“œ ์Šคํƒ€์ผ๊ณผ ํ˜‘์—… ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘์š”ํ•˜๋‹ค.
  ์—ฌ๋Ÿฌ ๋ช…์ด ํ•จ๊ป˜ ๊ฐœ๋ฐœํ•˜๋Š” ๋งŒํผ, ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ๋งž์ถ”๊ณ  Git ๋ธŒ๋žœ์น˜ ์ „๋žต์„ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋‘๋Š” ๊ฒƒ์ด ํ•„์ˆ˜๋ผ๋Š” ๊ฒƒ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค.  ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฝ”๋“œ ์ปจ๋ฒค์…˜์„ ๋งž์ถ”๊ณ  ๋“ค์–ด๊ฐ€๋‹ˆ๊นŒ ๊ฐœ๋ฐœํ•˜๊ธฐ ์ข€ ๋” ์ˆ˜์›”ํ–ˆ์Šต๋‹ˆ๋‹ค. (๋จธ์ง€ํ•  ๋•Œ๋„ ์ถฉ๋Œ์ด ์ ๊ฒŒ ์ผ์–ด๋‚ฌ์–ด์š”) 
 
.
โœ… API ๋ฌธ์„œํ™”๋ฅผ ์ฒ ์ €ํžˆ ํ•ด์•ผ ํ•œ๋‹ค.
  API ์ŠคํŽ™์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š์œผ๋ฉด ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ถˆํ•„์š”ํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ์ฆ๊ฐ€ํ•˜๊ณ , ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ๋А๋ ค์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ง์ ‘ ๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ดˆ๋ฐ˜์—๋Š” API ์‘๋‹ต ํ˜•์‹์ด ์ œ๊ฐ๊ฐ์ด์–ด์„œ ์กฐ์œจํ•˜๋Š” ๋ฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ ธ์ง€๋งŒ, ์ดํ›„ ๋ฌธ์„œ๋ฅผ ์ •๋ฆฌํ•˜๊ณ  ๋‚˜๋‹ˆ ํ˜‘์—…์ด ํ›จ์”ฌ ์›ํ™œํ•ด์กŒ์Šต๋‹ˆ๋‹ค.
 
 
โœ… ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜์ด ์›ํ™œํ•ด์•ผ ํ”„๋กœ์ ํŠธ๊ฐ€ ์ž˜ ์ง„ํ–‰๋œ๋‹ค.
  ๊ธฐ์ˆ ์ ์ธ ๋ถ€๋ถ„๋„ ์ค‘์š”ํ•˜์ง€๋งŒ, ๊ฒฐ๊ตญ ํ”„๋กœ์ ํŠธ์˜ ์„ฑ๊ณต์„ ์ขŒ์šฐํ•˜๋Š” ๊ฒƒ์€ ํŒ€์› ๊ฐ„์˜ ์›ํ™œํ•œ ์†Œํ†ต์ด๋ผ๋Š” ๊ฑธ ๊นŠ์ด ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์ €ํฌ ํŒ€์€ ์นด์นด์˜คํ†ก, ๋””์Šค์ฝ”๋“œ ๋“ฑ ๋‹ค์–‘ํ•œ ์†Œํ†ต ์ฑ„๋„์„ ํ™œ์šฉํ•ด ์ตœ๋Œ€ํ•œ ๋น ๋ฅด๊ฒŒ ํ”ผ๋“œ๋ฐฑ์„ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.
ํŠนํžˆ, ์ค‘์š”ํ•œ ์ผ์ •์ด ๋‹ค๊ฐ€์˜ฌ ๋•Œ๋Š” ํŒŒํ‹ฐ๋ฃธ์„ ๋Œ€์—ฌํ•ด์„œ ๋ฐค์ƒˆ ์ฝ”๋”ฉํ•˜๋Š” ๊ฒฝํ—˜๋„ ํ–ˆ๋Š”๋ฐ… ๐Ÿ˜‚ (๋‹ค๋“ค ์ •๋ง ๋Œ€๋‹จํ•œ ์—ด์ •์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ, ๊ฐ€๋” "์ด ์‚ฌ๋žŒ๋“ค์€ ์ง„์งœ ์ž ์€ ์ž๋Š” ๊ฑธ๊นŒ?" ์‹ถ์—ˆ์–ด์š” ใ…‹ใ…‹)

 

๐Ÿš€ ์ถ”๊ฐ€์ ์œผ๋กœ ๋А๋‚€ ์  & ๋‚˜์˜ ๋‹ค์ง
 

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋ฐฐ์šด ๊ธฐ์ˆ  ์ค‘์—์„œ๋„ ์ €๋Š” AWS, ๋ฐฐํฌ, CI/CD ์ „๋žต์„ ์ข€ ๋” ๊นŠ์ด ๊ณต๋ถ€ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ํ•„์š”์„ฑ์„ ๋А๊ผˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐํฌ ๊ณผ์ •์—์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๋“ค์„ ๊ฒช์œผ๋ฉด์„œ, Docker๋ฅผ ํ™œ์šฉํ•˜๋ฉด ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์ด ๋” ์ข‹์•„์งˆ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ , ์•ž์œผ๋กœ ๊ด€๋ จ ๊ธฐ์ˆ ์„ ๋” ๊นŠ์ด ๊ณต๋ถ€ํ•ด๋ณผ ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
 
ํŠนํžˆ, ๋ฐฐํฌ์— ์‹คํŒจํ•  ๋•Œ๋งˆ๋‹ค ์„œ๋ฒ„ ํŒ€์žฅ๋ถ„๊ป˜ ๋„ˆ๋ฌด ๋งŽ์ด ์˜์ง€ํ–ˆ๋˜ ์ ์ด ์•„์‰ฌ์›€์œผ๋กœ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋ฐฐํฌ ๊ณผ์ •์ด ์ต์ˆ™ํ•˜์ง€ ์•Š์•„ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ํ•  ๋•Œ๋งˆ๋‹ค ๋„์›€์„ ์š”์ฒญํ–ˆ์ง€๋งŒ, ์ด์ œ๋Š” ์Šค์Šค๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ์—ญ๋Ÿ‰์„ ํ‚ค์›Œ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” CI/CD ๊ตฌ์ถ•๋ถ€ํ„ฐ ๋ฐฐํฌ ์ž๋™ํ™”๊นŒ์ง€ ์ง์ ‘ ํ•ด๋ณด๋ฉด์„œ, ๋ฐฐํฌ ํ™˜๊ฒฝ์„ ์ข€ ๋” ์›ํ™œํ•˜๊ฒŒ ์šด์˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฒฝํ—˜์„ ์Œ“๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.
์•ž์œผ๋กœ๋Š” ๋ฐฐํฌ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ์ด์Šˆ๋“ค์„ ์ง์ ‘ ํ•ด๊ฒฐํ•ด๋ณด๋ฉด์„œ, AWS์™€ Docker, CI/CD ํŒŒ์ดํ”„๋ผ์ธ์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ด๋Š” ๊ฒƒ์ด ์ œ ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค! 
 
์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๋‹จ์ˆœํžˆ ๊ธฐ์ˆ ์ ์ธ ์„ฑ์žฅ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ํ˜‘์—… ๋Šฅ๋ ฅ๋„ ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ๊ณ , ํŒ€ ๋‹จ์œ„ ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๋” ํšจ์œจ์ ์ธ ํ˜‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž์‹ ๊ฐ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ์ด๋Ÿฐ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ๋” ์„ฑ์žฅํ•˜๊ณ , ๋” ์ข‹์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค! ๐Ÿ˜Š๐Ÿš€
 

 
 

๐Ÿ’œ 4. ๋งˆ๋ฌด๋ฆฌ 


 

 ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊ธฐ์ˆ ์ ์œผ๋กœ๋„, ํ˜‘์—…์ ์œผ๋กœ๋„ ํ•œ ๋‹จ๊ณ„ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฐ’์ง„ ๊ฒฝํ—˜์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ๋ง‰์—ฐํ•œ ๋„์ „์ฒ˜๋Ÿผ ๋А๊ปด์กŒ์ง€๋งŒ, ํŒ€์›๋“ค๊ณผ ํ•จ๊ป˜ ๊ณ ๋ฏผํ•˜๊ณ  ํ•ด๊ฒฐํ•ด ๋‚˜๊ฐ€๋ฉด์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์™„์„ฑํ•˜๋Š” ๊ณผ์ • ์ž์ฒด๊ฐ€ ๋„ˆ๋ฌด๋‚˜๋„ ๋œป๊นŠ์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์ˆœํžˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ๋„˜์–ด์„œ, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ๊ณ ๋ฏผํ•˜๊ณ , ์„œ๋น„์Šค ์šด์˜๊นŒ์ง€ ๊ณ ๋ คํ•˜๋Š” ๊ฐœ๋ฐœ์ž์˜ ์‹œ๊ฐ์„ ํ‚ค์šธ ์ˆ˜ ์žˆ์—ˆ๋‹ค๋Š” ์ ์ด ๊ฐ€์žฅ ํฐ ๋ฐฐ์›€์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ ! 8๊ธฐ์—์„œ๋Š” ์Šคํ”„๋ง๋ถ€ํŠธ๋กœ ์ฐธ์—ฌํ•˜๊ฒŒ ๋  ๊ฒƒ ๊ฐ™์•„์š”!  ์ด๋ฒˆ์—๋Š” Node.js๋กœ ๋ฐฑ์—”๋“œ๋ฅผ ๊ฒฝํ—˜ํ–ˆ์œผ๋‹ˆ, ๋‹ค์Œ์—๋Š” Spring Boot๋ฅผ ํ™œ์šฉํ•ด ๋” ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ  ์Šคํƒ์„ ์ตํžˆ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. (ํ•˜๋‚˜์”ฉ ์ •๋ณตํ•ด ๋‚˜๊ฐ€๊ฒ ๋‹ค๋Š” ๋‹ค์ง! ๐Ÿ’ช๐Ÿ”ฅ)
 
 
์•ž์œผ๋กœ๋„ ๋” ๋งŽ์€ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ฒฝํ—˜ํ•˜๋ฉด์„œ, ๋” ๋‚˜์€ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•ด ๋‚˜๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค! ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. 

 
 
 

 
 
 
 
 
 
 

 


 
 

๐Ÿ”— ๋งํฌ ์ •๋ฆฌ 


 
 
๐Ÿšฉ๊นƒํ—ˆ๋ธŒ ๋งํฌ 
https://github.com/UMC-Master

 

UMC-Master

UMC-Master has 3 repositories available. Follow their code on GitHub.

github.com

 
 
 
๐Ÿ“„๋žœ๋”ฉ ํŽ˜์ด์ง€ 
https://homemaster.qshop.ai/

 

HOME MASTER

1์ธ ๊ฐ€๊ตฌ๋ฅผ ์œ„ํ•œ ๊ฟ€ํŒ ๊ฐ€์ด๋“œ๋ถ

homemaster.qshop.ai

 
 
๐Ÿ”—์‹ค๋ฐฐํฌ ์‚ฌ์ดํŠธ 
https://www.hmaster.shop/

 

ํ™ˆ๋งˆ์Šคํ„ฐ

 

www.hmaster.shop

 
 
 

728x90