2025๋…„ 10์›” 22์ผยท7๋ถ„ ์ฝ๊ธฐ

์žฌ์ƒ์„ฑ์— ์•ˆ์ „ํ•œ ์Šคํ‚ค๋งˆ ์ง„ํ™”๋กœ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋งŒ๋“ค๊ธฐ

์žฌ์ƒ์„ฑ์— ์•ˆ์ „ํ•œ ์Šคํ‚ค๋งˆ ์ง„ํ™”๋Š” ๋ฐฑ์—”๋“œ๊ฐ€ ์žฌ์ƒ์„ฑ๋  ๋•Œ๋„ ์šด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ ํšจํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ๊ณผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๊ณ„ํšํ•˜๋Š” ์‹ค์šฉ์ ์ธ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์„ธ์š”.

์žฌ์ƒ์„ฑ์— ์•ˆ์ „ํ•œ ์Šคํ‚ค๋งˆ ์ง„ํ™”๋กœ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋งŒ๋“ค๊ธฐ

์žฌ์ƒ์„ฑ๋œ ๋ฐฑ์—”๋“œ์—์„œ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์ด ์œ„ํ—˜ํ•˜๊ฒŒ ๋А๊ปด์ง€๋Š” ์ด์œ 

์‹œ๊ฐ์  ๋ชจ๋ธ์—์„œ ๋ฐฑ์—”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ์€ ์Šค์›จํ„ฐ์˜ ์‹ค์„ ๋‹น๊ธฐ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์ง‘๋‹ˆ๋‹ค. Data Designer์—์„œ ํ•„๋“œ๋ฅผ ์ˆ˜์ •ํ•˜๊ณ  ์žฌ์ƒ์„ฑ์„ ๋ˆ„๋ฅด๋ฉด ๋‹จ์ˆœํžˆ ํ…Œ์ด๋ธ”๋งŒ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ API, ๊ฒ€์ฆ ๊ทœ์น™, ์•ฑ์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ์ฟผ๋ฆฌ๊นŒ์ง€ ๋ฐ”๋€๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋Š” ์ƒˆ ์ฝ”๋“œ๊ฐ€ ๋นŒ๋“œ๋˜์ง€ ์•Š์•„์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋งŽ์€ ๋…ธ์ฝ”๋“œ ํ”Œ๋žซํผ(์˜ˆ: AppMaster, ์‹ค์ œ Go ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํ”Œ๋žซํผ)์€ ๋งค๋ฒˆ ๊น”๋”ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ ์œ„ํ—˜์€ ์šด์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฏธ ์กด์žฌํ•˜๋ฉฐ, ๊ทธ๊ฒƒ์ด ์ž๋™์œผ๋กœ ๋‹น์‹ ์˜ ์ƒˆ ์•„์ด๋””์–ด์— ๋งž๊ฒŒ ๋ณ€ํ˜•๋˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์ด ์ฒ˜์Œ์œผ๋กœ ์•Œ์•„์ฐจ๋ฆฌ๋Š” ๋‘ ๊ฐ€์ง€ ์‹คํŒจ๋Š” ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค:

  • ์ฝ๊ธฐ ์‹คํŒจ: ์ปฌ๋Ÿผ์ด ์ด๋™ํ–ˆ๊ฑฐ๋‚˜ ํƒ€์ž…์ด ๋ฐ”๋€Œ์—ˆ๊ฑฐ๋‚˜ ์ฟผ๋ฆฌ๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฐ’์„ ๊ธฐ๋Œ€ํ•ด์„œ ์•ฑ์ด ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ถˆ๋Ÿฌ์˜ค์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.
  • ์“ฐ๊ธฐ ์‹คํŒจ: ์ œ์•ฝ์กฐ๊ฑด, ํ•„์ˆ˜ ํ•„๋“œ, ํ˜•์‹์ด ๋ฐ”๋€Œ์–ด ์ƒˆ ๋ ˆ์ฝ”๋“œ๋‚˜ ์—…๋ฐ์ดํŠธ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ํด๋ผ์ด์–ธํŠธ๋Š” ์—ฌ์ „ํžˆ ์˜› ํ˜•ํƒœ๋กœ ๋ณด๋ƒ…๋‹ˆ๋‹ค.

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

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

โ€œ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜โ€์€ ๋ฐฐํฌ ์ „์— ๋„ค ๊ฐ€์ง€ ์งˆ๋ฌธ์— ๋‹ตํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฌด์—‡์ด ๋ฐ”๋€Œ๋Š”๊ฐ€, ๊ธฐ์กด ํ–‰์— ๋ฌด์Šจ ์ผ์ด ๋ฐœ์ƒํ•  ๊ฒƒ์ธ๊ฐ€, ๋กค์•„์›ƒ ์ค‘ ์–ด๋–ค ๋ฒ„์ „์˜ ์•ฑ์ด ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€, ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ์–ด๋–ป๊ฒŒ ๋กค๋ฐฑํ•  ๊ฒƒ์ธ๊ฐ€.

๊ฐ„๋‹จํ•œ ๋ชจ๋ธ: ์Šคํ‚ค๋งˆ, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜, ์žฌ์ƒ์„ฑ๋œ ์ฝ”๋“œ

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

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

๊ฐ„๋‹จํ•œ ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

์žฌ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋Š” โ€œํ˜„์žฌ ์Šคํ‚ค๋งˆ์™€ ํ†ต์‹ ํ•˜๋Š” ํ˜„์žฌ ์•ฑโ€์œผ๋กœ ์ทจ๊ธ‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์Šคํ‚ค๋งˆ์™€ ๋Ÿฐํƒ€์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ”๋“œ ๋ณ€๊ฒฝ์— ๋งž์ถฐ ์ •๋ ฌํ•ด ์ฃผ๋Š” ๋‹ค๋ฆฌ์ž…๋‹ˆ๋‹ค.

์žฌ์ƒ์„ฑ์ด ํŒ์„ ๋ฐ”๊พธ๋Š” ์ด์œ 

์žฌ์ƒ์„ฑ์„ ์ž์ฃผ ํ•˜๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋งŽ์€ ์ž‘์€ ์Šคํ‚ค๋งˆ ์ˆ˜์ •์„ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์ž์ฒด๋กœ๋Š” ์ •์ƒ์ž…๋‹ˆ๋‹ค. ์œ„ํ—˜์€ ์ด๋Ÿฌํ•œ ์ˆ˜์ •์ด ํ•˜์œ„ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ฆฌ๊ฑฐ๋‚˜ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ๊ฒฐ์ •๋ก ์ ์ด์ง€ ์•Š์„ ๋•Œ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

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

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

