์์ ์ ๋ฐ์ดํธ: ํ๋งค์์๊ฒ ์ฐ๋ฝ & ์์ ํ ๋์งํธ ๋ค์ด๋ก๋
2026๋ 9์ 10์ผ
์ค๋ ์ฐ๋ฆฌ๋ ์ปค๋ฎค๋ํฐ์์ ๊ฐ๋ ฅํ ์์ฒญํ ๋ ๊ฐ์ง ์ฃผ์ ์์ ๊ธฐ๋ฅ์ ์ถ์ํฉ๋๋ค: ๊ตฌ๋งค ์ ๊ตฌ๋งค์๊ฐ ํ๋งค์์๊ฒ ์ง๋ฌธํ ์ ์๋ ๋ฐฉ๋ฒ๊ณผ, ๋ค์ด๋ก๋ ๊ฐ๋ฅํ ์ ํ์ ์ํ ์์ ํ ๋์งํธ ํ์ผ ๋ฐฐ์ก์ ๋๋ค.
ํ๋งค์์๊ฒ ์ฐ๋ฝ โ ๊ตฌ๋งค ์ ์ ์ง๋ฌธํ์ธ์
๊ตฌ๋งคํ๊ธฐ ์ ์ ์์ ์์ ์์๊ฒ ์ ํ์ ๋ํด ์ง๋ฌธํ๊ณ ์ถ์๋ ์ ์ด ์์ผ์ ๊ฐ์? ์ด์ ๊ฐ๋ฅํฉ๋๋ค.
์์ ์ ๋ชจ๋ ์ ํ ์นด๋์ ์ด์ โํ๋งค์์๊ฒ ์ฐ๋ฝโ ๋ฒํผ์ด ์์ต๋๋ค. ํด๋ฆญํ๊ณ , ์ง๋ฌธ์ ์ ๋ ฅํ๊ณ (์ต๋ 1024์), ์ ์กํ์ธ์. ์์ ์์ ์๋ Server-Sent Events (SSE)๋ฅผ ํตํด ์ฆ๊ฐ์ ์ธ ์ค์๊ฐ ์๋ฆผ์ ๋ฐ์ต๋๋ค โ ํ์ด์ง ์๋ก๊ณ ์นจ์ด ํ์ ์์ต๋๋ค. ๊ทธ๋ค์ ์์ ์์ ์ ๋์๋ณด๋์์ ์ง์ ๋ต์ฅํ ์ ์์ผ๋ฉฐ, ๋ต์ฅ์ด ์ค๋ฉด ์๋ฆผ์ ๋ฐ๊ฒ ๋ฉ๋๋ค.
์๋ ๋ฐฉ์
- ๊ตฌ๋งค์๊ฐ ๋ชจ๋ ์ ํ์์ โํ๋งค์์๊ฒ ์ฐ๋ฝโ์ ํด๋ฆญ
- ์ง๋ฌธ ์ ๋ ฅ(์ต๋ 1024์)
- ํ๋งค์๊ฐ ๋ฉ์์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ์ ํจ๊ป ์ฆ๊ฐ์ ์ธ SSE ํ ์คํธ ์๋ฆผ์ ๋ฐ์
- ํ๋งค์๊ฐ ๋์๋ณด๋์ ๋ฌธ์ ์น์ ์ ์ด๊ณ ๋ต์ฅ
- ๊ตฌ๋งค์๊ฐ ํ๋งค์๊ฐ ๋ต์ฅํ๋ค๋ SSE ์๋ฆผ์ ๋ฐ์
์๋ ์ ํ
์คํธ์ ๋ฐฉ์งํ๊ธฐ ์ํด, ๊ฐ ๊ตฌ๋งค์๋ ์ ํ๋น 24์๊ฐ๋ง๋ค ์ต๋ 5๊ฐ์ ์ด๋ฆฐ ๋ฌธ์๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ์ด๋ ํ๋งค์๊ฐ ์์คํ ์ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ์ ์งํ๋ฉด์ ๊ตฌ๋งค์์๊ฒ ํ์ ์ง๋ฌธ์ ํ ์ถฉ๋ถํ ์ฌ์ ๋ฅผ ์ ๊ณตํฉ๋๋ค.
23๊ฐ ์ธ์ด๋ก ์ ๊ณต
์ฐ๋ฝ ๊ธฐ๋ฅ์ ๋ชจ๋ UI ํ ์คํธ๋ ์ง์๋๋ 23๊ฐ ์ธ์ด ๋ชจ๋๋ก ๋ฒ์ญ๋์์ต๋๋ค: ์๋์ด, ๋ฒต๊ณจ์ด, ๋ ์ผ์ด, ์์ด, ์คํ์ธ์ด, ํ๋ฅด์์์ด, ํ๋์ค์ด, ํ๋์ด, ์ธ๋๋ค์์์ด, ์ดํ๋ฆฌ์์ด, ์ผ๋ณธ์ด, ํ๊ตญ์ด, ํด๋๋์ด, ํฌ๋ฅดํฌ๊ฐ์ด, ๋ฌ์์์ด, ์ค์ํ๋ฆฌ์ด, ํ๊ตญ์ด, ํ๊ฐ๋ก๊ทธ์ด, ํฐํค์ด, ์ฐ๋ฅด๋์ด, ๋ฒ ํธ๋จ์ด, ์ค๊ตญ์ด(๊ฐ์ฒด), ์ค๊ตญ์ด(๋ฒ์ฒด).
์์ ํ ๋์งํธ ๋ค์ด๋ก๋ โ ๋ฐ์ด๋ฌ์ค ์ค์บ ํ์ผ ๋ฐฐ์ก
์์ ์์ ์๋ ์ด์ ๋์งํธ ์ ํ์ ๋ค์ด๋ก๋ ๊ฐ๋ฅํ ํ์ผ(PDF, ์ด๋ฏธ์ง, ์ค๋์ค, ๋น๋์ค, EPUB)์ ์ ๋ก๋ํ ์ ์์ต๋๋ค. ๊ตฌ๋งค์๊ฐ ๊ฒฐ์ ํ๋ฉด, ํ์ผ์ด ์์ ์ โ๋ด ๋ค์ด๋ก๋โ ์น์ ์ ๋ํ๋ฉ๋๋ค.
๋ค์ค ๊ณ์ธต ๋ณด์(์ฌ์ธต ๋ฐฉ์ด)
์ด ๊ธฐ๋ฅ์ ๊ตฌ์ถํ ๋ ๋ณด์์ด ์ต์ฐ์ ์ด์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋งฌ์จ์ด๊ฐ ํ๋ ์ด์ด์๊ฒ ๋๋ฌํ์ง ๋ชปํ๋๋ก 9๊ฐ ๊ณ์ธต์ ๋ณดํธ๋ฅผ ๊ตฌํํ์ต๋๋ค:
| # | ๊ณ์ธต | ๊ธฐ๋ฅ |
|---|---|---|
| 1 | ํ์ผ ์ ํ ํ์ฉ ๋ชฉ๋ก | ์์ ํ ๋ฌธ์/๋ฏธ๋์ด ์ ํ๋ง ํ์ฉ๋ฉ๋๋ค: PDF, PNG, JPG, GIF, WebP, TXT, Markdown, MP3, MP4, WebM, OGG, EPUB. ์คํ ํ์ผ, ์คํฌ๋ฆฝํธ ๋๋ ์คํฌ๋ฆฝํธ๋ฅผ ํฌํจํ ์ ์๋ ์์นด์ด๋ธ๋ ํ์ฉ๋์ง ์์ต๋๋ค. |
| 2 | ๋งค์ง ๋ฐ์ดํธ ๊ฒ์ฆ | ํ์ผ์ ์ค์ ๋ด์ฉ์ด ํ์ฅ์์ ์ผ์นํด์ผ ํฉ๋๋ค. photo.png๋ผ๋ ํ์ผ์ ์ค์ ๋ก PNG ๋งค์ง ๋ฐ์ดํธ๋ก ์์ํด์ผ ํฉ๋๋ค. malware.exe๋ฅผ malware.pdf๋ก ์ด๋ฆ์ ๋ฐ๊พธ๋ ๊ฒ์ ์๋ํ์ง ์์ต๋๋ค. |
| 3 | 50 MB ํฌ๊ธฐ ์ ํ | ์ ๋ก๋ ํฌ๊ธฐ์ ํ๋ ์บก์ ํฐ ํ์ผ์ ํตํ ์๋น์ค ๊ฑฐ๋ถ๋ฅผ ๋ฐฉ์งํฉ๋๋ค. |
| 4 | ClamAV ๋ฐ์ด๋ฌ์ค ์ค์บ | ๋ชจ๋ ํ์ผ์ INSTREAM ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ClamAV(Docker ์ฌ์ด๋์นด๋ก ์คํ)์ ์ํด ์ค์บ๋ฉ๋๋ค. ClamAV๊ฐ ์ํ์ ๊ฐ์งํ๋ฉด ์ ๋ก๋๊ฐ ๊ฑฐ๋ถ๋ฉ๋๋ค. ํ๋ก๋์ ์์ ClamAV์ ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ์๋ ์ ๋ก๋๊ฐ ๊ฑฐ๋ถ๋ฉ๋๋ค โ ์ค์บ๋์ง ์์ ํ์ผ์ ์ ๋ ์ ์ฅํ์ง ์์ต๋๋ค. |
| 5 | SHA-256 ํด์ฑ | ์ ์ฅ๋ ๋ชจ๋ ํ์ผ์ ํด์ฑ๋๋ฉฐ ํด์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ๋ก๋ฉ๋๋ค. ์ด๋ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ๊ณผ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ ์ ๊ณตํฉ๋๋ค. |
| 6 | ์ด์ค ํ์ฅ์ ์ฐจ๋จ | document.pdf.exe์ ๊ฐ์ ํ์ผ์ ๊ฑฐ๋ถ๋ฉ๋๋ค. ๋จ์ผ ํ์ฅ์๋ง ํ์ฉ๋ฉ๋๋ค. |
| 7 | ์ง์ ์น ์ ๊ทผ ์์ | ๋ค์ด๋ก๋ ํ์ผ์ ์น ๋ฃจํธ ์ธ๋ถ์ ์ ์ฅ๋ฉ๋๋ค. ์ด๋ฅผ ์ง์ ์ ๊ณตํ๋ nginx ๊ฒฝ๋ก๊ฐ ์์ต๋๋ค. ํ์ผ์ ์ ๊ทผํ๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ์ธ์ฆ๋ ๋ค์ด๋ก๋ ํธ๋ค๋ฌ๋ฅผ ํตํ๋ ๊ฒ์ ๋๋ค. |
| 8 | ์ธ์ฆ๋ ๋ค์ด๋ก๋ ํธ๋ค๋ฌ | ๋ค์ด๋ก๋ ์๋ํฌ์ธํธ๋ ์์ฒญ ์ฌ์ฉ์๊ฐ ์ฃผ๋ฌธ์ ์์ ํ๊ณ ์๋์ง, ์ฃผ๋ฌธ์ด ๊ฒฐ์ ๋์๋์ง, ๋ค์ด๋ก๋ ํ์ผ์ด ํด๋น ์ฃผ๋ฌธ์ ์ ํ์ ์ํ๋์ง ๊ฒ์ฆํฉ๋๋ค. ์ฃผ๋ฌธ์ด ์์ผ๋ฉด ์ ๊ทผํ ์ ์์ต๋๋ค. |
| 9 | ๋ค์ด๋ก๋ ์นด์ดํ | ๊ฐ ํ์ผ์ ์ฃผ๋ฌธ๋น ์ต๋ 10ํ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. ์ด๋ ๋ค์ด๋ก๋ ๋งํฌ๊ฐ ์ ์ถ๋ ๊ฒฝ์ฐ ๋จ์ฉ์ ๋ฐฉ์งํฉ๋๋ค. |
์์ ์์ ์๋ฅผ ์ํ ์๋ ๋ฐฉ์
- ์ ํ์ ์์ฑํ๊ฑฐ๋ ํธ์งํ ๋ **โ๋์งํธโ**๋ก ํ์
- ์ ํ์ ์๋ก์ด โ๋ค์ด๋ก๋โ ๋ฒํผ ํด๋ฆญ
- ํ์ผ ์ ๋ก๋(์ต๋ 50 MB, ํ์ฉ๋ ์ ํ๋ง)
- ํ์ผ์ด ClamAV์ ์ํด ์๋์ผ๋ก ์ค์บ๋จ
- ์ค์บ์ ํต๊ณผํ๋ฉด ๋ น์ โ์ค์บ๋จโ ๋ฐฐ์ง๊ฐ ํ์๋จ
- ๊ฒ์ฆ์ ์ํด SHA-256 ํด์๊ฐ ํ์๋จ
๊ตฌ๋งค์๋ฅผ ์ํ ์๋ ๋ฐฉ์
- ๋์งํธ ์ ํ์ ๊ตฌ๋งคํ๊ณ ๊ฒฐ์ ์๋ฃ
- ์์ ์ฌ์ด๋๋ฐ์ โ๋ด ๋ค์ด๋ก๋โ ์น์ ์ด ๋ํ๋จ
- ๋ค์ด๋ก๋ ํด๋ฆญ โ ํ์ผ์ด ์์ ํ Blob ๋ค์ด๋ก๋๋ก ์ ๊ณต๋จ
- ๋ค์ด๋ก๋ ์นด์ดํฐ์ ๋จ์ ๋ค์ด๋ก๋ ํ์(ํ์ผ๋น 10ํ)๊ฐ ํ์๋จ
๊ธฐ์กด์ Fragment/CTTC ๋ฐฐ์ก์ ์ด๋ป๊ฒ ๋๋์?
๊ธฐ์กด์ Fragment Pieces ๋ฐ CTTC Pieces ์๋ ๋ฐฐ์ก์ ์ด์ ๊ณผ ์์ ํ ๋์ผํ๊ฒ ๊ณ์ ์๋ํฉ๋๋ค. ์๋ก์ด ๋ค์ด๋ก๋ ์์คํ ์ ์์ ์์ ์๊ฐ ์ ํ์ ์ฒจ๋ถํ๊ณ ์ถ์ ๋ค๋ฅธ ๋์งํธ ํ์ผ์ ์ํ ์ถ๊ฐ ๋ฐฐ์ก ๋ฉ์ปค๋์ฆ์ ๋๋ค.
๊ธฐ์ ์ธ๋ถ ์ฌํญ
- ๋ฐฑ์๋: PostgreSQL์ ์ฌ์ฉํ๋ Go game-service. ์๋ก์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์ด ๊ตฌ๋งค์-ํ๋งค์ ๋ฉ์์ง์ ํ์ผ ๋ฉํ๋ฐ์ดํฐ/์ ๊ทผ ๊ถํ์ ์ฒ๋ฆฌํฉ๋๋ค.
- ClamAV: game-service์ ํจ๊ป Docker ์ฌ์ด๋์นด ์ปจํ ์ด๋๋ก ์คํ. INSTREAM ํ๋กํ ์ฝ์ ์ฌ์ฉํ TCP ํต์ .
- SSE: ์ค์๊ฐ ์๋ฆผ์ ๊ธฐ์กด Server-Sent Events ์ธํ๋ผ๋ฅผ ์ฌ์ฉ. ์๋ก์ด ์ด๋ฒคํธ๊ฐ ๋ค์ด์ค๋ ๋ฌธ์์ ๋ํด ํ๋งค์์๊ฒ, ๋ต์ฅ์ ๋ํด ๊ตฌ๋งค์์๊ฒ ์๋ฆฝ๋๋ค.
- ํ๋ก ํธ์๋: i18n์ด ์๋ ๋ฐ๋๋ผ JavaScript. 25๊ฐ ์ธ์ด ํ์ผ์ 28๊ฐ์ ์๋ก์ด ๋ฒ์ญ ํค.
- ์ ์ฅ์: ๋ค์ด๋ก๋ ํ์ผ์ ์น ๋ฃจํธ ์ธ๋ถ์ ์ ์ฅ๋๋ฉฐ, ์ธ์ฆ๋ API๋ฅผ ํตํด์๋ง ์ ๊ทผํ ์ ์์ต๋๋ค.
๋ค์์ ๋ฌด์์ธ๊ฐ์?
์ด๋ฌํ ๊ธฐ๋ฅ์ ํ์ฌ ํ ์คํธ๋ฅผ ์ํด MAAS ์คํ ์ด์ง ์๋ฒ์ ๋ฐฐํฌ ์ค์ ๋๋ค. ๊ฒ์ฆ์ด ์๋ฃ๋๋ฉด ๋ชจ๋ ํ๋ก๋์ ๋ฆฌ์ ์ ๋ฐฐํฌ๋ ๊ฒ์ ๋๋ค.
์์ ์์ ์์๋ผ๋ฉด, ํ๋งคํ๊ณ ์ถ์ ๋์งํธ ์ ํ์ด ๋ฌด์์ธ์ง ์๊ฐํด ๋ณด์ธ์ โ PDF, ์ํธ์ํฌ, ์์ , ๋น๋์ค ๋ฑ ๋ฌด์์ด๋ , ์์ ์ ์ด์ ์ํฐํ๋ผ์ด์ฆ๊ธ ๋งฌ์จ์ด ๋ณดํธ๋ฅผ ๊ฐ์ถ ์์ ํ ๋ฐฐ์ก์ ์ง์ํฉ๋๋ค.
ํผ๋๋ฐฑ์ด ์์ผ์ ๊ฐ์? ์๋ก์ด โํ๋งค์์๊ฒ ์ฐ๋ฝโ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ์ ํฌ ํ ์์ ์ ์ฐ๋ฝํ์ธ์!