2025๋…„ 3์›” 14์ผยท6๋ถ„ ์ฝ๊ธฐ

์ง„ํ–‰ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…: ํšจ๊ณผ์ ์ธ UI ํŒจํ„ด

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

์ง„ํ–‰ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…: ํšจ๊ณผ์ ์ธ UI ํŒจํ„ด

์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ์ค‘์— ๋ง‰ํžˆ๋Š” ์ด์œ 

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

์ข‹์€ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์€ ๊ฒฐ๊ตญ ์‹ ๋ขฐ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” ์„ธ ๊ฐ€์ง€๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค:

  • ๋ช…ํ™•ํ•œ ์ƒํƒœ(queued, running, done)
  • ์‹œ๊ฐ„ ๊ฐ๊ฐ(๋Œ€๋žต์˜ ์˜ˆ์ƒ ์‹œ๊ฐ„์ด๋ผ๋„)
  • ๋‹ค์Œ ํ–‰๋™์ด ๋ถ„๋ช…ํ•จ(๊ธฐ๋‹ค๋ฆฌ๊ธฐ, ๊ณ„์† ์ž‘์—…, ์ทจ์†Œ, ๋‚˜์ค‘์— ๋Œ์•„์˜ค๊ธฐ)

์ด ์ค‘ ํ•˜๋‚˜๋ผ๋„ ์—†์œผ๋ฉด ์ž‘์—…์€ ์ž˜ ๋Œ์•„๊ฐ€๋”๋ผ๋„ ๊ฒฝํ—˜์€ ๋Š๊ธด ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์ง‘๋‹ˆ๋‹ค.

ํ”ํ•œ ํ˜ผ๋™ ์ค‘ ํ•˜๋‚˜๋Š” ๋А๋ฆฐ ์š”์ฒญ์„ ์‹ค์ œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์ฒ˜๋Ÿผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋А๋ฆฐ ์š”์ฒญ์€ ์—ฌ์ „ํžˆ ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•˜๋Š” ๋‹จ์ผ ์›น ํ˜ธ์ถœ์ž…๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค: ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ณ  ์ฆ‰์‹œ ํ™•์ธ์„ ๋ฐ›์€ ๋’ค, ๋ฌด๊ฑฐ์šด ์ฒ˜๋ฆฌ๋Š” ๋‹ค๋ฅธ ๊ณณ์—์„œ ์ด๋ฃจ์–ด์ ธ UI๋Š” ๊ณ„์† ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

ํ•ต์‹ฌ ๊ตฌ์„ฑ ์š”์†Œ: ์ž‘์—…(job), ํ, ์›Œ์ปค, ์ƒํƒœ

๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…๊ณผ ์ง„ํ–‰ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด ๋งํ•  ๋•Œ ๋ณดํ†ต ๋„ค ๊ฐ€์ง€๊ฐ€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ž‘์—…(job)์€ ๋‹จ์œ„ ์ž‘์—…์ž…๋‹ˆ๋‹ค: "์ด CSV๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ", "์ด ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ", "5,000๊ฐœ์˜ ์ด๋ฉ”์ผ ๋ณด๋‚ด๊ธฐ" ๋“ฑ. ํ๋Š” ์ž‘์—…์ด ์ฒ˜๋ฆฌ๋  ๋•Œ๊นŒ์ง€ ๋Œ€๊ธฐํ•˜๋Š” ์ค„์ž…๋‹ˆ๋‹ค. ์›Œ์ปค๋Š” ํ์—์„œ ์ž‘์—…์„ ๊ฐ€์ ธ์™€ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค(ํ•œ ๋ฒˆ์— ํ•˜๋‚˜ ๋˜๋Š” ๋ณ‘๋ ฌ๋กœ).

UI์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ž‘์—…์˜ ๋ผ์ดํ”„์‚ฌ์ดํด ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ์ƒํƒœ๋Š” ์ ๊ณ  ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”:

  • Queued: ์ˆ˜๋ฝ๋˜์–ด ์›Œ์ปค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘
  • Running: ์‹ค์ œ๋กœ ์ฒ˜๋ฆฌ ์ค‘
  • Done: ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ
  • Failed: ์˜ค๋ฅ˜๋กœ ์ค‘๋‹จ๋จ

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

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

๋งˆ์ง€๋ง‰์œผ๋กœ ์ƒํƒœ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฟ ์•„๋‹ˆ๋ผ ๋‚ด๊ตฌ์„ฑ ์žˆ๋Š” ์ €์žฅ์†Œ์— ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์›Œ์ปค๊ฐ€ ์ถฉ๋Œํ•˜๊ฑฐ๋‚˜ ์•ฑ์ด ์žฌ์‹œ์ž‘๋˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์ƒˆ๋กœ๊ณ ์นจํ•˜๋ฉด ์ƒํƒœ๊ฐ€ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ ๋‹ค์Œ์„ ์ €์žฅํ•˜์„ธ์š”:

  • ํ˜„์žฌ ์ƒํƒœ์™€ ํƒ€์ž„์Šคํƒฌํ”„
  • ์ง„ํ–‰ ๊ฐ’(ํผ์„ผํŠธ ๋˜๋Š” ์นด์šดํŠธ)
  • ๊ฒฐ๊ณผ ์š”์•ฝ(๋ฌด์—‡์ด ์ƒ์„ฑ๋˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€)
  • ์˜ค๋ฅ˜ ์„ธ๋ถ€(๋””๋ฒ„๊น…๊ณผ ์‚ฌ์šฉ์ž ์นœํ™”์  ๋ฉ”์‹œ์ง€๋ฅผ ์œ„ํ•ด)

ํ”Œ๋žซํผ์ด AppMaster ๊ฐ™์€ ๊ณณ์ด๋ผ๋ฉด ์ƒํƒœ ์ €์žฅ์†Œ๋ฅผ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ฒ˜๋Ÿผ ์ทจ๊ธ‰ํ•˜์„ธ์š”: UI๋Š” ์ž‘์—… ID๋กœ ์ฝ๊ณ  ์›Œ์ปค๋Š” ์ž‘์—… ์ง„ํ–‰์— ๋”ฐ๋ผ ์ด๋ฅผ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

์›Œํฌ๋กœ๋“œ์— ๋งž๋Š” ํ ํŒจํ„ด ์„ ํƒํ•˜๊ธฐ