์ด๋Ÿฐ ์‚ฌ๊ณ  ๋ฐฉ์‹์€ ์žฌ์ƒ์„ฑ์ด ๋งค์ผ ์ผ์–ด๋‚˜๋”๋ผ๋„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ ์ข…๋ฅ˜์™€ ์–ด๋–ค ๊ฒƒ์ด ์šด์˜์„ ๊นจ๋œจ๋ฆฌ๋Š”๊ฐ€

๋ฐฑ์—”๋“œ๊ฐ€ ์ตœ์‹  ์Šคํ‚ค๋งˆ์—์„œ ์žฌ์ƒ์„ฑ๋˜๋ฉด ์ฝ”๋“œ๋Š” ๋ณดํ†ต ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ง€๊ธˆ ๊ทธ ์Šคํ‚ค๋งˆ์™€ ์ผ์น˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์žฌ์ƒ์„ฑ ์•ˆ์ „ํ•œ ์Šคํ‚ค๋งˆ ์ง„ํ™”๋Š” โ€œ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”๊ฐ€?โ€๋ณด๋‹ค โ€œ๋ณ€๊ฒฝ์„ ๋กค์•„์›ƒํ•˜๋Š” ๋™์•ˆ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ์™€ ์˜ค๋ž˜๋œ ์š”์ฒญ์ด ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋Š”๊ฐ€?โ€์— ๋” ๊ฐ€๊น์Šต๋‹ˆ๋‹ค.

์–ด๋–ค ๋ณ€๊ฒฝ์€ ๊ธฐ์กด ํ–‰์ด๋‚˜ ์ฟผ๋ฆฌ๋ฅผ ๋ฌดํšจํ™”ํ•˜์ง€ ์•Š์•„ ๋ณธ์งˆ์ ์œผ๋กœ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ณ€๊ฒฝ์€ ๋ฐ์ดํ„ฐ์˜ ์˜๋ฏธ๋ฅผ ๋ฐ”๊พธ๊ฑฐ๋‚˜ ์‹คํ–‰ ์ค‘์ธ ์•ฑ์ด ์—ฌ์ „ํžˆ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ์„ ์ œ๊ฑฐํ•ด ์šด์˜ ์‚ฌ๊ณ ๋กœ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

๋‚ฎ์€ ์œ„ํ—˜, ๋ณดํ†ต ์•ˆ์ „(์ถ”๊ฐ€์  ๋ณ€๊ฒฝ)

์ถ”๊ฐ€์  ๋ณ€๊ฒฝ์€ ๊ธฐ์กด ๋ฐ์ดํ„ฐ์™€ ๊ณต์กดํ•  ์ˆ˜ ์žˆ์–ด ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์•„์ง ์•„๋ฌด๊ฒƒ๋„ ์˜์กดํ•˜์ง€ ์•Š๋Š” ์ƒˆ ํ…Œ์ด๋ธ”.
  • ๊ธฐ๋ณธ๊ฐ’์ด ํ•„์š” ์—†๋Š” ์ƒˆ nullable ์ปฌ๋Ÿผ.
  • ๋์—์„œ ๋์œผ๋กœ ์„ ํƒ์ ์ธ ์ƒˆ API ํ•„๋“œ.

์˜ˆ: users ํ…Œ์ด๋ธ”์— nullable์ธ middle_name ์ปฌ๋Ÿผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ๋ณดํ†ต ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์กด ํ–‰์€ ์œ ํšจํ•˜๊ณ , ์žฌ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋Š” ๊ฐ’์ด ์žˆ์„ ๋•Œ ์ฝ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์˜ค๋ž˜๋œ ํ–‰์€ ๋‹จ์ˆœํžˆ NULL์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

์ค‘๊ฐ„ ์œ„ํ—˜(์˜๋ฏธ ๋ณ€๊ฒฝ)

์ด ๋ณ€๊ฒฝ์€ ๊ธฐ์ˆ ์ ์œผ๋กœ๋Š” โ€œ์ž‘๋™โ€ํ•˜์ง€๋งŒ ๋™์ž‘์ด ๊นจ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์žฌ์ƒ์„ฑ์€ ๊ฒ€์ฆ, ์ƒ์„ฑ๋œ ๋ชจ๋ธ, ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๊ฐ€์ •์„ ์—…๋ฐ์ดํŠธํ•˜๋ฏ€๋กœ ์ฃผ์˜ ๊นŠ์€ ์กฐ์ •์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฆ„ ๋ณ€๊ฒฝ์€ ์ „ํ˜•์ ์ธ ํ•จ์ •์ž…๋‹ˆ๋‹ค: phone์„ mobile_phone์œผ๋กœ ๋ฐ”๊พธ๋ฉด ์žฌ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋Š” ๋” ์ด์ƒ phone์„ ์ฝ์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋Š”๋ฐ ์šด์˜์—๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ทธ๋Œ€๋กœ ๋‚จ์•„ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹จ์œ„(์˜ˆ: ๊ฐ€๊ฒฉ์„ ๋‹ฌ๋Ÿฌ์—์„œ ์„ผํŠธ๋กœ ์ €์žฅ) ๋ณ€๊ฒฝ์€ ์ฝ”๋“œ๋ณด๋‹ค ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ๊ทธ ๋ฐ˜๋Œ€์ผ ๋•Œ ๊ณ„์‚ฐ์„ ์กฐ์šฉํžˆ ๋ง์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Enum๋„ ์˜ˆ๋ฆฌํ•œ ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค. Enum์„ ์ขํžˆ๋ฉด(๊ฐ’ ์ œ๊ฑฐ) ๊ธฐ์กด ํ–‰์ด ๋ฌดํšจํ™”๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™•์žฅํ•˜๋Š” ๊ฒƒ์€(๊ฐ’ ์ถ”๊ฐ€) ๋ณดํ†ต ์•ˆ์ „ํ•˜์ง€๋งŒ ๋ชจ๋“  ์ฝ”๋“œ ๊ฒฝ๋กœ๊ฐ€ ์ƒˆ ๊ฐ’์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์šฉ์  ์ ‘๊ทผ์€ ์˜๋ฏธ ๋ณ€๊ฒฝ์„ โ€œ์ƒˆ๋กœ ์ถ”๊ฐ€ โ†’ ๋ฐฑํ•„ โ†’ ์ „ํ™˜ โ†’ ๋‚˜์ค‘์— ์ œ๊ฑฐโ€๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋†’์€ ์œ„ํ—˜(ํŒŒ๊ดด์  ๋ณ€๊ฒฝ)

ํŒŒ๊ดด์  ๋ณ€๊ฒฝ์€ ํ”Œ๋žซํผ์ด ์ฝ”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•ด ์˜› ํ˜•ํƒœ๋ฅผ ๋” ์ด์ƒ ๊ธฐ๋Œ€ํ•˜์ง€ ์•Š์„ ๋•Œ ์šด์˜์„ ์ฆ‰์‹œ ๊นจ๋œจ๋ฆฌ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

