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

๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ํ•„๋“œ๋ณ„ ๋ณ€๊ฒฝ ์ด๋ ฅ UX

๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ํ•„๋“œ๋ณ„ ๋ณ€๊ฒฝ ์ด๋ ฅ์€ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•˜๊ณ  ํ•„ํ„ฐ๋งํ•˜๋ฉฐ ๋ณต์›ํ•˜๊ธฐ ์‰ฌ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ(diff), ์ด๋ฒคํŠธ, ์ž‘์—…์„ ์œ„ํ•œ UX ๋ฐ ์Šคํ‚ค๋งˆ ํŒจํ„ด.

๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ํ•„๋“œ๋ณ„ ๋ณ€๊ฒฝ ์ด๋ ฅ UX

์™œ ๊ด€๋ฆฌ์ž ํŒจ๋„์—์„œ ๋ณ€๊ฒฝ ์ด๋ ฅ์ด ๋ฌด์‹œ๋˜๋Š”๊ฐ€

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

์ฝ๊ธฐ ์‰ฌ์šด ํ•„๋“œ ๋‹จ์œ„ ๋ณ€๊ฒฝ ์ด๋ ฅ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด๋ฏธ ๊ฐ€์ง„ ์งˆ๋ฌธ์— ๋‹ตํ•  ๋•Œ ์ž๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค:

  • ๋ˆ„๊ฐ€ ๋ณ€๊ฒฝํ–ˆ๋Š”๊ฐ€(๊ทธ๋ฆฌ๊ณ  ํ•„์š”ํ•˜๋‹ค๋ฉด ์–ด๋””์„œ ํ–ˆ๋Š”๊ฐ€)
  • ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”๊ฐ€(ํ•„๋“œ ์ด๋ฆ„๊ณผ ์ด์ „/์ดํ›„)
  • ์–ธ์ œ ๋ฐœ์ƒํ–ˆ๋Š”๊ฐ€(์–ด๋–ค ์‹œ๊ฐ„๋Œ€์ธ์ง€ ํฌํ•จ)
  • ์™œ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”๊ฐ€(์ด์œ , ํ‹ฐ์ผ“, ์ž๋™ํ™” ์ด๋ฆ„ ๋˜๋Š” ํžŒํŠธ)

๋Œ€๋ถ€๋ถ„์˜ ๋กœ๊ทธ๋Š” ์ ์–ด๋„ ํ•œ ๊ฐ€์ง€๋Š” ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ํ”ํ•œ ์‹คํŒจ ๋ชจ๋“œ๋Š” ๋…ธ์ด์ฆˆ์ž…๋‹ˆ๋‹ค: ์ €์žฅํ•  ๋•Œ๋งˆ๋‹ค 20๊ฐœ์˜ ํ•ญ๋ชฉ์ด ์ƒ๊ธฐ๊ณ , ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ด ๋งค๋ถ„ ๋ฌดํ•ดํ•œ ํƒ€์ž„์Šคํƒฌํ”„๋ฅผ ์ ์œผ๋ฉฐ, ์‹œ์Šคํ…œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ๋žŒ์˜ ํ–‰๋™์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. diff๋Š” ์ข…์ข… ๋ชจํ˜ธํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. "status changed"๋Š” ๋ณด์ด์ง€๋งŒ "Pending -> Approved"์ฒ˜๋Ÿผ ๊ตฌ์ฒด์ ์ด์ง€ ์•Š๊ฑฐ๋‚˜, JSON ๋ฉ์–ด๋ฆฌ๋งŒ ์žˆ๊ณ  ์–ด๋””๋ฅผ ๋ด์•ผ ํ• ์ง€ ๋‹จ์„œ๊ฐ€ ์—†๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

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

๊ฒฐ๊ณผ๋Š” ์˜ˆ์ธก ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํŒ€์€ ๊ฐ์‚ฌ ์ถ”์ ์„ ์‹ ๋ขฐํ•˜์ง€ ์•Š๊ฒŒ ๋˜๊ณ  ์ถ”์ธกํ•˜๊ฑฐ๋‚˜ ์‚ฌ๋žŒ์—๊ฒŒ ๋ฌป๊ฑฐ๋‚˜ ์ž‘์—…์„ ๋‹ค์‹œ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋ณต์› ์ž‘์—…์ด ์ถ”๊ฐ€๋˜๋ฉด ์œ„ํ—˜์ด ์ปค์ง‘๋‹ˆ๋‹ค.

์ข‹์€ ์ด๋ ฅ์€ ์ง€์› ์‹œ๊ฐ„์„ ์ค„์ด๊ณ  ๋ฐ˜๋ณต ์‹ค์ˆ˜๋ฅผ ๋ง‰์œผ๋ฉฐ, ์‚ฌ์šฉ์ž๊ฐ€ ๋น ๋ฅด๊ฒŒ ์ด์ „/์ดํ›„๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด ๋ณต์›์ด ์•ˆ์ „ํ•˜๋‹ค๊ณ  ๋А๋ผ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ์‚ฌ UI๋ฅผ ๋””๋ฒ„๊ทธ ํ™”๋ฉด์œผ๋กœ ์ทจ๊ธ‰ํ•˜์ง€ ๋ง๊ณ , ์••๋ฐ• ์†์—์„œ ์Šค์บ”ํ•˜๊ธฐ ์‰ฝ๊ฒŒ ์„ค๊ณ„ํ•˜์„ธ์š”.

ํ•  ์ผ์„ ๊ธฐ์ค€์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”

์ฝ๊ธฐ ์‰ฌ์šด ์ด๋ ฅ์€ ํ•œ ๊ฐ€์ง€ ๊ฒฐ์ •์—์„œ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค: ๋ฌด์–ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ ๋ˆ„๊ฐ€ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์ธ๊ฐ€. "๋ชจ๋‘"๋Š” ์—ญํ• ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋งŽ์€ ๊ด€๋ฆฌ์ž ํŒจ๋„์—์„œ ๊ฐ™์€ ๊ฐ์‚ฌ ๋ทฐ๊ฐ€ ์ง€์›, ์šด์˜, ๊ด€๋ฆฌ์ž์—๊ฒŒ ๊ฐ•์ œ๋กœ ์ œ๊ณต๋˜๋ฉฐ ๊ฒฐ๊ตญ ๋ˆ„๊ตฌ์—๊ฒŒ๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ์‚ฌ์šฉ์ž๋ฅผ ์ •ํ•˜๊ณ  ๊ทธ๋“ค์ด ์–ด๋–ค ์ •๋ณด๋ฅผ ์–ป์–ด์•ผ ๋– ๋‚˜๋Š”์ง€ ์ •์˜ํ•˜์„ธ์š”:

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

์ด๋ ฅ์ด ์ง€์›ํ•ด์•ผ ํ•  ์ฃผ์š” ์ž‘์—…์„ ์ •์˜ํ•˜์„ธ์š”:

  • ๋ฌด์—‡์ด, ์–ธ์ œ, ๋ˆ„๊ฐ€ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€ ์กฐ์‚ฌํ•˜๊ธฐ
  • ๊ณ ๊ฐ์ด๋‚˜ ๋™๋ฃŒ์—๊ฒŒ ํ‰์ดํ•œ ์–ธ์–ด๋กœ ๋ณ€๊ฒฝ์„ ์„ค๋ช…ํ•˜๊ธฐ
  • ์‹ค์ˆ˜๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋˜๋Œ๋ฆฌ๊ธฐ(์ด์ „ ๊ฐ’ ๋ณต์›)
  • ์ปดํ”Œ๋ผ์ด์–ธ์Šค์™€ ๊ฐ์‚ฌ๋ฅผ ์œ„ํ•ด ์ฆ๊ฑฐ๋ฅผ ๋‚ด๋ณด๋‚ด๊ฑฐ๋‚˜ ๋ณด๊ด€ํ•˜๊ธฐ