์–ด๋–ค ํ ํŒจํ„ด์„ ์„ ํƒํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์•ฑ์ด ์–ผ๋งˆ๋‚˜ "๊ณต์ •ํ•˜๊ฒŒ" ๋А๊ปด์ง€๋Š”์ง€, ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ์ž‘์—…์ด ๋‹ค๋ฅธ ๋งŽ์€ ์ž‘์—… ๋’ค์— ์Œ“์ด๋ฉด ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์‹œ์Šคํ…œ์ด ๋ถˆ์•ˆ์ •ํ•œ ๊ฒƒ์ฒ˜๋Ÿผ ๋А๊ปด์ง‘๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ ์„ ํƒ์€ ์ธํ”„๋ผ๋ฟ ์•„๋‹ˆ๋ผ UX ๊ฒฐ์ •์ž…๋‹ˆ๋‹ค.

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

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

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

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

UI์— ์‹ค์ œ๋กœ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ์ง„ํ–‰ ๋ชจ๋ธ ์„ค๊ณ„

์ง„ํ–‰ ๋ชจ๋ธ์ด ๋ชจํ˜ธํ•˜๋ฉด UI๋„ ๋ชจํ˜ธํ•˜๊ฒŒ ๋А๊ปด์ง‘๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ์ด ์ •์งํ•˜๊ฒŒ ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ, ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ๋ฐ”๋€Œ๋Š”์ง€, ์‚ฌ์šฉ์ž๊ฐ€ ๊ทธ ์ •๋ณด๋ฅผ ๋ณด๊ณ  ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•˜์„ธ์š”.

๋Œ€๋ถ€๋ถ„ ์ž‘์—…์ด ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹จ์ˆœ ์ƒํƒœ ์Šคํ‚ค๋งˆ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • state: queued, running, succeeded, failed, canceled
  • percent: ์ธก์ •ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ 0-100
  • message: ์‚ฌ์šฉ์ž๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ๋ฌธ์žฅ
  • timestamps: created, started, last_updated, finished
  • result_summary: processed, skipped, errors ๊ฐ™์€ ์นด์šดํŠธ

๋‹ค์Œ์œผ๋กœ, "์ง„ํ–‰"์ด ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€ ์ •์˜ํ•˜์„ธ์š”.

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

์‹ค์šฉ ๊ทœ์น™:

  • ์‹ค์ œ๋กœ "X of Y"๋ฅผ ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋Š” percent ์‚ฌ์šฉ
  • ์ง€์† ์‹œ๊ฐ„์ด ๋ถˆํ™•์‹คํ•  ๋•Œ๋Š” steps ์‚ฌ์šฉ(์˜ˆ: Validate file, Import, Rebuild indexes, Finalize)
  • ๋‘˜ ๋‹ค ํ•ด๋‹นํ•˜์ง€ ์•Š์œผ๋ฉด indeterminate ์ง„ํ–‰ ์‚ฌ์šฉํ•˜๋˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ž์ฃผ ๊ฐฑ์‹ 

์ž‘์—…์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ๋ถ€๋ถ„ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•˜์„ธ์š”. ๊ทธ๋ž˜์•ผ UI๊ฐ€ ์ž‘์—… ์ข…๋ฃŒ ์ „์— ๋ผ์ด๋ธŒ ์˜ค๋ฅ˜ ์นด์šดํŠธ๋‚˜ ๋ณ€๊ฒฝ๋œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CSV ๊ฐ€์ ธ์˜ค๊ธฐ๋ผ๋ฉด rows_read, rows_created, rows_updated, rows_rejected์™€ ์ตœ๊ทผ ๋ช‡ ๊ฐœ์˜ ์˜ค๋ฅ˜ ๋ฉ”์‹œ์ง€๋ฅผ ์ €์žฅํ•˜์„ธ์š”.

์ด๊ฒƒ์ด ์‚ฌ์šฉ์ž๋“ค์ด ์‹ ๋ขฐํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์˜ ๊ธฐ์ดˆ์ž…๋‹ˆ๋‹ค: UI๋Š” ์นจ์ฐฉํ•˜๊ฒŒ ์œ ์ง€๋˜๊ณ  ์ˆซ์ž๋Š” ์›€์ง์ด๋ฉฐ ์ž‘์—…์ด ๋๋‚  ๋•Œ "๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ฌ๋‚˜" ์š”์•ฝ์ด ์ค€๋น„๋ฉ๋‹ˆ๋‹ค.

์ง„ํ–‰ ์—…๋ฐ์ดํŠธ ์ „๋‹ฌ ๋ฐฉ์‹: ํด๋ง, ํ‘ธ์‹œ, ํ•˜์ด๋ธŒ๋ฆฌ๋“œ

์‹ค์‹œ๊ฐ„ ์—…๋ฐ์ดํŠธ ์ ์šฉ
์‹ค์‹œ๊ฐ„ ์ƒํƒœ๋ฅผ ์›น ๋˜๋Š” ๋ชจ๋ฐ”์ผ ์•Œ๋ฆผ์œผ๋กœ ์ถ”๊ฐ€ํ•˜๋˜ ํด๋ง์„ ๋ฐฑ์—…์œผ๋กœ ๋‚จ๊ฒจ๋‘์„ธ์š”.
์‹œ๋„ํ•ด๋ณด๊ธฐ

๋ฐฑ์—”๋“œ์—์„œ ํ™”๋ฉด์œผ๋กœ ์ง„ํ–‰์„ ์ „๋‹ฌํ•˜๋Š” ๋ถ€๋ถ„์—์„œ ๋งŽ์€ ๊ตฌํ˜„์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค. ์ง„ํ–‰์ด ์–ผ๋งˆ๋‚˜ ์ž์ฃผ ๋ณ€ํ•˜๋Š”์ง€์™€ ๋ช‡ ๋ช…์˜ ์‚ฌ์šฉ์ž๊ฐ€ ์ง€์ผœ๋ณผ์ง€๋ฅผ ๊ณ ๋ คํ•ด ์ „๋‹ฌ ๋ฐฉ์‹์„ ์„ ํƒํ•˜์„ธ์š”.

ํด๋ง์€ ๊ฐ€์žฅ ๋‹จ์ˆœํ•ฉ๋‹ˆ๋‹ค: UI๊ฐ€ N์ดˆ๋งˆ๋‹ค ์ƒํƒœ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. ์ข‹์€ ๊ธฐ๋ณธ๊ฐ’์€ ์‚ฌ์šฉ์ž๊ฐ€ ํŽ˜์ด์ง€๋ฅผ ์ ๊ทน์ ์œผ๋กœ ๋ณด๊ณ  ์žˆ์„ ๋•Œ 2โ€“5์ดˆ์ž…๋‹ˆ๋‹ค. ์ž‘์—…์ด 1๋ถ„๋ณด๋‹ค ๊ธธ์–ด์ง€๋ฉด 10โ€“30์ดˆ๋กœ ์˜ฎ๊ธฐ์„ธ์š”. ํƒญ์ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ๋ฉด ๋” ๋Šฆ์ถ”์„ธ์š”.