์ปฌ๋Ÿผ ์‚ญ์ œ, ํ…Œ์ด๋ธ” ์‚ญ์ œ, nullable์„ not-null๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ์–ด๋–ค ์š”์ฒญ์ด ๊ทธ ๊ฐ’์„ ๋„ฃ์ง€ ์•Š์ž๋งˆ์ž ์“ฐ๊ธฐ ์‹คํŒจ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. โ€œ๋ชจ๋“  ํ–‰์— ์ด๋ฏธ ์žˆ๋‹คโ€๊ณ  ์ƒ๊ฐํ•˜๋”๋ผ๋„ ๋‹ค์Œ ์—ฃ์ง€ ์ผ€์ด์Šค๋‚˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žก์ด ๋ฐ˜์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

not-null ๋ณ€๊ฒฝ์„ ํ•ด์•ผ ํ•œ๋‹ค๋ฉด ๋‹จ๊ณ„๋ณ„๋กœ ํ•˜์„ธ์š”: ๋จผ์ € ์ปฌ๋Ÿผ์„ nullable๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ๋ฐฑํ•„ํ•œ ๋’ค ์•ฑ ๋กœ์ง์„ ๊ฐฑ์‹ ํ•ด ํ•ญ์ƒ ๊ฐ’์„ ์„ค์ •ํ•˜๊ฒŒ ํ•˜๊ณ , ๊ทธ ๋‹ค์Œ์— not-null์„ ๊ฐ•์ œํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ๊ณผ ์•ˆ์ „ ๋ณ€๊ฒฝ(์“ฐ๊ธฐ ์ฐจ๋‹จ ๊ฐ€๋Šฅ)

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

์ƒ๊ฐ๋ณด๋‹ค ์ฃผ์˜๊ฐ€ ํ•„์š”ํ•œ ๋ณ€๊ฒฝ์ด ์žˆ์œผ๋ฉด ๋‹ค์Œ์„ ๊ณ„ํšํ•˜์„ธ์š”:

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

AppMaster ๊ฐ™์€ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๊ฐ€์žฅ ์•ˆ์ „ํ•œ ์‚ฌ๊ณ ๋ฐฉ์‹์€: ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ค๋Š˜๋„ ๋ฒ„ํ‹ธ ์ˆ˜ ์žˆ๋Š” ๋ณ€๊ฒฝ์„ ๋จผ์ € ๋ฐฐํฌํ•˜๊ณ , ์‹œ์Šคํ…œ์ด ์ด๋ฏธ ์ ์‘ํ•œ ํ›„์— ๊ทœ์น™์„ ๊ฐ•ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์žฌ์ƒ์„ฑ ์•ˆ์ „ ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ์›์น™

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

๊ธฐ๋ณธ์€ โ€œํ™•์žฅ โ†’ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ โ†’ ์ˆ˜์ถ•โ€

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

์‹ค์šฉ ๊ทœ์น™: โ€œ์ƒˆ ๊ตฌ์กฐโ€์™€ โ€œํŒŒ๊ดด์  ์ •๋ฆฌโ€๋ฅผ ๋™์ผํ•œ ๋ฐฐํฌ์— ๊ฒฐํ•ฉํ•˜์ง€ ๋งˆ์„ธ์š”.

์ผ์ • ๊ธฐ๊ฐ„ ๋™์•ˆ ์˜ค๋ž˜๋œ ํ˜•ํƒœ์™€ ์ƒˆ ํ˜•ํƒœ๋ฅผ ๋ชจ๋‘ ์ง€์›ํ•˜์„ธ์š”

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๊ฐ„์ด ์žˆ์„ ๊ฒƒ์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜์„ธ์š”:

  • ์ผ๋ถ€ ๋ ˆ์ฝ”๋“œ๋Š” ์ƒˆ ํ•„๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ์ผ๋ถ€๋Š” ๊ทธ๋ ‡์ง€ ์•Š๋‹ค.
  • ์ผ๋ถ€ ์•ฑ ์ธ์Šคํ„ด์Šค๋Š” ์˜ค๋ž˜๋œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์ผ๋ถ€๋Š” ์žฌ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žก, ์ž„ํฌํŠธ, ๋ชจ๋ฐ”์ผ ํด๋ผ์ด์–ธํŠธ๋Š” ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๋‹ค.

์ด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋‘ ํ˜•ํƒœ๊ฐ€ ๋ชจ๋‘ ์œ ํšจํ•˜๋„๋ก ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค๊ณ„ํ•˜์„ธ์š”. ์ด๋Š” Data Designer์—์„œ ๋ชจ๋ธ์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  Go ๋ฐฑ์—”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•˜๋Š” ํ”Œ๋žซํผ์—์„œ๋Š” ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์“ฐ๊ธฐ๋ณด๋‹ค ๋จผ์ € ์ฝ๊ธฐ ํ˜ธํ™˜์„ฑ์„ ํ™•๋ณดํ•˜์„ธ์š”

๋จผ์ € ์ƒˆ ์ฝ”๋“œ๊ฐ€ ์˜ค๋ž˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ์„ธ์š”. ๊ทธ๋‹ค์Œ์— ์“ฐ๊ธฐ ๊ฒฝ๋กœ๋ฅผ ์ „ํ™˜ํ•ด ์ƒˆ ๋ฐ์ดํ„ฐ ๋ชจ์–‘์„ ์ƒ์„ฑํ•˜๊ฒŒ ํ•˜์„ธ์š”.

์˜ˆ: ํ•˜๋‚˜์˜ status ํ•„๋“œ๋ฅผ status + status_reason์œผ๋กœ ๋ถ„๋ฆฌํ•  ๊ฒฝ์šฐ, ๋จผ์ € status_reason์ด ์—†์„ ๋•Œ๋„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ๋ฐฐํฌํ•˜์„ธ์š”. ๊ทธ ์ดํ›„์— status_reason์„ ์“ฐ๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

๋ถ€๋ถ„์ ์ด๊ฑฐ๋‚˜ ์•Œ ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ๊ฒฐ์ •ํ•˜์„ธ์š”

