์งํ ์ ๋ฐ์ดํธ๊ฐ ์๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ : ํจ๊ณผ์ ์ธ 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๋ ๋ณดํต ์ํ ๋ผ๋ฒจ(๋ง์ง๋ง ์ ๋ฐ์ดํธ ์๊ฐ ํฌํจ), ์งํ ๋ฐ(๋๋ ๋จ๊ณ), ํ ์ค ์์ฝ, ์์ ํ ์ทจ์ ๋์, ์์ฝ ๋ฐ ๋ค์ ํ๋์ ํฌํจํฉ๋๋ค. ์๋ฃ๋ ์์ ์ ์ฝ๊ฒ ์ฐพ์ ์ ์๊ฒ ์ ์งํ์ธ์.
"์ค๋ฅ์ ํจ๊ป ์๋ฃ"๋ฅผ ์ฌ์ฉ์ ํผ๋ ์์ด ๋ณด๊ณ ํ๊ธฐ
"์๋ฃ"๊ฐ ํญ์ ์ฑ๊ณต์ ์๋ฏธํ์ง๋ ์์ต๋๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ด 9,500๊ฑด์ ์ฒ๋ฆฌํด 120๊ฑด์ด ์คํจํ ๊ฒฝ์ฐ ์ฌ์ฉ์๋ ๋ก๊ทธ๋ฅผ ๋ณด์ง ์๊ณ ๋ ๋ฌด์จ ์ผ์ด ์ผ์ด๋ฌ๋์ง ์์์ผ ํฉ๋๋ค.
๋ถ๋ถ ์ฑ๊ณต์ ์ผ๊ธ ๊ฒฐ๊ณผ๋ก ์ฒ๋ฆฌํ์ธ์. ๋ฉ์ธ ์ํ ๋ผ์ธ์์ ์์ชฝ์ ๋ชจ๋ ๋ณด์ฌ์ฃผ์ธ์: "Imported 9,380 of 9,500. 120 failed." ์ด๋ ๊ฒ ํ๋ฉด ์์คํ ์ด ์ ์งํ๊ฒ ๋ณด์ด๊ณ ์์ ์ด ์ ์ฅ๋์๋ค๋ ๊ฒ์ ํ์ธ์์ผ ์ค๋๋ค.
๊ทธ๋ค์ ์ฌ์ฉ์์๊ฒ ์กฐ์น ๊ฐ๋ฅํ ์์ ์ค๋ฅ ์์ฝ์ ๋ณด์ฌ์ฃผ์ธ์: "ํ์ ํ๋ ๋๋ฝ(63)", "๋ ์ง ํ์ ์ค๋ฅ(41)" ๋ฑ. ์ต์ข ์ํ์์ "Completed with issues"๋ "Failed"๋ณด๋ค ๋ ๋ช ํํ ๋๊ฐ ๋ง์ต๋๋ค. ์คํจ๊ฐ ์ ์ฒด ์คํจ๋ฅผ ์๋ฏธํ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ด๋ณด๋ผ ์ ์๋ ์ค๋ฅ ๋ณด๊ณ ์๋ ํผ๋์ ํ ์ผ ๋ชฉ๋ก์ผ๋ก ๋ฐ๊ฟ๋๋ค. ๊ฐ๋จํ๊ฒ ์ ์งํ์ธ์: ํ ๋๋ ํญ๋ชฉ ์๋ณ์, ์ค๋ฅ ๋ฒ์ฃผ, ์ฌ๋์ด ์ฝ์ ์ ์๋ ๋ฉ์์ง, ๊ด๋ จ ํ๋ ์ด๋ฆ.
๋ค์ ํ๋์ ์์ฝ ๊ทผ์ฒ์ ๋ช ํํ ๋์ธ์: ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ ์คํจํ ํญ๋ชฉ๋ง ์ฌ์๋, ์ค๋ฅ ๋ณด๊ณ ์ ๋ค์ด๋ก๋, ์์คํ ๋ฌธ์ ๊ฐ์ผ๋ฉด ์ง์์ ์ฐ๋ฝ.
์ฌ์ฉ์๊ฐ ์ ๋ขฐํ ์ ์๋ ์ทจ์์ ์ฌ์๋ ๋์
์ทจ์์ ์ฌ์๋๋ ๋จ์ํด ๋ณด์ด์ง๋ง UI์ ์์คํ ์ด ๋ค๋ฅด๊ฒ ๋์ํ๋ฉด ์ ๋ขฐ๋ฅผ ๋น ๋ฅด๊ฒ ์์ต๋๋ค. ๊ฐ ์์ ์ ํ์ ๋ํด ์ทจ์๊ฐ ๋ฌด์จ ์๋ฏธ์ธ์ง ์ ์ํ๊ณ ์ธํฐํ์ด์ค์ ์ ์งํ๊ฒ ๋ฐ์ํ์ธ์.
์ผ๋ฐ์ ์ผ๋ก ๋ ๊ฐ์ง ์ ํจํ ์ทจ์ ๋ชจ๋๊ฐ ์์ต๋๋ค:
- "์ง๊ธ ์ค๋จ": ์์ปค๊ฐ ์ทจ์ ํ๋๊ทธ๋ฅผ ์์ฃผ ํ์ธํ๊ณ ๋น ๋ฅด๊ฒ ์ข ๋ฃ
- "์ด ๋จ๊ณ ์ดํ ์ค๋จ": ํ์ฌ ๋จ๊ณ๋ ๋๋ด๊ณ ๋ค์ ๋จ๊ณ ์์ ์ ์ ์ค๋จ
UI์์๋ "์ทจ์ ์์ฒญ๋จ" ๊ฐ์ ์ค๊ฐ ์ํ๋ฅผ ๋ณด์ฌ์ค ์ฌ์ฉ์๊ฐ ๊ณ์ ๋๋ฅด์ง ์๊ฒ ํ์ธ์.
์ทจ์๋ฅผ ์์ ํ๊ฒ ๋ง๋ค๋ ค๋ฉด ์์ ์ ๋ฐ๋ณต ์คํ ๊ฐ๋ฅํ๊ฒ ์ค๊ณํ์ธ์. ์์ ์ด ๋ฐ์ดํฐ๋ฅผ ์ด๋ค๋ฉด ๋ฉฑ๋ฑ(๋ ๋ฒ ์คํํด๋ ์์ )ํ ์์ ์ ์ ํธํ๊ณ ํ์ํ ์ ๋ฆฌ๋ฅผ ํ์ธ์. ์: CSV ๊ฐ์ ธ์ค๊ธฐ๊ฐ ๋ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ์์ ์คํ ID๋ฅผ ์ ์ฅํด run #123์์ ๋ฌด์์ด ๋ณ๊ฒฝ๋์๋์ง ๊ฒํ ํ ์ ์๊ฒ ํ์ธ์.
์ฌ์๋๋ ๋์ผํ ๋ช ํ์ฑ์ด ํ์ํฉ๋๋ค. ๊ฐ์ ์์ ์ธ์คํด์ค๋ฅผ ์ฌ๊ฐํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ผ ๋๊ฐ ์๊ณ , ์ ํ์์คํฌํ์ ๊ฐ์ฌ ์ถ์ ์ด ์๋ ์ ์์ ์ธ์คํด์ค๋ฅผ ๋ง๋๋ ๊ฒ์ด ๋ ์์ ํ ๋๊ฐ ์์ต๋๋ค. ์ด๋ค ๋ฐฉ์์ด๋ ๋ฌด์์ด ์ฌ์คํ๋๊ณ ๋ฌด์์ด ์ฌ์คํ๋์ง ์๋์ง ์ค๋ช ํ์ธ์.
์ทจ์์ ์ฌ์๋๋ฅผ ์์ธก ๊ฐ๋ฅํ๊ฒ ์ ์งํ๋ ๊ฐ๋๋ ์ผ:
- ์ฌ์๋ ํ์ ์ ํ ๋ฐ ์นด์ดํธ ํ์
- ์์ ์ด ์คํ ์ค์ผ ๋ Retry ๋นํ์ฑํ
- ์ด๋ฉ์ผ, ๊ฒฐ์ , ๋ด๋ณด๋ด๊ธฐ ๋ฑ ๋ถ์์ฉ์ด ์ค๋ณต๋ ์ ์๋ ๊ฒฝ์ฐ ํ์ธ ์์ฒญ
- ์ธ๋ถ ํจ๋์ ๋ง์ง๋ง ์ค๋ฅ์ ๋ง์ง๋ง ์ฑ๊ณต ๋จ๊ณ ํ์
๋จ๊ณ๋ณ: ํด๋ฆญ์์ ์๋ฃ๊น์ง์ ์๋ํฌ์๋ ํ๋ฆ
์ข์ ์๋ํฌ์๋ ํ๋ฆ์ ๊ท์น ํ๋: UI๋ ์์ ์์ฒด๋ฅผ ๊ธฐ๋ค๋ฆฌ์ง ๋ง์์ผ ํฉ๋๋ค. UI๋ ์ค์ง ์์ ID๋ง ๊ธฐ๋ค๋ ค์ผ ํฉ๋๋ค.
ํ๋ฆ(์ฌ์ฉ์ ํด๋ฆญ๋ถํฐ ์ต์ข ์ํ๊น์ง)
-
์ฌ์ฉ์๊ฐ ์์ ์ ์์ํ๋ฉด API๊ฐ ๋น ๋ฅด๊ฒ ์๋ตํฉ๋๋ค. ์ฌ์ฉ์๊ฐ Import ๋๋ Generate report๋ฅผ ํด๋ฆญํ๋ฉด ์๋ฒ๋ ์ฆ์ ์์ ๋ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๊ณ ์ ์์ ID๋ฅผ ๋ฐํํฉ๋๋ค.
-
์์ ์ ํ์ ๋ฃ๊ณ ์ฒซ ์ํ๋ฅผ ์ค์ ํฉ๋๋ค. ์์ ID๋ฅผ ํ์ ๋ฃ๊ณ ์ํ๋ฅผ queued๋ก, ์งํ 0%๋ก ์ค์ ํ์ธ์. ์์ปค๊ฐ ์ก๊ธฐ ์ ์๋ UI์ ๋ณด์ฌ์ค ์ค์ฒด๋ฅผ ์ ๊ณตํฉ๋๋ค.
-
์์ปค๊ฐ ์คํํ๊ณ ์งํ์ ๋ณด๊ณ ํฉ๋๋ค. ์์ปค๊ฐ ์์๋๋ฉด ์ํ๋ฅผ running์ผ๋ก ์ค์ ํ๊ณ ์์ ์๊ฐ์ ์ ์ฅํ๋ฉฐ ์์ ์ ์งํ ์ฆ๊ฐ ๋จ์๋ก ์งํ์ ์ ๋ฐ์ดํธํ์ธ์. ํผ์ผํธ๋ฅผ ์ธก์ ํ ์ ์์ผ๋ฉด Parsing, Validating, Saving ๊ฐ์ ๋จ๊ณ๋ฅผ ๋ณด์ฌ์ฃผ์ธ์.
-
UI๋ ์ฌ์ฉ์์ ๋ฐฉํฅ ๊ฐ๊ฐ์ ์ ์งํฉ๋๋ค. UI๋ ํด๋งํ๊ฑฐ๋ ๊ตฌ๋ ํ๊ณ ๋ช ํํ ์ํ๋ฅผ ๋ ๋๋งํฉ๋๋ค. ํ์ฌ ์ํฉ์ ์งง๊ฒ ์ค๋ช ํ๊ณ ์ง๊ธ ํ์ฉ๋๋ ๋์๋ง ํ์ํ์ธ์.
-
๋ด๊ตฌ์ฑ ์๋ ๊ฒฐ๊ณผ๋ก ๋ง๋ฌด๋ฆฌํฉ๋๋ค. ์๋ฃ ์ ์ข ๋ฃ ์๊ฐ, ์ถ๋ ฅ(๋ค์ด๋ก๋ ์ฐธ์กฐ, ์์ฑ๋ ID, ์์ฝ ์นด์ดํธ), ์ค๋ฅ ์ธ๋ถ๋ฅผ ์ ์ฅํ์ธ์. ์ค๋ฅ์ ํจ๊ป ์๋ฃ๋ ๊ฒฝ์ฐ๋ฅผ ๋ณ๋์ ๊ฒฐ๊ณผ๋ก ์ง์ํ์ธ์.
์ทจ์ ๋ฐ ์ฌ์๋ ๊ท์น
์ทจ์๋ ๋ช ์์ ์ด์ด์ผ ํฉ๋๋ค: ์ทจ์ ์์ฒญ์ ์ทจ์๋ฅผ ์์ฒญํ๊ณ ์์ปค๊ฐ ์ด๋ฅผ ํ์ธํด canceled๋ก ํ์ํฉ๋๋ค. ์ฌ์๋๋ ์ ์์ ID๋ฅผ ์์ฑํด ์๋ณธ์ ๊ธฐ๋ก์ผ๋ก ๋จ๊ธฐ๊ณ ๋ฌด์์ด ์ฌ์คํ๋ ์ง ์ค๋ช ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์์ ์๋๋ฆฌ์ค: ์งํ๊ณผ ๋ถ๋ถ ์คํจ๊ฐ ์๋ CSV ๊ฐ์ ธ์ค๊ธฐ
๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ๊ณผ ์งํ ์ ๋ฐ์ดํธ๊ฐ ์ค์ํ ํํ ์๋ 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ํ์ด ๊ฒ์ฆ ์คํจ" ๊ฐ์ ๊ฐ๋จํ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ณ ๊ธฐ์ ์ ์ถ์ ์ ๋ก๊ทธ์ ๋ณด๊ดํ์ธ์.
์ฌ์ฉ์์๊ฒ ์์ ์ ๊ณต๊ฐํ๊ธฐ ์ ์ ์ฒดํฌ๋ฆฌ์คํธ
๋ฐฐํฌ ์ ์ฌ์ฉ์๊ฐ ๋์น์ฑ๋ ๋ถ๋ถ์ ๋ํด ๋น ๋ฅด๊ฒ ์ ๊ฒํ์ธ์: ๋ช ํ์ฑ, ์ ๋ขฐ, ๋ณต๊ตฌ.
๋ชจ๋ ์์ ์ ์ด๋์๋ ๋ณด์ฌ์ค ์ ์๋ ์ค๋ ์ท์ ๋ ธ์ถํด์ผ ํฉ๋๋ค: ์ํ(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 ๊ฐ์ ๋จ๊ณ ๊ธฐ๋ฐ ์งํ์ ๋ณด์ฌ์ฃผ๊ณ ๋ฉ์์ง๋ฅผ ์์ฃผ ๊ฐฑ์ ํด ์ฌ์ฉ์๊ฐ ์ ์ง์ ๋๋ผ๊ฒ ํ์ธ์.
ํด๋ง์ด ๊ฐ์ฅ ๋จ์ํ๋ฉฐ ๋๋ถ๋ถ์ ์ฑ์ ์ถฉ๋ถํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ณด๊ณ ์์ ๋๋ 2โ5์ด ๊ฐ๊ฒฉ์ผ๋ก ์์ํ๊ณ ์์ ์ด ๊ธธ์ด์ง๋ฉด ๊ฐ๊ฒฉ์ ๋๋ฆฌ์ธ์. ํธ์๋ ๋ ์ฆ๊ฐ์ ์ด์ง๋ง ์ฐ๊ฒฐ์ด ๋๊ธธ ๋ ๋์ฒด ์๋จ์ด ํ์ํฉ๋๋ค. ๋ณดํต ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ(์ด๊ธฐ ๋น ๋ฅธ ํด๋ง โ ๋๋ฆฐ ํด๋ง + ํธ์ ๋ฐฑ์ )์ด ๊ฐ์ฅ ์ข์ต๋๋ค.
์ ๋ฐ์ดํธ๊ฐ ๋ฉ์ถ๋ฉด ๊ฐ์ง๋ก ํ์ฑ ์ํ๋ฅผ ์ ์งํ์ง ๋ง๊ณ โ๋ง์ง๋ง ์ ๋ฐ์ดํธ 2๋ถ ์ โ์ฒ๋ผ ์ค๋๋ ์ํ๋ฅผ ํ์ํ๊ณ ์๋ ์๋ก๊ณ ์นจ์ ์ ์ํ์ธ์. ๋ฐฑ์๋์์๋ ํํธ๋นํธ๊ฐ ์์ผ๋ฉด ์์ ์ stale๋ก ํ์ํด ์ฌ์๋ ๋๋ ์ง์์ ๋ฌธ์ํ๋ผ๋ ์๋ด๋ก ์ฎ๊ธฐ์ธ์.
๋ค์ ํ๋์ ๋ถ๋ช ํ ํ์ธ์: ์ฌ์ฉ์๊ฐ ๊ณ์ ์์ ํ ์ ์๋์ง, ํ์ด์ง๋ฅผ ๋ ๋๋ ๋๋์ง, ์์ ํ๊ฒ ์ทจ์ํ ์ ์๋์ง. 1๋ถ ์ด์ ๊ฑธ๋ฆฌ๋ ์์ ์๋ ๋ณ๋์ Jobs ๋๋ Activity ๋ทฐ๋ฅผ ๋ง๋ค์ด ์ฌ์ฉ์๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋์ค์ ์ฐพ์ ์ ์๊ฒ ํ์ธ์.
๋ถ๋ถ ์คํจ๋ฅผ ์ผ๊ธ ๊ฒฐ๊ณผ๋ก ์ทจ๊ธํ๊ณ ์์ธก ๋ชจ๋ ํ์ํ์ธ์: ์: โ9,380 of 9,500์ด ๊ฐ์ ธ์์ก์ต๋๋ค. 120๊ฐ ์คํจ.โ ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๊ฐ ์ฆ์ ์กฐ์นํ ์ ์๋ ๊ฐ๋จํ ์ค๋ฅ ์์ฝ์ ์ ๊ณตํ๊ณ ๊ธฐ์ ์ ์ธ๋ถ์ฌํญ์ ๋ด๋ถ ๋ก๊ทธ์ ๋ณด๊ดํ์ธ์.
์์ ๋ณ๋ก ์ทจ์์ ์๋ฏธ๋ฅผ ์ ์ํ๊ณ UI์ ์ ์งํ๊ฒ ๋ฐ์ํ์ธ์. ์ค๊ฐ ์ํ(์: โ์ทจ์ ์์ฒญ๋จโ)๋ฅผ ๋ณด์ฌ์ค ์ฌ์ฉ์๊ฐ ๊ณ์ ๋๋ฅด์ง ์๊ฒ ํ์ธ์. ์์ ์ ๋ฉฑ๋ฑํ๊ฒ ์ค๊ณํ๊ณ ์ฌ์๋ ํ์๋ฅผ ์ ํํ๋ฉฐ, ์ฌ์๋ ์ ๋์ผ ์์ ์ ์ฌ๊ฐํ ์ง ์ ์์ ์ ๋ง๋ค์ง ๋ช ํํ ์ค๋ช ํ์ธ์.