๋‹ค์Œ์œผ๋กœ ๋ฌด์—‡์„ ์ถ”์ ํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ณ  ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”. ๊ฒฌ๊ณ ํ•œ ํ•„๋“œ ๋‹จ์œ„ ์ด๋ ฅ์—๋Š” ๋ณดํ†ต ํ•„๋“œ ํŽธ์ง‘, ์ƒํƒœ ์ „ํ™˜, ์ฃผ์š” ์›Œํฌํ”Œ๋กœ์šฐ ์ž‘์—…(์˜ˆ: "approved", "locked", "refunded")์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํŒ€์€ ํŒŒ์ผ ์—…๋กœ๋“œ/์‚ญ์ œ, ๊ถŒํ•œ ๋ณ€๊ฒฝ, ํ†ตํ•ฉ์œผ๋กœ ์ธํ•œ ์—…๋ฐ์ดํŠธ๋„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ๊ฒƒ์„ ์ถ”์ ํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ์ž๋Š” ์‹œ์Šคํ…œ์ด ์ˆจ๊ธฐ๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ๋ณต์› ๊ทœ์น™์„ ๋ฏธ๋ฆฌ ์ •์˜ํ•˜์„ธ์š”. ๋ณต์›์€ ์•ˆ์ „ํ•˜๊ณ  ์˜๋ฏธ ์žˆ์„ ๋•Œ๋งŒ ํ—ˆ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐฐ์†ก ์ฃผ์†Œ ๋ณต์›์€ ๊ดœ์ฐฎ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ง€๊ธ‰์ด ์ด๋ฏธ ์ฒ˜๋ฆฌ๋œ ํ›„์—๋Š” "paid" ์ƒํƒœ ๋ณต์›์€ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. UI์— ์ฐจ๋‹จ ์ด์œ ๋ฅผ ๋ช…์‹œํ•˜์„ธ์š”("๋ณต์› ๋ถˆ๊ฐ€: ์ด๋ฏธ ํ™˜๋ถˆ ์ฒ˜๋ฆฌ๋จ").

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

๊ฐ์‚ฌ ์ด๋ฒคํŠธ๋ฅผ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํŒจํ„ด

๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์ง€์ €๋ถ„ํ•˜๋ฉด ์ด๋ ฅ๋„ ์ง€์ €๋ถ„ํ•ด์ง‘๋‹ˆ๋‹ค. UI๋Š” ๊ทธ ๋’ค์˜ ๊ธฐ๋ก๋“ค๋งŒํผ๋งŒ ๋ช…ํ™•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒคํŠธ vs ์Šค๋ƒ…์ƒท

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

์ด๋ฒคํŠธ๋Š” ๋ฌด์—‡์ด, ๋ˆ„๊ฐ€, ์–ธ์ œ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€๋ฅผ ๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์Šค๋ƒ…์ƒท์€ ์‚ฌ์šฉ์ž๊ฐ€ "์‹œ๊ฐ„ X์˜ ์ƒํƒœ"๋ฅผ ๋น ๋ฅด๊ฒŒ ๋ด์•ผ ํ•˜๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ํ•„๋“œ๋ฅผ ํ•จ๊ป˜ ๋ณต์›ํ•ด์•ผ ํ•  ๋•Œ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ตœ์†Œํ•œ์œผ๋กœ ๊ธฐ๋กํ•ด์•ผ ํ•  ํ•ญ๋ชฉ

๊ฐ ๋ณ€๊ฒฝ ๊ธฐ๋ก์€ ์ž‘๊ฒŒ ์œ ์ง€ํ•˜๋˜ ๋‚˜์ค‘์— ์Šค์Šค๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์™„์ „ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ ์ตœ์†Œ ํ•ญ๋ชฉ:

  • actor_id (๋ฐ user, system, integration ๊ฐ™์€ actor_type)
  • occurred_at (UTC ํƒ€์ž„์Šคํƒฌํ”„)
  • entity_type + entity_id (๋ฌด์—‡์ด ํŽธ์ง‘๋˜์—ˆ๋Š”๊ฐ€)
  • field_key (ํ‘œ์‹œ ๋ผ๋ฒจ์ด ์•„๋‹Œ ์•ˆ์ •์ ์ธ ํ‚ค)
  • before_value + after_value (ํ…์ŠคํŠธ๋‚˜ JSON์œผ๋กœ ์ €์žฅ, plus data_type)

"์™œ ์ด๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚ฌ๋‚˜?"์— ๋‹ตํ•˜๋ ค๋ฉด ์„ ํƒ์  ์ปจํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ์งง์€ ์ฝ”๋ฉ˜ํŠธ๋ฉด ์ถฉ๋ถ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ณ , ๊ตฌ์กฐํ™”๋œ ์ฐธ์กฐ(ํ‹ฐ์ผ“ ID, workflow_run_id, import_batch_id, ์ž๋™ํ™” ์ด์œ  ๋“ฑ)๊ฐ€ ์žˆ์œผ๋ฉด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.

๋‹ค์ค‘ ํ•„๋“œ ํŽธ์ง‘์„ change set์œผ๋กœ ๋ฌถ๊ธฐ

์‚ฌ๋žŒ๋“ค์€ ๋“œ๋ฌผ๊ฒŒ ํ•œ ํ•„๋“œ๋งŒ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต์€ "๊ณ ๊ฐ ์ฃผ์†Œ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ๋‹ค"๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฏ€๋กœ ๋‹ค์„ฏ ๊ฐœ์˜ ํ•„๋“œ๊ฐ€ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ change_set_id๋กœ ๋ชจ๋ธ๋งํ•˜์„ธ์š”.

๊ฐ„๋‹จํ•œ ํŒจํ„ด:

  • ์ €์žฅ ๋™์ž‘๋งˆ๋‹ค ํ•˜๋‚˜์˜ change_set ํ–‰
  • ์—ฌ๋Ÿฌ field_change ํ–‰์ด ๊ทธ change_set๋ฅผ ๊ฐ€๋ฆฌํ‚ด
  • change_set์— ๊ณตํ†ต๋œ ์ด์œ /์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ €์žฅ(ํ•„๋“œ๋งˆ๋‹ค ๋ฐ˜๋ณตํ•˜์ง€ ์•Š์Œ)

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด UI๋Š” ์ €์žฅ๋งˆ๋‹ค ํ•˜๋‚˜์˜ ์ฝ๊ธฐ ์‰ฌ์šด ํ•ญ๋ชฉ์„ ํ‘œ์‹œํ•˜๊ณ , ํ™•์žฅ ์˜ต์…˜์œผ๋กœ ๊ฐ ํ•„๋“œ์˜ diff๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ๋žŒ๋“ค์ด ๋น ๋ฅด๊ฒŒ ์Šค์บ”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ ˆ์ด์•„์›ƒ ํŒจํ„ด

์ข‹์€ ์ด๋ ฅ์€ ์งˆ๋ฌธ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ณณ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ๋ ˆ์ฝ”๋“œ ์ƒ์„ธ ํ™”๋ฉด. "History" ํƒญ์„ "Details", "Notes" ์˜†์— ๋‘๋ฉด ์‚ฌ๋žŒ๋“ค์ด ์ปจํ…์ŠคํŠธ๋ฅผ ์žƒ์ง€ ์•Š๊ณ  ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

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

๊ฐ„๊ฒฐํ•œ ์ด๋ฒคํŠธ ์นด๋“œ๊ฐ€ ํ”ํžˆ ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค:

  • ํ—ค๋”: ์ด๋ฆ„(๋˜๋Š” ์‹œ์Šคํ…œ ๋ผ๋ฒจ)๊ณผ ์ •ํ™•ํ•œ ํƒ€์ž„์Šคํƒฌํ”„
  • ์ถœ์ฒ˜ ๋ผ๋ฒจ: ์ˆ˜๋™ ํŽธ์ง‘, ์ž„ํฌํŠธ, API, ์ž๋™ํ™”
  • ๋ณ€๊ฒฝ๋œ ํ•„๋“œ: ํ•„๋“œ๋ณ„ ํ•œ ์ค„, ์ด์ „ ๋ฐ ์ดํ›„ ๊ฐ’
  • ๊ธด ํ…์ŠคํŠธ๋Š” "๋” ๋ณด๊ธฐ"๋กœ ์ˆจ๊ธฐ๊ธฐ
  • ์ค‘์š”ํ•œ ํ•„๋“œ(pin): ์ƒํƒœ, ๋‹ด๋‹น์ž, ๊ฐ€๊ฒฉ ๋“ฑ ์ƒ๋‹จ ๊ณ ์ •