enum, non-null ์ปฌ๋Ÿผ, ๋” ์—„๊ฒฉํ•œ ์ œ์•ฝ์„ ์ถ”๊ฐ€ํ•  ๋•Œ ๊ฐ’์ด ๋ˆ„๋ฝ๋˜๊ฑฐ๋‚˜ ์˜ˆ์ƒ ๋ฐ–์ผ ๋•Œ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ• ์ง€ ๋ฏธ๋ฆฌ ๊ฒฐ์ •ํ•˜์„ธ์š”:

  • ์ž„์‹œ๋กœ null์„ ํ—ˆ์šฉํ•œ ๋’ค ๋ฐฑํ•„ํ•˜๊ธฐ
  • ์˜๋ฏธ๋ฅผ ๋ฐ”๊พธ์ง€ ์•Š๋Š” ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •
  • ์ฝ๊ธฐ ์˜ค๋ฅ˜๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด โ€œunknownโ€ ๊ฐ’ ์œ ์ง€

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์กฐ์šฉํ•œ ๋ฐ์ดํ„ฐ ์†์ƒ(์ž˜๋ชป๋œ ๊ธฐ๋ณธ๊ฐ’)๊ณผ ์‹ฌ๊ฐํ•œ ์‹คํŒจ(์ƒˆ ์ œ์•ฝ์ด ์˜ค๋ž˜๋œ ํ–‰์„ ๊ฑฐ๋ถ€ํ•จ)๋ฅผ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ๋กค๋ฐฑ ์Šคํ† ๋ฆฌ๋ฅผ ๊ฐ€์ง€์„ธ์š”

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

๋‹จ๊ณ„๋ณ„: ์žฌ์ƒ์„ฑ์„ ๊ฒฌ๋””๋Š” ๋ณ€๊ฒฝ ๊ณ„ํš

์›น๊ณผ ๋ชจ๋ฐ”์ผ์„ ์œ„ํ•œ ํ•˜๋‚˜์˜ ๋ชจ๋ธ
๋™์ผํ•œ ๋ฐฑ์—”๋“œ์™€ ์Šคํ‚ค๋งˆ ์œ„์— ์›น๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ๋งŒ๋“œ์„ธ์š”.
ํ”„๋กœ์ ํŠธ ์‹œ์ž‘

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

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

๋‹ค์Œ์€ AppMaster๊ฐ€ Data Designer ๋ชจ๋ธ์—์„œ Go ๋ฐฑ์—”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•  ๋•Œ์ฒ˜๋Ÿผ ์žฌ์ƒ์„ฑ ํ”Œ๋žซํผ์—์„œ ์ž˜ ์ž‘๋™ํ•˜๋Š” ์‹ค์šฉ์  ์ˆœ์„œ์ž…๋‹ˆ๋‹ค:

  1. ๋จผ์ € ํ™•์žฅํ•˜๊ณ  ๋Œ€์ฒดํ•˜์ง€ ๋งˆ์„ธ์š”. ์ƒˆ ์ปฌ๋Ÿผ์ด๋‚˜ ํ…Œ์ด๋ธ”์„ ์ถ”๊ฐ€ํ•  ๋•Œ๋Š” ์ถ”๊ฐ€ ๋ฐฉ์‹์œผ๋กœ ํ•˜์„ธ์š”. ์ƒˆ ํ•„๋“œ๋Š” ์ฒ˜์Œ์— nullable๋กœ ๋‘๊ฑฐ๋‚˜ ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ์ฃผ์„ธ์š”. ์ƒˆ ๊ด€๊ณ„๋ฅผ ๋„์ž…ํ•  ๋•Œ๋Š” ์ฑ„์›Œ์งˆ ๋•Œ๊นŒ์ง€ ์™ธ๋ž˜ํ‚ค๋ฅผ ๋น„์›Œ๋‘˜ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์„ธ์š”.

  2. ์•„๋ฌด๊ฒƒ๋„ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ํ™•์žฅ๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๋ฐฐํฌํ•˜์„ธ์š”. ์˜ค๋ž˜๋œ ์ฝ”๋“œ๊ฐ€ ๊ณ„์† ์ž‘๋™ํ•˜๋Š” ๋™์•ˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณ€๊ฒฝ์„ ๋ฐฐํฌํ•˜์„ธ์š”. ๋ชฉํ‘œ๋Š” ์˜ค๋ž˜๋œ ์ฝ”๋“œ๊ฐ€ ์˜› ์ปฌ๋Ÿผ์— ๊ณ„์† ์“ฐ๋”๋ผ๋„ DB๊ฐ€ ์ด๋ฅผ ์ˆ˜๋ฝํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  3. ์ œ์–ด๋œ ์žก์œผ๋กœ ๋ฐฑํ•„ํ•˜์„ธ์š”. ์ƒˆ ํ•„๋“œ๋ฅผ ๋ฐฐ์น˜ ํ”„๋กœ์„ธ์Šค๋กœ ์ฑ„์šฐ๋˜ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์žฌ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์„ธ์š”. ๋ฉฑ๋“ฑ(idempotent)์œผ๋กœ ๋งŒ๋“œ์„ธ์š”(๋‘ ๋ฒˆ ์‹คํ–‰ํ•ด๋„ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ง๊ฐ€์ง€์ง€ ์•Š์Œ). ํ…Œ์ด๋ธ”์ด ํฌ๋ฉด ์ ์ง„์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ ํ–‰ ์ˆ˜๋ฅผ ๊ธฐ๋กํ•˜์„ธ์š”.

  4. ๋จผ์ € ์ฝ๊ธฐ๋ฅผ ์ „ํ™˜ํ•˜๊ณ  ํด๋ฐฑ์„ ๋‘์„ธ์š”. ์žฌ์ƒ์„ฑ๋œ ๋กœ์ง์ด ์ƒˆ ํ•„๋“œ๋ฅผ ์šฐ์„  ์ฝ๋˜ ์ƒˆ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†์œผ๋ฉด ์˜ค๋ž˜๋œ ํ•„๋“œ๋กœ ํด๋ฐฑํ•˜๋„๋ก ํ•˜์„ธ์š”. ์ฝ๊ธฐ๊ฐ€ ์•ˆ์ •๋œ ํ›„์—์•ผ ์“ฐ๊ธฐ๋ฅผ ์ƒˆ ํ•„๋“œ๋กœ ์ „ํ™˜ํ•˜์„ธ์š”.

  5. ๋งˆ์ง€๋ง‰์— ์ •๋ฆฌํ•˜์„ธ์š”. ํ™•์‹ (๋ฐ ๋กค๋ฐฑ ๊ณ„ํš)์ด ์„œ๋ฉด ์˜ค๋ž˜๋œ ํ•„๋“œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์ œ์•ฝ์„ ๊ฐ•ํ™”ํ•˜์„ธ์š”: NOT NULL ์„ค์ •, ๊ณ ์œ  ์ œ์•ฝ ์ถ”๊ฐ€, ์™ธ๋ž˜ํ‚ค ๊ฐ•์ œ ๋“ฑ.

