์๋ฐ์คํฌ๋ฆฝํธ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ์ ์ํคํ ์ฒ, ์ฅ์ , ๋ชจ๋ฒ ์ฌ๋ก ๋ฐ ๊ธ๋ก๋ฒ ์ฌ์ฉ์๋ฅผ ์ํ ๊ฐ๋ฐ ๊ฐ์ํ ๋ฐฉ๋ฒ์ ์์๋ณด์ธ์.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ: ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ ์ธํ๋ผ ์ฌ์ธต ๋ถ์
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์น ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๋ฅ์ ๋ง์ถคํํ๊ณ ํฅ์์ํค๋ ์์ ์ํํธ์จ์ด ํ๋ก๊ทธ๋จ์ ๋๋ค. ๊ด๊ณ ์ฐจ๋จ ๋ฐ ๋น๋ฐ๋ฒํธ ๊ด๋ฆฌ๋ถํฐ ์์ฐ์ฑ ๋๊ตฌ ๋ฐ ๋ณด์ ๊ฐํ์ ์ด๋ฅด๊ธฐ๊น์ง ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฉฐ ์จ๋ผ์ธ ๊ฒฝํ์ ํ์์ ์ธ ๋ถ๋ถ์ด ๋์์ต๋๋ค. ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฒ์๋ถํฐ ๊ตฌ์ถํ๋ ๊ฒ์ ๋ณต์กํ๊ณ ์๊ฐ์ด ๋ง์ด ์์๋๋ ๊ณผ์ ์ผ ์ ์์ต๋๋ค. ๋ฐ๋ก ์ด ์ง์ ์์ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๊ฐ ๋ฑ์ฅํ์ฌ ๊ฐ๋ฐ์ ๊ฐ์ํํ๊ณ ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ์ด์งํ๋ ๊ฒฌ๊ณ ํ ์ธํ๋ผ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๋ ๋ฌด์์ธ๊ฐ?
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ์์ฑ์ ๋จ์ํํ๊ธฐ ์ํด ์ค๊ณ๋ ์ฌ์ ๊ตฌ์ถ๋ ๋๊ตฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ API์ ์งํฉ์ ๋๋ค. ์ด๋ ํ์คํ๋ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํ๊ณ , ๊ณตํต ์์ ์ ์ฒ๋ฆฌํ๋ฉฐ, ๋ธ๋ผ์ฐ์ ๋ณ ๋ณต์ก์ฑ์ ์ถ์ํํ์ฌ ๊ฐ๋ฐ์๊ฐ ํ์ฅ์ ํต์ฌ ๊ธฐ๋ฅ์ ์ง์คํ ์ ์๋๋ก ํฉ๋๋ค. ์ด๋ฌํ ํ๋ ์์ํฌ๋ ์์ฉ๊ตฌ ์ฝ๋๋ฅผ ํฌ๊ฒ ์ค์ด๊ณ ๊ฐ๋ฐ ์๋๋ฅผ ํฅ์์ํค๋ฉฐ ๋ธ๋ผ์ฐ์ ํ์ฅ์ ์ ๋ฐ์ ์ธ ํ์ง์ ๋์ ๋๋ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ์ด์ ๋?
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ํ๋ช ํ ์ ํ์ด ๋๋ ๋ช ๊ฐ์ง ๊ฐ๋ ฅํ ์ด์ ๊ฐ ์์ต๋๋ค:
- ๊ฐ๋ฐ ์๊ฐ ๋จ์ถ: ํ๋ ์์ํฌ๋ ์ฌ์ ๊ตฌ์ถ๋ ๊ตฌ์ฑ ์์์ API๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ์ฒ์๋ถํฐ ์์ฑํด์ผ ํ๋ ์ฝ๋์ ์์ ๋ํญ ์ค์ฌ์ค๋๋ค. ์ด๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ์์ฅ ์ถ์ ์๊ฐ์ ๋จ์ถ์ํต๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ฟ์ ๊ฐ๋ฐ์๋ ํ๋ ์์ํฌ๋ฅผ ํ์ฉํ์ฌ ์๋์ผ๋ก ๊ตฌ์ถํ๋ ๋ฐ ๋ช ์ฃผ๊ฐ ๊ฑธ๋ฆด ๋ฒ์ญ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
- ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ: ๋ธ๋ผ์ฐ์ ๋ณ API ๋ฐ ๋ถ์ผ์น๋ฅผ ์ฒ๋ฆฌํ๋ ๊ฒ์ ํฐ ๊ณจ์นซ๊ฑฐ๋ฆฌ๊ฐ ๋ ์ ์์ต๋๋ค. ํ๋ ์์ํฌ๋ ์ข ์ข ์ด๋ฌํ ์ฐจ์ด์ ์ ์ถ์ํํ๋ ํตํฉ API๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ์ต์ํ์ ์ฝ๋ ๋ณ๊ฒฝ์ผ๋ก ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ (ํฌ๋กฌ, ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ, ์ฃ์ง ๋ฑ)์์ ์ํํ๊ฒ ์๋ํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ์ ์๋๋ก ํฉ๋๋ค. ๋ฒ ๋ฅผ๋ฆฐ์ ๊ฐ๋ฐ์๋ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ๋์ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์์ฑํ ํ์ ์์ด ๋ณด์ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ํฌ๋กฌ๊ณผ ํ์ด์ดํญ์ค์์ ๋์ผํ๊ฒ ์๋ํ๋๋ก ํ ์ ์์ต๋๋ค.
- ์ฝ๋ ์ ์ง๋ณด์์ฑ ํฅ์: ํ๋ ์์ํฌ๋ ์ผ๊ด๋ ์ฝ๋ ๊ตฌ์กฐ์ ์ํคํ ์ฒ๋ฅผ ๊ฐ์ ํ์ฌ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ ์ง๋ณด์ํ๊ณ ์ ๋ฐ์ดํธํ๊ธฐ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ์ด๋ ํนํ ํ์์ ๊ฐ๋ฐํ๋ ํฌ๊ณ ๋ณต์กํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค์ํฉ๋๋ค.
- ๋ณด์ ๊ฐํ: ๋ง์ ํ๋ ์์ํฌ๋ ๋ณด์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํตํฉํ๊ณ ๊ฐ๋ฐ์๊ฐ ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ (XSS) ์ทจ์ฝ์ ๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ ๋ณด์ ํจ์ ์ ํผํ๋๋ก ๋์ต๋๋ค. ์ด๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๊ณ ํ์ฅ์ ์์ ์ ๋ณด์ฅํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ๋๋ฒ๊น ๋ฐ ํ ์คํธ ๊ฐ์ํ: ํ๋ ์์ํฌ๋ ์ข ์ข ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ค๋ฅ๋ฅผ ์๋ณํ๊ณ ์์ ํ๊ธฐ ์ฝ๊ฒ ๋ง๋๋ ๋๋ฒ๊น ๋๊ตฌ์ ํ ์คํธ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ปค๋ฎค๋ํฐ ์ง์: ์ธ๊ธฐ ์๋ ํ๋ ์์ํฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ง์์ ์ ๊ณตํ๊ณ , ์ง์์ ๊ณต์ ํ๋ฉฐ, ํ๋ ์์ํฌ ๊ฐ๋ฐ์ ๊ธฐ์ฌํ ์ ์๋ ํ๋ฐํ ๊ฐ๋ฐ์ ์ปค๋ฎค๋ํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์ด๋ ๋ฌธ์ ์ ๋ถ๋ชํ๊ฑฐ๋ ๋์์ด ํ์ํ ๋ ๋งค์ฐ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ์ ์ฃผ์ ๊ตฌ์ฑ ์์
ํ๋ ์์ํฌ๋ง๋ค ํน์ ๊ธฐ๋ฅ์ ๋ค๋ฅด์ง๋ง, ๋๋ถ๋ถ ๊ณตํต๋ ํต์ฌ ๊ตฌ์ฑ ์์ ์งํฉ์ ๊ณต์ ํฉ๋๋ค:
- ๋งค๋ํ์คํธ ํ์ผ: ํ์ฅ ํ๋ก๊ทธ๋จ, ๊ถํ ๋ฐ ์ง์ ์ (๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ, ์ฝํ ์ธ ์คํฌ๋ฆฝํธ ๋ฑ)์ ์ค๋ช ํ๋ JSON ํ์ผ์ ๋๋ค. ํ๋ ์์ํฌ๋ ์ข ์ข ๋งค๋ํ์คํธ ํ์ผ์ ์์ฑ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํํฉ๋๋ค.
- ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ: ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ง์์ ์ผ๋ก ์คํ๋๋ฉฐ ์ด๋ฒคํธ ๊ด๋ฆฌ, ์ฝํ ์ธ ์คํฌ๋ฆฝํธ์์ ํต์ , ์ธ๋ถ API์์ ์ํธ ์์ฉ๊ณผ ๊ฐ์ ํ์ฅ ๋ก์ง์ ์ฒ๋ฆฌํ๋ ์คํฌ๋ฆฝํธ์ ๋๋ค. ํ๋ ์์ํฌ๋ ์ข ์ข ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ์ ์๋ช ์ฃผ๊ธฐ ๋ฐ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๊ด๋ฆฌ๋ฅผ ์ํ ์ ํธ๋ฆฌํฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฝํ ์ธ ์คํฌ๋ฆฝํธ: ์น ํ์ด์ง์ ์ฃผ์ ๋์ด ํ์ด์ง์ DOM(๋ฌธ์ ๊ฐ์ฒด ๋ชจ๋ธ)๊ณผ ์ํธ ์์ฉํ ์ ์๋ ์คํฌ๋ฆฝํธ์ ๋๋ค. ํ๋ ์์ํฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ฅผ ์ฝ๊ฒ ์ฃผ์ ํ๊ณ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ์ ํต์ ํ๊ธฐ ์ํ API๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฝํ ์ธ ์คํฌ๋ฆฝํธ๋ ํ์ฅ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์คํฌ๋ฆฝํธ์ ์ ์ฅ๋ ๊ธฐ๋ณธ ์ค์ ์ ๋ฐ๋ผ ๋ญ๋ฐ์ด์์ ๋ณด๋ ์น ํ์ด์ง์ ํน์ ๋จ์ด๋ฅผ ๊ฐ์กฐ ํ์ํ๋ ๋ฐ ์ฌ์ฉ๋ ์ ์์ต๋๋ค.
- ํ์ : ๋ธ๋ผ์ฐ์ ํด๋ฐ์์ ํ์ฅ ํ๋ก๊ทธ๋จ ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ๋ํ๋๋ ์์ ์ฐฝ์ ๋๋ค. ํ๋ ์์ํฌ๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ ์ UI๋ฅผ ๋ง๋ค๊ณ ๊ด๋ฆฌํ๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ต์ ํ์ด์ง: ์ฌ์ฉ์๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋์์ ๊ตฌ์ฑํ ์ ์๋ ์ค์ ํ์ด์ง์ ๋๋ค. ํ๋ ์์ํฌ๋ ์ข ์ข ์ต์ ํ์ด์ง ์์ฑ์ ๋จ์ํํ๊ณ ์ฌ์ฉ์ ๊ธฐ๋ณธ ์ค์ ์ ์ ์ฅํ๊ณ ๊ฒ์ํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ๋ถ์๋ ธ์ค์์ด๋ ์ค์ ์ฌ์ฉ์๋ ์ต์ ํ์ด์ง๋ฅผ ํตํด ๋ฒ์ญ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ธ์ด ์ค์ ์ ์กฐ์ ํ ์ ์์ต๋๋ค.
- API: ๋ธ๋ผ์ฐ์ ๊ธฐ๋ฅ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๊ณ ๊ณตํต ์์ ์ ๋จ์ํํ๋ ์ฌ์ ๊ตฌ์ถ๋ ํจ์ ๋ฐ ํด๋์ค ์งํฉ์ ๋๋ค. ์ด๋ฌํ API๋ ๊ธฐ๋ณธ WebExtensions API์ ๋ณต์ก์ฑ์ ์ถ์ํํฉ๋๋ค.
์ธ๊ธฐ ์๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ
๊ฐ๊ฐ์ ๊ฐ์ ๊ณผ ์ฝ์ ์ ๊ฐ์ง ๋ช ๊ฐ์ง ํ๋ฅญํ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๊ฐ ์์ต๋๋ค. ๋ค์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ช ๊ฐ์ง ์ต์ ์ ๋๋ค:
1. Plasmo
Plasmo๋ ๋ฆฌ์กํธ(React), ํ์ ์คํฌ๋ฆฝํธ(TypeScript), ์น์ด์ ๋ธ๋ฆฌ(WebAssembly)๋ก ํ์ฅ ๊ฐ๋ฅํ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๊ธฐ ์ํด ์ค๊ณ๋ ํ๋์ ์ธ ์คํ์์ค ํ๋ ์์ํฌ์ ๋๋ค. ๊ฐ๋ฐ์ ๊ฒฝํ์ ์ฐ์ ์ํ๋ฉฐ ๋ค์๊ณผ ๊ฐ์ ํ๋ถํ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค:
- ํซ ๋ฆฌ๋ก๋ฉ: ์ฝ๋ ๋ณ๊ฒฝ์ด ๊ฐ์ง๋๋ฉด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ค์ ๋ก๋ํ์ฌ ๊ฐ๋ฐ ์๋๋ฅผ ํฌ๊ฒ ๋์ ๋๋ค.
- ์ ์ธ์ ๋งค๋ํ์คํธ: ์ ์ธ์ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ์ฌ ๋งค๋ํ์คํธ ํ์ผ ์์ฑ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋จ์ํํฉ๋๋ค.
- ์๊ฒฉ ์ฝ๋ ํธ์: ์ฌ์ฉ์๊ฐ ํ์ฅ ํ๋ก๊ทธ๋จ ์คํ ์ด์์ ์ ๋ฒ์ ์ ๋ค์ด๋ก๋ํ ํ์ ์์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฝ๋๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค(์คํ ์ด ์ ์ฑ ์ ๋ฐ๋ฆ).
- ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ: ํฌ๋กฌ, ํ์ด์ดํญ์ค, ์ฌํ๋ฆฌ, ์ฃ์ง์ ๋ํ ๋ด์ฅ ์ง์์ ์ ๊ณตํฉ๋๋ค.
- ์๋ํ๋ ํ ์คํธ: Jest ๋ฐ Cypress์ ๊ฐ์ ์ธ๊ธฐ ์๋ ํ ์คํธ ํ๋ ์์ํฌ์ ํตํฉ๋ฉ๋๋ค.
Plasmo๋ ๋ฆฌ์กํธ์ ์ต์ํ๊ณ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๋ ํ๋์ ์ด๊ณ ๊ธฐ๋ฅ์ด ํ๋ถํ ํ๋ ์์ํฌ๋ฅผ ์ํ๋ ๊ฐ๋ฐ์์๊ฒ ํ๋ฅญํ ์ ํ์ ๋๋ค.
์์: ๊ธ๋ก๋ฒ ์ ์์๊ฑฐ๋ ํ์ฌ๋ Plasmo๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์จ๋ผ์ธ ์คํ ์ด์์ ์ ํ์ ์ต์ ๊ฐ๋ฅผ ์๋์ผ๋ก ๊ฒ์ํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ์ ์ฐฝ์ ํ์ํ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์ด ํ์ฅ ํ๋ก๊ทธ๋จ์ Plasmo์ ํซ ๋ฆฌ๋ก๋ฉ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ UI์ ๋ก์ง์ ๋น ๋ฅด๊ฒ ๋ฐ๋ณต ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
2. Webpack Extension Reloader
Webpack Extension Reloader๋ Plasmo์ ๊ฐ์ ์์ ํ ํ๋ ์์ํฌ๋ ์๋์ง๋ง ๋งค์ฐ ์ ์ฉํ ๋๊ตฌ์ ๋๋ค. ์ฃผ๋ก ๊ฐ๋ฐ ์ค ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ค์ ๋ก๋ํ๋ ๋ฒ๊ฑฐ๋ก์์ ํด๊ฒฐํฉ๋๋ค. ์ธ๊ธฐ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฒ๋ค๋ฌ์ธ Webpack๊ณผ ์ํํ๊ฒ ์๋ํ์ฌ ์ฝ๋ ๋ณ๊ฒฝ์ด ๊ฐ์ง๋ ๋๋ง๋ค ํ์ฅ ํ๋ก๊ทธ๋จ์ ์๋์ผ๋ก ๋ค์ ๋ก๋ํฉ๋๋ค.
์์ ํ ํ๋ ์์ํฌ์ฒ๋ผ ํฌ๊ด์ ์ธ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ๊ณตํ์ง๋ ์์ง๋ง, ์๋ ๋ฆฌ๋ก๋์ ํ์์ฑ์ ์ ๊ฑฐํ์ฌ ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ๋ฅผ ํฌ๊ฒ ๊ฐ์ ํฉ๋๋ค.
์์: ์๋ง์ ๋ชจ๋์ด ์๋ ๋ณต์กํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์์ ํ๋ ์ฑ๊ฐํฌ๋ฅด์ ๊ฐ๋ฐ์๋ Webpack Extension Reloader๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ณ์ ์๋์ผ๋ก ๋ค์ ๋ก๋ํ ํ์ ์์ด ์ฝ๋ ๋ณ๊ฒฝ์ ํจ๊ณผ๋ฅผ ์ฆ์ ํ์ธํ ์ ์์ต๋๋ค.
3. CRXJS Vite Plugin
CRXJS Vite Plugin์ ๋น ๋ฅด๊ณ ๊ฐ๋ฒผ์ด ๋น๋ ๋๊ตฌ์ธ Vite์ ํตํฉ๋์ด ํฌ๋กฌ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ๊ฐ์ํํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค:
- ์๋ ๋งค๋ํ์คํธ ์์ฑ
- ํซ ๋ฆฌ๋ก๋ฉ
- ๋ค์ํ ํ๋ ์์ํฌ ์ง์(๋ฆฌ์กํธ, ๋ทฐ, ์ค๋ฒจํธ)
- ๋ฐฐํฌ๋ฅผ ์ํ ์์ฌ์ด ํจํค์ง
์์: ๋ทฐ(Vue.js) ์ปดํฌ๋ํธ๋ฅผ ํ์ฉํ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๋ ์ผ์ดํํ์ด์ ์น ๊ฐ๋ฐ์๋ CRXJS Vite Plugin์ ํ์ฉํ์ฌ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
4. Extensionizr
Extensionizr๋ ๋ค๋ฅธ ์ข ๋ฅ์ ๋๊ตฌ์ ๋๋ค. ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ํ ๊ธฐ๋ณธ ์์ฉ๊ตฌ ์ฝ๋๋ฅผ ๋ง๋๋ ๋ฐ ๋์์ ์ฃผ๋ ์น ๊ธฐ๋ฐ ์์ฑ๊ธฐ์ ๋๋ค. ํ์ฅ์ ์ด๋ฆ, ์ค๋ช , ๊ถํ ๋ฐ ๊ธฐํ ์ค์ ์ ์ง์ ํ๋ฉด Extensionizr๊ฐ ํ์ํ ๋งค๋ํ์คํธ ํ์ผ๊ณผ ๊ธฐ๋ณธ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ์์ฑํฉ๋๋ค. ์ฅ๊ธฐ์ ์ธ ๊ฐ๋ฐ๋ณด๋ค๋ ํ๋ก์ ํธ ์ค์ ์ ์ ์ฉํฉ๋๋ค.
์์: ๋์ด๋ก๋น์ ์ด๋ณด ๊ฐ๋ฐ์๋ Extensionizr๋ฅผ ์ฌ์ฉํ์ฌ ์ฒซ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ ํ์ผ์ ์ ์ํ๊ฒ ์์ฑํ์ฌ ํ๋ก์ ํธ๋ฅผ ์๋์ผ๋ก ์ค์ ํ๋ ์ด๊ธฐ ์ฅ์ ๋ฌผ์ ํผํ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ํ๋ ์์ํฌ ์ ํํ๊ธฐ
ํน์ ํ๋ก์ ํธ์ ๊ฐ์ฅ ์ ํฉํ ํ๋ ์์ํฌ๋ ๋ค์๊ณผ ๊ฐ์ ์ฌ๋ฌ ์์ธ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค:
- ํ๋ก์ ํธ ๋ณต์ก์ฑ: ๊ฐ๋จํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ Webpack Extension Reloader ๋๋ CRXJS Vite Plugin๊ณผ ๊ฐ์ ๊ฐ๋ฒผ์ด ๋๊ตฌ๋ก ์ถฉ๋ถํ ์ ์์ต๋๋ค. ๋ ๋ณต์กํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฒฝ์ฐ Plasmo์ ๊ฐ์ ์์ ํ ํ๋ ์์ํฌ๋ฅผ ๊ถ์ฅํฉ๋๋ค.
- ๊ฐ๋ฐ์ ์น์๋: ๊ธฐ์กด ๊ธฐ์ ๋ฐ ๊ฒฝํ๊ณผ ์ผ์นํ๋ ํ๋ ์์ํฌ๋ฅผ ์ ํํ์ญ์์ค. ์ด๋ฏธ ๋ฆฌ์กํธ์ ์ต์ํ๋ค๋ฉด Plasmo๊ฐ ์ข์ ์ ํ์ผ ์ ์์ต๋๋ค.
- ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ ์๊ตฌ ์ฌํญ: ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ด์ฅ๋ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ ๊ณตํ๋ ํ๋ ์์ํฌ๋ฅผ ์ ํํ์ญ์์ค.
- ์ปค๋ฎค๋ํฐ ์ง์: ํ๋ ์์ํฌ ์ปค๋ฎค๋ํฐ์ ๊ท๋ชจ์ ํ๋์ ๊ณ ๋ คํ์ญ์์ค. ๋ ํฌ๊ณ ํ๋์ ์ธ ์ปค๋ฎค๋ํฐ๋ ๊ท์คํ ์ง์๊ณผ ๋ฆฌ์์ค๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ํ๋ ์์ํฌ ๊ธฐ๋ฅ: ๊ฐ ํ๋ ์์ํฌ๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ ํ๊ฐํ๊ณ ํน์ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ๊ฒ์ ์ ํํ์ญ์์ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
์ด๋ค ํ๋ ์์ํฌ๋ฅผ ์ ํํ๋ , ์์ ํ๊ณ ์ ๋ขฐํ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์ ์นํ์ ์ธ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ ๊ฒ์ด ์ค์ํฉ๋๋ค:
- ์ต์ํ์ ๊ถํ ์์ฒญ: ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์๋ํ๋ ๋ฐ ์ ๋์ ์ผ๋ก ํ์ํ ๊ถํ๋ง ์์ฒญํ์ญ์์ค. ๊ณผ๋ํ๊ฒ ํ์ฉ์ ์ธ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉ์์๊ฒ ๋ณด์ ์ํ์ ์ด๋ํ ์ ์์ต๋๋ค.
- ์ฌ์ฉ์ ์ ๋ ฅ ๊ฒ์ฆ: ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ (XSS) ์ทจ์ฝ์ ์ ๋ฐฉ์งํ๊ธฐ ์ํด ํญ์ ์ฌ์ฉ์ ์ ๋ ฅ์ ๊ฒ์ฆํ์ญ์์ค.
- ์ฝํ ์ธ ๋ณด์ ์ ์ฑ (CSP) ์ฌ์ฉ: CSP๋ฅผ ๊ตฌํํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ด ๋ฆฌ์์ค๋ฅผ ๋ก๋ํ ์ ์๋ ์์ค๋ฅผ ์ ํํ์ฌ XSS ์ํ์ ๋์ฑ ์ํํ์ญ์์ค.
- ๋ฐ์ดํฐ ๋ณด์ ์ฒ๋ฆฌ: ์ํธํ ๋ฐ ๋ณด์ ์ ์ฅ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๋น๋ฐ๋ฒํธ ๋ฐ ์ ์ฉ์นด๋ ๋ฒํธ์ ๊ฐ์ ๋ฏผ๊ฐํ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ์ญ์์ค.
- ์ ๊ธฐ์ ์ธ ํ์ฅ ํ๋ก๊ทธ๋จ ์ ๋ฐ์ดํธ: ์ต์ ๋ณด์ ํจ์น ๋ฐ ๋ฒ๊ทธ ์์ ์ผ๋ก ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ต์ ์ํ๋ก ์ ์งํ์ญ์์ค.
- ์ฒ ์ ํ ํ ์คํธ: ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ๋ฐ ์ด์ ์ฒด์ ์์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฒ ์ ํ ํ ์คํธํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๊ณ ์๋ก์ด ๋ฌธ์ ๋ฅผ ์ผ์ผํค์ง ์๋์ง ํ์ธํ์ญ์์ค.
- ๋ธ๋ผ์ฐ์ ์คํ ์ด ๊ฐ์ด๋๋ผ์ธ ์ค์: ํ์ฅ ํ๋ก๊ทธ๋จ์ด ์น์ธ๋๊ณ ์ ์ฑ ์ ์๋ฐํ์ง ์๋๋ก ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ์คํ ์ด(์: ํฌ๋กฌ ์น ์คํ ์ด, ํ์ด์ดํญ์ค ์ ๋์จ)์ ํน์ ๊ฐ์ด๋๋ผ์ธ๊ณผ ์๊ตฌ ์ฌํญ์ ์ค์ํ์ญ์์ค.
- ์ฑ๋ฅ ์ต์ ํ: ๋ธ๋ผ์ฐ์ ์ฑ๋ฅ์ ๋ฏธ์น๋ ์ํฅ์ ์ต์ํํ๊ธฐ ์ํด ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ณ ํจ์จ์ ์ผ๋ก ์ ์งํ์ญ์์ค. ๋ฉ์ธ ์ค๋ ๋๋ฅผ ์ฐจ๋จํ์ง ๋ง๊ณ ๊ฐ๋ฅํ ๋๋ง๋ค ๋น๋๊ธฐ ์์ ์ ์ฌ์ฉํ์ญ์์ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๋๋ฒ๊น ๋ฐ ํ ์คํธ
๋๋ฒ๊น ๊ณผ ํ ์คํธ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ ๊ณผ์ ์ ํ์์ ์ธ ๋ถ๋ถ์ ๋๋ค. ๋ค์์ ๋ช ๊ฐ์ง ์ ์ฉํ ํ์ ๋๋ค:
- ๋ธ๋ผ์ฐ์ ์ ๊ฐ๋ฐ์ ๋๊ตฌ ์ฌ์ฉ: ํฌ๋กฌ, ํ์ด์ดํญ์ค ๋ฐ ๊ธฐํ ๋ธ๋ผ์ฐ์ ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฝ๋, ๋คํธ์ํฌ ํธ๋ํฝ ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ๊ฒ์ฌํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ๊ฐ๋ ฅํ ๊ฐ๋ฐ์ ๋๊ตฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ๋๋ฒ๊น ์ ์ํ `console.log()` ์ฌ์ฉ: ์ฝ๋์ `console.log()` ๋ฌธ์ ์ฝ์ ํ์ฌ ์คํ ํ๋ฆ์ ์ถ์ ํ๊ณ ๋ณ์ ๊ฐ์ ๊ฒ์ฌํ์ญ์์ค.
- ์ค๋จ์ ์ค์ : ๋ธ๋ผ์ฐ์ ์ ๋๋ฒ๊ฑฐ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋์ ์ค๋จ์ ์ ์ค์ ํ๊ณ ์คํ์ ํ ์ค์ฉ ๋จ๊ณ๋ณ๋ก ์งํํ์ญ์์ค.
- ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์์ ํ ์คํธ: ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ์์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ํ ์คํธํ์ฌ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ํ์ธํ์ญ์์ค.
- ํ ์คํธ ํ๋ ์์ํฌ ์ฌ์ฉ: Jest ๋ฐ Mocha์ ๊ฐ์ ํ ์คํธ ํ๋ ์์ํฌ์ ํตํฉํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ ๋ํ ์๋ํ๋ ํ ์คํธ๋ฅผ ์์ฑํ์ญ์์ค.
- ์ฌ์ฉ์ ์ํธ ์์ฉ ์๋ฎฌ๋ ์ด์ : Selenium๊ณผ ๊ฐ์ ๋ธ๋ผ์ฐ์ ์๋ํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ฅ ํ๋ก๊ทธ๋จ๊ณผ์ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์๋ฎฌ๋ ์ด์ ํ๊ณ ์์๋๋ก ์๋ํ๋์ง ํ์ธํ์ญ์์ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ์์ตํ ์ ๋ต
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ผ๋ก ์์ต์ ์ฐฝ์ถํ ๊ณํ์ด๋ผ๋ฉด ๋ช ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค:
- ํ๋ฆฌ๋ฏธ์(Freemium) ๋ชจ๋ธ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ณธ ๋ฒ์ ์ ๋ฌด๋ฃ๋ก ์ ๊ณตํ๊ณ ํ๋ฆฌ๋ฏธ์ ๊ธฐ๋ฅ์ ๋ํด ์๊ธ์ ๋ถ๊ณผํฉ๋๋ค.
- ๊ตฌ๋ ๋ชจ๋ธ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ธฐ๋ฅ์ ๋ํ ์ก์ธ์ค์ ๋ํด ๋ฐ๋ณต์ ์ธ ์๊ธ์ ๋ถ๊ณผํฉ๋๋ค.
- ์ผํ์ฑ ๊ตฌ๋งค: ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ํด ์ผํ์ฑ ์๊ธ์ ๋ถ๊ณผํฉ๋๋ค.
- ๊ธฐ๋ถ: ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋์ด ํ๊ฐํ๋ ์ฌ์ฉ์๋ก๋ถํฐ ๊ธฐ๋ถ๋ฅผ ๋ฐ์ต๋๋ค.
- ์ ํด ๋ง์ผํ : ํ์ฅ ํ๋ก๊ทธ๋จ์ ํตํด ์ ํด ์ ํ์ด๋ ์๋น์ค๋ฅผ ํ๋ณดํ๊ณ ํ๋งค์ ๋ํ ์์๋ฃ๋ฅผ ๋ฐ์ต๋๋ค.
- ๊ฐ์ธ์ ๋ณด๋ฅผ ์กด์คํ๋ ๊ด๊ณ : ์ฌ์ฉ์ ๊ฐ์ธ์ ๋ณด๋ฅผ ์กด์คํ๋ ๋น์นจ์ ์ ์ธ ๊ด๊ณ ๋ฅผ ํ์ํฉ๋๋ค. ์ฌ์ฉ์๋ฅผ ์ถ์ ํ๊ฑฐ๋ ๋์ ์์ด ๊ฐ์ธ ๋ฐ์ดํฐ๋ฅผ ์์งํ๋ ๊ด๊ณ ๋ ํผํ์ญ์์ค.
์์ตํ ์ ๋ต์ ์ ํํ ๋๋ ํ์ฅ์ ๊ฐ์น ์ ์, ๋์ ๊ณ ๊ฐ ๋ฐ ๊ฐ ์ต์ ์ ์ค๋ฆฌ์ ํจ์๋ฅผ ๊ณ ๋ คํ์ญ์์ค.
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ์ ๋ฏธ๋
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๋ ๊ฐ๋ฐ์์ ์ฌ์ฉ์์ ๋ณํํ๋ ์๊ตฌ๋ฅผ ์ถฉ์กฑ์ํค๊ธฐ ์ํด ๋์์์ด ์งํํ๊ณ ์์ต๋๋ค. ๋ช ๊ฐ์ง ์๋ก์ด ๋ํฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๋ณด์์ ๋ํ ๊ด์ฌ ์ฆ๊ฐ: ํ๋ ์์ํฌ๋ ์ ์์ ์ธ ํ์ฅ ํ๋ก๊ทธ๋จ์ผ๋ก๋ถํฐ ์ฌ์ฉ์๋ฅผ ๋ณดํธํ๊ธฐ ์ํด ๋ ์ง๋ณด๋ ๋ณด์ ๊ธฐ๋ฅ์ ํตํฉํ๊ณ ์์ต๋๋ค.
- ๊ฐ๋ฐ์ ๊ฒฝํ ํฅ์: ํ๋ ์์ํฌ๋ ๋์ฑ ์ฌ์ฉ์ ์นํ์ ์ด ๋๊ณ ๋๋ฒ๊น , ํ ์คํธ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ํ ๋ ๋์ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
- AI ๋ฐ ๋จธ์ ๋ฌ๋๊ณผ์ ํตํฉ: ํ๋ ์์ํฌ๋ ๋ ์ง๋ฅ์ ์ด๊ณ ๊ฐ์ธํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด AI ๋ฐ ๋จธ์ ๋ฌ๋ ๊ธฐ์ ๊ณผ ํตํฉ๋๊ธฐ ์์ํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ๋ ์์ํฌ๋ AI๋ฅผ ์ฌ์ฉํ์ฌ ์น ํ์ด์ง๋ฅผ ์ฌ๋ฌ ์ธ์ด๋ก ์๋ ์์ฝํ๋ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ์ ์ด์งํ ์ ์์ต๋๋ค.
- ์น์ด์ ๋ธ๋ฆฌ ์ง์: ํ๋ ์์ํฌ๋ ์น์ด์ ๋ธ๋ฆฌ์ ๋ํ ์ง์์ ์ถ๊ฐํ์ฌ ๊ฐ๋ฐ์๊ฐ C++ ๋ฐ Rust์ ๊ฐ์ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ ์ฑ๋ฅ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์์ฑํ ์ ์๋๋ก ํ๊ณ ์์ต๋๋ค.
- ํ์ค์ํ ํ์ฅ ํ๋ก๊ทธ๋จ: ์น3(Web3) ๋ฐ ํ์ค์ํ ๊ธฐ์ ์ ๋ถ์์ ๋ธ๋ก์ฒด์ธ ๋คํธ์ํฌ ๋ฐ ํ์ค์ํ ์ ํ๋ฆฌ์ผ์ด์ (dApp)๊ณผ ์ํธ ์์ฉํ ์ ์๋ ํ์ค์ํ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐ๋ก ์ด์ด์ง๊ณ ์์ต๋๋ค.
๊ฒฐ๋ก
๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ํ๋ ์์ํฌ๋ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ ๊ฐ๋ฐ์ ๊ฐ์ํํ๋ ๋ฐ ๋งค์ฐ ๊ท์คํ ๋๊ตฌ์ ๋๋ค. ๊ฒฌ๊ณ ํ ์ธํ๋ผ๋ฅผ ์ ๊ณตํ๊ณ , ๋ธ๋ผ์ฐ์ ๋ณ ๋ณต์ก์ฑ์ ์ถ์ํํ๋ฉฐ, ์ฝ๋ ์ฌ์ฌ์ฉ์ฑ์ ์ด์งํ์ฌ ๊ฐ๋ฐ์๊ฐ ๊ณ ํ์ง์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋ ํจ์จ์ ์ผ๋ก ๋ง๋ค ์ ์๋๋ก ํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ํ๋ ์์ํฌ๋ฅผ ์ ์คํ๊ฒ ์ ํํ๊ณ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด ๊ฐ๋ฐ์๋ ์ ์ธ๊ณ ์๋ฐฑ๋ง ์ฌ์ฉ์์ ์จ๋ผ์ธ ๊ฒฝํ์ ํฅ์์ํค๋ ๊ฐ๋ ฅํ๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค. ์น์ด ๊ณ์ ๋ฐ์ ํจ์ ๋ฐ๋ผ ๋ธ๋ผ์ฐ์ ํ์ฅ ํ๋ก๊ทธ๋จ์ ์ฐ๋ฆฌ๊ฐ ์จ๋ผ์ธ ์ฝํ ์ธ ๋ฐ ์๋น์ค์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ํ์ฑํ๋ ๋ฐ ์ ์ ๋ ์ค์ํ ์ญํ ์ ํ ๊ฒ์ ๋๋ค. ํ๋ ์์ํฌ์ ์ฌ์ฉ์ ์ด๋ฌํ ํ์ฅ ํ๋ก๊ทธ๋จ์ ๋๊ท๋ชจ๋ก ๊ตฌ์ถํ๊ณ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ๋์ฑ ์ค์ํด์ง ๊ฒ์ ๋๋ค. ์ด๋ฌํ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ๋ฐ ์ธํ๋ผ๋ฅผ ์์ฉํ๋ ๊ฒ์ ๊ธ๋ก๋ฒ ๋์งํธ ํ๊ฒฝ์์ ํ์ ํ๊ณ ์ํฅ๋ ฅ ์๋ ๋ธ๋ผ์ฐ์ ๋๊ตฌ๋ฅผ ๋ง๋ค๊ณ ์ ํ๋ ๊ฐ๋ฐ์์๊ฒ ํ์์ ์ ๋๋ค. ๋ผ๊ณ ์ค์ ๊ฐ๋ฐ์๊ฐ ํ์ง ๋น์ฆ๋์ค๋ฅผ ์ํ ๋๊ตฌ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ๋ถํฐ, ์ค๋ฆฌ์ฝ ๋ฐธ๋ฆฌ์ ํ๋ก๊ทธ๋๋จธ๊ฐ ์ ์ธ๊ณ์ ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฒ๊น์ง, ์ด๋ฌํ ํ๋ ์์ํฌ๋ ์น ์ฆ๊ฐ์ ๋ฏธ๋๋ฅผ ์ฃผ๋ํ๊ณ ์์ต๋๋ค.