์๋ ์, ์ ๋ ๊ฑฐ๋ ํ๋ซํผ์ ์ํ ์ค์๊ฐ ๋ชจ๋ํฐ๋ง ๋์๋ณด๋ ๊ตฌ์ถ ํ๋ก์ ํธ๋ฅผ ์ฃผ๋ํ์ต๋๋ค. ์๊ตฌ์ฌํญ: ์ฌ์ฉ์ ํ๋ฉด์ 100๋ฐ๋ฆฌ์ด ๋ฏธ๋ง์ ์ง์ฐ ์๊ฐ์ผ๋ก ์ด๋น 100๋ง ์ด๋ฒคํธ๋ก ์ ๋ฐ์ดํธ๋๋ ์์ฅ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํ.
์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ ์๊ฐํ์ ๋ํด ์๊ณ ์๋ค๊ณ ์๊ฐํ๋ ๋ชจ๋ ๊ฒ์ ๊นจ๋จ๋ ธ์ต๋๋ค.
์ค์๊ฐ์ ํ์ค
์๋ฌด๋ ๋งํด์ฃผ์ง ์๋ ์ฌ์ค: "์ค์๊ฐ"์ ๋ณดํต ์ค์๊ฐ์ด ์๋๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ข ์ข ๊ด์ฐฎ์ต๋๋ค.
"์ค์๊ฐ"์ผ๋ก ํ์๋ ๋๋ถ๋ถ์ ๋์๋ณด๋๋ ์ค์ ๋ก 5-30์ด๋ง๋ค ์๋ก๊ณ ์นจ๋ฉ๋๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ ์ฌ๋ก์์๋ ์ด๊ฒ์ด ์๋ฒฝํ ์ ์ ํฉ๋๋ค. ํ์ง๋ง ์ค์ ๋ก 1์ด ๋ฏธ๋ง ์ ๋ฐ์ดํธ๊ฐ ํ์ํ ๋๋ ๊ท์น์ด ์์ ํ ๋ฐ๋๋๋ค.
"์ค์๊ฐ"์ ์ธ ๊ฐ์ง ๊ณ์ธต
๊ณ์ธต 1: ์ค์ค์๊ฐ (5-60์ด ์๋ก๊ณ ์นจ)
์ฌ์ฉ ์ฌ๋ก: ๋น์ฆ๋์ค ๋์๋ณด๋, ๋ง์ผํ ๋ถ์, ์์ ์งํ
์ํคํ ์ฒ: API ์๋ํฌ์ธํธ ํด๋ง, ๋ฐฐ์น ์ง๊ณ
๋ณต์ก์ฑ: ์ค๊ฐ
์ด๊ฒ์ด ๋๋ถ๋ถ์ ์ฌ๋๋ค์ด ํ์ํ ๊ฒ์ ๋๋ค. ๋ฐ์ดํฐ ํ์ด ๋งค๋ถ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ๊ณ , ๋์๋ณด๋๊ฐ ์ ๋ฐ์ดํธ๋ฅผ ํด๋งํฉ๋๋ค. ๊ฐ๋จํ๊ณ ํจ๊ณผ์ ์ ๋๋ค.
๊ณ์ธต 2: ์ค์๊ฐ (1-5์ด ์๋ก๊ณ ์นจ)
์ฌ์ฉ ์ฌ๋ก: ์ด์ ๋ชจ๋ํฐ๋ง, ๋ผ์ด๋ธ ์ด๋ฒคํธ ์ถ์ , ๊ณ ๊ฐ ์ง์ ๋๊ธฐ์ด
์ํคํ ์ฒ: WebSockets, ์๋ฒ ์ ์ก ์ด๋ฒคํธ, ์คํธ๋ฆฌ๋ฐ ์ฟผ๋ฆฌ
๋ณต์ก์ฑ: ๋์
ํด๋ง์์ ํธ์๋ก์ ์ ํ์ ๋ชจ๋ ๊ฒ์ ๋ฐ๊ฟ๋๋ค. ์ด์ ์ง์์ ์ธ ์ฐ๊ฒฐ ์ ์ง, ์ฌ์ฐ๊ฒฐ ๋ก์ง ์ฒ๋ฆฌ, ํด๋ผ์ด์ธํธ/์๋ฒ ๊ฐ ์ํ ๊ด๋ฆฌ๊ฐ ํ์ํฉ๋๋ค.
๊ณ์ธต 3: 1์ด ๋ฏธ๋ง (1์ด ๋ฏธ๋ง)
์ฌ์ฉ ์ฌ๋ก: ๊ฑฐ๋ ํ๋ซํผ, ๋ผ์ด๋ธ ๊ฒ์ ํต๊ณ, ์ฐ์ ๋ชจ๋ํฐ๋ง
์ํคํ ์ฒ: ์คํธ๋ฆฌ๋ฐ ํ์ดํ๋ผ์ธ, ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ต์ ํ๋ ๋ ๋๋ง
๋ณต์ก์ฑ: ๋งค์ฐ ๋์
์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ 8๊ฐ์ ๋์ ๋จธ๋ฌผ๋ ๋ ๊ณณ์ ๋๋ค. ๋ชจ๋ ์ต์ ํ๊ฐ ์ค์ํฉ๋๋ค. ๋ชจ๋ ๋ฐ๋ฆฌ์ด๊ฐ ์ค์ํฉ๋๋ค.
์ค์๊ฐ ์๊ฐํ๊ฐ ์ด๋ ค์ด ์ด์
๋ฌธ์ 1: ๋ฐ์ดํฐ ๋ณผ๋ฅจ
์ด๋น 100๋ง ์ด๋ฒคํธ์์, ๊ฐ ์ด๋ฒคํธ๋ฅผ ๋ ๋๋งํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋งค์ด ๋ฐฑ๋ง ๊ฐ์ ํฌ์ธํธ์ ๋๋ค. ๋ธ๋ผ์ฐ์ ๊ฐ ํญ๋ฐํ ๊ฒ์ ๋๋ค.
ํด๊ฒฐ์ฑ : ์ฌ์ ์ง๊ณ. ์์ ์ด๋ฒคํธ๋ฅผ ํ๋ก ํธ์๋๋ก ๋ณด๋ด์ง ๋ง์ธ์. ์์ค์์ ์ง๊ณํ์ธ์ โ ์๊ฐ ๋ฒํท๋น ํ๊ท , ๊ฐ์, ๋ฐฑ๋ถ์์. ์ฐ๋ฆฌ๋ ๋ฐฑ๋ง ๊ฐ์ ์์ ์ด๋ฒคํธ ๋์ ์ด๋น 10๊ฐ์ ์ง๊ณ ์ ๋ฐ์ดํธ๋ฅผ ์ ์กํ์ต๋๋ค.
๋ฌธ์ 2: ๋ ๋๋ง ์ฑ๋ฅ
์ด๋น 10๊ฐ์ ์ ๋ฐ์ดํธ๋ผ๋, ์ ์ฒด ์ฐจํธ๋ฅผ ๋ค์ ๋ ๋๋งํ๋ฉด ์ฑ๋ฅ์ด ์ฃฝ์ต๋๋ค. React์ ์กฐ์ , SVG ์กฐ์, ์บ๋ฒ์ค ๋ค์ ๊ทธ๋ฆฌ๊ธฐ โ ๋ชจ๋ ํฉ์ฐ๋ฉ๋๋ค.
ํด๊ฒฐ์ฑ : ์ฆ๋ถ ์ ๋ฐ์ดํธ. ์ฐจํธ๋ฅผ ๋ค์ ๊ตฌ์ถํ์ง ๋ง๊ณ ์ถ๊ฐํ์ธ์. ์ฐ๋ฆฌ๋ ๊ฐ์ฅ ๋์ ๋น๋์ ์ฐจํธ์ WebGL ๊ธฐ๋ฐ ๋ ๋๋ง์ ์ฌ์ฉํ๋๋ฐ, ์ด๋ 60fps ์ ๋ฐ์ดํธ๋ฅผ ๋ถ๋๋ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ฌธ์ 3: ์ธ๊ฐ์ ์ง๊ฐ
์ง๊ด์ ๋ฐํ๋ ๋ฐ๊ฒฌ์ ๋๋ค: ์ฝ 200๋ฐ๋ฆฌ์ด๋ณด๋ค ๋น ๋ฅธ ์ ๋ฐ์ดํธ๋ ํ๋ฆฟํด์ง๋๋ค. ์ฌ์ฉ์๋ ์ด๋น 10ํ๋ ์ ์ด์์ผ๋ก ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ ๊ทธ์ ๊น๋นก์์ ๋ณผ ๋ฟ์ ๋๋ค.
ํด๊ฒฐ์ฑ : ์๊ฐ์ ๋ถ๋๋ฌ์. ๋ฐ์ดํฐ๊ฐ 10Hz๋ก ์ ๋ฐ์ดํธ๋ ๋์กฐ์ฐจ๋, ์ฐ๋ฆฌ๋ 200๋ฐ๋ฆฌ์ด์ ๊ฑธ์ณ ์ ํ์ ์ ๋๋ฉ์ด์ ํํ์ต๋๋ค. ์ฐจํธ๋ ํผ๋์ค๋ฝ์ง ์์ผ๋ฉด์ "๋ผ์ด๋ธ" ๋๋์ ์ฃผ์์ต๋๋ค.
๋ฌธ์ 4: ๋คํธ์ํฌ ๋ณ๋์ฑ
WebSocket ์ฐ๊ฒฐ์ด ๋์ด์ง๋๋ค. ํจํท์ด ์ง์ฐ๋ฉ๋๋ค. ๋ชจ๋ฐ์ผ ์ฌ์ฉ์๊ฐ ๋คํธ์ํฌ๋ฅผ ์ ํํฉ๋๋ค.
ํด๊ฒฐ์ฑ : ๊ฐ๋ ฅํ ์ฌ์ฐ๊ฒฐ, ๋ฉ์์ง ํ์, ์ฐ์ํ ์ฑ๋ฅ ์ ํ. ์ฐ๊ฒฐ์ด ๋์ด์ง๋ฉด ๋ง์ง๋ง์ผ๋ก ์๋ ค์ง ์ํ๋ฅผ "์ฌ์ฐ๊ฒฐ ์ค" ํ์์ ํจ๊ป ๋ณด์ฌ์ฃผ์ธ์ โ ๋น ํ๋ฉด์ ๋ณด์ฌ์ฃผ์ง ๋ง์ธ์.
ํจ๊ณผ๋ฅผ ๋ฐํํ ์ํคํ ์ฒ
๋ค์์ ์ฐ๋ฆฌ์ ์ด๋น ๋ฐฑ๋ง ์ด๋ฒคํธ ์๊ตฌ์ฌํญ์ ์ฒ๋ฆฌํ ์คํ์ ๋๋ค:
๋ฐ์ดํฐ ๊ณ์ธต
- ์ด๋ฒคํธ ์์ง์ ์ํ Apache Kafka
- ์ค์๊ฐ ์ง๊ณ๋ฅผ ์ํ Apache Flink
- ์ต์ ์ํ ์บ์ฑ์ ์ํ Redis
- ํ์คํ ๋ฆฌ ์ฟผ๋ฆฌ๋ฅผ ์ํ TimescaleDB
API ๊ณ์ธต
- WebSocket ์๋ฒ์ฉ Go (๋์ ์ฐ๊ฒฐ ํจ์จ์ ์ฒ๋ฆฌ)
- ๋ด๋ถ ์๋น์ค ํต์ ์ฉ gRPC
- ๋ฉ์์ง ์ผ๊ด ์ฒ๋ฆฌ (๋ชจ๋ ์ด๋ฒคํธ๊ฐ ์๋ 100๋ฐ๋ฆฌ์ด๋ง๋ค ์ ๋ฐ์ดํธ ์ ์ก)
ํ๋ก ํธ์๋
- UI ๊ตฌ์กฐ์ฉ React
- ๊ณ ๋น๋ ์ฐจํธ์ฉ WebGL (regl ํตํด)
- ์ค๊ฐ ๋น๋ ์ฐจํธ์ฉ ๊ฒฝ๋ ์บ๋ฒ์ค
- ๋ฎ์ ๋น๋, ์ํธ์์ฉ์ด ๋ง์ ์ฐจํธ์ฉ SVG (D3 ํตํด)
ํต์ฌ ๊ฒฐ์ ์ฌํญ
- ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ์ง๊ณ: ํ๋ก ํธ์๋๋ ์์ ์ด๋ฒคํธ๊ฐ ์๋ ํ์ ์ค๋น๊ฐ ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํด์ผ ํฉ๋๋ค.
- ์ ๋ฐ์ดํธ ๋น๋ ๋ถ๋ฆฌ: ๋ชจ๋ ์์๊ฐ 10fps๋ฅผ ํ์๋ก ํ์ง ์์ต๋๋ค. ์ ์ ์ปจํ ์คํธ๋ 30์ด๋ง๋ค ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ ์ด ์์ธ ์์ค: ์ฌ์ฉ์๊ฐ "๊ฐ์" (๋๋ฆฐ ์ ๋ฐ์ดํธ, ๋ ๋ง์ ๋ฐ์ดํฐ)์ "์ธ๋ถ" (๋น ๋ฅธ ์ ๋ฐ์ดํธ, ์ง์ค๋ ๋ณด๊ธฐ) ์ฌ์ด์์ ์ ํํ ์ ์๊ฒ ํ์ธ์.
์ฑ๋ฅ ์ต์ ํ
์๋ฒ์์
- ์๊ฐ ๋ฒํท ์ฌ์ ๊ณ์ฐ: ํด๋ผ์ด์ธํธ๊ฐ "์ง๋ 5๋ถ"์ ๊ณ์ฐํ์ง ์๊ฒ ํ๊ธฐ
- ๋ธํ ์ธ์ฝ๋ฉ: ์ ์ฒด ์ํ๊ฐ ์๋ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ ์ก
- ์์ถ: WebSocket ๋ฉ์์ง gzip ์์ถ (๋๋๋๋ก ํจ๊ณผ์ )
- ์ฐ๊ฒฐ ํ๋ง: ๊ตฌ๋ ๊ฐ ์ฐ๊ฒฐ ์ฌ์ฌ์ฉ
ํด๋ผ์ด์ธํธ์์
- ๊ฐ์ฒด ํ๋ง: ๊ฐ๋น์ง ์ปฌ๋ ์ ๋์ ์ฐจํธ ์์ ์ฌ์ฌ์ฉ
- RequestAnimationFrame ์ผ๊ด ์ฒ๋ฆฌ: ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ์ฃผ๊ธฐ์ ์ ๋ฐ์ดํธ ๋๊ธฐํ
- ์บ๋ฒ์ค ๋ ์ด์ด๋ง: ์ ์ ์์๋ ํ๋์ ์บ๋ฒ์ค, ๋์ ์์๋ ๋ค๋ฅธ ์บ๋ฒ์ค
- Web Workers: ๋ฉ์ธ ์ค๋ ๋ ์ธ๋ถ์์ ๋ค์ด์ค๋ ๋ฐ์ดํฐ ํ์ฑ
ํจ๊ณผ๊ฐ ์์๋ ๊ฒ
- ๊ณ ๋น๋ ์ ๋ฐ์ดํธ์ฉ SVG (DOM ์กฐ์์ด ๋๋ฌด ๋๋ฆผ)
- ์ค์๊ฐ ์ํ์ฉ Redux (๋น๋ฒํ ์ ๋ฐ์ดํธ์ ์ง๋์น๊ฒ ์ค๋ฒํค๋)
- 5fps ์ด์์ ์ํ ๊ธฐ์ฑ ์ฐจํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ (์ด ์ฌ์ฉ ์ฌ๋ก์ ์ต์ ํ๋์ง ์์)
์ค์๊ฐ์์ ์ป์ UX ๊ตํ
๊ตํ 1: ์ฌ์ฉ์์๊ฒ ์ ์ด๊ถ ์ฃผ๊ธฐ
๋ชจ๋ ์ฌ๋์ด ๋ผ์ด๋ธ ์ ๋ฐ์ดํธ๋ฅผ ์ํ๋ ๊ฒ์ ์๋๋๋ค. ์ผ๋ถ ์ฌ์ฉ์๋ ์ฐ๋งํ๊ฒ ๋๋๋๋ค. ์ฐ๋ฆฌ๋ ๋ค์์ ์ถ๊ฐํ์ต๋๋ค:
- ์ผ์์ ์ง ๋ฒํผ: ํ์ฌ ๋ณด๊ธฐ "๊ณ ์ "
- ์ ๋ฐ์ดํธ ๋น๋ ์ ํ๊ธฐ: 1์ด, 5์ด, 30์ด
- ํ์คํ ๋ฆฌ ๋ชจ๋: "5๋ถ ์ ์ ์ผ์ด๋ ์ผ ๋ณด์ฌ์ฃผ์ธ์"
๊ตํ 2: ์ํ๋ฅผ ๋ช ํํ ํ๊ธฐ
์ฌ์ฉ์๋ ๋ค์์ ์์์ผ ํฉ๋๋ค:
- ์ด๊ฒ์ด ๋ผ์ด๋ธ์ธ๊ฐ ์ญ์ฌ์ ์ธ๊ฐ?
- ๋ง์ง๋ง ์ ๋ฐ์ดํธ๋ ์ธ์ ์๋?
- ์ฐ๊ฒฐ ์ํ๊ฐ ๊ฑด๊ฐํ๊ฐ?
์ฐ๋ฆฌ๋ ๊ฐ ์ ๋ฐ์ดํธ๋ง๋ค ๋งฅ๋ฐ์ ๋ฐ๋ ์ง์์ ์ธ "ํํธ๋นํธ" ํ์๊ธฐ๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ๋๋๊ฒ๋ ์์ฌ์์ผ ์ค๋๋ค.
๊ตํ 3: ์ง๋ฃจํ ์ํ ์ฒ๋ฆฌํ๊ธฐ
๋๋ถ๋ถ์ ์๊ฐ์๋ ํฅ๋ฏธ๋ก์ด ์ผ์ด ์ผ์ด๋์ง ์์ต๋๋ค. ์ฐจํธ๋ ๊ทธ์ ... ๋น์ทํ ๊ฐ์ผ๋ก ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
์ฌ๊ธฐ์ ์ฃผ์์ด ๋์์ด ๋ฉ๋๋ค: "14:32์ ๊ธ์ฆ ๊ฐ์ง๋จ"์ ์๋ฏธ ์๋ ๋ณํ์ ์ฃผ์๋ฅผ ๋๋๋ค. ์ด๊ฒ ์์ด๋ ์ฌ์ฉ์๋ค์ ์ก์์ ์์ํ๊ฒ ๋ฉ๋๋ค.
๊ตํ 4: ๋ชจ๋ฐ์ผ์ ๋ค๋ฅด๋ค
๋ ์์ ํ๋ฉด, ๋ ๋์ ์ฐ๊ฒฐ, ๋ฐฐํฐ๋ฆฌ ์ ์ฝ. ๋ชจ๋ฐ์ผ์ฉ:
- ์๋์ผ๋ก ์ ๋ฐ์ดํธ ๋น๋ ์ค์ด๊ธฐ
- ์๊ฐํ ๋จ์ํ
- ์ ๊ทน์ ์ธ ์ฌ์ฐ๊ฒฐ ๋ก์ง ์ถ๊ฐ
์ค์๊ฐ์ด ๊ฐ์น ์์ ๋
์ด ์์คํ ์ ๊ตฌ์ถํ ํ, ์ ๋ ์ค์๊ฐ ์๊ตฌ์ฌํญ์ ๋ํด ๋ ํ์์ ์ ๋๋ค. ๋ฌผ์ด๋ณด์ธ์:
- ๋ ๋น ๋ฅธ ์ ๋ฐ์ดํธ๊ฐ ์ฌ์ฉ์ ํ๋์ ๋ฐ๊ฟ ๊ฒ์ธ๊ฐ?
- ์ฌ์ฉ์๋ค์ด ์ค์ ๋ก ๊ทธ๋ ๊ฒ ๋น ๋ฅธ ์ ๋ณด์ ๋ฐ๋ผ ํ๋ํ ์ ์๋๊ฐ?
- ์์ง๋์ด๋ง ๋น์ฉ์ด ์ ๋นํ๋๋๊ฐ?
๋๋ถ๋ถ์ ๋์๋ณด๋์ ๋ํ ๋ต์ ์๋์ค์ ๋๋ค. 15์ด ์๋ก๊ณ ์นจ๋ ๊ด์ฐฎ์ต๋๋ค. ์ด๊ฐ ์ค์ ๋ก ์ค์ํ ๊ฒฝ์ฐ์ ์ค์๊ฐ์ ์ฌ์ฉํ์ธ์.
๋๊ตฌ์ ๋ฆฌ์์ค
๊ณ์ธต 1-2 (์ค์ค์๊ฐ ๋ฐ ์ค์๊ฐ)์ฉ:
ChartGen๊ณผ ๊ฐ์ ํ๋์ ๋๊ตฌ๋ API๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํด๋งํ๋ ์ฐจํธ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. WebSocket ์๋ํฌ์ธํธ์ ๊ฒฐํฉํ๋ฉด ๋ง์ถคํ ์ธํ๋ผ ์์ด๋ ๊ฒฌ๊ณ ํ ์ค์๊ฐ ๋์๋ณด๋๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๊ณ์ธต 3 (1์ด ๋ฏธ๋ง)์ฉ:
ํน์ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค: ์บ๋ฒ์ค์ D3, ๋ง์ถคํ WebGL ๋ ๋๋ง, ๋๋ uPlot์ด๋ ์ฆ๋ถ ์ ๋ฐ์ดํธ ๋ชจ๋์ Apache ECharts์ ๊ฐ์ ๋ชฉ์ ์ ๋ง๊ฒ ๊ตฌ์ถ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
์คํธ๋ฆฌ๋ฐ ์ธํ๋ผ์ฉ:
- Apache Kafka + Flink (๋ณต์กํ์ง๋ง ๊ฐ๋ ฅํจ)
- AWS Kinesis + Lambda (๊ด๋ฆฌํ์ด์ง๋ง ์ ํ์ )
- Redis Streams + ๋ง์ถคํ ์ง๊ณ (๋ ๊ฐ๋จํ์ง๋ง ํ์ฅ์ฑ ๋ฎ์)
์ค์๊ฐ ์์คํ ๋ชจ๋ํฐ๋ง
์ฐ๋ฆฌ๊ฐ ์ธก์ ํ ๊ฒ:
- ์ข ๋จ ๊ฐ ์ง์ฐ ์๊ฐ (์ด๋ฒคํธ ํ์์คํฌํ์์ ํ๋ฉด ํฝ์ ๊น์ง)
- ์ฐ๊ฒฐ ์ํ (์๊ฐ๋น ์ฌ์ฐ๊ฒฐ ํ์)
- ๋ ๋๋ง ์ฑ๋ฅ (์ด๋น ํ๋ ์ ์)
- ์ฌ์ฉ์ ์ฐธ์ฌ (์ฌ๋๋ค์ด ์ค์ ๋ก ์ค์๊ฐ ๋ณด๊ธฐ๋ฅผ ๋ณด๋๊ฐ?)
๋๋ผ์ด ๋ฐ๊ฒฌ: ๋ง์ ์ฌ์ฉ์๊ฐ ๋์๋ณด๋๋ฅผ ์ด๊ณ , 2๋ถ ๋์ ๋ณด๊ณ , ๋ฐฐ๊ฒฝ ํญ์ ๊ทธ๋๋ก ๋์์ต๋๋ค. "๋ผ์ด๋ธ" ๋ฐ์ดํฐ๋ ๋๋ถ๋ถ ๋ณด์ด์ง ์์์ต๋๋ค.
๋ง์ง๋ง ์๊ฐ
์ค์๊ฐ ์๊ฐํ๋ ์์ง๋์ด๋ง ๋์ ์ด์ง๋ง, ๋ํ UX ๋์ ์ด๊ธฐ๋ ํฉ๋๋ค. ๊ฐ์ฅ ์ด๋ ค์ด ๋ถ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ํ๋ฉด์ ๋น ๋ฅด๊ฒ ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์๋๋๋ค โ ๊ทธ๊ฒ์ ์ธ๊ฐ์ด ์ค์ ๋ก ์ดํดํ๊ณ ํ๋ํ ์ ์๋ ๋ฐฉ์์ผ๋ก ์ ์ํ๋ ๊ฒ์ ๋๋ค.
์ค์๊ฐ์ ๊ตฌ์ถํ๊ธฐ ์ ์ ๋ฌผ์ด๋ณด์ธ์: ๋ ๋น ๋ฅธ ๋ฐ์ดํฐ๋ก ์ฌ์ฉ์๋ค์ด ์ค์ ๋ก ๋ฌด์์ ๋ค๋ฅด๊ฒ ํ ๊ฒ์ธ๊ฐ?
๋ต๋ณ์ด ๋ช ํํ์ง ์๋ค๋ฉด, ์๋ง๋ ์ค์๊ฐ์ด ์ ํ ํ์ํ์ง ์์ ์ ์์ต๋๋ค.