ํ‘ธ์‹œ ์—…๋ฐ์ดํŠธ(WebSockets, server-sent events, ๋ชจ๋ฐ”์ผ ์•Œ๋ฆผ)๋Š” ์ง„ํ–‰์ด ๋น ๋ฅด๊ฒŒ ๋ณ€ํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ž๊ฐ€ "์ง€๊ธˆ"์„ ์ค‘์‹œํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ํ‘ธ์‹œ๋Š” ์ฆ‰์‹œ์„ฑ์ด ์ข‹์ง€๋งŒ ์—ฐ๊ฒฐ์ด ๋Š๊ฒผ์„ ๋•Œ๋ฅผ ๋Œ€๋น„ํ•œ ํด๋ฐฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

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

์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฉˆ์ถ”๋ฉด ๊ทธ๊ฒƒ์„ ์ผ๊ธ‰ ์ƒํƒœ๋กœ ์ทจ๊ธ‰ํ•˜์„ธ์š”. "๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ 2๋ถ„ ์ „"์„ ๋ณด์—ฌ์ฃผ๊ณ  ์ƒˆ๋กœ๊ณ ์นจ์„ ์ œ์•ˆํ•˜์„ธ์š”. ๋ฐฑ์—”๋“œ์—์„œ๋Š” ํ•˜ํŠธ๋น„ํŠธ๊ฐ€ ์—†์œผ๋ฉด ์ž‘์—…์„ stale๋กœ ํ‘œ์‹œํ•˜์„ธ์š”.

๋ช…ํ™•ํ•˜๊ฒŒ ๋А๊ปด์ง€๋Š” ์žฅ๊ธฐ ์ž‘์—…์„ ์œ„ํ•œ UI ํŒจํ„ด

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

์ƒํƒœ ์ด๋ฆ„์„ ๋ฐฑ์—”๋“œ๋ฟ ์•„๋‹ˆ๋ผ UI์—๋„ ํ‘œ์‹œํ•˜์„ธ์š”. ์ž‘์—…์€ queued(๋Œ€๊ธฐ), running(์ฒ˜๋ฆฌ ์ค‘), waiting for input(์ž…๋ ฅ ๋Œ€๊ธฐ), completed(์™„๋ฃŒ), completed with errors(์ผ๋ถ€ ๋ฌธ์ œ์™€ ํ•จ๊ป˜ ์™„๋ฃŒ), failed(์‹คํŒจ)์ฒ˜๋Ÿผ ๊ตฌ๋ถ„๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ด๋“ค์„ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๋ฉด ์•ฑ์ด ๋ฉˆ์ท„๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ง„ํ–‰ ํ‘œ์‹œ ์˜†์—๋Š” ํ‰๋ฒ”ํ•˜๊ณ  ์œ ์šฉํ•œ ๋ฌธ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. "Importing 3,200 rows (1,140 processed)"๋Š” ๊ทธ๋ƒฅ "Processing."๋ณด๋‹ค ๋‚ซ์Šต๋‹ˆ๋‹ค. ํ•œ ๋ฌธ์žฅ์œผ๋กœ: ๋– ๋‚˜๋„ ๋˜๋‚˜์š”, ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋‚˜์š”? ์˜ˆ: "์ด ์ฐฝ์„ ๋‹ซ์•„๋„ ๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ๊ณ„์† ๊ฐ€์ ธ์˜ค๋ฉฐ ์ค€๋น„๋˜๋ฉด ์•Œ๋ ค๋“œ๋ฆฝ๋‹ˆ๋‹ค."

์ง„ํ–‰ ์œ„์น˜๋Š” ์‚ฌ์šฉ์ž์˜ ๋งฅ๋ฝ๊ณผ ๋งž์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค:

  • ์ฆ‰์‹œ ๋‹ค์Œ ๋‹จ๊ณ„๊ฐ€ ๋ง‰ํž ๋•Œ๋Š” ๋ชจ๋‹ฌ์ด ์ ๋‹นํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ์ง€๊ธˆ ํ•„์š”ํ•œ ์†ก์žฅ PDF ์ƒ์„ฑ).
  • ๋ฐฉํ•ดํ•˜์ง€ ๋ง์•„์•ผ ํ•˜๋Š” ๋น ๋ฅธ ์ž‘์—…์€ ํ† ์ŠคํŠธ๊ฐ€ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ํ•ญ๋ชฉ๋ณ„ ์ž‘์—…์—๋Š” ํ…Œ์ด๋ธ” ํ–‰ ์•ˆ์˜ ์ธ๋ผ์ธ ์ง„ํ–‰์ด ์ ์ ˆํ•ฉ๋‹ˆ๋‹ค.

1๋ถ„ ์ด์ƒ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์—๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋‚˜์ค‘์— ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ๊ฐ„๋‹จํ•œ Jobs ํŽ˜์ด์ง€(๋˜๋Š” Activity ํŒจ๋„)๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

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

"์˜ค๋ฅ˜์™€ ํ•จ๊ป˜ ์™„๋ฃŒ"๋ฅผ ์‚ฌ์šฉ์ž ํ˜ผ๋ž€ ์—†์ด ๋ณด๊ณ ํ•˜๊ธฐ

CSV ๊ฐ€์ ธ์˜ค๊ธฐ UI ๋ฐฐํฌ
๋ฐฑ์—”๋“œ ์ฒ˜๋ฆฌ์™€ ์ง„ํ–‰ ์นด๋“œ UI๋ฅผ ๋™์ผํ•œ AppMaster ํ”„๋กœ์ ํŠธ์—์„œ ๊ฒฐํ•ฉํ•˜์„ธ์š”.
ํ”„๋กœ์ ํŠธ ์‹œ์ž‘

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

๋ถ€๋ถ„ ์„ฑ๊ณต์„ ์ผ๊ธ‰ ๊ฒฐ๊ณผ๋กœ ์ฒ˜๋ฆฌํ•˜์„ธ์š”. ๋ฉ”์ธ ์ƒํƒœ ๋ผ์ธ์—์„œ ์–‘์ชฝ์„ ๋ชจ๋‘ ๋ณด์—ฌ์ฃผ์„ธ์š”: "Imported 9,380 of 9,500. 120 failed." ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‹œ์Šคํ…œ์ด ์ •์งํ•˜๊ฒŒ ๋ณด์ด๊ณ  ์ž‘์—…์ด ์ €์žฅ๋˜์—ˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธ์‹œ์ผœ ์ค๋‹ˆ๋‹ค.

