ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ: ์ฑ์ ์ํ ์ํคํ ์ฒ ์ต์
๋ฌธ์ ์ค์ฌ ์ฑ์ ์ํ ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ: ๊ฒฉ๋ฆฌ ์ ์ฅ์, ์ค์บ ํ, ์ ๊ทผ ์ ์ด, ์ฌ์๋, ์์ ํ ๋ฆด๋ฆฌ์ค ์ํฌํ๋ก์ฐ๋ฅผ ์ค๋ช ํฉ๋๋ค.

๋ฌธ์ ๋ฅผ ์๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํ๋ฉด: ์ฑ์ ์์ ํ์ง ์์ ํ์ผ์ด ๋ค์ด์ค๋ ๋ฌธ์
์ฑ์์ ์ฌ์ฉ์๊ฐ ๋ฌธ์๋ฅผ ์ ๋ก๋ํ ์ ์๊ฒ ํ๋ฉด, ๋น์ ์ ์ง์ ๋ง๋ค์ง ์์ ํ์ผ์ ๋ฐ์๋ค์ ๋๋ค. ๊ณ ๊ฐ ํฌํธ, ์ธ์ฌ ์์คํ , ์ฒญ๊ตฌ ์ฑ, ๊ณต๊ธ์ ์ฒด ์จ๋ณด๋ฉ์ฒ๋ผ ๋ฌธ์ ์ค์ฌ ์ ํ์์๋ ์ ๋ก๋๊ฐ ์ฆ๊ณ , ์ฌ์ฉ์๋ค์ด ์ด๋ฉ์ผ, ๊ณต์ ๋๋ผ์ด๋ธ, ์ 3์์์ ๊ฐ์ ธ์จ ํ์ผ์ ์ฌ๋ฆฌ๋ ์ผ์ด ๋ง์ต๋๋ค. ๊ทธ๋์ ์ด๋ฐ ์ฑ์ ์ค์ฉ์ ์ธ ๊ณต๊ฒฉ ๋์์ด ๋ฉ๋๋ค: ํ ๋ฒ์ ์ฑ๊ณต์ ์ธ ์ ๋ก๋๊ฐ ๋ง์ ๋ค์ด๋ก๋๋ก ํ์ฐ๋ ์ ์์ต๋๋ค.
์ํ์ ๋จ์ง โ๋ฐ์ด๋ฌ์คโ์ ๊ตญํ๋์ง ์์ต๋๋ค. Word๋ Excel ํ์ผ์๋ ์ ์ฑ ๋งคํฌ๋ก๊ฐ ๋ค์ด์์ ์ ์๊ณ , PDF๋ ๋ฆฌ๋์ ์ทจ์ฝ์ ์ ์ด์ฉํ๋๋ก ์กฐ์๋ ์ ์์ผ๋ฉฐ, โ์ก์ฅโ์ฒ๋ผ ๋ณด์ด๋ ๋ฌธ์๋ ์ฌ๊ธฐ์ฑ ๋ฌธ์๋ก ์ ํ๋ฅผ ๊ฑธ์ด ๊ฐ์ง ๋ฒํธ์ ์ฐ๊ฒฐํ๊ฑฐ๋ ์๊ฒฉ์ฆ๋ช ์ ์ ๋ ฅํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ZIP ์์ ํ์ด๋ก๋๋ฅผ ์จ๊ธฐ๊ฑฐ๋, ์ด์ค ํ์ฅ์(report.pdf.exe)๋ฅผ ์ฌ์ฉํ๊ฑฐ๋, ์๊ฒฉ ์ฝํ ์ธ ๋ฅผ ํฌํจํด ์ด ๋ ์ธ๋ถ๋ก ์ ์ํ๋๋ก ํ๋ ๋ฑ ์กฐ์ฉํ ํผํด๋ฅผ ์ฃผ๋ ํ์ผ๋ ์์ต๋๋ค.
๋จ์ผ ์๋ฒ์ ์ค์น๋ ๋จ์ํ ์ํฐ๋ฐ์ด๋ฌ์ค๋ง ์์กดํ๋ ๊ฒ์ ์ถฉ๋ถํ์ง ์์ต๋๋ค. ์ ๋ก๋๋ ์ฌ๋ฌ ์ฑ ์ธ์คํด์ค์ ๋๋ฌํ ์ ์๊ณ , ์ ์ฅ ์์คํ ๊ฐ์ ์ด๋ํ๊ฑฐ๋ ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง๋ CDN์์ ์ ๊ณต๋ ์ ์์ต๋๋ค. ์ด๋ค ์ฝ๋ ๊ฒฝ๋ก๊ฐ ์ค์๋ก ์๋ณธ ์ ๋ก๋๋ฅผ ๋ ธ์ถํ๋ฉด, ์ค์บ์ด ์๋ฃ๋๊ธฐ ์ ์ ์ฌ์ฉ์๊ฐ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ ๋ฐ์ดํธ, ์๋ชป๋ ๊ตฌ์ฑ, ๊ทธ๋ฆฌ๊ณ โ์์โ ๊ด๋ฆฌ์ ๊ถํ๋ ์๊ฐ์ด ์ง๋๋ฉด์ ์ค์บ์ ์ฐํํ ์ ์์ต๋๋ค.
ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ์ ๋ถ๋ช ํ ๋ชฉํ๋ ๊ฐ๋จํฉ๋๋ค: ์ค์บ๋์ง ์์ ํ์ผ์ ๋ช ์์ ์ผ๋ก ๊ฒํ ๊ถํ์ด ์๋ ์ฌ๋ ์ด์ธ์๋ ์ ๋ ๋ค์ด๋ก๋๋๊ฑฐ๋ ์ด๋๋์ด์๋ ์ ๋ฉ๋๋ค.
โ์์ โ์ด ๋ฌด์์ธ์ง ๊ฐ์ ์ด ์๋๋ผ ๋น์ฆ๋์ค ๊ท์น์ผ๋ก ์ ์ํ์ธ์. ์๋ฅผ ๋ค์ด:
- ์ต์ ์๊ทธ๋์ฒ ์งํฉ์ผ๋ก ์ ์ฑ์ฝ๋ ๊ฒ์ฌ๋ฅผ ํต๊ณผํด์ผ ํจ
- ํ์ฉ๋ ํ์ผ ์ ํ๊ณผ ํฌ๊ธฐ ์ ํ์ ๋ถํฉํด์ผ ํจ
- ์น์ธ๋ ์์น์์๋ง ์ ์ฅ ๋ฐ ์ ๊ณต๋์ด์ผ ํจ
- ๋๊ฐ ์ ๋ก๋ํ๊ณ ์ธ์ ์ต์ข ์ํ๊ฐ ์ด๋ ๋์ง ๊ฐ์ฌ ์ถ์ ์ด ์์ด์ผ ํจ
- ์ต์ข ๊ฒฐ์ (๋ฆด๋ฆฌ์ค ๋๋ ๊ฑฐ๋ถ)๊น์ง ์ฐจ๋จ๋์ด์ผ ํจ
AppMaster ๊ฐ์ ํ๋ซํผ์ผ๋ก ๋น๋ํ๋ค๋ฉด, ๋ฐ์ดํฐ ๋ชจ๋ธ์์ โ์ค์บ ์ํโ๋ฅผ ์ผ๊ธ ํ๋๋ก ์ทจ๊ธํ๊ณ ๋ชจ๋ ๋ค์ด๋ก๋ ๋์์ด ์ด๋ฅผ ํ์ธํ๋๋ก ๋ง๋์ธ์. ๊ทธ ํ ๋ฒ์ ๊ฒ์ดํธ๊ฐ ๋ง์ ๊ฐ๋น์ผ ์ค์๋ฅผ ๋ง์์ค๋๋ค.
์ ๋ก๋ ๋ฌธ์์ ๊ฒฉ๋ฆฌ(quarantine)๊ฐ ์ค์ ๋ก ์๋ฏธํ๋ ๊ฒ
โ๊ฒฉ๋ฆฌโ๋ ์ ์ฅ์์ ๋จ์ํ ํด๋๊ฐ ์๋๋ผ ์์คํ ๋ด ์ํ๋ก ์๊ฐํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ต๋๋ค. ํต์ฌ ์์ด๋์ด๋ ๊ฐ๋จํฉ๋๋ค: ํ์ผ์ ์กด์ฌํ์ง๋ง, ์ฑ์์ ๋ช ํํ๊ฒ ๊ธฐ๋ก๋ ์ค์บ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ธฐ ์ ๊น์ง ์๋ฌด๋ ์ด๊ฑฐ๋ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ์์ ๊ฐ์ฅ ์ค์ํ ๋ถ๋ถ์ ๋๋ค.
๊ฒฉ๋ฆฌ๋ ๋ณดํต ๋ช ํํ ์ํ๋ฅผ ๊ฐ์ง ์์ ๋ผ์ดํ์ฌ์ดํด๋ก ๋์ํฉ๋๋ค. ์ํ๋ฅผ ๋ช ์์ ์ผ๋ก ์ ์งํ๋ฉด ๋ฏธ๋ฆฌ๋ณด๊ธฐ, ์ง์ URL, ๋๋ ๋ด๋ณด๋ด๊ธฐ ์์ ์ ํตํด ์์ ํ์ง ์์ ์ฝํ ์ธ ๊ฐ ์ค์๋ก ๋ ธ์ถ๋๋ ๊ฒ์ ์ค์ผ ์ ์์ต๋๋ค.
์ค์ฉ์ ์ธ ํ์ผ ์ํ ์งํฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- received (์ ๋ก๋ ์๋ฃ, ์ค์บ ์ )
- scanning (์์ ์๊ฐ ๊ฐ์ ธ๊ฐ์ ์ค์บ ์ค)
- clean (๋ฆด๋ฆฌ์ค ๊ฐ๋ฅ)
- rejected (์ ์ฑ์ฝ๋ ๋ฐ๊ฒฌ ๋๋ ์ ์ฑ ์๋ฐ)
- failed (์ค์บ๋ ์ค๋ฅ, ํ์์์, ์์๋ ํ์ผ)
๊ฒฉ๋ฆฌ๋ ๋์ค์ ์ก์ธ์ค๋ฅผ ๊ฐ์ ํ๊ณ ์ด๋ค ์ผ์ด ์์๋์ง ๊ฐ์ํ ์ ์๋๋ก ์ ์ ํ ๋ฉํ๋ฐ์ดํฐ๋ ํ์๋ก ํฉ๋๋ค. ์ต์ํ ๋ค์์ ์ ์ฅํ์ธ์: ์์ ์(์ฌ์ฉ์ ๋๋ ์กฐ์ง), ์ํ, ์๋ณธ ํ์ผ๋ช ๋ฐ ํ์ , ์ฒดํฌ์ฌ(์ค๋ณต ์ ๊ฑฐ ๋ฐ ๋ณ์กฐ ํ์ธ์ฉ), ์ ์ฅ ์์น, ํ์์คํฌํ(์ ๋ก๋, ์ค์บ ์์, ์ค์บ ์ข ๋ฃ). ๋ง์ ํ์ ์ค์บ๋ ๋ฒ์ ๊ณผ ์ค์บ ํ์ ์ธ๋ถ ์ ๋ณด๋ ํจ๊ป ์ ์ฅํฉ๋๋ค.
๋ณด์กด ๊ธฐ๊ฐ์ ์ ์ฑ ๊ฒฐ์ ์ฌํญ์ด์ง๋ง ์๋์ ์ด์ด์ผ ํฉ๋๋ค. ๊ฒฉ๋ฆฌ๋ ํ์ผ์ ์ค์บ ๋ฐ ์คํจ ๋๋ฒ๊น ์ ํ์ํ ๊ธฐ๊ฐ๋งํผ๋ง ๋ณด๊ดํ์ธ์. ์งง์ ๋ณด์กด ๊ธฐ๊ฐ์ ์ํ๊ณผ ๋น์ฉ์ ์ค์ด์ง๋ง, ์ฌ๊ณ ์กฐ์ฌ์ ์ฌ์ฉ์๊ฐ โ๋ด ์ ๋ก๋๊ฐ ์ด๋๋ก ๊ฐ๋์?โ๋ผ๊ณ ๋ฌผ์ ๋ ๋์ํ ์๊ฐ์ ํ๋ณดํด์ผ ํฉ๋๋ค.
๋ง์ง๋ง์ผ๋ก, ์ค์บ์ด ๋๋์ง ์๋ ํ์ผ์ ๋ํด ๋ฌด์์ ํ ์ง ๊ฒฐ์ ํ์ธ์. ์ต๋ ์ค์บ ์๊ฐ์ ์ ํ๊ณ โ๋ง๋ฃโ ํ์์คํฌํ๋ฅผ ์ค์ ํ์ธ์. ๊ธฐํ์ด ์ง๋๋ฉด ํ์ผ์ failed๋ก ์ฎ๊ธฐ๊ณ ์ ๊ทผ์ ์ฐจ๋จํ ๋ค ์๋์ผ๋ก ์ ํ๋ ํ์๋ง ์ฌ์๋ํ๊ฑฐ๋ ์ญ์ ํ๊ณ ์ฌ์ฉ์๊ฐ ๋ค์ ์ ๋ก๋ํ๋๋ก ์์ฒญํ์ธ์.
์ํ์ ์ค์ด๋ ์์ ์ ์ฅ ํจํด
๋๋ถ๋ถ ์ ๋ก๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ณณ์ ์์ ์ ์ฅ์์ ๋๋ค. ํ์ผ์ ์์คํ ์ ์์ง๋ง ์์ง ์์ ํ์ง ๋ชจ๋ฅด๋ ์ํ์ด๋ฏ๋ก, ์ ๊ทธ๊ธฐ ์ฝ๊ณ ์ค์๋ก ๋ ธ์ถ๋๊ธฐ ์ด๋ ค์ด ์ฅ์๊ฐ ํ์ํฉ๋๋ค.
๋ก์ปฌ ๋์คํฌ๋ ๋จ์ผ ์๋ฒ์์๋ ์๋ํ ์ ์์ง๋ง ์ทจ์ฝํฉ๋๋ค. ์ฑ ์๋ฒ๋ฅผ ํ์ฅํ๋ฉด ์ ์ฅ์๋ฅผ ๊ณต์ ํ๊ฑฐ๋ ํ์ผ์ ๋ณต์ฌํ๊ณ ๊ถํ์ ์ผ๊ด๋๊ฒ ์ ์งํด์ผ ํฉ๋๋ค. ์ค๋ธ์ ํธ ์คํ ๋ฆฌ์ง(S3 ์คํ์ผ ๋ฒํท์ด๋ ํด๋ผ์ฐ๋ ์ปจํ ์ด๋)๋ ๋ฌธ์ ์ค์ฌ ์ฑ์ ๋ ์์ ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ๊ทผ ๊ท์น์ด ์ค์ํ๋๊ณ ๋ก๊ทธ๊ฐ ๋ ๋ช ํํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ์ ๋ํ ๊ฐ๋จํ ํจํด์ โ๊ฒฉ๋ฆฌ(quarantine)โ์ โํด๋ฆฐ(clean)โ ์ ์ฅ์๋ฅผ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋๋ค. ๋ ๊ฐ์ ๋ฒํท/์ปจํ ์ด๋๋ก ๊ตฌํํ๋ฉด ์ค์๋ฅผ ์ค์ด๊ธฐ ์ฝ๊ณ , ํ๋์ ๋ฒํท ๋ด์์ ์๊ฒฉํ ์ ๋์ฌ(prefix) ๊ตฌ์กฐ๋ก ๊ด๋ฆฌํ๋ฉด ๋น์ฉ๊ณผ ๊ด๋ฆฌ๊ฐ ๋ ์ฌ์ธ ์ ์์ต๋๋ค.
์ ๋์ฌ๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ํผ๋ํ ์ ์๊ฒ ๋ง๋์ธ์. quarantine/\u003ctenant_id\u003e/\u003cupload_id\u003e ๋ฐ clean/\u003ctenant_id\u003e/\u003cdocument_id\u003e ๊ฐ์ ๋ ์ด์์์ ์ ํธํ์ธ์. ์ฌ์ฉ์ ์ ๊ณต ์ด๋ฆ์ ์ฌ์ฉํ์ง ๋ง์ธ์. ์๋ก ๋ค๋ฅธ ์ํ์ ๋ํด ๊ฐ์ ๊ฒฝ๋ก๋ฅผ ์ฌ์ฌ์ฉํ์ง ๋ง์ธ์.
๋ค์ ๊ท์น์ ์ผ๋์ ๋์ธ์:
- ๊ฒฉ๋ฆฌ์๋ ๊ณต๊ฐ ์ฝ๊ธฐ ๊ถํ์ ํ์ฉํ์ง ๋ง์ธ์, ์์๋ผ๋ ์ ๋ฉ๋๋ค.
- ์๋ฒ ์ธก์์ ์ค๋ธ์ ํธ ์ด๋ฆ์ ์์ฑํ๊ณ ํด๋ผ์ด์ธํธ ์ด๋ฆ์ ์ฌ์ฉํ์ง ๋ง์ธ์.
- ํ ๋ํธ ๋๋ ๊ณ์ ๋ณ๋ก ํํฐ์ ๋ํ์ฌ ํผํด ๋ฒ์๋ฅผ ์ค์ด์ธ์.
- ๋ฉํ๋ฐ์ดํฐ(์์ ์, ์ํ, ์ฒดํฌ์ฌ)๋ ํ์ผ๋ช ์ ๋ฃ์ง ๋ง๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ์ธ์.
์ํธํ๋ฅผ ์ ์ฅ ์ ์ ์ฉํ๊ณ ๋๊ฐ ๋ณตํธํํ ์ ์๋์ง ์๊ฒฉํ ํต์ ํ์ธ์. ์ ๋ก๋ API๋ quarantine์ ์ธ ์ ์์ด์ผ ํ๊ณ , ์ค์บ๋๋ quarantine์์ ์ฝ๊ณ clean์ ์ธ ์ ์์ด์ผ ํ๋ฉฐ, ๊ณต๊ฐ์ฉ ์ฑ์ clean์์๋ง ์ฝ์ ์ ์์ด์ผ ํฉ๋๋ค. ํด๋ผ์ฐ๋๊ฐ ํค ์ ์ฑ ์ ์ง์ํ๋ฉด ๋ณตํธํ ๊ถํ์ ๊ฐ๋ฅํ ํ ์ ์ ์ญํ ์ ๋ฌถ์ผ์ธ์.
๋์ฉ๋ ํ์ผ์ ์ถ๊ฐ ์ฃผ์๊ฐ ํ์ํฉ๋๋ค. ๋ฉํฐํํธ ์ ๋ก๋์ ๊ฒฝ์ฐ ์ต์ข ํํธ๊ฐ ์ปค๋ฐ๋๊ณ ์์ ํฌ๊ธฐ์ ์ฒดํฌ์ฌ์ ๊ธฐ๋กํ ๋๊น์ง ๊ฐ์ฒด๋ฅผ โ์ค๋น ์๋ฃโ๋ก ํ์ํ์ง ๋ง์ธ์. ์์ ํ ์ ๊ทผ ๋ฐฉ์์ ํํธ๋ฅผ quarantine์ ์ ๋ก๋ํ ๋ค์ ์ค์บ์ด ํต๊ณผํ๋ฉด ๊ฐ์ฒด๋ฅผ ๋ณต์ฌํ๊ฑฐ๋ ์น๊ฒฉ(promote)ํ๋ ๊ฒ์ ๋๋ค.
์์: AppMaster๋ก ๋ง๋ ๊ณ ๊ฐ ํฌํธ์์๋ ๋ชจ๋ ์ ๋ก๋๋ฅผ โpendingโ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๊ฒฉ๋ฆฌ ๋ฒํท์ ์ ์ฅํ ๋ค, ์ค์บ ๊ฒฐ๊ณผ๊ฐ status๋ฅผ โcleanโ์ผ๋ก ๋ฐ๊ฟ ๋๊น์ง ๋ค์ด๋ก๋ ๋ฒํผ์ ํ์ํ์ง ์์ ์ ์์ต๋๋ค.
์ํคํ ์ฒ ์ต์ : ์ธ๋ผ์ธ ์ค์บ vs ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค์บ
ํ์ผ ์ ๋ก๋์ ๋ฐ์ด๋ฌ์ค ์ค์บ์ ์ถ๊ฐํ ๋ ๋ณดํต ๋ ๊ฐ์ง ํ๋ฆ ์ค ํ๋๋ฅผ ์ ํํฉ๋๋ค: ์ธ๋ผ์ธ ์ค์บ(์ฌ์ฉ์๊ฐ ๊ธฐ๋ค๋ฆผ) ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค์บ(์ฑ์ด ์ ๋ก๋๋ฅผ ์๋ฝํ์ง๋ง ํด๋ฆฌ์ด๋ ๋๊น์ง ์ ๊ทผ์ ์ฐจ๋จ). ์ฌ๋ฐ๋ฅธ ์ ํ์ โ๋ณด์ ์์คโ๋ณด๋ค ์๋, ์ ๋ขฐ์ฑ, ์ ๋ก๋ ๋น๋์ ๋ ์ข์ฐ๋ฉ๋๋ค.
์ต์ 1: ์ธ๋ผ์ธ ์ค์บ(์ฌ์ฉ์ ๋๊ธฐ)
์ธ๋ผ์ธ ์ค์บ์ ์ค์บ๋๊ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ ๋๊น์ง ์ ๋ก๋ ์์ฒญ์ด ์๋ฃ๋์ง ์๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ ๋ก๋ โ ์ค์บ โ ํ์ฉ/๊ฑฐ๋ถ์ ํ ๋จ๊ณ๋ก ๋๊ปด์ ธ์ ๋จ์ํ๊ฒ ๋๊ปด์ง๋๋ค.
์ธ๋ผ์ธ ์ค์บ์ ํ์ผ์ด ์๊ณ ์ ๋ก๋๊ฐ ๋๋ฌผ๋ฉฐ ๋๊ธฐ ์๊ฐ์ด ์์ธก ๊ฐ๋ฅํ ๋ ๋ณดํต ํ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ ๋๊ตฌ์์ ์ฌ์ฉ์๊ฐ ํ๋ฃจ์ ๋ช ๊ฐ์ PDF๋ง ์ ๋ก๋ํ๋ค๋ฉด 3~10์ด ๋๊ธฐ๋ ๊ด์ฐฎ์ ์ ์์ต๋๋ค. ๋จ์ ์ ์ค์บ์ด ๋๋ฆฌ๋ฉด ์ฑ ์ ์ฒด๊ฐ ๋๋ ค์ง๋ค๋ ์ ์ ๋๋ค. ํ์์์, ์ฌ์๋, ๋ชจ๋ฐ์ผ ๋คํธ์ํฌ๋ ์ ์ ํ์ผ์ด๋ผ๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ํ์ํฌ ์ ์์ต๋๋ค.
์ต์ 2: ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค์บ(๋น๋๊ธฐ)
๋น๋๊ธฐ ์ค์บ์ ๋จผ์ ํ์ผ์ ์ ์ฅํ๊ณ ์ํ๋ฅผ โquarantinedโ๋ก ํ์ํ ๋ค ์ค์บ ์์ ์ ํ์ ๋ฃ๋ ๋ฐฉ์์ ๋๋ค. ์ฌ์ฉ์๋ ๋น ๋ฅธ "์ ๋ก๋ ์์ " ์๋ต์ ๋ฐ์ง๋ง ํ์ผ์ด ํด๋ฆฌ์ด๋ ๋๊น์ง ๋ค์ด๋ก๋๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ํ ์ ์์ต๋๋ค.
์ด ์ ๊ทผ๋ฒ์ ๋๋ ์ฒ๋ฆฌ, ํฐ ํ์ผ, ๋ฐ์ ์๊ฐ๋์ ์ข์ต๋๋ค. ์์ ์ ๋ถ์ฐ์ํค๊ณ ์ฑ ์๋ต์ฑ์ ์ ์งํ ์ ์์ผ๋ฉฐ, ์ค์บ๋ ์์ปค๋ฅผ ์น/API ์๋ฒ์ ๋ณ๋๋ก ํ์ฅํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ค์ฉ์ ์ธ ํ์ด๋ธ๋ฆฌ๋๋ ์ธ๋ผ์ธ์์ ๋น ๋ฅธ ๊ฒ์ฌ(ํ์ผ ์ ํ ํ์ฉ๋ชฉ๋ก, ํฌ๊ธฐ ์ ํ, ๊ธฐ๋ณธ ํฌ๋งท ๊ฒ์ฆ)๋ฅผ ์ํํ๊ณ ์ ์ฒด ์ํฐ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ํ๋ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ช ๋ฐฑํ ๋ฌธ์ ๋ ๋นจ๋ฆฌ ์ก๊ณ ๋ชจ๋ ์ฌ์ฉ์๋ฅผ ๋๊ธฐ์ํค์ง ์์ต๋๋ค.
์ ํ ๊ฐ์ด๋:
- ์์ ํ์ผ, ๋ฎ์ ๋ณผ๋ฅจ, ์ฆ์ ๊ฒฐ๊ณผ๊ฐ ํ์ํ ์ํฌํ๋ก์ฐ: ์ธ๋ผ์ธ ์ค์บ
- ํฐ ํ์ผ, ๋ง์ ์ ๋ก๋, ์์ธก ๋ถ๊ฐํ ์ค์บ ์๊ฐ: ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค์บ
- ์ ๋ก๋ ์๋ต์ฑ์ ๋ํ ์๊ฒฉํ SLA: ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค์บ + ๋ช ํํ ์ํ UI
- ํผํฉ ์ํฌ๋ก๋: ํ์ด๋ธ๋ฆฌ๋(๋น ๋ฅธ ๊ฒ์ฌ ์ฐ์ , ์ ์ฒด ์ค์บ์ ๋น๋๊ธฐ)
AppMaster๋ก ๋น๋ํ ๊ฒฝ์ฐ, ์ด ์ ํ์ ๋๊ธฐ API ์๋ํฌ์ธํธ(์ธ๋ผ์ธ) ๋๋ ์ค์บ ์์ ์ ํ์ ๋ฃ๊ณ ๊ฒฐ๊ณผ๊ฐ ๋์ฐฉํ๋ฉด ํ์ผ ์ํ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋น์ฆ๋์ค ํ๋ก์ธ์ค(๋น๋๊ธฐ)๋ก ๊น๋ํ๊ฒ ๋งคํ๋ฉ๋๋ค.
๋จ๊ณ๋ณ: ๋น๋๊ธฐ ์ค์บ ํ ๊ตฌ์ถํ๊ธฐ
๋น๋๊ธฐ ์ค์บ์ ์ ๋ก๋๋ฅผ ์๋ฝํ๊ณ ๊ฒฉ๋ฆฌ์ ์ ๊ทธ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ค์บํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ฌ์ฉ์๋ ์ค์บ๋๊ฐ ์์ ํ๋ค๊ณ ๋งํ ๋๊น์ง ์ ๊ทผํ ์ ์์ต๋๋ค. ๋ฌธ์ ์ค์ฌ ์ฑ์์๋ ๋ณดํต ์ด๊ฒ์ด ๊ฐ์ฅ ์ค์ฉ์ ์ธ ์ ์ฑ์ฝ๋ ์ค์บ ์ํคํ ์ฒ์ ๋๋ค.
1) ํ ๋ฉ์์ง ์ ์(์๊ฒ ์ ์ง)
ํ๋ ํ ์ผ ๋ชฉ๋ก์ ๋๋ค. ๊ฐ ์ ๋ก๋๋ ํ์ผ ์์ฒด๊ฐ ์๋๋ผ ํ์ผ์ ๊ฐ๋ฆฌํค๋ ํ๋์ ๋ฉ์์ง๋ฅผ ๋ง๋ญ๋๋ค.
๊ฐ๋จํ ๋ฉ์์ง๋ ๋ณดํต ๋ค์์ ํฌํจํฉ๋๋ค:
- ํ์ผ ID(๋๋ ์ค๋ธ์ ํธ ํค)์ ํ ๋ํธ ๋๋ ํ๋ก์ ํธ ID
- ์ ๋ก๋ํ ์ฌ์ฉ์ ID
- ์ ๋ก๋ ํ์์คํฌํ์ ์ฒดํฌ์ฌ(์ ํ ์ฌํญ์ด์ง๋ง ์ ์ฉํจ)
- ์๋ ๋ฒํธ(๋๋ ๋ณ๋์ ์ฌ์๋ ์นด์ดํฐ)
ํ์ ์์ ๋ฐ์ดํธ๋ฅผ ๋ฃ์ง ๋ง์ธ์. ๋์ฉ๋ ํ์ด๋ก๋๋ ํ๋๋ฅผ ์ด๊ณผํ๊ณ ๋น์ฉ์ด ๋๋ฉฐ ๋ ธ์ถ ๋ฒ์๋ฅผ ํ๋ํ ์ ์์ต๋๋ค.
2) ์์ปค ํ๋ฆ ๊ตฌ์ถ(๊ฐ์ ธ์ค๊ธฐ โ ์ค์บ โ ๊ธฐ๋ก)
์์ปค๋ ๋ฉ์์ง๋ฅผ ๊ฐ์ ธ์ ๊ฒฉ๋ฆฌ ์ ์ฅ์์์ ํ์ผ์ ๊ฐ์ ธ์ ์ค์บํ ๋ค ๊ฒฐ์ ์ ๊ธฐ๋กํฉ๋๋ค.
๋ช ํํ ํ๋ฆ:
- ๊ฒฉ๋ฆฌ ์ ์ฅ์(ํ๋ผ์ด๋น ๋ฒํท ๋๋ ํ๋ผ์ด๋น ๋ณผ๋ฅจ)์์ ํ์ผ ID๋ก ํ์ผ์ ๊ฐ์ ธ์ด
- ์ค์บ๋(AV ์์ง ๋๋ ์ค์บ๋ ์๋น์ค) ์คํ
- ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ก: ์ํ(clean, infected, error), ์ค์บ๋ ์ด๋ฆ/๋ฒ์ , ํ์์คํฌํ
- clean์ผ ๊ฒฝ์ฐ: ํ์ผ์ ์น์ธ๋ ์ ์ฅ์๋ก ์ด๋ํ๊ฑฐ๋ ์ ๊ทผ ํ๋๊ทธ๋ฅผ ์ ํํด ๋ค์ด๋ก๋ ๊ฐ๋ฅํ๊ฒ ํจ
- infected์ผ ๊ฒฝ์ฐ: ๊ฒฉ๋ฆฌ์ ์ ์งํ๊ฑฐ๋ ์ญ์ ํ๊ณ ๊ด๋ จ์์๊ฒ ์๋ฆผ
3) ๋ฉฑ๋ฑ์ฑ(idempotent) ํ๋ณด(์ฌ์ฒ๋ฆฌ ์์ )
์์ปค๋ ์ถฉ๋ํ๊ณ ๋ฉ์์ง๊ฐ ์ค๋ณต ์ ๋ฌ๋๋ฉฐ ์ฌ์๋๊ฐ ๋ฐ์ํฉ๋๋ค. ๊ฐ์ ํ์ผ์ ์ฌ๋ฌ ๋ฒ ์ค์บํด๋ ํด๊ฐ ์๋๋ก ์ค๊ณํ์ธ์. ๋จ์ผ ์ง์ค ์์ค(์: files.status)๋ฅผ ์ฌ์ฉํ๊ณ ์ ํจํ ์ ํ๋ง ํ์ฉํ์ธ์. ์: uploaded -> scanning -> clean/infected/error. ์์ปค๊ฐ clean์ ๋ณด๋ฉด ๋ฉ์์ง๋ฅผ ์ธ์ ํ๊ณ ์ค์งํด์ผ ํฉ๋๋ค.
4) ๋์์ฑ ์ ์ด(์ค์บ ํญ์ฃผ ๋ฐฉ์ง)
์์ปค๋น ๋ฐ ํ ๋ํธ๋น ์ ํ์ ์ค์ ํ์ธ์. ๋์์ ์คํํ ์ ์๋ ์ค์บ ์๋ฅผ ์ ํํ๊ณ ํฐ ํ์ผ์ ์ํ ๋ณ๋ ํ๋ฅผ ๊ณ ๋ คํ์ธ์. ์ด๋ ๋ฐ์ ๊ณ ๊ฐ ํ๋๊ฐ ๋ชจ๋ ์ค์บ๋ ์ฉ๋์ ์๋นํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
5) ์คํจ ์ฒ๋ฆฌ: ์ฌ์๋์ ๊ฐ์ฌ ๊ธฐ๋ก
์ค์บ๋ ํ์์์, ๋คํธ์ํฌ ๋ฌธ์ ๊ฐ์ ์ผ์์ ์ค๋ฅ์๋ ์ฌ์๋๋ฅผ ์ฌ์ฉํ๊ณ ์ต๋ ์๋ ํ์๋ฅผ ์๊ฒ ์ค์ ํ์ธ์. ๊ทธ ์ดํ์๋ ์๋ ๊ฒํ ๋ฅผ ์ํ ๋ฐ๋๋ ํฐ ํ๋ก ๋ณด๋ ๋๋ค.
๊ฐ์ฌ ๊ธฐ๋ก์ ์ ์งํ์ธ์: ๋๊ฐ ๋ฌธ์๋ฅผ ์ ๋ก๋ํ๋์ง, ์ธ์ ๊ฒฉ๋ฆฌ์ ๋ค์ด๊ฐ๋์ง, ์ด๋ค ์ค์บ๋๊ฐ ์คํ๋์๋์ง, ์ด๋ค ๊ฒฐ์ ์ ๋ด๋ ธ๋์ง, ๋๊ฐ ํ์ผ์ ์น์ธํ๊ฑฐ๋ ์ญ์ ํ๋์ง ๋ฑ. ์ด ๋ก๊ทธ๋ ๊ณ ๊ฐ ํฌํธ๊ณผ ๊ท์ ์ค์๋ฅผ ์ํด ๋ฐ์ด๋ฌ์ค ์ค์บ๋งํผ ์ค์ํฉ๋๋ค.
์ ๊ทผ ์ ์ด: ๊ฒฉ๋ฆฌ๋ ํ์ผ์ ์ง์ง๋ก ๋น๊ณต๊ฐ๋ก ์ ์งํ๊ธฐ
๊ฒฉ๋ฆฌ๋ ๋จ์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ํ๊ฐ ์๋๋๋ค. ์๋ฌด๋ ํ์ผ์ด ์์ ํ๋ค๊ณ ์ฆ๋ช ๋๊ธฐ ์ ๊น์ง ์ด ์ ์๋ค๋ ์ฝ์์ ๋๋ค. ๊ฐ์ฅ ์์ ํ ๊ท์น์ ๊ฐ๋จํฉ๋๋ค: ๊ฒฉ๋ฆฌ๋ ํ์ผ์ ์์ URL์ด๋ผ๋ ๊ณต๊ฐ์ ์ผ๋ก ์ ๊ณตํ์ง ๋ง์ธ์.
๋ค์ด๋ก๋ ํ๋ฆ์ ๋จ์กฐ๋กญ๊ณ ์๊ฒฉํด์ผ ํฉ๋๋ค. ์ฑ์ ๋ชจ๋ ๋ค์ด๋ก๋๋ฅผ ์ด๋ฏธ์ง ๊ฐ์ ธ์ค๊ธฐ์ฒ๋ผ ์ทจ๊ธํ์ง ๋ง๊ณ ๋ณดํธ๋ ์ก์ ์ผ๋ก ์ทจ๊ธํด์ผ ํฉ๋๋ค.
์ข์ ๋ค์ด๋ก๋ ํ๋ฆ ์:
- ๋ค์ด๋ก๋ ์์ฒญ ์์
- ํด๋น ํ์ผ์ ๋ํ ์ฌ์ฉ์์ ๊ถํ ํ์ธ
- ํ์ผ ์ํ ํ์ธ(quarantined, clean, rejected)
- ์ํ๊ฐ clean์ผ ๊ฒฝ์ฐ์๋ง ํ์ผ ์ ๋ฌ
์ฌ์ธ๋ URL์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ๋์ผํ ์์ด๋์ด๋ฅผ ์งํค์ธ์: ๊ถํ๊ณผ ์ํ ํ์ธ ํ์๋ง ์์ฑํ๊ณ ์ ํจ๊ธฐ๊ฐ์ ์งง๊ฒ ์ ์งํ์ธ์. ์ ํจ๊ธฐ๊ฐ์ด ์งง์ผ๋ฉด ๋งํฌ๊ฐ ๋ก๊ทธ, ์คํฌ๋ฆฐ์ท, ์ ๋ฌ๋ ์ด๋ฉ์ผ์ ํตํด ์ ์ถ๋์ด๋ ํผํด๋ฅผ ์ค์ ๋๋ค.
์ญํ ๊ธฐ๋ฐ ์ ๊ทผ ์ ์ด๋ ํน์ ์ผ์ด์ค ๋ก์ง์ด ๊ตฌ๋ฉ์ผ๋ก ๋ณํ๋ ๊ฒ์ ํผํ๊ฒ ํด์ค๋๋ค. ๋ฌธ์ ์ค์ฌ ์ฑ์ ์ผ๋ฐ์ ์ธ ์ญํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ ๋ก๋: ์์ ์ ์ ๋ก๋์ ์ค์บ ์ํ๋ฅผ ๋ณผ ์ ์์
- ๋ฆฌ๋ทฐ์ด: ํด๋ฆฐ ํ์ผ์ ๋ณผ ์ ์๊ณ , ํ์ํ๋ฉด ์์ ํ ๊ฒํ ๋๊ตฌ์์ ๊ฒฉ๋ฆฌ ํ์ผ์ ๋ณผ ์ ์์
- ๊ด๋ฆฌ์: ์กฐ์ฌ, ์ฌ์ค์บ, ๊ถํ ์ฌ์ ์๋ฅผ ํ ์ ์์
- ์ธ๋ถ ์ฌ์ฉ์: ๋ช ์์ ์ผ๋ก ๊ณต์ ๋ ๋ฌธ์๋ง ์ ๊ทผ ๊ฐ๋ฅ
๋ํ ID ์ถ์ธก ๊ณต๊ฒฉ์ ๋ฐฉ์งํ์ธ์. 12345 ๊ฐ์ ์ฆ๊ฐํ๋ ํ์ผ ID๋ฅผ ๋ ธ์ถํ์ง ๋ง์ธ์. ๋ถํฌ๋ช ํ ID๋ฅผ ์ฌ์ฉํ๊ณ ํญ์ ์ฌ์ฉ์ ๋ฐ ํ์ผ๋ณ๋ก ๊ถํ์ ํ์ธํ์ธ์(๋จ์ง โ๋ก๊ทธ์ธ๋ ์ฌ์ฉ์โ๋ง ์ฒดํฌํ์ง ๋ง ๊ฒ). ์ ์ฅ์ ๋ฒํท์ด ๋น๊ณต๊ฐ์ฌ๋ ๋ถ์ฃผ์ํ API ์๋ํฌ์ธํธ๊ฐ ๊ฒฉ๋ฆฌ๋ ์ฝํ ์ธ ๋ฅผ ์ ์ถํ ์ ์์ต๋๋ค.
ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๋ฅผ ๊ตฌํํ ๋ ์ ๊ทผ ๊ณ์ธต์์ ์ค์ ์คํจ๊ฐ ๊ฐ์ฅ ๋ง์ด ๋ฐ์ํฉ๋๋ค. AppMaster ๊ฐ์ ํ๋ซํผ์์๋ API ์๋ํฌ์ธํธ์ ๋น์ฆ๋์ค ๋ก์ง์์ ์ด๋ฌํ ๊ฒ์ฌ๋ฅผ ๊ฐ์ ํ์ฌ ๊ฒฉ๋ฆฌ๊ฐ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น๊ณต๊ฐ๋ก ์ ์ง๋๊ฒ ํ ์ ์์ต๋๋ค.
๋ฆด๋ฆฌ์ค, ๊ฑฐ๋ถ, ์ฌ์๋: ์ค์บ ๊ฒฐ๊ณผ ์ฒ๋ฆฌ
ํ์ผ์ด ์ค์บ์ ์๋ฃํ๋ฉด ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ๋ช ํํ ์ํ๋ก ์ด๋์ํค๊ณ ๋ค์ ๋จ๊ณ๋ฅผ ์์ธก ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฒ์ ๋๋ค. ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๋ฅผ ๊ตฌ์ถํ ๋ ์ค์บ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ดํธ๋ก ์ทจ๊ธํ์ธ์: ๊ฒ์ดํธ๊ฐ ํ์ฉํ์ง ์์ผ๋ฉด ์๋ฌด๊ฒ๋ ๋ค์ด๋ก๋ ๊ฐ๋ฅํด์ง์ง ์์ต๋๋ค.
๋๋ถ๋ถ ์์คํ ์ ์ ํฉํ ๊ฐ๋จํ ๊ฒฐ๊ณผ ์งํฉ:
- Clean: ๊ฒฉ๋ฆฌ์์ ํด์ ํ๊ณ ์ ์ ์ ๊ทผ ํ์ฉ
- Infected: ์ ๊ทผ์ ์๊ตฌ ์ฐจ๋จํ๊ณ ๊ฐ์ผ ํ์ผ ์ํฌํ๋ก์ฐ๋ฅผ ํธ๋ฆฌ๊ฑฐ
- Unsupported: ์ค์บ๋๊ฐ ํ๊ฐํ์ง ๋ชปํจ(์: ์ํธ๋ก ๋ณดํธ๋จ). ์ฐจ๋จ ์ ์ง
- Scan error: ์ผ์์ ์คํจ(ํ์์์, ์๋น์ค ๋ถ๊ฐ). ์ฐจ๋จ ์ ์ง
์ฌ์ฉ์ ๋ฉ์์ง๋ ๋ช ํํ๊ณ ์ฐจ๋ถํด์ผ ํฉ๋๋ค. โ๊ณ์ ์ด ์์๋์์ต๋๋คโ ๊ฐ์ ์ํ์ ์ธ ๋ฌธ๊ตฌ๋ ํผํ์ธ์. ๋ ๋์ ๋ฌธ๊ตฌ ์: โํ์ผ์ ๊ฒ์ฌ ์ค์ ๋๋ค. ๊ณ์ ์์ ํ์ธ์.โ ํ์ผ์ด ์ฐจ๋จ๋์์ ๋๋ ์ฌ์ฉ์๊ฐ ์ทจํ ์ ์๋ ๋ค์ ํ๋์ ์๋ ค์ฃผ์ธ์: โ๋ค๋ฅธ ํ์ผ ํ์์ ์ ๋ก๋ํ์ธ์โ ๋๋ โ๋์ค์ ๋ค์ ์๋ํ์ธ์.โ ์ง์๋์ง ์๋ ํ์ผ์ ๊ฒฝ์ฐ ๊ตฌ์ฒด์ ์ผ๋ก ์๋ดํ์ธ์(์: โ์ํธํ๋ ์์ถ ํ์ผ์ ์ค์บํ ์ ์์ต๋๋คโ).
๊ฐ์ผ๋ ํ์ผ์ ๊ฒฝ์ฐ ์ญ์ ํ ์ง ๋ณด๊ดํ ์ง ์ด๊ธฐ์ ๊ฒฐ์ ํ์ธ์. ์ญ์ ๊ฐ ๋ ๊ฐ๋จํ๊ณ ์ํ์ ์ค์ ๋๋ค. ๋ณด๊ด์ ๊ฐ์ฌ๋ฅผ ์ํด ๋์์ด ๋์ง๋ง, ๊ฒฉ๋ฆฌ๋ ์์ญ์ ์๊ฒฉํ ์ ๊ทผ๊ณผ ์งง์ ๋ณด์กด ๊ธฐ๊ฐ์ ๋๊ณ ๋๊ฐ ๋ณผ ์ ์๋์ง(์ด์์ ์ผ๋ก๋ ๋ณด์ ๊ด๋ฆฌ์๋ง) ๊ธฐ๋กํด์ผ ํฉ๋๋ค.
์ฌ์๋๋ ์ผ์์ ์ค๋ฅ์ ์ ์ฉํ์ง๋ง ๋ฌดํ ์ฌ์๋๋ก ์์ด์ง ์๋๋ก ํ์ธ์. ์์ ์ฌ์๋ ์ ์ฑ ์ ์ค์ ํ์ธ์:
- ํ์์์๊ณผ ์ค์บ๋ ๋ค์ด ์ ์ฌ์๋
- infected ๋๋ unsupported์๋ ์ฌ์๋ํ์ง ์์
- ์ฌ์๋ ํ์ ์ ํ(์: 3ํ) ํ failed๋ก ํ์
- ์ฌ์๋ ๊ฐ ๋ฐฑ์คํ ์ถ๊ฐํ์ฌ ๊ณผ๋ถํ ๋ฐฉ์ง
๋ง์ง๋ง์ผ๋ก ๋ฐ๋ณต๋๋ ์คํจ๋ ์ฌ์ฉ์ ๋ฌธ์ ๋ก ๋ณด์ง ๋ง๊ณ ์ด์ ๋ฌธ์ ๋ก ๋ค๋ฃจ์ธ์. ๋ง์ ํ์ผ์ด ์งง์ ์๊ฐ์ โscan errorโ๋ก ๋จ์ด์ง๋ฉด ํ์ ์๋ฆฌ๊ณ ์ ๋ฆด๋ฆฌ์ค๋ฅผ ์ผ์ ์ค์งํ์ธ์. AppMaster์์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ด๋ฌํ ์ํ๋ฅผ ๋ชจ๋ธ๋งํ๊ณ ๋ด์ฅ ๋ฉ์์ง ๋ชจ๋๋ก ์๋ฆผ์ ๋ผ์ฐํ ํ ์ ์์ด ์คํจ๋ฅผ ๋น ๋ฅด๊ฒ ์ธ์งํ๊ฒ ๋์์ค๋๋ค.
์์ ์๋๋ฆฌ์ค: ๋ฌธ์๊ฐ ๋ง์ ๊ณ ๊ฐ ํฌํธ
๊ณ ๊ฐ ํฌํธ์์๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฐ ํ๋ก์ ํธ์ ๋ํ ์ก์ฅ๊ณผ ๊ณ์ฝ์๋ฅผ ์ ๋ก๋ํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ๋ฐ์คํฌํฑ์ ์๋ ๊ฒ์ ๊ทธ๋๋ก ๋์ด๋ค ์ฌ๋ฆฌ๊ธฐ ๋๋ฌธ์ ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๊ฐ ์ค์ํ ๊ณณ์ ๋๋ค.
๊ณ ๊ฐ์ด PDF๋ฅผ ์ ๋ก๋ํ๋ฉด ํฌํธ์ ์์ ๋น๊ณต๊ฐ ์์น์ ์ ์ฅํ๊ณ ์ํ๋ฅผ Pending scan์ผ๋ก ์ค์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ ์ฝ๋๋ฅผ ๋ง๋ญ๋๋ค. ํ์ผ์ ์์ง ๋ค์ด๋ก๋ ๊ฐ๋ฅ์ผ๋ก ํ์๋์ง ์์ต๋๋ค. ์ค์บ๋ ์์ปค๊ฐ ํ์์ ํ์ผ์ ๊ฐ์ ธ์ ์ค์บ์ ์คํํ ๋ค ๋ ์ฝ๋๋ฅผ Clean ๋๋ Blocked๋ก ์ ๋ฐ์ดํธํฉ๋๋ค.
UI์์ ๊ณ ๊ฐ์ ๋ฌธ์๊ฐ ์ฆ์ ๋ํ๋์ง๋ง ๋ช ํํ Pending ๋ฐฐ์ง๊ฐ ๋ถ์ด ์์ต๋๋ค. ํ์ผ๋ช ๊ณผ ํฌ๊ธฐ๋ ๋ณด์ฌ์ ์ ๋ก๋๊ฐ ์ฑ๊ณตํ์์ ์ ์ ์์ง๋ง ์ค์บ์ด ํด๋ฆฐ์ด ๋ ๋๊น์ง ๋ค์ด๋ก๋ ๋ฒํผ์ ๋นํ์ฑํ๋ฉ๋๋ค. ์ค์บ์ด ์์๋ณด๋ค ์ค๋ ๊ฑธ๋ฆฌ๋ฉด ํฌํธ์ โ์ด ํ์ผ์ ์์ ์ฑ์ ๊ฒ์ฌ ์ค์ ๋๋ค. 1๋ถ ํ ๋ค์ ์๋ํ์ธ์.โ ๊ฐ์ ๊ฐ๋จํ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
์ค์บ๋๊ฐ ๋ฌธ์๋ฅผ ํ๋๊ทธํ๋ฉด ๊ณ ๊ฐ์๊ฒ๋ โ๋ณด์ ๊ฒ์ฌ๋ฅผ ํต๊ณผํ์ง ๋ชปํ์ต๋๋คโ๋ผ๋ ์งง๊ณ ๊ธฐ์ ์ ์ด์ง ์์ ์๋ด๊ฐ ํ์๋ฉ๋๋ค. ์ง์ ๋ฐ ๊ด๋ฆฌ์์๊ฒ๋ ์ค์บ ์ฌ์ ์ ๋ค์ ์กฐ์น๊ฐ ํฌํจ๋ ๋ณ๋์ ๋ทฐ๊ฐ ์ ๊ณต๋ฉ๋๋ค. ๊ทธ๋ค์ ๋ค์์ ํ ์ ์์ต๋๋ค:
- ์ฐจ๋จ ์ํ๋ฅผ ์ ์งํ๊ณ ์ ์ ๋ก๋๋ฅผ ์์ฒญ
- ์ญ์ ํ๊ณ ์ฌ์ ๊ธฐ๋ก
- ์ ์ฑ ์ ํ์ฉ๋๋ ๊ฒฝ์ฐ ์คํ์ผ๋ก ํ์(๊ด๋ฆฌ์ ์ ์ฉ)
๋ถ์(โ์ด์ ์ ๋ก๋ํ๋๋ฐ ์์ด๋ฒ๋ ธ์ด์โ)์ด ๋ฐ์ํ์ ๋๋ ์ ์ ๋ฆฌ๋ ๋ก๊ทธ๊ฐ ์ค์ํฉ๋๋ค. ์ ๋ก๋ ์์ , ์ค์บ ์์, ์ค์บ ์ข ๋ฃ, ์ํ ๋ณ๊ฒฝ, ๋๊ฐ ์ด๋ค ์กฐ์น๋ฅผ ํ๋์ง์ ๋ํ ํ์์คํฌํ๋ฅผ ๋ณด๊ดํ์ธ์. ๋ํ ํ์ผ ํด์, ์๋ณธ ํ์ผ๋ช , ์ ๋ก๋ ๊ณ์ , IP ์ฃผ์, ์ค์บ๋ ๊ฒฐ๊ณผ ์ฝ๋๋ฅผ ์ ์ฅํ์ธ์. AppMaster๋ก ์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๋ฉด Data Designer์ ๊ฐ๋จํ Business Process ํ๋ฆ์ผ๋ก ๊ฒฉ๋ฆฌ๋ ํ์ผ์ ์ผ๋ฐ ์ฌ์ฉ์์๊ฒ ๋ ธ์ถํ์ง ์์ผ๋ฉด์ ์ํ์ ๊ฐ์ฌ ํ๋๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
์ค์ ๋ณด์ ๊ตฌ๋ฉ์ ๋ง๋๋ ํํ ์ค์
๋๋ถ๋ถ ์ ๋ก๋ ๋ณด์ ์คํจ๋ ๋ณต์กํ ํดํน์ด ์๋๋๋ค. ์์ ํ์ง ์์ ํ์ผ์ด ์ ์ ๋ฌธ์์ฒ๋ผ ๋์ํ๊ฒ ๋ง๋๋ ์์ ์ค๊ณ ์ ํ๋ค์ด ์์ธ์ ๋๋ค.
ํ ๊ฐ์ง ๊ณ ์ ์ ๋ฌธ์ ๋ ๊ฒฝ์ ์กฐ๊ฑด(race)์ ๋๋ค: ์ฑ์ด ์ ๋ก๋๋ฅผ ์๋ฝํ๊ณ ๋ค์ด๋ก๋ URL์ ๋ฐํํ๋ฉด ์ฌ์ฉ์๊ฐ(๋๋ ๋ค๋ฅธ ์๋น์ค๊ฐ) ์ค์บ์ด ๋๋๊ธฐ ์ ์ ํ์ผ์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๋ฅผ ํ๋ฉด โ์ ๋ก๋๋จ(uploaded)โ๊ณผ โ์ฌ์ฉ ๊ฐ๋ฅ(available)โ์ ๋ค๋ฅธ ์ํ๋ผ๋ ์ ์ ๋ช ํํ ํ์ธ์.
์์ฃผ ๋ฐ๋ณต๋๋ ์ค์:
- ๋์ผํ ๋ฒํท/ํด๋์ clean๊ณผ quarantined ํ์ผ์ ์์ด ๋๊ณ ์ด๋ฆ ๊ท์น์ ์์กดํจ. ๊ถํ์ด๋ ๊ฒฝ๋ก ํ๋ ์๋ชป๋๋ฉด ๊ฒฉ๋ฆฌ๋ ์๋ฏธ๊ฐ ์์.
- ํ์ผ ํ์ฅ์, MIME ํ์ , ํด๋ผ์ด์ธํธ ์ธก ๊ฒ์ฌ๋ง ์ ๋ขฐํจ. ๊ณต๊ฒฉ์๋ ์๋ฌด ํ์ผ์ด๋ .pdf๋ก ์ด๋ฆ์ ๋ฐ๊ฟ ์ ์์.
- ์ค์บ๋ ๋ค์ดํ์์ ๋๋นํ์ง ์์. ์ค์บ๋๊ฐ ๋๋ฆฌ๊ฑฐ๋ ์คํ๋ผ์ธ์ด๋ฉด ํ์ผ์ด ์์ํ pending์ ๋จธ๋ฌด๋ฅด๊ณ ํ์ ์์ ํ์ง ์์ ์๋ ์ฌ์ ์๋ฅผ ์ถ๊ฐํ๊ฒ ๋จ.
- ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ปค๊ฐ ๋ฉ์ธ API์ ๋์ผํ ๊ถํ ๊ฒ์ฌ๋ฅผ ๊ฑด๋๋. โ๋ชจ๋ ํ์ผ์ ์ฝ์ ์ ์๋โ ์์ปค๋ ์กฐ์ฉํ ๊ถํ ์์น ๊ฒฝ๋ก๊ฐ ๋จ.
- ๊ฒฉ๋ฆฌ ํญ๋ชฉ์ ๋ํด ์ถ์ธกํ๊ธฐ ์ฌ์ด ID(์ฆ๊ฐ ์ซ์ ๋ฑ)๋ฅผ ๊ณต๊ฐํจ. ์ฝํ ์ธ ๊ฐ ๋ณดํธ๋๋ค๊ณ ์๊ฐํด๋ ์ํํจ.
ํ ์คํธ ๋ํ ์ทจ์ฝ์ ์ ๋๋ค. ํ์ ๋ช ๊ฐ์ ์๊ณ ๊นจ๋ํ ํ์ผ๋ก๋ง ํ ์คํธํ๊ณ ๋๋ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋์ฉ๋ ์ ๋ก๋, ์์๋ ํ์ผ, ์ํธ๋ก ๋ณดํธ๋ ๋ฌธ์ ๋ฑ๋ ํ ์คํธํด์ผ ํฉ๋๋ค. ์ด๋ค์ด ๋ฐ๋ก ์ค์บ๋์ ํ์๊ฐ ์คํจํ๊ฑฐ๋ ํ์์์์ด ๋๋ ๊ฒฝ์ฐ์ ๋๋ค.
๊ฐ๋จํ ์ค์ ์: ๊ณ ๊ฐ ํฌํธ ์ฌ์ฉ์๊ฐ ์ค์ ๋ก๋ ์คํ ํ์ผ์ด ๋ค์ด ์๋ ์์นด์ด๋ธ๋ฅผ report.pdf๋ผ๊ณ ์ด๋ฆ ๋ฐ๊ฟ ์ ๋ก๋ํ์ต๋๋ค. ํฌํธ์ด ์ฆ์ ๋ฐํํ๊ฑฐ๋ ์ง์ํ์ด ์ ์ ํ ๊ฒ์ฌ ์์ด ๊ฒฉ๋ฆฌ์ ์ ๊ทผํ ์ ์๋ค๋ฉด ๋ค๋ฅธ ์ฌ์ฉ์์๊ฒ ์ง์ ์ ๋ฌ๋๋ ๊ฒฝ๋ก๋ฅผ ๋ง๋ ์ ์ ๋๋ค.
์ถ์ ์ ๋น ๋ฅธ ์ ๊ฒ ๋ชฉ๋ก
ํ์ผ ์ ๋ก๋ ๋ฐ์ด๋ฌ์ค ๊ฒ์ฌ๋ฅผ ์ถ์ํ๊ธฐ ์ ์ ํ์ด ํํ โ๊ด์ฐฎ๋คโ๊ณ ๊ฐ์ ํ๋ค๊ฐ ๋์ค์ ๋ฌธ์ ๋ฅผ ๋ฐ๊ฒฌํ๋ ์ง์ ์ ํ ๋ฒ ๋ ์ ๊ฒํ์ธ์. ๋ชฉํ๋ ๊ฐ๋จํฉ๋๋ค: ๋๊ตฐ๊ฐ๊ฐ URL์ ์ถ์ธกํ๊ฑฐ๋ ์์ฒญ์ ์ฌ์๋ํ๊ฑฐ๋ ์ค๋๋ ์บ์ ๋งํฌ๋ฅผ ์ฌ์ฉํ๋ค๊ณ ํด์ ์์ ํ์ง ์์ ํ์ผ์ด ์ฝ์ ์ ์๊ฒ ๋๋ฉด ์ ๋ฉ๋๋ค.
์ฌ์ฉ์ ํ๋ฆ๋ถํฐ ์์ํ์ธ์. ๋ชจ๋ ๋ค์ด๋ก๋, ๋ฏธ๋ฆฌ๋ณด๊ธฐ, โํ์ผ ์ด๊ธฐโ ์ก์ ์ ์ ๋ก๋ ์์ ์ด ์๋๋ผ ์์ฒญ ์์ ์ ํ์ผ์ ํ์ฌ ์ค์บ ์ํ๋ฅผ ๋ค์ ํ์ธํด์ผ ํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๊ฒฝ์ ์กฐ๊ฑด(๋๊ตฐ๊ฐ๊ฐ ์ฆ์ ํด๋ฆญํจ), ์ง์ฐ๋ ์ค์บ ๊ฒฐ๊ณผ, ํ์ผ ์ฌ์ค์บ ์ ๋ฐ์ํ ์ ์๋ ์ฃ์ง ์ผ์ด์ค๋ก๋ถํฐ ๋ณดํธ๋ฉ๋๋ค.
๋ค์์ ์ต์ํ์ ์ฌ์ ์ถ์ ์ฒดํฌ๋ฆฌ์คํธ์ ๋๋ค:
- ๊ฒฉ๋ฆฌ ์ ์ฅ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋น๊ณต๊ฐ์: ๊ณต๊ฐ ๋ฒํท ์ ๊ทผ ์์, โ๋งํฌ ์๋ ์ฌ์ฉ์ ๋ชจ๋โ ์์, ์์ ์ค๋ธ์ ํธ ์ ์ฅ์์์ ์ง์ ์ ๊ณตํ์ง ์์
- ๋ชจ๋ ํ์ผ ๋ ์ฝ๋์ ์์ ์(์ฌ์ฉ์, ํ, ๋๋ ํ ๋ํธ)์ pending, clean, infected, failed ๊ฐ์ ๋ช ํํ ๋ผ์ดํ์ฌ์ดํด ์ํ๊ฐ ์์
- ์ค์บ ํ์ ์์ปค์ ์ ํ๋ ์ฌ์๋, ๋ช ํํ ๋ฐฑ์คํ ๊ท์น, ํญ๋ชฉ์ด ์ ์ฒด๋๊ฑฐ๋ ๋ฐ๋ณต ์คํจํ ๋์ ์๋ฆผ์ด ์์
- ์ ๋ก๋, ์ค์บ ๊ฒฐ๊ณผ, ๋ค์ด๋ก๋ ์๋(์ฐจ๋จ๋ ์๋ ํฌํจ)์ ๋ํ ๊ฐ์ฌ ๋ก๊ทธ๊ฐ ์์ผ๋ฉฐ ๋๊ฐ, ์ธ์ , ์์ธ์ง๋ฅผ ๊ธฐ๋กํจ
- ์๋ ์ฌ์ ์ ๊ธฐ๋ฅ์ ๋๋ฌผ๊ฒ๋ง ์ฌ์ฉํ๋ฉฐ ๊ด๋ฆฌ์ ์ ์ฉ์ด๊ณ ๊ธฐ๋ก๋๋ฉฐ ์๊ฐ ์ ํ์ด ์์(๋น๊ณต๊ฐ "mark clean" ๋ฒํผ ๊ธ์ง)
๋ง์ง๋ง์ผ๋ก ์์คํ ์ ๋๊น์ง ๊ด์ฐฐํ ์ ์์ด์ผ ํฉ๋๋ค. ์ง๊ธ ๋ช ๊ฐ์ ํ์ผ์ด ์ค์บ ๋๊ธฐ ์ค์ธ์ง, ์ด๋ค ํ ๋ํธ๊ฐ ์คํจ๋ฅผ ๊ฒช๊ณ ์๋์ง ๋ตํ ์ ์์ด์ผ ํฉ๋๋ค. AppMaster๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ Data Designer์์ ํ์ผ ๋ผ์ดํ์ฌ์ดํด์ ๋ชจ๋ธ๋งํ๊ณ Business Process Editor์์ ์ํ ๊ฒ์ฌ๋ฅผ ๊ฐ์ ํ์ฌ ๊ท์น์ ์น๊ณผ ๋ชจ๋ฐ์ผ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋๊ฒ ์ ์งํ์ธ์.
๋ค์ ๋จ๊ณ: ์ค๊ณ๋ฅผ ์๋ํ๋ ์ฑ์ผ๋ก ๋ฐ๊พธ๊ธฐ
๋จผ์ ํ์ผ์ด ๊ฐ์ง ์ ์๋ ์ ํํ ์ํ์ ๊ฐ ์ํ์์ ํ์ฉ๋๋ ๊ฒ์ ํ ์ฅ์ผ๋ก ์ ๋ฆฌํ์ธ์. ๊ฐ๋จํ๊ณ ๋ช ํํ๊ฒ ์ ์งํ์ธ์: โuploadedโ, โqueuedโ, โscanningโ, โcleanโ, โinfectedโ, โscan_failedโ. ๊ฐ ์ํ ์์ ๋๊ฐ ํ์ผ์ ๋ณผ ์ ์๊ณ , ๋ค์ด๋ก๋ํ๊ฑฐ๋ ์ญ์ ํ ์ ์๋์ง ์ก์ธ์ค ๊ท์น์ ์ถ๊ฐํ์ธ์.
๊ทธ๋ค์, ๋ณผ๋ฅจ๊ณผ ์ฌ์ฉ์ ๊ฒฝํ ๋ชฉํ์ ๋ง๋ ์ ๊ทผ ๋ฐฉ์์ ์ ํํ์ธ์. ์ธ๋ผ์ธ ์ค์บ์ ์ค๋ช ํ๊ธฐ๋ ์ฝ์ง๋ง ์ ๋ก๋๋ฅผ ๋๋ฆฌ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๋น๋๊ธฐ ์ค์บ์ ๋ฌธ์ ์ค์ฌ ์ฑ์ ๋ ์ ํ์ฅ๋์ง๋ง ์ํ, ํ, "๋๊ธฐ ์ค" UI๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
์ค๊ณ์์ ๋น๋๋ก ์ฎ๊ธฐ๋ ์ค์ฉ์ ์ธ ๋ฐฉ๋ฒ์ ํ์ค์ ์ธ ๋ฌธ์(PDF, Office ํ์ผ, ์ด๋ฏธ์ง, ์์นด์ด๋ธ)์ ํ์ค์ ์ธ ์ฌ์ฉ์ ํ๋(์ฌ๋ฌ ์ ๋ก๋, ์ทจ์, ์ฌ์๋)์ ์ฌ์ฉํด ์ ์ฒด ํ๋ฆ์ ํ๋กํ ํ์ดํํ๋ ๊ฒ์ ๋๋ค. "์ค์บ๋๊ฐ ์๋ํ๋ค"๋ก ๋๋ด์ง ๋ง์ธ์. ์ฑ์ด ๊ฒฉ๋ฆฌ๋ ํ์ผ์ ์ค์๋ก๋ผ๋ ์ ๊ณตํ์ง ์๋์ง ๊ฒ์ฆํ์ธ์.
์ผ์ฃผ์ผ ์์ ์คํํ ์ ์๋ ๊ฐ๋จํ ๋น๋ ๊ณํ:
- ํ์ผ ์ํ, ์ ํ, ์ ๊ทผ ๊ท์น์ ํ ํ์ด์ง์ ์ ์
- ์ธ๋ผ์ธ, ๋น๋๊ธฐ, ๋๋ ํ์ด๋ธ๋ฆฌ๋ ์ค ํ๋๋ฅผ ์ ํํ๊ณ ์ฅ๋จ์ ์ ๋ฌธ์ํ
- ์ ๋ก๋ -> ๊ฒฉ๋ฆฌ ์ ์ฅ์ -> ์ค์บ ์์ -> ๊ฒฐ๊ณผ ์ฝ๋ฐฑ, ๊ฐ์ฌ ๋ก๊ทธ ๊ตฌํ
- ์ฌ์ฉ์์๊ฒ ๋ณด์ด๋ UI ์ํ(๋๊ธฐ, ์ฐจ๋จ, ์คํจ, ์น์ธ) ๊ตฌ์ถ
- ์ด๊ธฐ๋ถํฐ ๋ชจ๋ํฐ๋ง ์ถ๊ฐ: ๋ฐฑ๋ก๊ทธ ํฌ๊ธฐ, ์คํจ์จ, clean๊น์ง ์์ ์๊ฐ
์ฝ๋ ์๋ ํด๋ก ๋น๋ํ๋ค๋ฉด AppMaster๋ ํ์ผ ๋ฉํ๋ฐ์ดํฐ(์ํ, ์์ ์, ์ฒดํฌ์ฌ, ํ์์คํฌํ) ๋ชจ๋ธ๋ง, ์ ๋ก๋ ๋ฐ ๊ฒํ ํ๋ฉด ๊ตฌ์ถ, ์ค์บ ์ํฌํ๋ก์ฐ ์ค์ผ์คํธ๋ ์ด์ ์ ๋์ ์ค์ ์ ํ ํ๋ฆ์ ์กฐ๊ธฐ์ ํ ์คํธํ๊ฒ ํด ์ค๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ถํ, ์ ์ฅ ๋ถ๋ฆฌ, ์ ๋ขฐํ ์ ์๋ ์ฌ์๋ ๊ฐ์ ์ค์ํ ๋ถ๋ถ์ ๊ฐํํ์ธ์.
๋ง์ง๋ง์ผ๋ก, ์ซ์๋ก ๋ฌด์์ด โ์ข๋คโ์ธ์ง ๊ฒฐ์ ํ์ธ์. ์ถ์ ์ ์ ์๋ฆผ ์๊ณ๊ฐ์ ์ค์ ํด ์ค์บ ์ ์ฒด์ ์คํจ ์ฆ๊ฐ๋ฅผ ์ฌ์ฉ์๋ณด๋ค ๋จผ์ ๋ฐ๊ฒฌํ์ธ์.


