์ฃผ์ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๋, ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ ๊ตฌํ์ ์ํ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ ์ธํ๋ผ ๊ตฌ์ถ ์ฌ์ธต ๋ถ์.
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ธํ๋ผ: ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ ๊ตฌํ
์ค๋๋ ์ ๋ค์ํ ๋์งํธ ํ๊ฒฝ์์ ์ฌ์ฉ์๋ค์ ์๋ง์ ๊ธฐ๊ธฐ์ ๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๊ทผํฉ๋๋ค. ์ด ๋ชจ๋ ํ๋ซํผ์์ ์ผ๊ด๋๊ณ ์ ๋ขฐํ ์ ์๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๋ ๊ฒ์ ์ฑ๊ณต์ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์์๋ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ ๊ตฌํ์ ์ํ ๊ฒฌ๊ณ ํ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ธํ๋ผ ๊ตฌ์ถ์ ๋ณต์ก์ฑ์ ํ๊ตฌํ๊ณ , ์ฃผ์ ๊ณ ๋ ค ์ฌํญ, ์ ๋ต ๋ฐ ๋๊ตฌ์ ๋ํด ๋ค๋ฃน๋๋ค.
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ๋ฌธ์ ์ ์ดํด
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ ๋ฌธ์ ๋ ์ฌ๋ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ์น ํ์ค์ ํด์ํ๊ณ ๊ตฌํํ๋ ๋ฐฉ์์ ์ฐจ์ด๋ก ์ธํด ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ์ฐจ์ด๋ ์ฌ๋ฌ ๊ฐ์ง ๋ฐฉ์์ผ๋ก ๋ํ๋ ์ ์์ต๋๋ค:
- ์๋ฐ์คํฌ๋ฆฝํธ ์์ง ์ฐจ์ด: ํฌ๋กฌ(V8), ํ์ด์ดํญ์ค(SpiderMonkey), ์ฌํ๋ฆฌ(JavaScriptCore)์ ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ์๋ฐ์คํฌ๋ฆฝํธ ์์ง์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ค์ ์ผ๋ฐ์ ์ผ๋ก ECMAScript ํ์ค์ ๋ฐ๋ฅด์ง๋ง, ๊ตฌํ์์ ๋ฏธ๋ฌํ ์ฐจ์ด๋ก ์ธํด ์๊ธฐ์น ์์ ๋์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
- CSS ๋ ๋๋ง ์ฐจ์ด: CSS ์์ฑ๊ณผ ๊ฐ์ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ค๋ฅด๊ฒ ๋ ๋๋ง๋ ์ ์์ต๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ ์ด์์, ์คํ์ผ, ์ ๋ฐ์ ์ธ ์๊ฐ์ ์ธ๊ด์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
- HTML ํ์ฑ: HTML ํ์ค์ ๋น๊ต์ ์์ ์ ์ด์ง๋ง, ๊ตฌํ ๋ธ๋ผ์ฐ์ ๋ ์ฟผํฌ ๋ชจ๋๊ฐ ํ์ฑํ๋ ๋ธ๋ผ์ฐ์ ๋ HTML ๋งํฌ์ ์ ๋ค๋ฅด๊ฒ ํด์ํ ์ ์์ต๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ณ ๊ธฐ๋ฅ: ์ผ๋ถ ๋ธ๋ผ์ฐ์ ๋ ๋ณดํธ์ ์ผ๋ก ์ง์๋์ง ์๋ ๋ ์ ์ ์ธ ๊ธฐ๋ฅ์ด๋ API๋ฅผ ๋์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ์์กดํ๋ฉด ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ฌ์ฉ์์๊ฒ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ์ ์์ต๋๋ค.
- ์ด์์ฒด์ ์ฐจ์ด: ๊ธฐ๋ณธ ์ด์์ฒด์ ๋ ๋ธ๋ผ์ฐ์ ๊ฐ ์ฝํ ์ธ ๋ฅผ ๋ ๋๋งํ๋ ๋ฐฉ์, ํนํ ๊ธ๊ผด ๋ ๋๋ง ๋ฐ UI ์์์ ๊ด๋ จํ์ฌ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ์๋์ฐ, macOS, ๋ฆฌ๋ ์ค, ์๋๋ก์ด๋, iOS๋ ๋ชจ๋ ๊ณ ์ ํ ๊ณผ์ ๋ฅผ ์ ์ํฉ๋๋ค.
- ๊ธฐ๊ธฐ ๊ธฐ๋ฅ: ๊ณ ํด์๋ ๋ฐ์คํฌํฑ ํ๋ฉด์์ ์ ์ฌ์ ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์ ์ด๋ฅด๊ธฐ๊น์ง, ๊ธฐ๊ธฐ ๊ธฐ๋ฅ์ ๋ฒ์๋ ์ฑ๋ฅ๊ณผ ์ฌ์ฉ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋ฐ์ํ ๋์์ธ์ ํ์์ ์ด์ง๋ง, ์ฌ๋ฌ ๊ธฐ๊ธฐ์ ๊ฑธ์ณ ์ฑ๋ฅ ์ต์ ํ๋ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ธํ๋ผ ๊ตฌ์ถ
ํฌ๊ด์ ์ธ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ธํ๋ผ๋ ์ฝ๋ฉ ๊ดํ, ํ ์คํธ ์ ๋ต, ๊ทธ๋ฆฌ๊ณ ๋๊ตฌ์ ์กฐํฉ์ ํฌํจํฉ๋๋ค. ์ฃผ์ ๊ตฌ์ฑ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
1. ์ฌ๋ฐ๋ฅธ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ ์ ํ
์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ์ ์ ํ์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์๋นํ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์ต์ ํ๋ ์์ํฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ง์ ๋ธ๋ผ์ฐ์ ๋ณ ๋ณต์ก์ฑ์ ์ถ์ํํ์ง๋ง, ์ผ๋ถ ํ๋ ์์ํฌ๋ ๋ค๋ฅธ ํ๋ ์์ํฌ๋ณด๋ค ๋ ๋์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ง์์ ์ ๊ณตํฉ๋๋ค. ๋ค์ ์์๋ฅผ ๊ณ ๋ คํ์ญ์์ค:
- ํ๋ ์์ํฌ ์ฑ์๋ ๋ฐ ์ปค๋ฎค๋ํฐ ์ง์: ํฌ๊ณ ํ๋ฐํ ์ปค๋ฎค๋ํฐ๋ฅผ ๊ฐ์ง ์ฑ์ํ ํ๋ ์์ํฌ๋ ๋ ๋์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ง์์ ์ ๊ณตํ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค. ๋ฌธ์ ๊ฐ ์ ์ํ๊ฒ ์๋ณ๋๊ณ ํด๊ฒฐ๋๋ฉฐ, ๋ ๋์ ๋ฒ์์ ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. React, Angular, Vue.js๋ ์ ์ง์๋๋ ํ๋ ์์ํฌ์ ์ข์ ์์ ๋๋ค.
- ์ถ์ํ ์์ค: ๋์ ์์ค์ ์ถ์ํ๋ฅผ ์ ๊ณตํ๋ ํ๋ ์์ํฌ๋ ๋ธ๋ผ์ฐ์ ๋ณ ํน์ด ์ฌํญ์ผ๋ก๋ถํฐ ์ฌ์ฉ์๋ฅผ ๋ณดํธํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, React์ ๊ฐ์ DOM์ DOM์ ์ง์ ์ ์ธ ์กฐ์์ ์ต์ํํ์ฌ ํธํ์ฑ ๋ฌธ์ ์ ๊ฐ๋ฅ์ฑ์ ์ค์ ๋๋ค.
- ํ์ ์คํฌ๋ฆฝํธ(TypeScript) ์ฑํ: ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ ฅํ ํ์ดํ์ ๊ฐ์ ํ๊ณ ๋ธ๋ผ์ฐ์ ๋ง๋ค ๋ค๋ฅด๊ฒ ๋ํ๋ ์ ์๋ ์ ์ฌ์ ์ธ ํ์ ๊ด๋ จ ์ค๋ฅ๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋๋ฏ๋ก ๊ฐ๋ฐ ์ค์ ๋ง์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ๋ฌธ์ ๋ฅผ ์ก์๋ผ ์ ์์ต๋๋ค.
- ๋ธ๋ผ์ฐ์ ์ง์ ์ ์ฑ : ํ๋ ์์ํฌ์ ๊ณต์ ๋ฌธ์์์ ๋ธ๋ผ์ฐ์ ์ง์ ์ ์ฑ ์ ํ์ธํ์ญ์์ค. ์ด๋ค ๋ธ๋ผ์ฐ์ ์ ๋ฒ์ ์ด ๊ณต์์ ์ผ๋ก ์ง์๋๋์ง, ๊ทธ๋ฆฌ๊ณ ๊ตฌํ ๋๋ ๋ ์ผ๋ฐ์ ์ธ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ง์ํ๋ ๋ฐ ํ์ํ ๋ ธ๋ ฅ์ ์์ค์ ์ดํดํ์ญ์์ค.
2. ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ํ ์ฝ๋ฉ ๊ดํ
๊ฒฌ๊ณ ํ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ข์ ์ฝ๋ฉ ๊ดํ์ ์ฑํํ๋ ๊ฒ์ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ํ์์ ์ ๋๋ค:
- ์น ํ์ค ์ค์: W3C์ WHATWG์์ ๋ฐํํ ์ต์ HTML, CSS, ์๋ฐ์คํฌ๋ฆฝํธ ํ์ค์ ๋ฐ๋ฅด์ญ์์ค. ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๊ธฐ๋ฅ์ด๋ ๋นํ์ค ํ์ฅ์ ์ฌ์ฉํ์ง ๋ง์ญ์์ค. ์ ํจ์ฑ ๊ฒ์ฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ HTML ๋ฐ CSS ์ฝ๋์ ์ค๋ฅ๋ฅผ ํ์ธํ์ญ์์ค.
- ๊ธฐ๋ฅ ๊ฐ์ง ์ฌ์ฉ: ์ ๋ขฐํ ์ ์๋ ๋ธ๋ผ์ฐ์ ์ค๋ํ์ ์์กดํ๋ ๋์ , ๊ธฐ๋ฅ ๊ฐ์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ๊ฐ ํน์ ๊ธฐ๋ฅ์ ์ง์ํ๋์ง ํ์ธํ์ญ์์ค.
Modernizr๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ธฐ๋ฅ ๊ฐ์ง๋ฅผ ์ํ ์ธ๊ธฐ ์๋ ๋๊ตฌ์ ๋๋ค. ์๋ฅผ ๋ค์ด:if (Modernizr.canvas) { // ์บ๋ฒ์ค ์ง์๋จ } else { // ์บ๋ฒ์ค ๋ฏธ์ง์ } - ์๋งจํฑ HTML ์์ฑ: ์๋งจํฑ HTML ์์(์:
<article>,<nav>,<aside>)๋ฅผ ์ฌ์ฉํ์ฌ ์ฝํ ์ธ ๋ฅผ ๋ ผ๋ฆฌ์ ์ผ๋ก ๊ตฌ์กฐํํ์ญ์์ค. ์ด๋ ์ ๊ทผ์ฑ์ ํฅ์์ํค๊ณ ๋ธ๋ผ์ฐ์ ๊ฐ HTML์ ์ฌ๋ฐ๋ฅด๊ฒ ํด์ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. - CSS ๋ฆฌ์ ๋๋ ์ ๊ทํ ์ฌ์ฉ: CSS ๋ฆฌ์ (Eric Meyer์ ๋ฆฌ์ ๋ฑ) ๋๋ CSS ์ ๊ทํ(Normalize.css ๋ฑ)๋ ๊ธฐ๋ณธ ๋ธ๋ผ์ฐ์ ์คํ์ผ๋ง์ ๋ถ์ผ์น๋ฅผ ์ ๊ฑฐํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ด๋ CSS์ ๋ํ ๋ณด๋ค ์ผ๊ด๋ ๊ธฐ์ค์ ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฒค๋ ํ๋ฆฌํฝ์ค ์ ์คํ๊ฒ ์ฌ์ฉ: ๋ฒค๋ ํ๋ฆฌํฝ์ค(์:
-webkit-,-moz-,-ms-)๋ ์คํ์ ์ด๊ฑฐ๋ ๋ธ๋ผ์ฐ์ ๋ณ CSS ๊ธฐ๋ฅ์ ํ์ฑํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์๊ปด์ ์ฌ์ฉํ๊ณ ํ์ํ ๊ฒฝ์ฐ์๋ง ์ฌ์ฉํ์ญ์์ค. ๋ธ๋ผ์ฐ์ ์ง์ ๋งคํธ๋ฆญ์ค์ ๋ฐ๋ผ ๋ฒค๋ ํ๋ฆฌํฝ์ค๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํ๋ Autoprefixer์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค. - ํด๋ฆฌํ(Polyfill) ๊ณ ๋ ค: ํด๋ฆฌํ์ ๊ตฌํ ๋ธ๋ผ์ฐ์ ์์ ๋๋ฝ๋ ๊ธฐ๋ฅ์ ๊ตฌํ์ ์ ๊ณตํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ์กฐ๊ฐ์
๋๋ค. ์๋ฅผ ๋ค์ด,
core-js๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๋ง์ ES6+ ๊ธฐ๋ฅ์ ๋ํ ํด๋ฆฌํ์ ์ ๊ณตํฉ๋๋ค. ์ต์ ๋ธ๋ผ์ฐ์ ์์ ๋ถํ์ํ ์ค๋ฒํค๋๋ฅผ ํผํ๊ธฐ ์ํด ๊ธฐ๋ฅ ๊ฐ์ง๋ฅผ ์ฌ์ฉํ์ฌ ์กฐ๊ฑด๋ถ๋ก ํด๋ฆฌํ์ ๋ก๋ํ์ญ์์ค. ์๋ฅผ ๋ค์ด, `fetch` API๋ฅผ ํด๋ฆฌํํ๋ ค๋ฉด:if (!window.fetch) { // fetch ํด๋ฆฌํ ๋ก๋ var script = document.createElement('script'); script.src = 'https://polyfill.io/v3/polyfill.min.js?features=fetch'; document.head.appendChild(script); } - ์๋ฐ์คํฌ๋ฆฝํธ ์ค๋ฅ๋ฅผ ์ฐ์ํ๊ฒ ์ฒ๋ฆฌ: ์๋ฐ์คํฌ๋ฆฝํธ ์ค๋ฅ๋ฅผ ํฌ์ฐฉํ๊ณ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ถฉ๋ํ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ๊ตฌํํ์ญ์์ค.
try...catch๋ธ๋ก๊ณผ ์ ์ญ ์ค๋ฅ ํธ๋ค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ฅ๋ฅผ ๊ธฐ๋กํ๊ณ ์ฌ์ฉ์์๊ฒ ์ ์ฉํ ๋ฉ์์ง๋ฅผ ์ ๊ณตํ์ญ์์ค. - ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ ์ต์ ํ: ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ชจ๋ฐ์ผ ๊ธฐ๊ธฐ์์ ๋ฐ์ํ์ผ๋ก ์ ์๋ํ๋์ง ํ์ธํ์ญ์์ค. ๋ฏธ๋์ด ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ์ด์์์ ๋ค๋ฅธ ํ๋ฉด ํฌ๊ธฐ์ ํด์๋์ ๋ง๊ฒ ์กฐ์ ํ์ญ์์ค. ์ด๋ฏธ์ง ๋ฐ ๊ธฐํ ์์ฐ์ ์ต์ ํํ์ฌ ๋์ญํญ ์๋น๋ฅผ ์ค์ด์ญ์์ค.
- ์ ๊ทผ์ฑ(A11y): ์ ๊ทผ์ฑ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅด๋ฉด ์ฅ์ ๊ฐ ์๋ ์ฌ๋๋ค์ด ์น์ฌ์ดํธ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๋์ต๋๋ค. ์ ์ ํ ARIA ์์ฑ, ์๋งจํฑ HTML, ํค๋ณด๋ ํ์์ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ฐ ๋ณด์กฐ ๊ธฐ์ ์์์ ๋ฌธ์ ๋ฅผ ์๋ฐฉํ ์ ์์ต๋๋ค.
3. ํฌ๊ด์ ์ธ ํ ์คํธ ์ ๋ต ์๋ฆฝ
ํ ์คํธ๋ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ด์์ ๋๋ค. ์ ์ ์๋ ํ ์คํธ ์ ๋ต์ ๋ค์ํ ์ ํ์ ํ ์คํธ๋ฅผ ํฌํจํ๊ณ ๊ด๋ฒ์ํ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ๋ฅผ ํฌ๊ดํด์ผ ํฉ๋๋ค.
a. ์๋ ํ ์คํธ
์๋ ํ ์คํธ๋ ์๊ฐ์ ๋๋ ๊ธฐ๋ฅ์ ๋ฌธ์ ๋ฅผ ์๋ณํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์๋์ผ๋ก ์ํธ ์์ฉํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ์ง๋ง, ์๋ํ๋ ํ ์คํธ๊ฐ ๋์น ์ ์๋ ๋ฏธ๋ฌํ UI ๋ถ์ผ์น๋ ์ฌ์ฉ์ฑ ๋ฌธ์ ๋ฅผ ๊ฐ์งํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ๋จ์ํ ํด๋ฆญํ๋ ๊ฒ๋ง์ผ๋ก๋ ๋ฌธ์ ์ ๊ทผ๋ณธ ์์ธ์ ๊ฑฐ์ ์ฐพ์ ์ ์์ผ๋ฏ๋ก ๊ตฌ์กฐํ๋ ์ ๊ทผ ๋ฐฉ์์ด ํ์ํฉ๋๋ค.
- ํ ์คํธ ์ผ์ด์ค ์์ฑ: ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ค๋ฃจ๋ ํ ์คํธ ์ผ์ด์ค ์ธํธ๋ฅผ ๊ฐ๋ฐํ์ญ์์ค.
- ๊ฐ์ ๋จธ์ ๋๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํ ์คํธ ํ๋ซํผ ์ฌ์ฉ: VirtualBox์ ๊ฐ์ ๋๊ตฌ๋ BrowserStack, Sauce Labs, LambdaTest์ ๊ฐ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํ๋ซํผ์ ์ฌ์ฉํ๋ฉด ๋ก์ปฌ์ ์ค์นํ์ง ์๊ณ ๋ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์ ์ด์์ฒด์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธํ ์ ์์ต๋๋ค.
- ์ค์ ๊ธฐ๊ธฐ์์ ํ ์คํธ: ๊ฐ๋ฅํ ๋๋ง๋ค ์ค์ ๊ธฐ๊ธฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธํ์ฌ ์ค์ ํ๊ฒฝ์์ ์ ์๋ํ๋์ง ํ์ธํ์ญ์์ค. ๋ค์ํ ํ๋ฉด ํฌ๊ธฐ, ํด์๋ ๋ฐ ์ด์์ฒด์ ๋ฅผ ๊ฐ์ง ๋ค์ํ ๊ธฐ๊ธฐ์์ ํ ์คํธํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
- ์ฌ๋ฌ ํ ์คํฐ ์ฐธ์ฌ: ๊ธฐ์ ์ ๋ฌธ ์ง์ ์์ค์ด ๋ค๋ฅธ ์ฌ๋ฌ ํ ์คํฐ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธํ๋๋ก ํ์ญ์์ค. ์ด๋ ๋ ๋์ ๋ฒ์์ ๋ฌธ์ ๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
b. ์๋ํ ํ ์คํธ
์๋ํ ํ ์คํธ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋์ผ๋ก ํ ์คํธํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค. ์๋ํ๋ ํ ์คํธ๋ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ์ ์ฝํ ์ ์์ผ๋ฉฐ, ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ ์งํ๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ํ ์คํธ ํ๋ ์์ํฌ ์ ํ: ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํ ์คํธ๋ฅผ ์ง์ํ๋ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ์ ํํ์ญ์์ค. ์ธ๊ธฐ ์๋ ์ต์ ์ผ๋ก๋ Selenium WebDriver, Cypress, Puppeteer๊ฐ ์์ต๋๋ค.
- ์๋ํฌ์๋(End-to-End) ํ ์คํธ ์์ฑ: ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์๋ฎฌ๋ ์ด์ ํ๋ ์๋ํฌ์๋ ํ ์คํธ๋ฅผ ์์ฑํ์ญ์์ค. ์ด๋ฌํ ํ ์คํธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ค๋ฃจ๊ณ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ ์์๋๋ก ์๋ํ๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
- ์ง์์ ํตํฉ(CI) ์์คํ ์ฌ์ฉ: ์๋ํ๋ ํ ์คํธ๋ฅผ CI ์์คํ (์: Jenkins, Travis CI, CircleCI)์ ํตํฉํ์ญ์์ค. ์ด๋ ๊ฒ ํ๋ฉด ์ฝ๋๋ฅผ ๋ณ๊ฒฝํ ๋๋ง๋ค ํ ์คํธ๊ฐ ์๋์ผ๋ก ์คํ๋ฉ๋๋ค.
- ๋ณ๋ ฌ ํ ์คํธ: ์ ์ฒด ํ ์คํธ ์๊ฐ์ ์ค์ด๊ธฐ ์ํด ์๋ํ๋ ํ ์คํธ๋ฅผ ๋ณ๋ ฌ๋ก ์คํํ์ญ์์ค. ๋๋ถ๋ถ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํ ์คํธ ํ๋ซํผ์ ๋ณ๋ ฌ ํ ์คํธ๋ฅผ ์ง์ํฉ๋๋ค.
- ์๊ฐ์ ํ๊ท ํ ์คํธ: ์๊ฐ์ ํ๊ท ํ ์คํธ๋ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํฌ๋ฆฐ์ท์ ๋น๊ตํ์ฌ ์๊ฐ์ ๋ถ์ผ์น๋ฅผ ๊ฐ์งํฉ๋๋ค. Percy ๋ฐ Applitools์ ๊ฐ์ ๋๊ตฌ๋ ์๊ฐ์ ํ๊ท ํ ์คํธ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
c. ๋จ์ ํ ์คํธ
๋จ์ ํ ์คํธ๋ ๊ฐ๋ณ ๊ตฌ์ฑ ์์๋ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ์ฌ ํ ์คํธํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ง์ ํ ์คํธํ์ง๋ ์์ง๋ง, ์ ์์ฑ๋ ๋จ์ ํ ์คํธ๋ ์ฝ๋๊ฐ ๊ฒฌ๊ณ ํ๊ณ ๋ค๋ฅธ ํ๊ฒฝ์์ ์ผ๊ด๋๊ฒ ์๋ํ๋๋ก ๋ณด์ฅํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค. Jest ๋ฐ Mocha์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋์ ๋จ์ ํ ์คํธ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
4. ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํ ์คํธ ํ๋ซํผ ํ์ฉ
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํ ์คํธ ํ๋ซํผ์ ๊ด๋ฒ์ํ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ์คํธํ ์ ์๋ ํธ๋ฆฌํ๊ณ ๋น์ฉ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ํ๋ซํผ์ ๋ค๋ฅธ ์ด์์ฒด์ ์ ๋ธ๋ผ์ฐ์ ๋ฒ์ ์ ์คํํ๋ ๊ฐ์ ๋จธ์ ์ด๋ ์ค์ ๊ธฐ๊ธฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ข ์ข ์๋ํ ํ ์คํธ, ์๊ฐ์ ํ๊ท ํ ์คํธ, ํ์ ํ ์คํธ์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์ธ๊ธฐ ์๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํ ์คํธ ํ๋ซํผ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- BrowserStack: BrowserStack์ ๊ด๋ฒ์ํ ๋ฐ์คํฌํฑ ๋ฐ ๋ชจ๋ฐ์ผ ๋ธ๋ผ์ฐ์ ์ ๋ํ ์ก์ธ์ค์ ์๋ํ ํ ์คํธ, ์๊ฐ์ ํ๊ท ํ ์คํธ, ๋ผ์ด๋ธ ํ ์คํธ์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. Selenium, Cypress ๋ฐ ๊ธฐํ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ์ง์ํฉ๋๋ค.
- Sauce Labs: Sauce Labs๋ ์๋ํ ํ ์คํธ, ๋ผ์ด๋ธ ํ ์คํธ, ๊ด๋ฒ์ํ ๋ธ๋ผ์ฐ์ ๋ฐ ๊ธฐ๊ธฐ์ ๋ํ ์ก์ธ์ค๋ฅผ ํฌํจํ์ฌ BrowserStack๊ณผ ์ ์ฌํ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ํ ์ธ๊ธฐ ์๋ CI ์์คํ ๊ณผ์ ํตํฉ๋ ์ ๊ณตํฉ๋๋ค.
- LambdaTest: LambdaTest๋ ์๋ ๋ฐ ์๋ ํ ์คํธ๋ฅผ ๋ชจ๋ ์ง์ํ๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํ ์คํธ ํ๋ซํผ์ ์ ๊ณตํฉ๋๋ค. ์ค์๊ฐ ๋ธ๋ผ์ฐ์ ํ ์คํธ, ๋ฐ์ํ ํ ์คํธ, ์ง๋ฆฌ์ ์์น ํ ์คํธ์ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
5. ๋ธ๋ผ์ฐ์ ๋ณ ํต(Hack) ๋ฐ ์กฐ๊ฑด๋ถ ๋ก์ง (์๊ปด์ ์ฌ์ฉํ์ธ์!)
๊ฒฝ์ฐ์ ๋ฐ๋ผ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ธ๋ผ์ฐ์ ๋ณ ํต์ด๋ ์กฐ๊ฑด๋ถ ๋ก์ง์ ์ฌ์ฉํด์ผ ํ ์๋ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๊ธฐ์ ์ ์ฝ๋๋ฅผ ๋ ๋ณต์กํ๊ณ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ผ๋ฏ๋ก ์๊ปด์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ฐ๋ฅํ ๋๋ง๋ค ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์๋ํ๋ ๋์ฒด ์๋ฃจ์ ์ ์ฐพ์ผ์ญ์์ค.
๋ธ๋ผ์ฐ์ ๋ณ ํต์ ์ฌ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ, ์ด๋ฅผ ๋ช ํํ๊ฒ ๋ฌธ์ํํ๊ณ ์ฌ์ฉ์ ๋ํ ์ ๋น์ฑ์ ์ ๊ณตํ์ญ์์ค. CSS ๋๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ธ๋ผ์ฐ์ ๋ณ ์ฝ๋๋ฅผ ๋ณด๋ค ์ฒด๊ณ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ ๊ณ ๋ คํ์ญ์์ค.
6. ๋ชจ๋ํฐ๋ง ๋ฐ ์ง์์ ์ธ ๊ฐ์
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ง์์ ์ธ ๊ณผ์ ์ ๋๋ค. ์๋ก์ด ๋ธ๋ผ์ฐ์ ์ ๋ธ๋ผ์ฐ์ ๋ฒ์ ์ด ์์ฃผ ์ถ์๋๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์๋ก์ด ํธํ์ฑ ๋ฌธ์ ์ ์ง๋ฉดํ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํ ์คํธ ์ ๋ต์ ์ง์์ ์ผ๋ก ๊ฐ์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
- ๋ธ๋ผ์ฐ์ ๋ถ์ ์ฌ์ฉ: ๋ธ๋ผ์ฐ์ ๋ถ์ ๋๊ตฌ(์: Google Analytics)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ๋ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ๋ฅผ ์ถ์ ํ์ญ์์ค. ์ด๋ ์ ์ฌ์ ์ธ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
- ์ค๋ฅ ๋ก๊ทธ ๋ชจ๋ํฐ๋ง: ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๋ฅ ๋ก๊ทธ์์ ์๋ฐ์คํฌ๋ฆฝํธ ์ค๋ฅ ๋ฐ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๋ํ๋ผ ์ ์๋ ๊ธฐํ ๋ฌธ์ ๋ฅผ ๋ชจ๋ํฐ๋งํ์ญ์์ค.
- ์ฌ์ฉ์ ํผ๋๋ฐฑ ์์ง: ์ฌ์ฉ์๊ฐ ๊ฒช๋ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ๋๋ก ์ฅ๋ คํ์ญ์์ค. ์ฌ์ฉ์๊ฐ ๋ฌธ์ ๋ฅผ ์ฝ๊ฒ ๋ณด๊ณ ํ ์ ์๋ ํผ๋๋ฐฑ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ์ญ์์ค.
- ํ ์คํธ ์ธํ๋ผ ์ ๊ธฐ์ ์ ๋ฐ์ดํธ: ํ ์คํธ ์ธํ๋ผ๋ฅผ ์ต์ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ๋ก ์ต์ ์ํ๋ก ์ ์งํ์ญ์์ค.
- ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํธ ์ ๋ณด ํ์ธ: ๋ธ๋ผ์ฐ์ ๊ณต๊ธ์ ์ฒด์ ๋ฆด๋ฆฌ์ค ๋ ธํธ์ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ํ๋ก์ฐํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ๋ฒ๊ทธ ์์ ์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ผ์ญ์์ค.
์ค์ ์ฌ๋ก
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ ๋ฌธ์ ์ ์ด๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ๋ช ๊ฐ์ง ์ค์ ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค:
- ์ฌ๋ก 1: ๊ตฌํ ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ ๋ฒ์ ์ SVG ๋ ๋๋ง ๋ฌธ์ : ๊ตฌํ ๋ฒ์ ์ ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ๋ SVG ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ๋ ๋๋งํ์ง ๋ชปํ ์ ์์ต๋๋ค. ํด๊ฒฐ์ฑ : SVG4Everybody์ ๊ฐ์ ํด๋ฆฌํ์ ์ฌ์ฉํ๊ฑฐ๋ ๊ตฌํ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด SVG ์ด๋ฏธ์ง๋ฅผ PNG ๋๋ JPG ํ์์ผ๋ก ๋ณํํฉ๋๋ค.
- ์ฌ๋ก 2: Flexbox ๋ ์ด์์ ์ฐจ์ด: ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ๋ Flexbox ๋ ์ด์์์ ๋ค๋ฅด๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค. ํด๊ฒฐ์ฑ : CSS ๋ฆฌ์ ๋๋ ์ ๊ทํ๋ฅผ ์ฌ์ฉํ๊ณ ๋ค๋ฅธ ๋ธ๋ผ์ฐ์ ์์ Flexbox ๋ ์ด์์์ ์ ์คํ๊ฒ ํ ์คํธํฉ๋๋ค. ๊ตฌํ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด ๋ฒค๋ ํ๋ฆฌํฝ์ค๋ ๋์ฒด ๋ ์ด์์ ๊ธฐ์ ์ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํฉ๋๋ค.
- ์ฌ๋ก 3: `addEventListener` ๋ `attachEvent`: ๊ตฌํ ๋ฒ์ ์ ์ธํฐ๋ท ์ต์คํ๋ก๋ฌ๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ฅผ ์ฒจ๋ถํ๊ธฐ ์ํด `addEventListener` ๋์ `attachEvent`๋ฅผ ์ฌ์ฉํ์ต๋๋ค. ํด๊ฒฐ์ฑ
: ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค:
function addEvent(element, eventName, callback) { if (element.addEventListener) { element.addEventListener(eventName, callback, false); } else if (element.attachEvent) { element.attachEvent('on' + eventName, callback); } else { element['on' + eventName] = callback; } }
์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ
ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ธํ๋ผ๋ฅผ ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ์คํ ๊ฐ๋ฅํ ํต์ฐฐ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ๊ฒฌ๊ณ ํ ๊ธฐ๋ฐ์์ ์์: ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ง์์ด ์ข์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ๋ฅผ ์ ํํ๊ณ ํธํ์ฑ์ ์ํ ์ฝ๋ฉ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด์ญ์์ค.
- ํ ์คํธ ์ฐ์ ์์ ์ง์ : ์๋ ๋ฐ ์๋ํ ํ ์คํธ๋ฅผ ๋ชจ๋ ํฌํจํ๋ ํฌ๊ด์ ์ธ ํ ์คํธ ์ ๋ต์ ํฌ์ํ์ญ์์ค.
- ์๋ํ ์์ฉ: ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ์ ์ฝํ๊ธฐ ์ํด ๊ฐ๋ฅํ ํ ๋ง์ ํ ์คํธ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ญ์์ค.
- ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํ๋ซํผ ํ์ฉ: ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํ ์คํธ ํ๋ซํผ์ ์ฌ์ฉํ์ฌ ๊ด๋ฒ์ํ ๋ธ๋ผ์ฐ์ ์ ๊ธฐ๊ธฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ํ ์คํธํ์ญ์์ค.
- ๋ชจ๋ํฐ๋ง ๋ฐ ๋ฐ๋ณต: ์ ํ๋ฆฌ์ผ์ด์ ์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํ๊ณ ์ฌ์ฉ์ ํผ๋๋ฐฑ ๋ฐ ๋ธ๋ผ์ฐ์ ์ ๋ฐ์ดํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ์คํธ ์ ๋ต์ ๊ฐ์ ํ์ญ์์ค.
๊ฒฐ๋ก
๊ฒฌ๊ณ ํ ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ์ธํ๋ผ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ ๋ชจ๋ ์ฃผ์ ๋ธ๋ผ์ฐ์ ์์ ์ผ๊ด๋๊ณ ์ ๋ขฐํ ์ ์๋ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ด ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์ค๋ช ๋ ์ ๋ต๊ณผ ๊ธฐ์ ์ ๋ฐ๋ฅด๋ฉด ํธํ์ฑ ๋ฌธ์ ๋ฅผ ์ต์ํํ๊ณ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ ์์ํฌ ๊ตฌํ์ด ๋ธ๋ผ์ฐ์ ๋ ๊ธฐ๊ธฐ์ ๊ด๊ณ์์ด ๋ชจ๋ ์ฌ์ฉ์์๊ฒ ์๋ฒฝํ๊ฒ ์๋ํ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. ํฌ๋ก์ค ๋ธ๋ผ์ฐ์ ํธํ์ฑ์ ์ง์์ ์ธ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ์ด ํ์ํ ์ง์์ ์ธ ๊ณผ์ ์์ ๊ธฐ์ตํ์ญ์์ค.