"๋ˆ„๊ฐ€ ํ–ˆ๋Š”๊ฐ€"์™€ "์–ธ์ œ"๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ˆˆ์— ๋„๊ฒŒ ๋งŒ๋“œ์„ธ์š”. ์ผ๊ด€๋œ ์ •๋ ฌ๊ณผ ํ•˜๋‚˜์˜ ํƒ€์ž„์Šคํƒฌํ”„ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

์ฝ๊ธฐ ์‰ฌ์šด ์ด์ „/์ดํ›„ diff

์•ˆ์ „ํ•œ ๋ณต์› ์ž‘์—… ์ถ”๊ฐ€
์ด์ „/์ดํ›„ ๊ฐ’์„ ๋ฏธ๋ฆฌ ๋ณด๊ณ  ๋ณต์›์€ ์ƒˆ ์ด๋ฒคํŠธ๋กœ ๊ธฐ๋กํ•˜์„ธ์š”.
๋ณต์› ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ

๋ฌด์–ธ๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ๋•Œ ์‚ฌ๋žŒ๋“ค์ด ์ด๋ ฅ์„ ์—ด์–ด๋ด…๋‹ˆ๋‹ค. diff๋ฅผ ์Šค์บ”ํ•˜๊ธฐ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๋ฉด ํฌ๊ธฐํ•˜๊ณ  ๋™๋ฃŒ์—๊ฒŒ ๋ฌป์Šต๋‹ˆ๋‹ค. ์ข‹์€ diff๋Š” ํ•œ๋ˆˆ์— ๋ณ€๊ฒฝ์„ ๋ณด์—ฌ์ฃผ๊ณ , ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ์ƒ์„ธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ํ•„๋“œ์—๋Š” ์ธ๋ผ์ธ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค: ํ•œ ์ค„์— Before -> After๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๊ฐ•์กฐํ•˜์„ธ์š”. ๊ฐ’์ด ๊ธธ๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์„ ๋™์‹œ์— ๋น„๊ตํ•ด์•ผ ํ•  ๋•Œ๋งŒ ์–‘์ธก ๋น„๊ต๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.

๊ธด ํ…์ŠคํŠธ๋Š” ํŠน๋ณ„ํžˆ ์‹ ๊ฒฝ ์จ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ๋‹จ ์ „์ฒด diff๋ฅผ ๋ฐ€์ง‘๋œ ๋ชฉ๋ก ์•ˆ์— ๋„ฃ์œผ๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์žก์Œ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ๋Š” ๋ฐœ์ทŒ(์ฒซ 120~200์ž)๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ํ™•์žฅ ์ปจํŠธ๋กค๋กœ ์ „์ฒด๋ฅผ ํ‘œ์‹œํ•˜์„ธ์š”. ํ™•์žฅ ์‹œ ์ค„๋ฐ”๊ฟˆ์„ ์œ ์ง€ํ•˜์„ธ์š”. ์ฝ”๋“œ ๊ฐ™์€ ๋‚ด์šฉ์—๋Š” ๊ณ ์ •ํญ ๊ธ€๊ผด์„ ์‚ฌ์šฉํ•˜๊ณ , ๋ˆˆ์ด ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€๊ฒฝ๋œ ์กฐ๊ฐ๋งŒ ํ•˜์ด๋ผ์ดํŠธํ•˜์„ธ์š”.

์ˆซ์ž, ํ†ตํ™”, ๋‚ ์งœ๋Š” ํ‘œ์‹œ ํ˜•์‹๋งŒ ๋‹ฌ๋ผ์กŒ์„ ๋•Œ๋„ ์‹ค์งˆ์  ๋ณ€๊ฒฝ์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ค‘์š”ํ•  ๋•Œ๋Š” ์›์‹œ ๊ฐ’๊ณผ ์‚ฌ์šฉ์ž์šฉ ํฌ๋งท(์˜ˆ: 10000 -> 10,000.00 USD)์„ ํ•จ๊ป˜ ๋ณด์—ฌ์ฃผ์„ธ์š”.

์—ด๊ฑฐํ˜•(enum)๊ณผ ์ƒํƒœ๋Š” ๋˜ ๋‹ค๋ฅธ ํ•จ์ •์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ๋ผ๋ฒจ์„ ์ธ์‹ํ•˜์ง€๋งŒ ์‹œ์Šคํ…œ์€ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ผ๋ฒจ์„ ๋จผ์ € ๋ณด์—ฌ์ฃผ๊ณ , ์ง€์›์ด๋‚˜ ์ปดํ”Œ๋ผ์ด์–ธ์Šค๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งŒ ๋‚ด๋ถ€ ๊ฐ’์„ ๋ณด์—ฌ์ฃผ์„ธ์š”.

์Šค์บ” ๊ฐ€๋Šฅ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ์‹ค์šฉ์  diff ํŒจํ„ด

  • ์ธ๋ผ์ธ: Before -> After, ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๊ฐ•์กฐ
  • ์–‘์ธก ๋น„๊ต: ๊ฐ’์ด ๊ธธ๊ณ  ๋‹ค์ค‘ ํŒŒํŠธ์ธ ํ•„๋“œ์— ์‚ฌ์šฉ
  • ๊ธด ํ…์ŠคํŠธ๋Š” ์ถ•์†Œ: ๋ฐœ์ทŒ์™€ ํ™•์žฅ, ํ™•์žฅ ์‹œ ์ค„๋ฐ”๊ฟˆ ์œ ์ง€
  • ํƒ€์ž…ํ˜• ํฌ๋งท ํ‘œ๊ธฐ: ๊ฐ’๊ณผ ํ•จ๊ป˜ ํ˜•์‹(ํƒ€์ž„์กด, ํ†ตํ™”, ์†Œ์ˆ˜์ ) ํ‘œ์‹œ
  • ์ƒํƒœ/์—ด๊ฑฐํ˜•: ๋ผ๋ฒจ๊ณผ ํ•„์š” ์‹œ ๋‚ด๋ถ€ ์ฝ”๋“œ ๋ณ‘๊ธฐ

์‚ฌ์‹ค์„ ์ˆจ๊ธฐ์ง€ ์•Š์œผ๋ฉด์„œ ๋…ธ์ด์ฆˆ๋ฅผ ์ค„์ด๋Š” ํ•„ํ„ฐ

๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ๋žŒ์€ ๋ฌด์–ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ๋งŒ ์ด๋ ฅ์„ ์—ฝ๋‹ˆ๋‹ค. ์ฒซ ํ™”๋ฉด์ด 300๊ฐœ์˜ ์ž‘์€ ํŽธ์ง‘์œผ๋กœ ๊ฐ€๋“ํ•˜๋ฉด ๋‹ซ์•„๋ฒ„๋ฆฝ๋‹ˆ๋‹ค. ์ข‹์€ ํ•„ํ„ฐ๋Š” ๋‘ ๊ฐ€์ง€๋ฅผ ํ•ฉ๋‹ˆ๋‹ค: ๋…ธ์ด์ฆˆ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ค„์ด๊ณ  ์ „์ฒด ์‚ฌ์‹ค์€ ํ•œ ๋ฒˆ์˜ ํด๋ฆญ์œผ๋กœ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