๊ตฌ์ฒด์  ์˜ˆ: ์ž์œ  ํ…์ŠคํŠธ status ์ปฌ๋Ÿผ์„ statuses ํ…Œ์ด๋ธ”์„ ๊ฐ€๋ฆฌํ‚ค๋Š” status_id๋กœ ๊ต์ฒดํ•˜๋ ค๋ฉด, status_id๋ฅผ nullable๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ธฐ์กด ํ…์ŠคํŠธ์—์„œ ๋ฐฑํ•„ํ•œ ๋’ค ์•ฑ์„ ์—…๋ฐ์ดํŠธํ•ด status_id๋ฅผ ์šฐ์„  ์ฝ๊ณ  null์ผ ๋•Œ status๋กœ ํด๋ฐฑํ•˜๊ฒŒ ํ•˜์„ธ์š”. ๊ทธ ๋‹ค์Œ status๋ฅผ ์‚ญ์ œํ•˜๊ณ  status_id๋ฅผ ํ•„์ˆ˜๋กœ ๋งŒ๋“œ์„ธ์š”. ์ด ๊ณผ์ •์€ ๊ฐ ๋‹จ๊ณ„์—์„œ DB๊ฐ€ ํ˜ธํ™˜๋˜๋ฏ€๋กœ ์žฌ์ƒ์„ฑ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์‹ค๋ฌด ํŒจํ„ด

์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์—ฐ์Šตํ•˜๊ธฐ
์Šคํ…Œ์ด์ง• ์ค€๋น„๊ฐ€ ๋œ ๋ฐฑ์—”๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ํ•„๋“œ๋ฅผ ์ž‘๊ณ  ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋Š” ๋‹จ๊ณ„๋กœ ์ง„ํ™”์‹œํ‚ค์„ธ์š”.
์‹œ์ž‘ํ•˜๊ธฐ

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

ํŒจํ„ด 1: ๋น„ํŒŒ๊ดด์  ์ด๋ฆ„ ๋ณ€๊ฒฝ

์ง์ ‘ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ์œ„ํ—˜ํ•ฉ๋‹ˆ๋‹ค. ์•ˆ์ „ํ•œ ์ ‘๊ทผ์€ ์ด๋ฆ„ ๋ณ€๊ฒฝ์„ ์งง์€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ธฐ๊ฐ„์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ์ƒˆ ์ปฌ๋Ÿผ(์˜ˆ: customer_phone)์„ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ธฐ์กด ์ปฌ๋Ÿผ(phone)์„ ์œ ์ง€ํ•˜์„ธ์š”.
  • ์ €์žฅ ์‹œ ๋‘ ํ•„๋“œ์— ๋ชจ๋‘ ์“ฐ๋Š” ์ด์ค‘ ์“ฐ๊ธฐ(dual-write)๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”.
  • ๊ธฐ์กด ํ–‰์„ ๋ฐฑํ•„ํ•ด customer_phone์„ ์ฑ„์šฐ์„ธ์š”.
  • ์ปค๋ฒ„๋ฆฌ์ง€๊ฐ€ ์ถฉ๋ถ„ํ•ด์ง€๋ฉด ์ฝ๊ธฐ๋ฅผ ์ƒˆ ์ปฌ๋Ÿผ์œผ๋กœ ์ „ํ™˜ํ•˜์„ธ์š”.
  • ๋‚˜์ค‘ ๋ฆด๋ฆฌ์Šค์—์„œ ์˜ค๋ž˜๋œ ์ปฌ๋Ÿผ์„ ์‚ญ์ œํ•˜์„ธ์š”.

์ด ๋ฐฉ์‹์€ Data Designer์—์„œ ์Šคํ‚ค๋งˆ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด Go ๋ฐฑ์—”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด์ค‘ ์“ฐ๊ธฐ๋Š” ๋‘ ์„ธ๋Œ€์˜ ์ฝ”๋“œ๋ฅผ ๋™์‹œ์— ๋งŒ์กฑ์‹œํ‚ต๋‹ˆ๋‹ค.

ํŒจํ„ด 2: ํ•˜๋‚˜์˜ ํ•„๋“œ๋ฅผ ๋‘˜๋กœ ๋ถ„๋ฆฌ

full_name์„ first_name๊ณผ last_name์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋ฐฑํ•„์ด ๋” ๊นŒ๋‹ค๋กญ์Šต๋‹ˆ๋‹ค. ์›๋ณธ ํ•„๋“œ๋ฅผ ์™„์ „ํžˆ ์ œ๊ฑฐํ•˜๊ธฐ ์ „๊นŒ์ง€๋Š” full_name์„ ์œ ์ง€ํ•˜์„ธ์š”.

์‹ค์šฉ ๊ทœ์น™: ํŒŒ์‹ฑ์— ์‹คํŒจํ•˜๋ฉด ์ „์ฒด ๋ฌธ์ž์—ด์„ last_name์— ์ €์žฅํ•˜๊ณ  ๊ฒ€ํ† ์šฉ ํ”Œ๋ž˜๊ทธ๋ฅผ ์„ธ์šฐ๋Š” ๋“ฑ ๋ช…ํ™•ํ•œ ํด๋ฐฑ์„ ๋‘์„ธ์š”.

ํŒจํ„ด 3: ํ•„๋“œ๋ฅผ ํ•„์ˆ˜๋กœ ๋งŒ๋“ค๊ธฐ

nullable์„ required๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์€ ์ „ํ˜•์ ์ธ ์šด์˜ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ต๋‹ˆ๋‹ค. ์•ˆ์ „ํ•œ ์ˆœ์„œ๋Š” ๋ฐฑํ•„ ๋จผ์ €, ๊ฐ•์ œ๋Š” ๋‚˜์ค‘์ž…๋‹ˆ๋‹ค.

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

ํŒจํ„ด 4: enum์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณ€๊ฒฝํ•˜๊ธฐ

enum ๋ณ€๊ฒฝ์€ ์˜ค๋ž˜๋œ ์ฝ”๋“œ๊ฐ€ ์˜ค๋ž˜๋œ ๊ฐ’์„ ๋ณด๋‚ผ ๋•Œ ๊นจ์ง‘๋‹ˆ๋‹ค. ์ „ํ™˜ ๊ธฐ๊ฐ„์—๋Š” ๋‘˜ ๋‹ค ํ—ˆ์šฉํ•˜์„ธ์š”. "pending"์„ "queued"๋กœ ๋ฐ”๊ฟ€ ๋•Œ๋Š” ๋‘˜ ๋‹ค ์œ ํšจํ•˜๊ฒŒ ๋‘๊ณ  ๋กœ์ง์—์„œ ๋งคํ•‘ํ•˜์„ธ์š”. ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์˜ค๋ž˜๋œ ๊ฐ’์„ ๋ณด๋‚ด์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•œ ๋’ค ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