๊ทธ๋‹ค์Œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์กฐ์น˜ ๊ฐ€๋Šฅํ•œ ์ž‘์€ ์˜ค๋ฅ˜ ์š”์•ฝ์„ ๋ณด์—ฌ์ฃผ์„ธ์š”: "ํ•„์ˆ˜ ํ•„๋“œ ๋ˆ„๋ฝ(63)", "๋‚ ์งœ ํ˜•์‹ ์˜ค๋ฅ˜(41)" ๋“ฑ. ์ตœ์ข… ์ƒํƒœ์—์„œ "Completed with issues"๋Š” "Failed"๋ณด๋‹ค ๋” ๋ช…ํ™•ํ•  ๋•Œ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์‹คํŒจ๊ฐ€ ์ „์ฒด ์‹คํŒจ๋ฅผ ์˜๋ฏธํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

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

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

์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ทจ์†Œ์™€ ์žฌ์‹œ๋„ ๋™์ž‘

์ทจ์†Œ์™€ ์žฌ์‹œ๋„๋Š” ๋‹จ์ˆœํ•ด ๋ณด์ด์ง€๋งŒ UI์™€ ์‹œ์Šคํ…œ์ด ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•˜๋ฉด ์‹ ๋ขฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ์žƒ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ž‘์—… ์œ ํ˜•์— ๋Œ€ํ•ด ์ทจ์†Œ๊ฐ€ ๋ฌด์Šจ ์˜๋ฏธ์ธ์ง€ ์ •์˜ํ•˜๊ณ  ์ธํ„ฐํŽ˜์ด์Šค์— ์ •์งํ•˜๊ฒŒ ๋ฐ˜์˜ํ•˜์„ธ์š”.

์ผ๋ฐ˜์ ์œผ๋กœ ๋‘ ๊ฐ€์ง€ ์œ ํšจํ•œ ์ทจ์†Œ ๋ชจ๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค:

  • "์ง€๊ธˆ ์ค‘๋‹จ": ์›Œ์ปค๊ฐ€ ์ทจ์†Œ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ž์ฃผ ํ™•์ธํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ์ข…๋ฃŒ
  • "์ด ๋‹จ๊ณ„ ์ดํ›„ ์ค‘๋‹จ": ํ˜„์žฌ ๋‹จ๊ณ„๋Š” ๋๋‚ด๊ณ  ๋‹ค์Œ ๋‹จ๊ณ„ ์‹œ์ž‘ ์ „์— ์ค‘๋‹จ

UI์—์„œ๋Š” "์ทจ์†Œ ์š”์ฒญ๋จ" ๊ฐ™์€ ์ค‘๊ฐ„ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค˜ ์‚ฌ์šฉ์ž๊ฐ€ ๊ณ„์† ๋ˆ„๋ฅด์ง€ ์•Š๊ฒŒ ํ•˜์„ธ์š”.

์ทจ์†Œ๋ฅผ ์•ˆ์ „ํ•˜๊ฒŒ ๋งŒ๋“ค๋ ค๋ฉด ์ž‘์—…์„ ๋ฐ˜๋ณต ์‹คํ–‰ ๊ฐ€๋Šฅํ•˜๊ฒŒ ์„ค๊ณ„ํ•˜์„ธ์š”. ์ž‘์—…์ด ๋ฐ์ดํ„ฐ๋ฅผ ์“ด๋‹ค๋ฉด ๋ฉฑ๋“ฑ(๋‘ ๋ฒˆ ์‹คํ–‰ํ•ด๋„ ์•ˆ์ „)ํ•œ ์ž‘์—…์„ ์„ ํ˜ธํ•˜๊ณ  ํ•„์š”ํ•œ ์ •๋ฆฌ๋ฅผ ํ•˜์„ธ์š”. ์˜ˆ: CSV ๊ฐ€์ ธ์˜ค๊ธฐ๊ฐ€ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ž‘์—… ์‹คํ–‰ ID๋ฅผ ์ €์žฅํ•ด run #123์—์„œ ๋ฌด์—‡์ด ๋ณ€๊ฒฝ๋˜์—ˆ๋Š”์ง€ ๊ฒ€ํ† ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์„ธ์š”.

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

์ทจ์†Œ์™€ ์žฌ์‹œ๋„๋ฅผ ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š” ๊ฐ€๋“œ๋ ˆ์ผ:

  • ์žฌ์‹œ๋„ ํšŸ์ˆ˜ ์ œํ•œ ๋ฐ ์นด์šดํŠธ ํ‘œ์‹œ
  • ์ž‘์—…์ด ์‹คํ–‰ ์ค‘์ผ ๋•Œ Retry ๋น„ํ™œ์„ฑํ™”
  • ์ด๋ฉ”์ผ, ๊ฒฐ์ œ, ๋‚ด๋ณด๋‚ด๊ธฐ ๋“ฑ ๋ถ€์ž‘์šฉ์ด ์ค‘๋ณต๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ํ™•์ธ ์š”์ฒญ
  • ์„ธ๋ถ€ ํŒจ๋„์— ๋งˆ์ง€๋ง‰ ์˜ค๋ฅ˜์™€ ๋งˆ์ง€๋ง‰ ์„ฑ๊ณต ๋‹จ๊ณ„ ํ‘œ์‹œ

๋‹จ๊ณ„๋ณ„: ํด๋ฆญ์—์„œ ์™„๋ฃŒ๊นŒ์ง€์˜ ์—”๋“œํˆฌ์—”๋“œ ํ๋ฆ„

์–ด๋””๋“  ๋ฐฐํฌ ๊ฐ€๋Šฅํ•œ ์ž‘์—… ์‹œ์Šคํ…œ
AppMaster Cloud์—์„œ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋‚ด ์ธํ”„๋ผ๋กœ ๋‚ด๋ณด๋‚ด์„ธ์š”.
์•ฑ ๋ฐฐํฌ