์ž‘๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•œ ํ•„ํ„ฐ ์ง‘ํ•ฉ์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”:

  • ์‹œ๊ฐ„ ๋ฒ”์œ„(์ง€๋‚œ ํ•œ ์‹œ๊ฐ„, 24์‹œ๊ฐ„, 7์ผ, ์‚ฌ์šฉ์ž ์ง€์ •)
  • ์•กํ„ฐ(์‚ฌ๋žŒ, ์„œ๋น„์Šค ๊ณ„์ •, ์•Œ ์ˆ˜ ์—†์Œ)
  • ํ•„๋“œ(์ƒํƒœ, ๊ฐ€๊ฒฉ, ์ฃผ์†Œ, ๊ถŒํ•œ)
  • ๋ณ€๊ฒฝ ์œ ํ˜•(์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์‚ญ์ œ, ๋ณต์›)
  • ์ถœ์ฒ˜(์ˆ˜๋™ ์ž‘์—… vs ์ž๋™ํ™”/์ž„ํฌํŠธ/API)

๊ธฐ๋ณธ๊ฐ’์€ ํ™”๋ คํ•œ ์ปจํŠธ๋กค๋ณด๋‹ค ๋” ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฌ๊ณ ํ•œ ๊ธฐ๋ณธ์€ "์ค‘์š” ํ•„๋“œ"์™€ "์ตœ๊ทผ 7์ผ"์ด๋ฉฐ, "๋ชจ๋“  ํ•„๋“œ"์™€ ๋” ๊ธด ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•˜๋Š” ์˜ต์…˜์„ ๋ช…ํ™•ํžˆ ์ œ๊ณตํ•˜์„ธ์š”. "๋…ธ์ด์ฆˆ ํ‘œ์‹œ" ํ† ๊ธ€์€ last_seen_at ๊ฐ™์€ ํ•ญ๋ชฉ, ์‚ฌ์†Œํ•œ ํ˜•์‹ ํŽธ์ง‘, ์ž๋™ ๊ณ„์‚ฐ ํ•ฉ๊ณ„ ๊ฐ™์€ ํ•ญ๋ชฉ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ์‚ฌ์‹ค์„ ์ˆจ๊ธฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ณด์ด๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์ €์žฅ๋œ ํ•„ํ„ฐ ๋ทฐ๋Š” ๋ฐ˜๋ณต ์กฐ์‚ฌ์— ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ง€์›ํŒ€์€ ๋™์ผํ•œ ํ™•์ธ์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์—ญํ•  ์นœํ™”์ ์ธ ๋ทฐ(์˜ˆ: "๊ณ ๊ฐ ๋Œ€์ƒ ํ•„๋“œ๋งŒ" ๋˜๋Š” "์ž๋™ํ™” ๋ณ€๊ฒฝ๋งŒ")๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”.

์•ˆ์ „ํ•˜๊ฒŒ ๋А๊ปด์ง€๋Š” ๋ณต์› ์ž‘์—…

๋…ธ์ด์ฆˆ๊ฐ€ ์•„๋‹Œ ๋ณ€๊ฒฝ ์„ธํŠธ ์„ค๊ณ„
์—ฌ๋Ÿฌ ํ•„๋“œ ํŽธ์ง‘์„ ํ•˜๋‚˜์˜ ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์œผ๋กœ ๊ทธ๋ฃนํ™”ํ•˜์„ธ์š”.
์‹œ๋„ํ•ด๋ณด๊ธฐ

๋ณต์› ๋ฒ„ํŠผ์€ ์‚ฌ๋žŒ๋“ค์ด ์‹ ๋ขฐํ•  ๋•Œ๋งŒ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋ณต์›์€ ๋งˆ๋ฒ• ๊ฐ™์€ ๋กค๋ฐฑ์ด ์•„๋‹ˆ๋ผ ์‹ ์ค‘ํ•˜๊ณ  ๊ฐ€์‹œ์ ์ธ ํŽธ์ง‘์ฒ˜๋Ÿผ ๋А๊ปด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๋ฌด์—‡์ด ์˜ํ–ฅ์„ ๋ฐ›๋Š”์ง€ ๋ณต์› ์ „์— ๋ช…ํ™•ํžˆ ๋ณด์—ฌ์ฃผ์„ธ์š”. ์ข‹์€ ๋ณต์› ํ™•์ธ์ฐฝ์€ ๋ ˆ์ฝ”๋“œ์™€ ํ•„๋“œ, ์ •ํ™•ํ•œ ๊ฐ’๋“ค์„ ๋ช…์‹œํ•˜๊ณ  ์–ด๋–ค ํ•ญ๋ชฉ์ด ๋ณ€๊ฒฝ๋ ์ง€๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  • ์ ์ ˆํ•œ ๊ถŒํ•œ ์š”๊ตฌ(ํŽธ์ง‘๊ณผ ๋ณ„๋„) ๋ฐ ํ—ˆ์šฉ์ž ํ‘œ์‹œ
  • ์ •ํ™•ํ•œ ์ด์ „/์ดํ›„ ๊ฐ’์œผ๋กœ ํ™•์ธ
  • ๋ถ€์ž‘์šฉ ๊ฒฝ๊ณ (์˜ˆ: ์ด๋ฉ”์ผ ๋ณต์› ์‹œ ์•Œ๋ฆผ ํŠธ๋ฆฌ๊ฑฐ ๊ฐ€๋Šฅ)
  • ์•ˆ์ „ํ•œ ๊ธฐ๋ณธ: ๋จผ์ € ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ๊ทธ๋‹ค์Œ ์ ์šฉ

์ถฉ๋Œ์€ ์‹ ๋ขฐ๊ฐ€ ๋ฌด๋„ˆ์ง€๋Š” ์ง€์ ์ด๋ฏ€๋กœ ์ฐจ๋ถ„ํžˆ ์ฒ˜๋ฆฌํ•˜์„ธ์š”. ์ด๋ฒคํŠธ๋ฅผ ๋ณต์›ํ•˜๋ ค๋Š”๋ฐ ๊ทธ ์ดํ›„์— ํ•„๋“œ๊ฐ€ ๋˜ ๋ณ€๊ฒฝ๋๋‹ค๋ฉด ๋ฌด์ž‘์ • ๋ฎ์–ด์“ฐ๊ธฐํ•˜์ง€ ๋งˆ์„ธ์š”.

์ถฉ๋Œ ์ฒ˜๋ฆฌ

ํ˜„์žฌ ๊ฐ’์ด ์ด๋ฒคํŠธ์˜ "์ดํ›„" ๊ฐ’๊ณผ ๋‹ค๋ฅผ ๋•Œ๋Š” ์งง์€ ๋น„๊ต ๋ทฐ๋ฅผ ๋ณด์—ฌ์ฃผ์„ธ์š”: "์ด ๊ฐ’์„ X๋กœ ๋ณต์›ํ•˜๋ ค ํ•˜๋Š”๋ฐ, ํ˜„์žฌ ๊ฐ’์€ Y์ž…๋‹ˆ๋‹ค." ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ•์ œ ๋ณต์›, ์ด์ „ ๊ฐ’ ๋ณต์‚ฌ, ์ทจ์†Œ ๊ฐ™์€ ๋™์ž‘์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์›Œํฌํ”Œ๋กœ์šฐ์— ๋งž๋‹ค๋ฉด ๋ณต์› ์ด์œ  ์ž…๋ ฅ๋ž€์„ ํฌํ•จํ•ด ๋ณต์›์— ๋ฌธ๋งฅ์„ ๋‚จ๊ธฐ๊ฒŒ ํ•˜์„ธ์š”.

๋ณต์›์œผ๋กœ ์ด๋ ฅ์„ ์‚ญ์ œํ•˜์ง€ ๋งˆ์„ธ์š”. ๋ณต์›์€ ์ƒˆ๋กœ์šด ์ด๋ฒคํŠธ๋กœ ๊ธฐ๋ก๋˜์–ด์•ผ ํ•˜๋ฉฐ, ๋ˆ„๊ฐ€ ๋ณต์›ํ–ˆ๋Š”์ง€, ์–ธ์ œ ํ–ˆ๋Š”์ง€, ์–ด๋–ค ์ด๋ฒคํŠธ์—์„œ ๋ณต์›ํ–ˆ๋Š”์ง€ ๋ช…ํ™•ํžˆ ๋‚จ๊ฒจ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹จ๊ณ„๋ณ„: ์ฝ๊ธฐ ์‰ฌ์šด ์ด๋ ฅ์˜ ์—”๋“œํˆฌ์—”๋“œ ๊ตฌํ˜„

๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด์€ ๊ด€๋ฆฌ์ž ๋„๊ตฌ ์ถœ์‹œ
๋ฐฑ์—”๋“œ, ์›น ๊ด€๋ฆฌ์ž, ๋ชจ๋ฐ”์ผ ๋„๊ตฌ๋ฅผ ํ•ธ๋“œ์ฝ”๋”ฉ ์—†์ด ํ•จ๊ป˜ ๋นŒ๋“œํ•˜์„ธ์š”.
์ง€๊ธˆ ์‹œ์ž‘

๋ช‡ ๊ฐ€์ง€ ๊ฒฐ์ •์„ ์•ž์„œ ๋‚ด๋ฆฌ๊ณ  UI, API, ์ž๋™ํ™” ์ „๋ฐ˜์—์„œ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด ์‚ฌ๋žŒ๋“ค์ด ์‹ ๋ขฐํ•˜๋Š” ์ด๋ ฅ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์šฉ์ ์ธ 5๋‹จ๊ณ„ ๋นŒ๋“œ

  • 1๋‹จ๊ณ„: ์ด๋ ฅ์ด ์ง„์งœ ํ•„์š”ํ•œ ์—”ํ„ฐํ‹ฐ๋ฅผ ์„ ํƒํ•˜์„ธ์š”. ๋ถ„์Ÿ์ด๋‚˜ ๊ธˆ์ „์  ์œ„ํ—˜์„ ์œ ๋ฐœํ•˜๋Š” ๊ฐ์ฒด(์‚ฌ์šฉ์ž, ์ฃผ๋ฌธ, ๊ฐ€๊ฒฉ, ๊ถŒํ•œ)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์„ธ์š”. ์ด๋Ÿฐ ํ•ญ๋ชฉ๋“ค์— ๋Œ€ํ•ด "๋ˆ„๊ฐ€ ์–ธ์ œ ๋ณ€๊ฒฝํ–ˆ๋‚˜?"๋ฅผ ๋‹ตํ•  ์ˆ˜ ์—†๋‹ค๋ฉด ์ง€์›๊ณผ ์žฌ๋ฌด๊ฐ€ ๋จผ์ € ๊ณ ํ†ต์„ ๋ฐ›์Šต๋‹ˆ๋‹ค.
  • 2๋‹จ๊ณ„: ์ด๋ฒคํŠธ ์Šคํ‚ค๋งˆ์™€ ๋ฌด์—‡์„ ํ•œ change set์œผ๋กœ ๋ณผ์ง€ ์ •์˜ํ•˜์„ธ์š”. ํ•˜๋‚˜์˜ ์ €์žฅ์ด ์—ฌ๋Ÿฌ ํ•„๋“œ ํŽธ์ง‘์„ ํฌํ•จํ• ์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”. ์—”ํ„ฐํ‹ฐ ํƒ€์ž…/ID, ์•กํ„ฐ(์‚ฌ์šฉ์ž ๋˜๋Š” ์‹œ์Šคํ…œ), ์ถœ์ฒ˜(๊ด€๋ฆฌ์ž UI, API, ์ž๋™ํ™”), ํƒ€์ž„์Šคํƒฌํ”„, ๊ทธ๋ฆฌ๊ณ  before/after ๊ฐ’์˜ ํ•„๋“œ ๋ชฉ๋ก์„ ์ €์žฅํ•˜์„ธ์š”.
  • 3๋‹จ๊ณ„: ๋ชจ๋“  ๊ฒฝ๋กœ์—์„œ ๋™์ผํ•˜๊ฒŒ ๋ณ€๊ฒฝ์„ ์บก์ฒ˜ํ•˜์„ธ์š”. UI ํŽธ์ง‘์€ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์–ด๋ ค์šด ๋ถ€๋ถ„์€ API ํ˜ธ์ถœ๊ณผ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ž…๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ๋กœ์ง์„ ํ•œ ๊ณณ(์„œ๋น„์Šค ๋ ˆ์ด์–ด ๋˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง)์— ๋‘์–ด ๋ˆ„๋ฝ๋˜๋Š” ๊ฒฝ๋กœ๊ฐ€ ์—†๊ฒŒ ํ•˜์„ธ์š”.
  • 4๋‹จ๊ณ„: ๋ ˆ์ฝ”๋“œ ํŽ˜์ด์ง€ ์ด๋ ฅ UI์™€ ํ•„ํ„ฐ ์„ธํŠธ๋ฅผ ํ•จ๊ป˜ ๋นŒ๋“œํ•˜์„ธ์š”. ์—ญ์ˆœ ์—ฐ๋Œ€๊ธฐ ๋ชฉ๋ก์—์„œ ๊ฐ ํ•ญ๋ชฉ์€ ๋ˆ„๊ฐ€, ์–ธ์ œ, "3๊ฐœ ํ•„๋“œ ๋ณ€๊ฒฝ" ์š”์•ฝ์„ ๊ฐ–๊ฒŒ ํ•˜์„ธ์š”. ํ•„ํ„ฐ๋Š” ์‹ค์ œ ์งˆ๋ฌธ์— ๋งž์ถฐ์•ผ ํ•ฉ๋‹ˆ๋‹ค: ํ•„๋“œ๋ณ„, ์•กํ„ฐ๋ณ„, ์ถœ์ฒ˜๋ณ„, "์ค‘์š”ํ•œ ๋ณ€๊ฒฝ๋งŒ".
  • 5๋‹จ๊ณ„: ์—„๊ฒฉํ•œ ๊ถŒํ•œ๊ณผ ์ถ”๊ฐ€ ๋กœ๊น…์ด ์žˆ๋Š” ๋ณต์›์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. ๋ณต์›์€ ์ƒˆ๋กœ์šด ๋ณ€๊ฒฝ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ’์„ ๋ณต์›ํ•˜๋ฉด ๋ˆ„๊ฐ€ ํ–ˆ๋Š”์ง€, ๋ฌด์—‡์„ ๋ฐ”๊ฟจ๋Š”์ง€(์„ ํƒ์ ์œผ๋กœ ์ด์œ  ํฌํ•จ)๋ฅผ ์บก์ฒ˜ํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ฐ์‚ฌ ์ด๋ฒคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

ํ”ํ•œ ์‹ค์ˆ˜์™€ ํ•จ์ •

๋Œ€๋ถ€๋ถ„์˜ ์ด๋ ฅ ๋ทฐ๊ฐ€ ์‹คํŒจํ•˜๋Š” ์ด์œ ๋Š” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค: ์ฃผ์˜๋ฅผ ์กด์ค‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋กœ๊ทธ๊ฐ€ ์‹œ๋„๋Ÿฝ๊ฑฐ๋‚˜ ํ˜ผ๋ž€์Šค๋Ÿฌ์šฐ๋ฉด ์‚ฌ๋žŒ๋“ค์€ ์‚ฌ์šฉ์„ ์ค‘๋‹จํ•˜๊ณ  ์ถ”์ธก์œผ๋กœ ๋Œ์•„๊ฐ‘๋‹ˆ๋‹ค.

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

๋ฐ˜๋Œ€๋กœ ๋„ˆ๋ฌด ์ ๊ฒŒ ๊ธฐ๋กํ•˜๋Š” ๊ฒƒ๋„ ํ•ด๋กญ์Šต๋‹ˆ๋‹ค. ์•กํ„ฐ, ํƒ€์ž„์Šคํƒฌํ”„, ์ด์œ , ์ด์ „ ๊ฐ’์ด ์—†๋Š” ์ด๋ ฅ์€ ์†Œ๋ฌธ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค.