ํ•œ ๋ฒˆ์˜ ๋ฆด๋ฆฌ์Šค์— ๋ณ€๊ฒฝ์„ ๋ฐ€์–ด๋ถ™์—ฌ์•ผ ํ•œ๋‹ค๋ฉด ์˜ํ–ฅ์„ ์ค„์ผ ๋ฐฉ๋ฒ•:

  • ์ƒˆ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋˜ ์˜ค๋ž˜๋œ ํ•„๋“œ๋ฅผ ๋‚จ๊ฒจ๋‘์„ธ์š”.
  • ์‚ฝ์ž…์ด ๊ณ„์† ์ž‘๋™ํ•˜๋„๋ก DB ๊ธฐ๋ณธ๊ฐ’ ์‚ฌ์šฉ.
  • ์ฝ”๋“œ๋ฅผ ๊ด€๋Œ€ํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ƒˆ ํ•„๋“œ๋ฅผ ์šฐ์„  ์ฝ๊ณ  ์˜ค๋ž˜๋œ ํ•„๋“œ๋กœ ํด๋ฐฑํ•˜๋„๋ก ํ•จ.
  • ์ผ์‹œ์ ์ธ ๋งคํ•‘ ๋ ˆ์ด์–ด ์ถ”๊ฐ€(์˜› ๊ฐ’ ์ž…๋ ฅ โ†’ ์ƒˆ ๊ฐ’ ์ €์žฅ).

์ด ํŒจํ„ด๋“ค์€ ์žฌ์ƒ์„ฑ์œผ๋กœ ์ฝ”๋“œ ๋™์ž‘์ด ๋น ๋ฅด๊ฒŒ ๋ฐ”๋€Œ์–ด๋„ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋†€๋ผ์›€์„ ์ดˆ๋ž˜ํ•˜๋Š” ํ”ํ•œ ์‹ค์ˆ˜

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

ํ”ํ•œ ํ•จ์ • ์ค‘ ํ•˜๋‚˜๋Š” ํ”Œ๋žซํผ์ด โ€œ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์•Œ์•„์„œ ํ•ด์ค„ ๊ฒƒโ€์ด๋ผ๊ณ  ๊ฐ€์ •ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด AppMaster์—์„œ๋Š” Data Designer ๋ชจ๋ธ์„ ์—…๋ฐ์ดํŠธํ•ด Go ๋ฐฑ์—”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ํ”Œ๋žซํผ์ด ์‹ค์ œ ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™˜ํ•ด์•ผ ํ• ์ง€ ์ถ”์ธกํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ ํ•„์š”ํ•œ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด ๊ธฐ์กด ํ–‰์— ๊ฐ’์„ ์ฑ„์šฐ๋Š” ๋ช…ํ™•ํ•œ ๊ณ„ํš์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ๋†€๋ผ์›€์€ ํ•„๋“œ๋ฅผ ๋„ˆ๋ฌด ์ผ์ฐ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ด๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฉ”์ธ UI์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์—ฌ๋„ ๋ณด๊ณ ์„œ, ์˜ˆ์•ฝ๋œ ๋‚ด๋ณด๋‚ด๊ธฐ, ์›นํ›… ํ•ธ๋“ค๋Ÿฌ, ํ˜น์€ ๋“œ๋ฌผ๊ฒŒ ์—ด์–ด ๋ณด๋Š” ๊ด€๋ฆฌ์ž ํ™”๋ฉด์—์„œ ์—ฌ์ „ํžˆ ์ฝํžˆ๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ์—์„œ๋Š” ์•ˆ์ „ํ•ด ๋ณด์—ฌ๋„ ์šด์˜์—์„œ ํ•œ ๋ฒˆ์ด๋ผ๋„ ์ฐธ์กฐ๋˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ๋‚จ์•„ ์žˆ์œผ๋ฉด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๋Šฆ์€ ๋ฐค ๋กค๋ฐฑ์„ ์ดˆ๋ž˜ํ•˜๋Š” ๋‹ค์„ฏ ๊ฐ€์ง€ ์‹ค์ˆ˜:

  • ์Šคํ‚ค๋งˆ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์ฝ”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ–ˆ์ง€๋งŒ ์˜ค๋ž˜๋œ ํ–‰์„ ์œ ํšจํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฒ€์ฆํ•˜์ง€ ์•Š์Œ.
  • ๋ชจ๋“  ๋ฆฌ๋”์™€ ๋ผ์ดํ„ฐ๊ฐ€ ์—…๋ฐ์ดํŠธยท๋ฐฐํฌ๋˜๊ธฐ ์ „์— ์ปฌ๋Ÿผ์„ ์ด๋ฆ„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•จ.
  • ํฐ ํ…Œ์ด๋ธ”์„ ๋ฐฑํ•„ํ•˜๋ฉด์„œ ์†Œ์š” ์‹œ๊ฐ„์„ ํ™•์ธํ•˜์ง€ ์•Š์•„ ๋‹ค๋ฅธ ์“ฐ๊ธฐ๋ฅผ ๋ง‰์Œ.
  • ์ƒˆ ์ œ์•ฝ(NOT NULL, UNIQUE, foreign key)์„ ๋จผ์ € ์ถ”๊ฐ€ํ•˜๊ณ  ๋‚˜์ค‘์— ๋ ˆ๊ฑฐ์‹œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ด๋ฅผ ๊นจ๋œจ๋ฆผ์„ ๋ฐœ๊ฒฌํ•จ.
  • ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žก, ๋‚ด๋ณด๋‚ด๊ธฐ, ๋ณด๊ณ ์„œ๊ฐ€ ์—ฌ์ „ํžˆ ์˜ค๋ž˜๋œ ํ•„๋“œ๋ฅผ ์ฝ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์žŠ์Œ.

๊ฐ„๋‹จํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค: phone์„ mobile_number๋กœ ๋ฐ”๊พธ๊ณ  NOT NULL์„ ์ถ”๊ฐ€ํ•œ ๋’ค ์žฌ์ƒ์„ฑํ•˜๋ฉด ์•ฑ ํ™”๋ฉด์€ ์ž‘๋™ํ•˜์ง€๋งŒ ์˜ค๋ž˜๋œ CSV ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ์—ฌ์ „ํžˆ phone์„ ์„ ํƒํ•˜๊ณ  ์ˆ˜์ฒœ ๊ฐœ์˜ existing ๋ ˆ์ฝ”๋“œ์— mobile_number๊ฐ€ NULL์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณดํ†ต์˜ ํ•ด๊ฒฐ์ฑ…์€ ๋‹จ๊ณ„์  ๋ณ€๊ฒฝ: ์ƒˆ ์ปฌ๋Ÿผ ์ถ”๊ฐ€ โ†’ ๋‘˜ ๋‹ค ์“ฐ๊ธฐ โ†’ ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฑํ•„ โ†’ ์ œ์•ฝ ๊ฐ•ํ™” ๋ฐ ์˜ค๋ž˜๋œ ํ•„๋“œ ์ œ๊ฑฐ.