์ข‹์€ ์—”๋“œํˆฌ์—”๋“œ ํ๋ฆ„์˜ ๊ทœ์น™ ํ•˜๋‚˜: UI๋Š” ์ž‘์—… ์ž์ฒด๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ๋ง์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. UI๋Š” ์˜ค์ง ์ž‘์—… ID๋งŒ ๊ธฐ๋‹ค๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ๋ฆ„(์‚ฌ์šฉ์ž ํด๋ฆญ๋ถ€ํ„ฐ ์ตœ์ข… ์ƒํƒœ๊นŒ์ง€)

  1. ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋ฉด API๊ฐ€ ๋น ๋ฅด๊ฒŒ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ Import ๋˜๋Š” Generate report๋ฅผ ํด๋ฆญํ•˜๋ฉด ์„œ๋ฒ„๋Š” ์ฆ‰์‹œ ์ž‘์—… ๋ ˆ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๊ณ ์œ  ์ž‘์—… ID๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

  2. ์ž‘์—…์„ ํ์— ๋„ฃ๊ณ  ์ฒซ ์ƒํƒœ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—… ID๋ฅผ ํ์— ๋„ฃ๊ณ  ์ƒํƒœ๋ฅผ queued๋กœ, ์ง„ํ–‰ 0%๋กœ ์„ค์ •ํ•˜์„ธ์š”. ์›Œ์ปค๊ฐ€ ์žก๊ธฐ ์ „์—๋„ UI์— ๋ณด์—ฌ์ค„ ์‹ค์ฒด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  3. ์›Œ์ปค๊ฐ€ ์‹คํ–‰ํ•˜๊ณ  ์ง„ํ–‰์„ ๋ณด๊ณ ํ•ฉ๋‹ˆ๋‹ค. ์›Œ์ปค๊ฐ€ ์‹œ์ž‘๋˜๋ฉด ์ƒํƒœ๋ฅผ running์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์‹œ์ž‘ ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๋ฉฐ ์ž‘์€ ์ •์งํ•œ ์ฆ๊ฐ€ ๋‹จ์œ„๋กœ ์ง„ํ–‰์„ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”. ํผ์„ผํŠธ๋ฅผ ์ธก์ •ํ•  ์ˆ˜ ์—†์œผ๋ฉด Parsing, Validating, Saving ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ๋ณด์—ฌ์ฃผ์„ธ์š”.

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

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

์ทจ์†Œ ๋ฐ ์žฌ์‹œ๋„ ๊ทœ์น™

์ทจ์†Œ๋Š” ๋ช…์‹œ์ ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ์ทจ์†Œ ์š”์ฒญ์€ ์ทจ์†Œ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์›Œ์ปค๊ฐ€ ์ด๋ฅผ ํ™•์ธํ•ด canceled๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์žฌ์‹œ๋„๋Š” ์ƒˆ ์ž‘์—… ID๋ฅผ ์ƒ์„ฑํ•ด ์›๋ณธ์€ ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ธฐ๊ณ  ๋ฌด์—‡์ด ์žฌ์‹คํ–‰๋ ์ง€ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œ ์‹œ๋‚˜๋ฆฌ์˜ค: ์ง„ํ–‰๊ณผ ๋ถ€๋ถ„ ์‹คํŒจ๊ฐ€ ์žˆ๋Š” CSV ๊ฐ€์ ธ์˜ค๊ธฐ

์Šคํ”ผ๋„ˆ๊ฐ€ ์•„๋‹Œ ์™„์ „ํ•œ ์•ฑ ๊ตฌ์ถ•
๊ธด ์ž‘์—…์„ ์ค‘์‹ฌ์œผ๋กœ ๋ฐฑ์—”๋“œ, ์›น UI, ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋ฐ”์ผ ์•ฑ์„ ๋ชจ๋‘ ๋งŒ๋“œ์„ธ์š”.
์‹œ์ž‘ํ•˜๊ธฐ

๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…๊ณผ ์ง„ํ–‰ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ค‘์š”ํ•œ ํ”ํ•œ ์˜ˆ๋Š” CSV ๊ฐ€์ ธ์˜ค๊ธฐ์ž…๋‹ˆ๋‹ค. ํŒ๋งค ์šด์˜ ๋‹ด๋‹น์ž๊ฐ€ 8,420ํ–‰์ด ๋“ค์–ด ์žˆ๋Š” customers.csv๋ฅผ ์—…๋กœ๋“œํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์—…๋กœ๋“œ ์งํ›„ UI๋Š” "๋ฒ„ํŠผ์„ ๋ˆŒ๋ €์Œ"์—์„œ "์ž‘์—…์ด ์ƒ์„ฑ๋˜์—ˆ๊ณ  ๋– ๋‚˜๋„ ๋œ๋‹ค"๋กœ ์ „ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Imports ํŽ˜์ด์ง€์— ๊ฐ„๋‹จํ•œ ์ž‘์—… ์นด๋“œ๊ฐ€ ์ž˜ ๋งž์Šต๋‹ˆ๋‹ค:

  • ์—…๋กœ๋“œ ์ˆ˜์‹ : "ํŒŒ์ผ ์—…๋กœ๋“œ๋จ. ์—ด ๊ฒ€์ฆ ์ค‘..."
  • ๋Œ€๊ธฐ ์ค‘: "์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์›Œ์ปค๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค‘(์•ž์— 2๊ฐœ ์ž‘์—…)"
  • ์‹คํ–‰ ์ค‘: "๊ณ ๊ฐ ๊ฐ€์ ธ์˜ค๋Š” ์ค‘: 3,180 of 8,420 ์ฒ˜๋ฆฌ(38%)"
  • ๋งˆ๋ฌด๋ฆฌ: "๊ฒฐ๊ณผ ์ €์žฅ ๋ฐ ๋ณด๊ณ ์„œ ์ƒ์„ฑ ์ค‘..."

์‹คํ–‰ ์ค‘์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•˜๋‚˜์˜ ์ง„ํ–‰ ์ˆซ์ž(์ฒ˜๋ฆฌ๋œ ํ–‰ ์ˆ˜)์™€ ํ˜„์žฌ ์ˆ˜ํ–‰ ์ค‘์ธ ์งง์€ ์ƒํƒœ ๋ผ์ธ์„ ๋ณด์—ฌ์ฃผ์„ธ์š”. ์‚ฌ์šฉ์ž๊ฐ€ ๋– ๋‚˜๋ฉด Recent jobs ์˜์—ญ์—์„œ ์ž‘์—…์„ ๊ณ„์† ๋ณผ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์„ธ์š”.

์ด์ œ ๋ถ€๋ถ„ ์‹คํŒจ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์—…์ด ์™„๋ฃŒ๋  ๋•Œ ๋Œ€๋ถ€๋ถ„์˜ ํ–‰์ด ์ •์ƒ์ด๋ผ๋ฉด ๊ฒ๋‚˜๋Š” Failed ๋ฐฐ๋„ˆ๋ฅผ ํ”ผํ•˜์„ธ์š”. ๋Œ€์‹  Finished with issues์™€ ๋ช…ํ™•ํ•œ ๋ถ„๋ฆฌ ๋ฌธ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”:

Imported 8,102 customers. Skipped 318 rows.

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

์žฌ์‹œ๋„๋Š” ์•ˆ์ „ํ•˜๊ณ  ๊ตฌ์ฒด์ ์œผ๋กœ ๋А๊ปด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์•ก์…˜์€ "์‹คํŒจํ•œ ํ–‰๋งŒ ์žฌ์‹œ๋„"๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ CSV๋ฅผ ์ˆ˜์ •ํ•œ ๋’ค 318๊ฐœ ๊ฑด๋งŒ ์žฌ์ฒ˜๋ฆฌํ•˜๋Š” ์ƒˆ ์ž‘์—…์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ์›๋ณธ ์ž‘์—…์€ ์ฝ๊ธฐ ์ „์šฉ์œผ๋กœ ๋‚จ๊ฒจ ๊ธฐ๋ก์ด ์ง„์‹ค๋˜๊ฒŒ ์œ ์ง€๋˜๋„๋ก ํ•˜์„ธ์š”.

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

ํ˜ผ๋ž€์Šค๋Ÿฌ์šด ์ง„ํ–‰๊ณผ ์žฌ์‹œ๋„๋กœ ์ด์–ด์ง€๋Š” ํ”ํ•œ ์‹ค์ˆ˜

์‹ ๋ขฐ๋ฅผ ๊ฐ€์žฅ ๋นจ๋ฆฌ ์žƒ๋Š” ๋ฐฉ๋ฒ•์€ ์‹ค์ œ์™€ ๋งž์ง€ ์•Š๋Š” ์ˆซ์ž๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 2๋ถ„ ๋™์•ˆ 0%์— ๋จธ๋ฌผ๋‹ค๊ฐ€ 90%๋กœ ๋›ฐ๋Š” ์ง„ํ–‰ ๋ฐ”๋Š” ์ถ”์ธก์ฒ˜๋Ÿผ ๋А๊ปด์ง‘๋‹ˆ๋‹ค. ์ง„์งœ ํผ์„ผํŠธ๋ฅผ ๋ชจ๋ฅด๋ฉด ๋‹จ๊ณ„(Queued, Processing, Finalizing) ๋˜๋Š” "X of Y items processed"๋ฅผ ๋ณด์—ฌ์ฃผ์„ธ์š”.

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

์žฌ์‹œ๋„ UX๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐ™์€ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋„ ๋ง๊ฐ€์ง‘๋‹ˆ๋‹ค. Import CSV ๋ฒ„ํŠผ์ด ๊ณ„์† ํ™œ์„ฑํ™”๋˜์–ด ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๋‘ ๋ฒˆ ํด๋ฆญํ•˜๋ฉด ์ค‘๋ณต์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์–ด๋–ค ์‹คํ–‰์„ ์ˆ˜์ •ํ•ด์•ผ ํ• ์ง€ ๋ถˆ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฐ˜๋ณต๋˜๋Š” ์‹ค์ˆ˜๋“ค:

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

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

์‚ฌ์šฉ์ž์—๊ฒŒ ์ž‘์—…์„ ๊ณต๊ฐœํ•˜๊ธฐ ์ „์— ์ฒดํฌ๋ฆฌ์ŠคํŠธ

์ •์งํ•œ ์ง„ํ–‰ ์—…๋ฐ์ดํŠธ ์„ค๊ณ„
์›น๊ณผ ๋ชจ๋ฐ”์ผ์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ €์žฅํ•˜๊ณ  ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋Š” ํผ์„ผํŠธ ๋˜๋Š” ๋‹จ๊ณ„ ์ƒํƒœ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”.
AppMaster ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

๋ฐฐํฌ ์ „ ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆˆ์น˜์ฑ„๋Š” ๋ถ€๋ถ„์— ๋Œ€ํ•ด ๋น ๋ฅด๊ฒŒ ์ ๊ฒ€ํ•˜์„ธ์š”: ๋ช…ํ™•์„ฑ, ์‹ ๋ขฐ, ๋ณต๊ตฌ.

๋ชจ๋“  ์ž‘์—…์€ ์–ด๋””์„œ๋“  ๋ณด์—ฌ์ค„ ์ˆ˜ ์žˆ๋Š” ์Šค๋ƒ…์ƒท์„ ๋…ธ์ถœํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค: ์ƒํƒœ(queued, running, succeeded, failed, canceled), ์ง„ํ–‰(0-100 ๋˜๋Š” ๋‹จ๊ณ„), ์งง์€ ๋ฉ”์‹œ์ง€, ํƒ€์ž„์Šคํƒฌํ”„(created, started, finished), ๊ฒฐ๊ณผ ํฌ์ธํ„ฐ(์ถœ๋ ฅ์ด๋‚˜ ๋ณด๊ณ ์„œ ์œ„์น˜).

UI ์ƒํƒœ๋ฅผ ๋ถ„๋ช…ํ•˜๊ณ  ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“œ์„ธ์š”. ์‚ฌ์šฉ์ž๋Š” ํ˜„์žฌ ๋ฐ ๊ณผ๊ฑฐ ์ž‘์—…์„ ์ฐพ์„ ์ˆ˜ ์žˆ๋Š” ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ํ•œ ๊ณณ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Recent jobs ํŒจ๋„์€ ๋ฐ˜๋ณต ํด๋ฆญ๊ณผ ์ค‘๋ณต ์ž‘์—…์„ ์˜ˆ๋ฐฉํ•ด ์ค๋‹ˆ๋‹ค.

์ทจ์†Œ์™€ ์žฌ์‹œ๋„ ๊ทœ์น™์„ ํ‰์ดํ•œ ์–ธ์–ด๋กœ ์ •์˜ํ•˜์„ธ์š”. ๊ฐ ์ž‘์—… ์œ ํ˜•์— ๋Œ€ํ•ด ์ทจ์†Œ๊ฐ€ ๋ฌด์—‡์„ ์˜๋ฏธํ•˜๋Š”์ง€, ์žฌ์‹œ๋„๊ฐ€ ํ—ˆ์šฉ๋˜๋Š”์ง€, ๋ฌด์—‡์„ ์žฌ์‚ฌ์šฉํ•˜๋Š”์ง€(๊ฐ™์€ ์ž…๋ ฅ ๋˜๋Š” ์ƒˆ ์ž‘์—… ID) ๊ฒฐ์ •ํ•˜์„ธ์š”. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ทจ์†Œ ์ง์ „ ๊ฐ™์€ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ํ…Œ์ŠคํŠธํ•˜์„ธ์š”.