๋ผ๋ฒจ์€ ์‹ ๋ขฐ๋ฅผ ์กฐ์šฉํžˆ ๋ฌด๋„ˆ๋œจ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›์‹œ DB ์ด๋ฆ„(์˜ˆ: cust_id), ๋‚ด๋ถ€ ID, ์•”ํ˜ธ ๊ฐ™์€ enum ๊ฐ’์€ ๋น„๊ธฐ์ˆ ์  ์ง์›์—๊ฒŒ ํ•ด์„์„ ๊ฐ•์š”ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ ์นœํ™”์  ๋ผ๋ฒจ("๊ณ ๊ฐ", "ํ”Œ๋žœ", "๋ฐฐ์†ก ์ฃผ์†Œ")์„ ์‚ฌ์šฉํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ๋งŒ ID๋ฅผ ๋ณ‘๊ธฐํ•˜์„ธ์š”.

์‚ฌ์šฉ์„ฑ์— ๊ฐ€์žฅ ์น˜๋ช…์ ์ธ ์‹ค์ˆ˜๋“ค:

  • ์‹œ์Šคํ…œ ๋…ธ์ด์ฆˆ๋ฅผ 1๊ธ‰ ์ด๋ฒคํŠธ๋กœ ์ฒ˜๋ฆฌ(๋™๊ธฐํ™”, ํ•˜ํŠธ๋น„ํŠธ, ์ž๋™ ๊ณ„์‚ฐ)
  • ๋งฅ๋ฝ ์—†์ด ๋ณ€๊ฒฝ ์ €์žฅ(์•กํ„ฐ, ์ด์œ , API vs UI ๊ฐ™์€ ์ถœ์ฒ˜ ๋ˆ„๋ฝ)
  • ๊ธฐ์ˆ ์  ํ•„๋“œ ํ‚ค๋ฅผ ์‚ฌ์šฉ์ž์šฉ ๋‹จ์–ด ๋Œ€์‹  ํ‘œ์‹œ
  • ๊ด€๋ จ ์—†๋Š” ๋ณ€๊ฒฝ์„ ํ•˜๋‚˜์˜ ๋ฉ์–ด๋ฆฌ๋กœ ์„ž์–ด diff ์Šค์บ”์ด ์–ด๋ ค์›€
  • ์ค‘์š”ํ•œ ์ด๋ฒคํŠธ๋ฅผ ๊ณต๊ฒฉ์ ์ธ ํ•„ํ„ฐ๋‚˜ ๊ธฐ๋ณธ๊ฐ’ ๋’ค์— ์ˆจ๊น€

๋ณต์› ์ž‘์—…์€ ๊ฐ€์žฅ ์œ„ํ—˜ํ•œ ์˜์—ญ์ž…๋‹ˆ๋‹ค. ์›ํด๋ฆญ ๋˜๋Œ๋ฆฌ๊ธฐ๋Š” ๋น ๋ฅด๊ฒŒ ๋А๊ปด์ง€์ง€๋งŒ ๋‹ค๋ฅธ ๊ฒƒ์„ ๊นจ๋œจ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๊ฒฐ์ œ, ๊ถŒํ•œ, ์žฌ๊ณ ). ๋ณต์›์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“œ์„ธ์š”:

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

์ข‹์€ ๋ณ€๊ฒฝ ์ด๋ ฅ ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์ฝ๊ธฐ ์‰ฌ์šด ๊ฐ์‚ฌ ๋กœ๊ทธ ๊ตฌ์ถ•
PostgreSQL์—์„œ ์ด๋ฒคํŠธ์™€ diff๋ฅผ ๋ชจ๋ธ๋งํ•˜๊ณ  ๊ด€๋ฆฌ์ž UI์— ๋ช…ํ™•ํ•œ ์ด๋ ฅ์„ ํ‘œ์‹œํ•˜์„ธ์š”.
์‹œ์ž‘ํ•˜๊ธฐ

์ข‹์€ ์ด๋ ฅ ๋ทฐ๋Š” ์ง€์›ํŒ€์ด ๊ณ ๊ฐ์ด ํ†ตํ™” ์ค‘์ธ ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. "๋ฌด์—‡์ด ์–ธ์ œ ๋ˆ„๊ฐ€ ๋ณ€๊ฒฝํ–ˆ๋Š”๊ฐ€?"๋ฅผ ๋‹ตํ•˜๋Š” ๋ฐ ์ฒซ ํ™”๋ฉด์—์„œ 10์ดˆ ์ด์ƒ ๊ฑธ๋ฆฌ๋ฉด ์‚ฌ๋žŒ๋“ค์€ ์—ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • 10์ดˆ ๋‹ต๋ณ€ ํ…Œ์ŠคํŠธ: ์ฒซ ํ™”๋ฉด์—์„œ ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ •ํ™•ํ•œ ํ•ญ๋ชฉ์„ ๊ฐ€๋ฆฌ์ผœ ์ด์ „๊ณผ ์ดํ›„ ๊ฐ’์„ ์ถ”๊ฐ€ ํด๋ฆญ ์—†์ด ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š”๊ฐ€?
  • ๋ช…ํ™•ํ•œ ๊ท€์†: ๊ฐ ์ด๋ฒคํŠธ๋Š” ๋ˆ„๊ฐ€ ํ–ˆ๋Š”์ง€(์ด๋ฆ„ ์žˆ๋Š” ์‚ฌ์šฉ์ž) ๋˜๋Š” ๋ฌด์—‡์ด ํ–ˆ๋Š”์ง€(์‹œ์Šคํ…œ, ์ž„ํฌํŠธ, ์ž๋™ํ™”), ๊ทธ๋ฆฌ๊ณ  ์ฝ๊ธฐ ์‰ฌ์šด ํƒ€์ž„์Šคํƒฌํ”„์™€ ํ•„์š” ์‹œ ์‚ฌ์šฉ์ž ํƒ€์ž„์กด์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ์ถ”์ธก ์—†๋Š” ๋น ๋ฅธ ์ถ•์†Œ: ํ•„ํ„ฐ๋กœ ํ•œ ํ•„๋“œ์™€ ์ข์€ ์‹œ๊ฐ„ ์ฐฝ(์˜ˆ: ์ƒํƒœ + ์ตœ๊ทผ 7์ผ)์œผ๋กœ ๋ฐ”๋กœ ์ ํ”„ํ•  ์ˆ˜ ์žˆ๊ณ , UI๋Š” ๋‚จ์€ ๊ฒฐ๊ณผ ์ˆ˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ๋ณต์›์€ ๋ฌด์„ญ์ง€ ์•Š๊ฒŒ ์•ˆ์ „ํ•˜๊ฒŒ: ๋ณต์›์€ ์ ์ ˆํ•œ ์—ญํ• ๋งŒ ๋ณด์ด๊ฒŒ ํ•˜๊ณ , ํ•„๋“œ์™€ ์ •ํ™•ํ•œ ๊ฐ’์„ ๋ช…์‹œํ•œ ํ™•์ธ์„ ์š”๊ตฌํ•˜๋ฉฐ, ์ตœ์‹  ๋ณ€๊ฒฝ์„ ๋ฎ์–ด์“ฐ๋Š” ๊ฒฝ์šฐ ๊ฒฝ๊ณ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณต์›์€ ์‹ค์ œ ์ด๋ฒคํŠธ๋กœ ๊ธฐ๋ก: ๋ณต์›์€ ์ˆจ์€ ์—ญ์ „์ด ์•„๋‹ˆ๋ผ ์ƒˆ ๊ฐ์‚ฌ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•ด ๋ˆ„๊ฐ€ ๋ณต์›ํ–ˆ๋Š”์ง€, ์–ด๋–ค ๊ฐ’์œผ๋กœ ๋ณต์›ํ–ˆ๋Š”์ง€, ์–ด๋–ค ๊ฐ’์„ ๋Œ€์ฒดํ–ˆ๋Š”์ง€ ์บก์ฒ˜ํ•ฉ๋‹ˆ๋‹ค.