๋” ์•ˆ์ „ํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์œ„ํ•œ ์‚ฌ์ „ ๋ฐฐํฌ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์•ˆ์ „ํ•œ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์œผ๋กœ ๋นŒ๋“œํ•˜์„ธ์š”
๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ชจ๋ธ๋งํ•˜๊ณ  ์ˆ˜๋™์œผ๋กœ ์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ์“ฐ์ง€ ์•Š๊ณ  Go ๋ฐฑ์—”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•˜์„ธ์š”.
AppMaster ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

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

๋Œ€๋ถ€๋ถ„์˜ ๋ฌธ์ œ๋ฅผ ์žก์•„๋‚ด๋Š” 5๊ฐ€์ง€ ์ ๊ฒ€

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

๊ฐ„๋‹จํ•œ ์˜ˆ

orders ํ…Œ์ด๋ธ”์— ์ƒˆ ํ•„์ˆ˜ ํ•„๋“œ status๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค๋ฉด ํ•œ ๋ฒˆ์— โ€œNOT NULL, ๊ธฐ๋ณธ๊ฐ’ ์—†์Œโ€์œผ๋กœ ๋ฐ€์–ด๋ถ™์ด์ง€ ๋งˆ์„ธ์š”. ๋จผ์ € nullable๋กœ ์ถ”๊ฐ€ํ•˜๊ณ  ์ƒˆ ํ–‰์— ๋Œ€ํ•œ ๊ธฐ๋ณธ๊ฐ’์„ ์ฃผ๊ณ , ์žฌ์ƒ์„ฑ๋œ ์ฝ”๋“œ๊ฐ€ ๊ฒฐ์†๋œ ์ƒํƒœ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•œ ๋’ค ๋ฐฑํ•„ํ•˜๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ์ œ์•ฝ์„ ๊ฐ•ํ™”ํ•˜์„ธ์š”.

AppMaster์—์„œ๋Š” ์ด ์‚ฌ๊ณ ๋ฐฉ์‹์ด ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋ฅผ ์ž์ฃผ ์žฌ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์„ ์‰ฌ์šด ๋กค๋ฐฑ์ด ๊ฐ€๋Šฅํ•œ ์ž‘์€ ๋ฆด๋ฆฌ์Šค๋กœ ๋‹ค๋ฃจ๋ฉด ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ์šด์˜ ์•ฑ์„ ๊ธฐ์กด ๋ ˆ์ฝ”๋“œ๋ฅผ ๊นจ๋œจ๋ฆฌ์ง€ ์•Š๊ณ  ์ง„ํ™”์‹œํ‚ค๊ธฐ

๋จผ์ € ์Šคํ‚ค๋งˆ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์„ธ์š”
์‹ค์ œ ์šด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ์ง€๊ธฐ ์ „์— Data Designer์—์„œ ํ…Œ์ด๋ธ”๊ณผ ๊ด€๊ณ„๋ฅผ ์„ค๊ณ„ํ•˜์„ธ์š”.
์ฒดํ—˜ํ•˜๊ธฐ

์˜ˆ๋ฅผ ๋“ค์–ด ์ƒ๋‹ดํŒ€์—์„œ ํ‹ฐ์ผ“์— ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ž์œ  ํ…์ŠคํŠธ ํ•„๋“œ priority๋กœ ํƒœ๊น…ํ•œ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค(์˜ˆ: โ€œhighโ€, โ€œurgentโ€, โ€œHIGHโ€, โ€œp1โ€). ์ด๋ฅผ ์—„๊ฒฉํ•œ enum์œผ๋กœ ๋ฐ”๊ฟ” ๋ณด๊ณ ์„œ์™€ ๋ผ์šฐํŒ… ๊ทœ์น™์ด ์ถ”์ธกํ•˜์ง€ ์•Š๊ฒŒ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

์•ˆ์ „ํ•œ ๋ฐฉ๋ฒ•์€ ์šด์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์œ ํšจํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ๋ฐฑ์—”๋“œ๋ฅผ ์žฌ์ƒ์„ฑํ•˜๋Š” ๋‘ ๋ฒˆ์˜ ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค.

๋ฆด๋ฆฌ์Šค 1: ํ™•์žฅ, ๋‘˜ ๋‹ค ์“ฐ๊ธฐ, ๋ฐฑํ•„

๋จผ์ € ์•„๋ฌด๊ฒƒ๋„ ์ œ๊ฑฐํ•˜์ง€ ์•Š๊ณ  ์Šคํ‚ค๋งˆ๋ฅผ ํ™•์žฅํ•˜์„ธ์š”. priority_enum ๊ฐ™์€ ์ƒˆ enum ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ , ๊ธฐ์กด priority_text ํ•„๋“œ๋Š” ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋‹ค์Œ ์ƒˆ๋กœ ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ์ˆ˜์ •๋˜๋Š” ํ‹ฐ์ผ“์ด ๋‘ ํ•„๋“œ ๋ชจ๋‘์— ์“ฐ์ด๋„๋ก ๋กœ์ง์„ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”. AppMaster ๊ฐ™์€ ๋…ธ์ฝ”๋“œ ๋„๊ตฌ์—์„œ๋Š” Data Designer ๋ชจ๋ธ๊ณผ Business Process๋ฅผ ์กฐ์ •ํ•ด ์ž…๋ ฅ์„ enum์— ๋งคํ•‘ํ•˜๊ณ  ์›๋ณธ ํ…์ŠคํŠธ๋„ ์ €์žฅํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋‹ค์Œ ์†Œ๊ทœ๋ชจ ๋ฐฐ์น˜๋กœ ๊ธฐ์กด ํ‹ฐ์ผ“์„ ๋ฐฑํ•„ํ•˜์„ธ์š”. ํ”ํ•œ ํ…์ŠคํŠธ ๊ฐ’์„ enum์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: "p1"์™€ "urgent" โ†’ urgent, "HIGH" โ†’ high). ์•Œ ์ˆ˜ ์—†๋Š” ๊ฐ’์€ ์ผ์‹œ์ ์œผ๋กœ medium์— ๋งคํ•‘ํ•˜๊ณ  ๊ฒ€ํ† ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด์€ ์ด์ƒ์ ์œผ๋กœ๋Š” ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. UI๋Š” ๋™์ผํ•œ ์šฐ์„ ์ˆœ์œ„ ์ปจํŠธ๋กค์„ ์œ ์ง€ํ•˜๋˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ƒˆ enum์„ ์ฑ„์›๋‹ˆ๋‹ค. ๋ฐฑํ•„์ด ์ง„ํ–‰๋˜๋ฉด ๋ฆฌํฌํŠธ๋Š” ์ฆ‰์‹œ enum์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆด๋ฆฌ์Šค 2: ์ˆ˜์ถ• ๋ฐ ์˜ค๋ž˜๋œ ๊ฒฝ๋กœ ์ œ๊ฑฐ

ํ™•์‹ ์ด ๋“ค๋ฉด ์ฝ๊ธฐ๋ฅผ priority_enum๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ์ „ํ™˜ํ•˜๊ณ  ํ•„ํ„ฐ์™€ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ๋’ค ๋‚˜์ค‘ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์—์„œ priority_text๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”.