๋ถ€๋ถ„ ์‹คํŒจ๋ฅผ ์ง„์งœ ๊ฒฐ๊ณผ๋กœ ์ทจ๊ธ‰ํ•˜์„ธ์š”. "97๊ฐœ ๊ฐ€์ ธ์˜ด, 3๊ฐœ ๊ฑด๋„ˆ๋œ€" ๊ฐ™์€ ์งง์€ ์š”์•ฝ์„ ์ œ๊ณตํ•˜๊ณ  ์‚ฌ์šฉ์ž๊ฐ€ ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ์น˜ ๊ฐ€๋Šฅํ•œ ๋ณด๊ณ ์„œ๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”.

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

๋‹ค์Œ ๋‹จ๊ณ„: ํ•˜๋‚˜์˜ ์›Œํฌํ”Œ๋กœ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ํ™•์žฅํ•˜์„ธ์š”

์‚ฌ์šฉ์ž ๋ถˆ๋งŒ์ด ์ด๋ฏธ ์žˆ๋Š” ์›Œํฌํ”Œ๋กœ ํ•˜๋‚˜๋ฅผ ๊ณ ๋ฅด์„ธ์š”: CSV ๊ฐ€์ ธ์˜ค๊ธฐ, ๋ณด๊ณ ์„œ ๋‚ด๋ณด๋‚ด๊ธฐ, ๋Œ€๋Ÿ‰ ์ด๋ฉ”์ผ ์ „์†ก, ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ๋“ฑ. ์ž‘๊ฒŒ ์‹œ์ž‘ํ•ด ๊ธฐ๋ณธ์„ ์ฆ๋ช…ํ•˜์„ธ์š”: ์ž‘์—…์ด ์ƒ์„ฑ๋˜๊ณ , ์‹คํ–‰๋˜๊ณ , ์ƒํƒœ๋ฅผ ๋ณด๊ณ ํ•˜๊ณ , ์‚ฌ์šฉ์ž๊ฐ€ ๋‚˜์ค‘์— ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์„ธ์š”.

๊ฐ„๋‹จํ•œ ์ž‘์—… ๊ธฐ๋ก ํ™”๋ฉด์ด ๊ฐ€์žฅ ํฐ ํ’ˆ์งˆ ํ–ฅ์ƒ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ์Šคํ”ผ๋„ˆ๋ฅผ ๋ฐ”๋ผ๋ณด์ง€ ์•Š๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋‹ค์‹œ ์ฐพ์„ ์žฅ์†Œ๊ฐ€ ์ƒ๊น๋‹ˆ๋‹ค.

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

์žฌ์ž‘์„ฑ ์—†์ด ์‹ค์šฉ์ ์œผ๋กœ ๋นŒ๋“œํ•˜๋Š” ์ˆœ์„œ:

  • ๋จผ์ € ์ž‘์—… ์ƒํƒœ์™€ ์ „ํ™˜ ๊ตฌํ˜„(queued, running, succeeded, failed, finished-with-errors)
  • ๊ธฐ๋ณธ ํ•„ํ„ฐ(์ง€๋‚œ 24์‹œ๊ฐ„, ๋‚ด ์ž‘์—…๋งŒ)๋กœ ์ž‘์—… ๊ธฐ๋ก ํ™”๋ฉด ์ถ”๊ฐ€
  • ์ •์งํ•˜๊ฒŒ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋งŒ ์ง„ํ–‰ ์ˆซ์ž ์ถ”๊ฐ€
  • ์ผ๊ด€๋œ ์ •๋ฆฌ ๋ณด์žฅ์ด ๊ฐ€๋Šฅํ•ด์ง„ ํ›„์—๋งŒ ์ทจ์†Œ ์ถ”๊ฐ€
  • ์ž‘์—…์ด ๋ฉฑ๋“ฑํ•˜๋‹ค๊ณ  ํ™•์‹ ํ•  ๋•Œ๋งŒ ์žฌ์‹œ๋„ ์ถ”๊ฐ€

์ฝ”๋“œ๋ฅผ ์“ฐ์ง€ ์•Š๊ณ  ์ด ์ž‘์—…์„ ๋นŒ๋“œํ•œ๋‹ค๋ฉด AppMaster ๊ฐ™์€ ๋…ธ์ฝ”๋“œ ํ”Œ๋žซํผ์ด ์ž‘์—… ์ƒํƒœ ํ…Œ์ด๋ธ”(PostgreSQL)์„ ๋ชจ๋ธ๋งํ•˜๊ณ  ์›Œํฌํ”Œ๋กœ์—์„œ ์ด๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ๋’ค ์›น/๋ชจ๋ฐ”์ผ UI์— ํ•ด๋‹น ์ƒํƒœ๋ฅผ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ, UI, ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋กœ์ง์„ ํ•œ ๊ณณ์—์„œ ๊ตฌ์ถ•ํ•˜๋ ค๋Š” ํŒ€์—๋Š” AppMaster (appmaster.io)๊ฐ€ ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์„ค๊ณ„์ž…๋‹ˆ๋‹ค.

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

๋А๋ฆฐ ์š”์ฒญ๊ณผ ์‹ค์ œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…์˜ ์ฐจ์ด๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

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

์‚ฌ์šฉ์ž์—๊ฒŒ ์–ด๋–ค ์ž‘์—… ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ค˜์•ผ ํ•˜๋‚˜์š”?

๋‹จ์ˆœํ•˜๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”: queued, running, done, failed(์ทจ์†Œ๋ฅผ ์ง€์›ํ•˜๋ฉด canceled ์ถ”๊ฐ€). ๋Œ€๋ถ€๋ถ„ ์ž‘์—…์ด ์„ฑ๊ณตํ–ˆ์ง€๋งŒ ์ผ๋ถ€ ํ•ญ๋ชฉ์ด ์‹คํŒจํ•œ ๊ฒฝ์šฐ์—๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ๋“  ๊ฒƒ์ด ์‚ฌ๋ผ์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๋„๋ก โ€œdone with issues(๋ฌธ์ œ ์žˆ์Œ)โ€ ๊ฐ™์€ ๋ณ„๋„์˜ ๊ฒฐ๊ณผ ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.

ํŽ˜์ด์ง€ ์ƒˆ๋กœ๊ณ ์นจ ์‹œ ์ž‘์—…์„ ์žƒ์ง€ ์•Š์œผ๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

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

์ž‘์—… ์ง„ํ–‰์€ ์–ด๋””์— ์ €์žฅํ•ด์•ผ ์ถฉ๋Œ๊ณผ ์žฌ์‹œ์ž‘์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๋‚˜์š”?

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