์ด๋ฅผ ๊ฒ€์ฆํ•˜๋Š” ์‹ค์šฉ์  ๋ฐฉ๋ฒ•์€ ์งง์€ "์ง€์› ๋ถ„์Ÿ" ์—ฐ์Šต์ž…๋‹ˆ๋‹ค. ํŽธ์ง‘์ด ๋งŽ์€ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ณจ๋ผ ๋™๋ฃŒ์—๊ฒŒ ๋ฌผ์–ด๋ณด์„ธ์š”: "์™œ ๊ณ ๊ฐ์˜ ๋ฐฐ์†ก ์ฃผ์†Œ๊ฐ€ ์–ด์ œ์™€ ๋‹ค๋ฅธ๊ฐ€?" ํ•„ํ„ฐ๋ฅผ Address๋กœ ์ขํžˆ๊ณ  ์ด์ „/์ดํ›„ diff๋ฅผ ๋ณด๊ณ  ์•กํ„ฐ๋ฅผ 10์ดˆ ๋‚ด์— ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๊ฑฐ์˜ ์„ฑ๊ณตํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ์‹œ: ๊ฐ์‚ฌ ์ด๋ ฅ์œผ๋กœ ์ง€์› ๋ถ„์Ÿ ํ•ด๊ฒฐํ•˜๊ธฐ

๊ณ ๊ฐ์ด ํ‹ฐ์ผ“์„ ์—ฝ๋‹ˆ๋‹ค: "ํ”„๋กœ๋ชจ์…˜์„ ์ ์šฉํ–ˆ๋”๋‹ˆ ์ฒญ๊ตฌ์„œ ์ด์•ก์ด ๋ฐ”๋€Œ์—ˆ์–ด์š”. ๋” ๋งŽ์ด ์ฒญ๊ตฌ๋์Šต๋‹ˆ๋‹ค." ํ•„๋“œ ๋‹จ์œ„ ๋ณ€๊ฒฝ ์ด๋ ฅ์€ ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•˜์ง€๋งŒ ์ฝ๊ธฐ ์‰ฝ๊ณ  ์‹คํ–‰ ๊ฐ€๋Šฅํ•  ๋•Œ๋งŒ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค.

์†ก์žฅ ๋ ˆ์ฝ”๋“œ์—์„œ ์ง€์› ๋‹ด๋‹น์ž๋Š” History ํƒญ์„ ์—ด๊ณ  ๋จผ์ € ๋…ธ์ด์ฆˆ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค. ์ง€๋‚œ 7์ผ๋กœ ํ•„ํ„ฐ๋ฅผ ์ขํžˆ๊ณ  Discount์™€ Total ํ•„๋“œ๋งŒ ์„ ํƒํ•œ ๋’ค ์•กํ„ฐ๋ฅผ ๋‚ด๋ถ€ ์‚ฌ์šฉ์ž(๊ณ ๊ฐ์ด๋‚˜ ์ž๋™ํ™”๊ฐ€ ์•„๋‹Œ)๋กœ ํ•„ํ„ฐํ•ฉ๋‹ˆ๋‹ค.

ํƒ€์ž„๋ผ์ธ์—๋Š” ์ด์ œ ์„ธ ๊ฐœ์˜ ๋ช…ํ™•ํ•œ ํ•ญ๋ชฉ์ด ๋ณด์ž…๋‹ˆ๋‹ค:

  • 2026-01-18 14:12, ์•กํ„ฐ: Sales Rep, ํ•„๋“œ: Discount, 10% -> 0%, ์ด์œ : "ํ”„๋กœ๋ชจ์…˜ ๋งŒ๋ฃŒ"
  • 2026-01-18 14:12, ์•กํ„ฐ: System, ํ•„๋“œ: Total, $90 -> $100, ์ด์œ : "๋ผ์ธ ์•„์ดํ…œ์œผ๋กœ๋ถ€ํ„ฐ ์žฌ๊ณ„์‚ฐ"
  • 2026-01-18 14:13, ์•กํ„ฐ: Sales Rep, ์ฝ”๋ฉ˜ํŠธ: "๊ณ ๊ฐ ์š”์ฒญ์œผ๋กœ ์ œ๊ฑฐ"

์ด์•ผ๊ธฐ๊ฐ€ ๋ช…ํ™•ํ•ฉ๋‹ˆ๋‹ค: ํ• ์ธ์ด ์ œ๊ฑฐ๋˜์—ˆ๊ณ  ์ด์•ก์ด ๋ฐ”๋กœ ์žฌ๊ณ„์‚ฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ด๋‹น์ž๋Š” ์ฝ”๋ฉ˜ํŠธ์™€ ํ”„๋กœ๋ชจ ๊ทœ์น™์„ ํ™•์ธํ•ด ์ œ๊ฑฐ๊ฐ€ ์ ์ ˆํ–ˆ๋Š”์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ˆ˜์˜€๋‹ค๋ฉด ๋‹ด๋‹น์ž๋Š” Discount ํ•„๋“œ์—์„œ ์•ˆ์ „ํ•œ ๋ณต์› ํ๋ฆ„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. UI๋Š” ๋ฌด์—‡์ด ๋ฐ”๋€”์ง€(Discount๋ฅผ 10%๋กœ ๋ณต์›, Total ์žฌ๊ณ„์‚ฐ)๋ฅผ ๋ฏธ๋ฆฌ ๋ณด์—ฌ์ฃผ๊ณ  ๋ฉ”๋ชจ๋ฅผ ์š”๊ตฌํ•ฉ๋‹ˆ๋‹ค.

  • "Discount: 10% -> 0%" ์˜†์˜ ๋ณต์› ํด๋ฆญ
  • ์ฝ”๋ฉ˜ํŠธ ์ถ”๊ฐ€: "ํ‹ฐ์ผ“ #18421์— ๋”ฐ๋ผ ํ• ์ธ ๋ณต์›. ํ”„๋กœ๋ชจ ์—ฌ์ „ํžˆ ์œ ํšจ."
  • ํ™•์ธํ•˜๊ณ  ๊ฒฐ์ œํŒ€(๋ฐ ์„ ํƒ์ ์œผ๋กœ ๊ณ ๊ฐ)์—๊ฒŒ ์•Œ๋ฆผ

AppMaster ๊ฐ™์€ ๋…ธ์ฝ”๋“œ ํ”Œ๋žซํผ์—์„œ ๊ด€๋ฆฌ์ž ํŒจ๋„์„ ๊ตฌ์ถ•ํ•œ๋‹ค๋ฉด, PostgreSQL์— ๊ฐ์‚ฌ ํ…Œ์ด๋ธ”์„ ๋ชจ๋ธ๋งํ•˜๊ณ  Business Processes์—์„œ ๊ฐ์‚ฌ ์“ฐ๊ธฐ๋ฅผ ์ค‘์•™ํ™”ํ•˜๋ฉฐ ์›น๊ณผ ๋ชจ๋ฐ”์ผ์—์„œ ๋™์ผํ•œ ํžˆ์Šคํ† ๋ฆฌ UI ํŒจํ„ด์„ ์žฌ์‚ฌ์šฉํ•ด ํŒ€์ด ์–ด๋””์„œ ์ž‘์—…ํ•˜๋“  ์Šคํ† ๋ฆฌ๊ฐ€ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€๋˜๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

์™œ ์‚ฌ์šฉ์ž๊ฐ€ ๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ๋ณ€๊ฒฝ ์ด๋ ฅ์„ ๋ฌด์‹œํ•˜๋‚˜์š”?

๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๋Š” ์Šค์บ”ํ•˜๊ธฐ ์–ด๋ ต๊ณ  ๊ฐ€์น˜๊ฐ€ ๋‚ฎ์€ ์žก์Œ์œผ๋กœ ๊ฐ€๋“ํ•œ ์ด๋ ฅ ๋•Œ๋ฌธ์— ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์ด ์ฆ‰์‹œ ๋‹ค์Œ ๋„ค ๊ฐ€์ง€๋ฅผ ๋‹ตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ๋ˆ„๊ฐ€ ๋ณ€๊ฒฝํ–ˆ๋Š”์ง€, ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€(์ด์ „/์ดํ›„ ๊ฐ’ ํฌํ•จ), ์–ธ์ œ ๋ฐœ์ƒํ–ˆ๋Š”์ง€(์ผ๊ด€๋œ ํ˜•์‹), ๊ทธ๋ฆฌ๊ณ  ์ถœ์ฒ˜๋‚˜ ์ด์œ ๋Š” ๋ฌด์—‡์ธ์ง€.

์žก์Œ์„ ๋งŒ๋“ค์ง€ ์•Š์œผ๋ฉด์„œ ์œ ์šฉํ•œ ์ด๋ ฅ์„ ์œ„ํ•ด ์–ด๋–ค ๋ณ€๊ฒฝ์„ ์ถ”์ ํ•ด์•ผ ํ•˜๋‚˜์š”?

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

๊ฐ์‚ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ด๋ฒคํŠธ๋กœ ์ €์žฅํ•ด์•ผ ํ•˜๋‚˜์š”, ์ „์ฒด ์Šค๋ƒ…์ƒท์œผ๋กœ ์ €์žฅํ•ด์•ผ ํ•˜๋‚˜์š”?

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

๊ฐ์‚ฌ ๋ ˆ์ฝ”๋“œ์—์„œ ๋ฐ˜๋“œ์‹œ ํฌํ•จํ•ด์•ผ ํ•  ํ•„๋“œ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

์‹ค์šฉ์ ์ธ ์ตœ์†Œ ํ•„๋“œ๋Š” ์•กํ„ฐ ์‹๋ณ„(๋ฐ ํƒ€์ž…), UTC ํƒ€์ž„์Šคํƒฌํ”„, ์—”ํ„ฐํ‹ฐ ์ข…๋ฅ˜์™€ ID, ์•ˆ์ •์ ์ธ ํ•„๋“œ ํ‚ค, ๊ทธ๋ฆฌ๊ณ  before/after ๊ฐ’(๋ฐ์ดํ„ฐ ํƒ€์ž… ํฌํ•จ)์ž…๋‹ˆ๋‹ค. ์ดํ›„์— โ€˜์™œโ€™๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด ์ฝ”๋ฉ˜ํŠธ, workflow_run_id, import_batch_id, ์ž๋™ํ™” ์ด์œ  ๊ฐ™์€ ์„ ํƒ์  ์ปจํ…์ŠคํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

ํƒ€์ž„๋ผ์ธ์„ ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค์ค‘ ํ•„๋“œ ํŽธ์ง‘์„ ์–ด๋–ป๊ฒŒ ๊ทธ๋ฃนํ™”ํ•ด์•ผ ํ•˜๋‚˜์š”?

ํ•˜๋‚˜์˜ ์ €์žฅ(๋˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰)์—์„œ ๋ฐœ์ƒํ•œ ๋ชจ๋“  ํ•„๋“œ ๋ณ€๊ฒฝ์„ change_set_id๋กœ ๋ฌถ์œผ์„ธ์š”. ๊ทธ๋Ÿฌ๋ฉด UI๋Š” "ํ•„๋“œ 5๊ฐœ ๋ณ€๊ฒฝ" ๊ฐ™์€ ์ฝ๊ธฐ ์‰ฌ์šด ํ•ญ๋ชฉ์„ ๋ณด์—ฌ์ฃผ๊ณ  ํ™•์žฅํ•ด์„œ ๊ฐ ํ•„๋“œ์˜ diff๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์–‘ํ•œ ํ•„๋“œ ํƒ€์ž…์˜ ์ด์ „/์ดํ›„ diff๋Š” ์–ด๋–ป๊ฒŒ ํ‘œ์‹œํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‚˜์š”?

๊ธฐ๋ณธ์€ ํ•œ ์ค„์— ์ด์ „ โ†’ ์ดํ›„๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๊ฐ•์กฐํ•˜์„ธ์š”. ๊ฐ’์ด ๊ธธ๊ฑฐ๋‚˜ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์„ ๋น„๊ตํ•ด์•ผ ํ•˜๋ฉด ์–‘์ธก ๋น„๊ต๋กœ ์ „ํ™˜ํ•˜์„ธ์š”. ๊ธด ํ…์ŠคํŠธ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐœ์ทŒ(120~200์ž)๋งŒ ๋ณด์—ฌ์ฃผ๊ณ  ํ™•์žฅํ•ด์„œ ์ „์ฒด๋ฅผ ๋ณด๊ฒŒ ํ•˜๋ฉฐ ์ค„๋ฐ”๊ฟˆ์„ ์œ ์ง€ํ•˜์„ธ์š”.

๊ฐ์‚ฌ ์ด๋ ฅ์—์„œ ์‹œ๊ฐ„๋Œ€๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋‚˜์š”?

์ €์žฅ์†Œ๋Š” UTC๋กœ ํ•˜๊ณ , ํ‘œ์‹œํ•  ๋•Œ๋Š” ์กฐํšŒ์ž์˜ ํƒ€์ž„์กด์œผ๋กœ ๋ณ€ํ™˜ํ•˜์„ธ์š”. ์—ฌ๋Ÿฌ ํƒ€์ž„์กด์—์„œ ์ผํ•˜๋Š” ํŒ€์ด๋ผ๋ฉด ํ‘œ์‹œ ์‹œ๊ฐ„ ์˜†์— ํƒ€์ž„์กด ๋ ˆ์ด๋ธ”์„ ๋ณด์—ฌ์ค˜์„œ "์–ธ์ œ"๊ฐ€ ์ง€์› ํ†ตํ™” ์ค‘์— ๋ช…ํ™•ํ•˜๋„๋ก ํ•˜์„ธ์š”.

์–ด๋–ค ํ•„ํ„ฐ๊ฐ€ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋น ๋ฅด๊ฒŒ ์ ์ ˆํ•œ ๋ณ€๊ฒฝ์„ ์ฐพ๋Š” ๋ฐ ๋„์›€์ด ๋˜๋‚˜์š”?

์‹œ๊ฐ„ ๋ฒ”์œ„, ์•กํ„ฐ, ํ•„๋“œ, ๋ณ€๊ฒฝ ์œ ํ˜•, ์†Œ์Šค(์ˆ˜๋™ vs ์ž๋™ํ™”/์ž„ํฌํŠธ/API) ๊ฐ™์€ ์ž‘์€ ํ•„ํ„ฐ ์ง‘ํ•ฉ์œผ๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”. ๊ธฐ๋ณธ๊ฐ’์€ "์ค‘์š”ํ•œ ํ•„๋“œ"์™€ "์ตœ๊ทผ 7์ผ" ๊ฐ™์€ ์•ˆ์ „ํ•œ ์„ค์ •์ด ์ข‹์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•˜๋ฉด ์ „์ฒด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์˜ต์…˜์„ ๋ช…ํ™•ํžˆ ํ•˜์„ธ์š”.

๋ณต์› ์ž‘์—…์„ ์•ˆ์ „ํ•˜๊ฒŒ ๋А๋ผ๋„๋ก ๋งŒ๋“ค๊ณ  ์ž˜๋ชป๋œ ๋กค๋ฐฑ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

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

API๋‚˜ ์ž๋™ํ™”๋ฅผ ๋†“์น˜์ง€ ์•Š๊ณ  AppMaster์—์„œ ์ด๋ฅผ ๋๊นŒ์ง€ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

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

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

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

์‹œ์ž‘ํ•˜๋‹ค
๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ํ•„๋“œ๋ณ„ ๋ณ€๊ฒฝ ์ด๋ ฅ UX | AppMaster