๋ฆด๋ฆฌ์Šค 2 ์ด์ „์— ์†Œ๊ทœ๋ชจ ์ƒ˜ํ”Œ๋กœ ๊ฒ€์ฆํ•˜์„ธ์š”:

  • ์„œ๋กœ ๋‹ค๋ฅธ ํŒ€๊ณผ ์ƒ์„ฑ ์‹œ๊ธฐ๋ฅผ ์•„์šฐ๋ฅด๋Š” ํ‹ฐ์ผ“ 20~50๊ฐœ๋ฅผ ๊ณ ๋ฅด์„ธ์š”.
  • ํ‘œ์‹œ๋œ ์šฐ์„ ์ˆœ์œ„์™€ ์ €์žฅ๋œ enum ๊ฐ’์„ ๋น„๊ตํ•˜์„ธ์š”.
  • enum ๊ฐ’๋ณ„ ์ง‘๊ณ„๋ฅผ ํ™•์ธํ•ด medium์ด ๊ณผ๋„ํ•˜๊ฒŒ ๋งŽ์€์ง€ ๊ฐ™์€ ์ด์ƒ์น˜๋ฅผ ์ฐพ์•„๋ณด์„ธ์š”.

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฆด๋ฐฑ์€ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋ฆด๋ฆฌ์Šค 1์ด ์˜ค๋ž˜๋œ ํ•„๋“œ๋ฅผ ๋‚จ๊ฒผ์œผ๋ฏ€๋กœ ๋ฆด๋ฆฌ์Šค 1 ๋กœ์ง์„ ์žฌ๋ฐฐํฌํ•˜๊ณ  UI๋ฅผ ๋‹ค์‹œ priority_text๋กœ ์ฝ๊ฒŒ ํ•œ ๋’ค ๋งคํ•‘์„ ๊ณ ์น˜๊ณ  ๋ฐฑํ•„์„ ๋‹ค์‹œ ์‹คํ–‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„: ์Šคํ‚ค๋งˆ ์ง„ํ™”๋ฅผ ๋ฐ˜๋ณต ๊ฐ€๋Šฅํ•œ ์Šต๊ด€์œผ๋กœ ๋งŒ๋“ค๊ธฐ

์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์›ํ•œ๋‹ค๋ฉด ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ์„ ์ž‘์€ ํ”„๋กœ์ ํŠธ๋กœ ๋‹ค๋ฃจ์„ธ์š”. ๋ชฉํ‘œ๋Š” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค: ๋ชจ๋“  ๋ณ€๊ฒฝ์€ ์„ค๋ช…ํ•˜๊ธฐ ์‰ฝ๊ณ  ๋ฆฌํ—ˆ์„คํ•˜๊ธฐ ์‰ฌ์šฐ๋ฉฐ ์šฐ๋ฐœ์ ์œผ๋กœ ๊นจ๋œจ๋ฆฌ๊ธฐ ์–ด๋ ค์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

์ด๋ฏธ ์‚ฌ์šฉ ์ค‘์ธ ํ•„๋“œ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ๋•Œ๋Š” ์งง์€ ์ „ํ™˜ ๊ธฐ๊ฐ„๊ณผ ์ค‘๋ณต ํ•„๋“œ๋ฅผ ์„ ํ˜ธํ•˜์„ธ์š”. ์˜ˆ: phone_raw๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ phone_e164๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  1~2๊ฐœ ๋ฆด๋ฆฌ์Šค ๋™์•ˆ ์œ ์ง€ํ•˜์„ธ์š”. ์ „ํ™˜ ๊ธฐ๊ฐ„ ๋™์•ˆ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ์ƒˆ ํ•„๋“œ๊ฐ€ ์žˆ์œผ๋ฉด ์šฐ์„  ์ฝ๊ณ  ์—†์œผ๋ฉด ์˜ค๋ž˜๋œ ํ•„๋“œ๋กœ ํด๋ฐฑํ•˜๊ฒŒ ํ•˜๊ณ , ์“ฐ๊ธฐ๋Š” ๋‘˜ ๋‹ค ํ•˜์„ธ์š”. ์™„์ „ํ•œ ๋ฐฑํ•„์„ ํ™•์ธํ•œ ํ›„ ์˜ค๋ž˜๋œ ํ•„๋“œ๋ฅผ ์ œ๊ฑฐํ•˜์„ธ์š”.

ํ™˜๊ฒฝ ๊ทœ์œจ์€ ์ข‹์€ ์˜๋„๋ฅผ ์•ˆ์ „ํ•œ ๋ฆด๋ฆฌ์Šค๋กœ ๋ฐ”๊พธ๋Š” ์š”์†Œ์ž…๋‹ˆ๋‹ค. dev, staging, production์„ ์ •๋ ฌํ•˜๋˜ ๋™์ผํ•˜๋‹ค๊ณ  ์—ฌ๊ธฐ์ง€ ๋งˆ์„ธ์š”.

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

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๊ณ„ํš์„ ์งง๋”๋ผ๋„ ๋ฌธ์„œํ™”ํ•˜์„ธ์š”. ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜๋Š”์ง€, ์ˆœ์„œ, ๋ฐฑํ•„ ๋ฐฉ๋ฒ•, ๊ฒ€์ฆ ๋ฐฉ๋ฒ•, ๋กค๋ฐฑ ๋ฐฉ๋ฒ•์„ ํฌํ•จํ•˜์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‹ค์ œ ํ”„๋กœ๋•์…˜์— ๋‹ฟ๊ธฐ ์ „์— ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ์—์„œ ์—”๋“œ ํˆฌ ์—”๋“œ๋กœ ์‹คํ–‰ํ•˜์„ธ์š”.

AppMaster๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด Data Designer๋ฅผ ํ™œ์šฉํ•ด ๋ชจ๋ธ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๊ฒ€ํ† ํ•˜๊ณ  ์žฌ์ƒ์„ฑ์ด ์—…๋ฐ์ดํŠธ๋œ ์Šคํ‚ค๋งˆ์™€ ๋ฐฑ์—”๋“œ ์ฝ”๋“œ๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๊ฒŒ ํ•˜์„ธ์š”. ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ์Šต๊ด€์€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๋ช…์‹œ์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค: ๋น ๋ฅด๊ฒŒ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ ๋ณ€๊ฒฝ์€ ๊ธฐ์กด ์šด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„ํ•œ ๊ณ„ํš๋œ ๊ฒฝ๋กœ๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
์žฌ์ƒ์„ฑ์— ์•ˆ์ „ํ•œ ์Šคํ‚ค๋งˆ ์ง„ํ™”๋กœ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ๋งŒ๋“ค๊ธฐ | AppMaster