ํผ์„ผํŠธ ์ง„ํ–‰๊ณผ ๋‹จ๊ณ„ ๊ธฐ๋ฐ˜ ์ง„ํ–‰ ์ค‘ ์–ธ์ œ ๋ฌด์—‡์„ ์จ์•ผ ํ•˜๋‚˜์š”?

์ •์งํ•˜๊ฒŒ โ€œX ์ค‘ Yโ€๋ฅผ ๋ณด๊ณ ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ๋งŒ ํผ์„ผํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์‹ค์ธก ๋ถ„๋ชจ๊ฐ€ ์—†์œผ๋ฉด Validating, Importing, Finalizing ๊ฐ™์€ ๋‹จ๊ณ„ ๊ธฐ๋ฐ˜ ์ง„ํ–‰์„ ๋ณด์—ฌ์ฃผ๊ณ  ๋ฉ”์‹œ์ง€๋ฅผ ์ž์ฃผ ๊ฐฑ์‹ ํ•ด ์‚ฌ์šฉ์ž๊ฐ€ ์ „์ง„์„ ๋А๋ผ๊ฒŒ ํ•˜์„ธ์š”.

UI์—์„œ ์ง„ํ–‰ ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด ํด๋ง์„ ์จ์•ผ ํ•˜๋‚˜์š”, ํ‘ธ์‹œ๋ฅผ ์จ์•ผ ํ•˜๋‚˜์š”?

ํด๋ง์ด ๊ฐ€์žฅ ๋‹จ์ˆœํ•˜๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ์•ฑ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ณ  ์žˆ์„ ๋•Œ๋Š” 2โ€“5์ดˆ ๊ฐ„๊ฒฉ์œผ๋กœ ์‹œ์ž‘ํ•˜๊ณ  ์ž‘์—…์ด ๊ธธ์–ด์ง€๋ฉด ๊ฐ„๊ฒฉ์„ ๋Š˜๋ฆฌ์„ธ์š”. ํ‘ธ์‹œ๋Š” ๋” ์ฆ‰๊ฐ์ ์ด์ง€๋งŒ ์—ฐ๊ฒฐ์ด ๋Š๊ธธ ๋•Œ ๋Œ€์ฒด ์ˆ˜๋‹จ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ณดํ†ต ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ ‘๊ทผ(์ดˆ๊ธฐ ๋น ๋ฅธ ํด๋ง โ†’ ๋А๋ฆฐ ํด๋ง + ํ‘ธ์‹œ ๋ฐฑ์—…)์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค.

์ง„ํ–‰์ด ๋ฉˆ์ถ”๋ฉด UI๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

์—…๋ฐ์ดํŠธ๊ฐ€ ๋ฉˆ์ถ”๋ฉด ๊ฐ€์งœ๋กœ ํ™œ์„ฑ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ๋ง๊ณ  โ€œ๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ 2๋ถ„ ์ „โ€์ฒ˜๋Ÿผ ์˜ค๋ž˜๋œ ์ƒํƒœ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ์ˆ˜๋™ ์ƒˆ๋กœ๊ณ ์นจ์„ ์ œ์•ˆํ•˜์„ธ์š”. ๋ฐฑ์—”๋“œ์—์„œ๋Š” ํ•˜ํŠธ๋น„ํŠธ๊ฐ€ ์—†์œผ๋ฉด ์ž‘์—…์„ stale๋กœ ํ‘œ์‹œํ•ด ์žฌ์‹œ๋„ ๋˜๋Š” ์ง€์›์— ๋ฌธ์˜ํ•˜๋ผ๋Š” ์•ˆ๋‚ด๋กœ ์˜ฎ๊ธฐ์„ธ์š”.

์žฅ์‹œ๊ฐ„ ์ž‘์—… ์ง„ํ–‰์€ UI ์–ด๋””์— ๋ณด์—ฌ์ค˜์•ผ ํ•˜๋‚˜์š”?

๋‹ค์Œ ํ–‰๋™์„ ๋ถ„๋ช…ํžˆ ํ•˜์„ธ์š”: ์‚ฌ์šฉ์ž๊ฐ€ ๊ณ„์† ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š”์ง€, ํŽ˜์ด์ง€๋ฅผ ๋– ๋‚˜๋„ ๋˜๋Š”์ง€, ์•ˆ์ „ํ•˜๊ฒŒ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ๋Š”์ง€. 1๋ถ„ ์ด์ƒ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์—๋Š” ๋ณ„๋„์˜ Jobs ๋˜๋Š” Activity ๋ทฐ๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉ์ž๊ฐ€ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜์ค‘์— ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•˜์„ธ์š”.

์‚ฌ์šฉ์ž๋ฅผ ๋†€๋ผ๊ฒŒ ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ โ€œ์™„๋ฃŒ๋˜์—ˆ์ง€๋งŒ ์˜ค๋ฅ˜ ์žˆ์Œโ€์„ ์–ด๋–ป๊ฒŒ ๋ณด๊ณ ํ•˜๋‚˜์š”?

๋ถ€๋ถ„ ์‹คํŒจ๋ฅผ ์ผ๊ธ‰ ๊ฒฐ๊ณผ๋กœ ์ทจ๊ธ‰ํ•˜๊ณ  ์–‘์ธก ๋ชจ๋‘ ํ‘œ์‹œํ•˜์„ธ์š”: ์˜ˆ: โ€œ9,380 of 9,500์ด ๊ฐ€์ ธ์™€์กŒ์Šต๋‹ˆ๋‹ค. 120๊ฐœ ์‹คํŒจ.โ€ ๊ทธ๋Ÿฐ ๋‹ค์Œ ์‚ฌ์šฉ์ž๊ฐ€ ์ฆ‰์‹œ ์กฐ์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์˜ค๋ฅ˜ ์š”์•ฝ์„ ์ œ๊ณตํ•˜๊ณ  ๊ธฐ์ˆ ์  ์„ธ๋ถ€์‚ฌํ•ญ์€ ๋‚ด๋ถ€ ๋กœ๊ทธ์— ๋ณด๊ด€ํ•˜์„ธ์š”.

์ค‘๋ณต์ด๋‚˜ ํ˜ผ๋ž€ ์—†์ด ์ทจ์†Œ์™€ ์žฌ์‹œ๋„๋ฅผ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

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

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

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

์‹œ์ž‘ํ•˜๋‹ค
์ง„ํ–‰ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—…: ํšจ๊ณผ์ ์ธ UI ํŒจํ„ด | AppMaster