์ฝ๋ ๋ฆฌ๋ทฐ ๋ชจ๋ฒ ์ฌ๋ก์ ํจ๊ณผ์ ์ธ ํ์ง ๋ณด์ฆ ์ ๋ต์ ๋ํ ์ด ์ข ํฉ ๊ฐ์ด๋๋ฅผ ํตํด ์ฐ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ํ์ง์ ํ๋ณดํ๊ณ ๊ธ๋ก๋ฒ ํ ํ์ ์ ์ด์งํ์ธ์.
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ชจ๋ฒ ์ฌ๋ก: ํ์ง ๋ณด์ฆ ๊ตฌํ์ ์ํ ๊ธ๋ก๋ฒ ์ ๊ทผ ๋ฐฉ์
ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํธ ์ฐ๊ฒฐ๋ ์ธ์์์, ์๋ฐ์คํฌ๋ฆฝํธ๋ ๋ํํ ์น ์ธํฐํ์ด์ค๋ถํฐ Node.js๋ฅผ ์ฌ์ฉํ ๊ฒฌ๊ณ ํ ๋ฐฑ์๋ ์๋น์ค์ ์ด๋ฅด๊ธฐ๊น์ง ๋ชจ๋ ๊ฒ์ ๊ตฌ๋ํ๋ ํต์ฌ ๊ธฐ์ ๋ก ์๋ฆฌ ์ก๊ณ ์์ต๋๋ค. ๊ฐ๋ฐํ์ด ์ ์ ๋ ๊ธ๋ก๋ฒํ๋๊ณ , ์ฌ๋ฌ ๋๋ฅ๊ณผ ๋ค์ํ ๋ฌธํ์ ํ๊ฒฝ์ ๋ถ์ฐ๋จ์ ๋ฐ๋ผ, ๋์ ์ฝ๋ ํ์ง์ ์ ์งํ๊ณ ๊ฒฌ๊ณ ํ ํ์ง ๋ณด์ฆ(QA) ํ๋ก์ธ์ค๋ฅผ ๋ณด์ฅํ๋ ๊ฒ์ ์ค์์ฑ์ด ๋ฌด์๋ณด๋ค ์ปค์ง๋๋ค. ์ข ์ข ํ์ง์ ์ค์ํ ๋ฌธ์ง๊ธฐ๋ก ์ฌ๊ฒจ์ง๋ ์ฝ๋ ๋ฆฌ๋ทฐ๋ ๋จ์ํ ์์ ์ ๋์ด ๊ธ๋ก๋ฒ ํ์ ์ํ ์ ๋ต์ ํ์ ์์๋ก ๋ณ๋ชจํฉ๋๋ค. ์ด๋ ๋จ์ํ ๋ฒ๊ทธ๋ฅผ ์ฐพ๋ ๊ฒ์ด ์๋๋ผ, ๊ณต์ ๋ ์ฑ ์, ์ง์์ ์ธ ํ์ต, ํ๋ ฅ์ ํ์์ฑ์ ๋ฌธํ๋ฅผ ์กฐ์ฑํ๋ ๊ฒ์ ๊ดํ ๊ฒ์ ๋๋ค.
์ด ์ข ํฉ ๊ฐ์ด๋๋ ๊ตญ์ ์ ์ธ ์ฌ์ฉ์๋ฅผ ๋์์ผ๋ก ํ๋ ํ์ง ๋ณด์ฆ ํ๋ ์์ํฌ ๋ด์์์ ๊ตฌํ์ ๊ฐ์กฐํ๋ฉฐ, ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ฌ๋ ์๊ฒ ๋ค๋ฃน๋๋ค. ์ฐ๋ฆฌ๋ ํจ๊ณผ์ ์ธ ์ฝ๋ ๋ฆฌ๋ทฐ๊ฐ ์ด๋ป๊ฒ ์ฝ๋ ํ์ง์ ํฅ์์ํฌ ๋ฟ๋ง ์๋๋ผ ์ง๋ฆฌ์ ๊ฑฐ๋ฆฌ์ ๊ด๊ณ์์ด ํ์ ๊ฒฐ์๋ ฅ๊ณผ ์ง์ ๊ณต์ ๋ฅผ ๊ฐํํ๋์ง ํ๊ตฌํ ๊ฒ์ ๋๋ค.
ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์ฝ๋ ๋ฆฌ๋ทฐ์ ํ์์ ์ธ ์ญํ
๊ตฌ์ฒด์ ์ธ ์ฌ๋ก๋ฅผ ์ดํด๋ณด๊ธฐ ์ ์, ํนํ ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์ ์ธ ํน์ฑ์ ๋ค๋ฃฐ ๋ ์ฝ๋ ๋ฆฌ๋ทฐ๊ฐ ์ ๋ชจ๋ ์ฑ๊ณต์ ์ธ ์ํํธ์จ์ด ํ๋ก์ ํธ์ ํ์ ๊ตฌ์ฑ ์์์ธ์ง ๋ค์ ํ๋ฒ ํ์ธํด ๋ณด๊ฒ ์ต๋๋ค.
- ํฅ์๋ ์ฝ๋ ํ์ง ๋ฐ ์ ๋ขฐ์ฑ: ์ฝ๋ ๋ฆฌ๋ทฐ์ ์ฃผ๋ ๋ชฉํ๋ ํ๋ก๋์ ์ ๋๋ฌํ๊ธฐ ์ ์ ๋ฌธ์ ๋ฅผ ์๋ณํ๊ณ ์์ ํ๋ ๊ฒ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ ผ๋ฆฌ์ ์ค๋ฅ, ์ฑ๋ฅ ๋ณ๋ชฉ ํ์, ์ ์ง๋ณด์์ฑ ๋ฌธ์ , ์ฝ๋ฉ ํ์ค ์ค์ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค. ์๋ฌต์ ํ์ ๋ณํ๊ณผ ๋น๋๊ธฐ ์์ ์ด ๋ฏธ๋ฌํ ๋ฒ๊ทธ๋ฅผ ์ ๋ฐํ ์ ์๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ๊ฒฝ์ฐ, ์ฒ ์ ํ ๋ฆฌ๋ทฐ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์ง์ ๊ณต์ ๋ฐ ํ ์ฑ์ฅ: ์ฝ๋ ๋ฆฌ๋ทฐ๋ ์ง์ ์ ๋ฌ์ ์ํ ๋งค์ฐ ๊ท์คํ ๋ฉ์ปค๋์ฆ ์ญํ ์ ํฉ๋๋ค. ๋ฆฌ๋ทฐ์ด๋ ์๋ก์ด ๊ธฐ๋ฅ๊ณผ ์ ๊ทผ ๋ฐฉ์์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ป๊ณ , ์์ฑ์๋ ๊ฐ๋ฐ์๋ก์ ์ฑ์ฅํ๋ ๋ฐ ๋์์ด ๋๋ ๊ฑด์ค์ ์ธ ํผ๋๋ฐฑ์ ๋ฐ์ต๋๋ค. ์ด๋ฌํ ํ๋ ฅ์ ํ์ต ํ๊ฒฝ์ ํนํ ๊ธ๋ก๋ฒ ํ์๊ฒ ์ ์ตํ๋ฉฐ, ๋ค๋ฅธ ๊ต์ก ๋ฐฐ๊ฒฝ์ด๋ ์ด์ ๊ฒฝํ์์ ๋ฐ์ํ ์ ์๋ ์ง์ ๊ฒฉ์ฐจ๋ฅผ ํด์ํฉ๋๋ค.
- ์กฐ๊ธฐ ๋ฒ๊ทธ ๋ฐ๊ฒฌ ๋ฐ ์๋ฐฉ: ๊ฐ๋ฐ ์ฃผ๊ธฐ ์ด๊ธฐ์ ๋ฒ๊ทธ๋ฅผ ๋ฐ๊ฒฌํ๋ ๊ฒ์ ๋ฐฐํฌ ํ ์์ ํ๋ ๊ฒ๋ณด๋ค ๋น์ฉ์ด ํจ์ฌ ์ ๊ฒ ๋ญ๋๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ๋ ์กฐ๊ธฐ ๊ฒฝ๋ณด ์์คํ ์ญํ ์ ํ์ฌ ๋น์ฉ์ด ๋ง์ด ๋๋ ํ๊ท๋ฅผ ๋ฐฉ์งํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ์์ ์ฑ์ ํฅ์์ํต๋๋ค.
- ํฅ์๋ ๋ณด์ ํ์ธ: ๋ณด์ ์ทจ์ฝ์ ์ ์ข ์ข ์ฝ๋์์ ๊ฐ๊ณผ๋ ์ธ๋ถ ์ฌํญ์์ ๋น๋กฏ๋ฉ๋๋ค. ๋ฆฌ๋ทฐ์ด๋ ๋ถ์ ์ ํ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ, ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ๋์ง ์์ ์ถ๋ ฅ ๋๋ ์์ ํ์ง ์์ ์ข ์์ฑ ์ฌ์ฉ๊ณผ ๊ฐ์ ์ ์ฌ์ ์ธ ๋ณด์ ๊ฒฐํจ์ ๋ฐ๊ฒฌํ์ฌ ๊ธ๋ก๋ฒ ์ํ์ ๋ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฉ์ด๋ ฅ์ ๊ฐํํ ์ ์์ต๋๋ค.
- ์ผ๊ด์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ: ํ๋ฆฝ๋ ์ฝ๋ฉ ํ์ค, ์ํคํ ์ฒ ํจํด, ์ค๊ณ ์์น์ ์ค์ํ๋ฉด ์ฝ๋๋ฒ ์ด์ค ์ ์ฒด์ ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค. ์ด๋ฌํ ์ผ๊ด์ฑ์ ๊ฐ๋ฐ์์ ์์น๋ ํน์ ๋ชจ๋์ ๋ํ ์น์๋์ ๊ด๊ณ์์ด ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ๊ณ , ์ ์ง๋ณด์ํ๊ณ , ํ์ฅํ ์ ์๊ฒ ๋ง๋ญ๋๋ค.
- ์ํ ์ํ: ํ์ง ๋ณด์ฆ์ ์ฑ ์์ ๋ถ์ฐ์ํด์ผ๋ก์จ, ์ฝ๋ ๋ฆฌ๋ทฐ๋ ๋จ์ผ ์ฅ์ ์ง์ ๊ณผ ๊ด๋ จ๋ ์ํ์ ์ค์ ๋๋ค. ํ ๊ฐ๋ฐ์๊ฐ ์ค์๋ฅผ ํ๋๋ผ๋ ํ ๋ฆฌ๋ทฐ ํ๋ก์ธ์ค๊ฐ ์์ ๋ง์ ์ ๊ณตํฉ๋๋ค.
๊ธ๋ก๋ฒ ํ์ ์ํ ๊ฒฌ๊ณ ํ ์ฝ๋ ๋ฆฌ๋ทฐ ํ๋ก์ธ์ค ๊ตฌ์ถ
์ฑ๊ณต์ ์ธ ์ฝ๋ ๋ฆฌ๋ทฐ ํ๋ก์ธ์ค๋ ์ฐ์ฐํ ๋ง๋ค์ด์ง์ง ์์ต๋๋ค. ์ ์คํ ๊ณํ, ๋ช ํํ ๊ฐ์ด๋๋ผ์ธ, ๊ทธ๋ฆฌ๊ณ ์ ์ ํ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค. ๊ธ๋ก๋ฒ ํ์ ๊ฒฝ์ฐ, ์ด๋ฌํ ๊ธฐ๋ณธ ์์๋ ๋์ฑ ์ค์ํฉ๋๋ค.
1. ๋ช ํํ ๋ชฉํ์ ์งํ ์ ์
์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํตํด ๋ฌด์์ ๋ฌ์ฑํ๊ณ ์ ํฉ๋๊น? ์ผ๋ฐ์ ์ธ ๋ชฉํ์๋ ๊ฒฐํจ ๋ฐ๋ ๊ฐ์, ์ฝ๋ ๊ฐ๋ ์ฑ ํฅ์, ๋ณด์ ๊ฐํ, ์ง์ ์ด์ ์ด์ง ๋ฑ์ด ์์ต๋๋ค. ๋ช ํํ๊ฒ ์ ์๋ ๋ชฉํ๋ ๋ฆฌ๋ทฐ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ฒดํํ๊ณ ๊ทธ ํจ๊ณผ๋ฅผ ์ธก์ ํ ์ ์๊ฒ ๋์ต๋๋ค.
- ์์ ๋ชฉํ: "ํฅํ 6๊ฐ์ ๋ด์ ํ๋ก๋์ ์ ๋๋ฌํ๋ ์น๋ช ์ ์ธ ๋ฒ๊ทธ ์๋ฅผ 20% ์ค์ธ๋ค."
- ์์ ์งํ: ์ฝ๋ ๋ฆฌ๋ทฐ ์ค์ ์๋ณ๋ ์น๋ช ์ ์ธ ๋ฒ๊ทธ ์์ ํ ์คํธ ๋๋ ํ๋ก๋์ ์์ ๋ฐ๊ฒฌ๋ ๋ฒ๊ทธ ์๋ฅผ ์ถ์ ํฉ๋๋ค.
- ๊ธ๋ก๋ฒ ์ปจํ ์คํธ: ๋ชจ๋ ํ ์์น์ ์๊ฐ๋์์ ๋ชฉํ๊ฐ ๋ณดํธ์ ์ผ๋ก ์ดํด๋๊ณ ์ธก์ ๊ฐ๋ฅํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
2. ํฌ๊ด์ ์ธ ๋ฆฌ๋ทฐ ๊ฐ์ด๋๋ผ์ธ ์๋ฆฝ
ํนํ ๋ค์ํ ๋ฐฐ๊ฒฝ๊ณผ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ฝ๋ฉ ์ปจ๋ฒค์ ์ ๊ฐ์ง ๊ฐ๋ฐ์๋ค์ด ๋ชจ์์ ๋ ์ผ๊ด์ฑ์ ํต์ฌ์ ๋๋ค. ๊ธฐ๋์น๋ฅผ ๋ฌธ์ํํ๋ฉด ๊ณตํต๋ ์ฐธ์กฐ์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
- ์ฝ๋ฉ ํ์ค ๋ฐ ์คํ์ผ ๊ฐ์ด๋: ๋ฏธ๋ฆฌ ์ ์๋ ๊ตฌ์ฑ(์: Airbnb, Google ๋๋ ๋ง์ถคํ ๊ตฌ์ฑ)์ ์ฌ์ฉํ๋ ESLint์ ์๋ ์ฝ๋ ํฌ๋งทํ ์ ์ํ Prettier์ ๊ฐ์ ๋๊ตฌ ์ฌ์ฉ์ ์๋ฌดํํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ค์ ์คํ์ผ์ ์ผ๊ด์ฑ์ ๊ฐ์ ํ์ฌ ๋ฆฌ๋ทฐ์ด๊ฐ ํฌ๋งทํ ๋ณด๋ค๋ ๋ก์ง์ ์ง์คํ ์ ์๊ฒ ํฉ๋๋ค.
- ์ํคํ ์ฒ ํจํด: ์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํธ๋๋ ์ํคํ ์ฒ ํจํด(์: MVC, MVVM, flux, ํ๋ก ํธ์๋ ํ๋ ์์ํฌ๋ฅผ ์ํ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ์ํคํ ์ฒ)์ ๋ช ์ํฉ๋๋ค.
- ๋ณด์ ์ฒดํฌ๋ฆฌ์คํธ: ๋ฆฌ๋ทฐ์ด๋ฅผ ์๋ดํ๊ธฐ ์ํด ์ผ๋ฐ์ ์ธ ์๋ฐ์คํฌ๋ฆฝํธ ๋ณด์ ์ทจ์ฝ์ ์ฒดํฌ๋ฆฌ์คํธ(์: XSS ๋ฐฉ์ง, ์์ ํ DOM ์กฐ์, ๋ณด์ API ์๋น)๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์ฑ๋ฅ ๊ณ ๋ ค์ฌํญ: ๋ฃจํ ์ต์ ํ, DOM ์กฐ์ ์ค์ด๊ธฐ, ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ, ์ง์ฐ ๋ก๋ฉ์ ๋ํ ๊ฐ์ด๋๋ผ์ธ์ ์ ๊ณตํฉ๋๋ค.
- ๊ธ๋ก๋ฒ ์ปจํ ์คํธ: ๊ฐ์ด๋๋ผ์ธ์ด ๋น์์ด๋ฏผ๋ ์ ๊ทผํ๊ณ ์ดํดํ๊ธฐ ์ฝ๋๋ก ๋ณด์ฅํฉ๋๋ค. ์๊ฐ ์๋ฃ๋ ๋ช ํํ ์์๊ฐ ๋งค์ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
3. ์ฌ๋ฐ๋ฅธ ๋๊ตฌ์ ํ๋ซํผ ์ ํ
๋น๋๊ธฐ์ ์ด๊ณ ํ๋ ฅ์ ์ธ ์ฝ๋ ๋ฆฌ๋ทฐ ์ํฌํ๋ก์ฐ๋ฅผ ์ง์ํ๋ ์ต์ ๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ํ์ฉํ์ธ์.
- ๋ฒ์ ๊ด๋ฆฌ ์์คํ (VCS): GitHub, GitLab, ๋๋ Bitbucket๊ณผ ๊ฐ์ ํ๋ซํผ์ ํ์์ ์ ๋๋ค. ์ด๋ค์ ํ ๋ฆฌํ์คํธ(PR) ๋๋ ๋จธ์ง ๋ฆฌํ์คํธ(MR) ๊ธฐ๋ฅ์ ์ธ๋ผ์ธ ๋๊ธ, diff ๋ทฐ, ์ํ ์ถ์ ์ ์ ๊ณตํ์ฌ ์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ์ํด ๋ง๋ค์ด์ก์ต๋๋ค.
- ์ ์ ๋ถ์ ๋๊ตฌ: ESLint, SonarQube, JSHint, ๋๋ TypeScript(ํ์ ์์ ์ฑ์ ์ํด)๋ฅผ CI/CD ํ์ดํ๋ผ์ธ์ ํตํฉํ์ธ์. ์ด๋ฌํ ๋๊ตฌ๋ค์ ์คํ์ผ, ์ ์ฌ์ ๋ฒ๊ทธ, ๋ณต์ก์ฑ, ๋ณด์๊ณผ ๊ด๋ จ๋ ๋ฌธ์ ๋ฅผ ์๋์ผ๋ก ํ์ํ์ฌ ์ฌ๋ ๋ฆฌ๋ทฐ์ด์ ๋ง์ ๋จ์ ์์ ์ ๋์ด์ค๋๋ค.
- ์ข ์์ฑ ์ค์บ๋: Snyk์ด๋ npm audit๊ณผ ๊ฐ์ ๋๊ตฌ๋ ์๋ํํฐ ์๋ฐ์คํฌ๋ฆฝํธ ์ข ์์ฑ์ ์ทจ์ฝ์ ์ ์๋ณํ๊ณ ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ๊ธ๋ก๋ฒ ์ปจํ ์คํธ: ๋๋ฆฌ ์ฑํ๋๊ณ , ๋ฌธ์ํ๊ฐ ์ ๋์ด ์์ผ๋ฉฐ, ๋ค๊ตญ์ด ์ง์์ ์ ๊ณตํ๊ฑฐ๋ ๋น์์ด๋ฏผ์ด ์ฝ๊ฒ ํ์ํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ํํ์ธ์. ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋ฃจ์ ์ ์ผ๋ฐ์ ์ผ๋ก ๊ธ๋ก๋ฒ ์ ๊ทผ์ฑ์ ์ํด ์ ํธ๋ฉ๋๋ค.
4. CI/CD ํ์ดํ๋ผ์ธ์ ์ฝ๋ ๋ฆฌ๋ทฐ ํตํฉ
์๋น ํ์ง ๋ณด์ฆ์ ๋ง์ ๋ถ๋ถ์ ์๋ํํ์ธ์. ์ด๋ฅผ ํตํด ์ฌ๋ ๋ฆฌ๋ทฐ์ด๋ ์ด๋ฏธ ๊ธฐ๋ณธ ๊ฒ์ฌ๋ฅผ ํต๊ณผํ ์ฝ๋๋ฅผ ๋ฐ์ ์ ์์ต๋๋ค.
- Pre-commit Hooks: Husky์ lint-staged ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๊ฐ ์ปค๋ฐ๋๊ธฐ ์ ์ ๋ฆฐํฐ์ ํฌ๋งทํฐ๋ฅผ ์๋์ผ๋ก ์คํํฉ๋๋ค.
- ์๋ํ๋ ํ ์คํธ: PR์ด ๋ฆฌ๋ทฐ ๋์์ผ๋ก ๊ณ ๋ ค๋๊ธฐ ์ ์ ๋ชจ๋ ๋จ์, ํตํฉ, ์๋ํฌ์๋ ํ ์คํธ๊ฐ ํต๊ณผ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
- ์ ์ ๋ถ์: CI/CD ํ์ดํ๋ผ์ธ(์: Jenkins, GitLab CI, GitHub Actions)์ ๊ตฌ์ฑํ์ฌ ๋ชจ๋ PR์ ๋ํด ์ ์ ๋ถ์ ๋๊ตฌ๋ฅผ ์คํํ๊ณ , ์์ฑ์์ ๋ฆฌ๋ทฐ์ด์๊ฒ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํฉ๋๋ค.
- ๊ธ๋ก๋ฒ ์ปจํ ์คํธ: ๊ฒฌ๊ณ ํ CI/CD ํ์ดํ๋ผ์ธ์ ์ฌ๋ฌ ์๊ฐ๋์ ๊ฑธ์ณ ์๋ ํ์๊ฒ ์ ์ตํ, ์ง์์ ์ธ ์ค์๊ฐ ๋๊ธฐ์ ์ปค๋ฎค๋์ผ์ด์ ์ ํ์์ฑ์ ์ค์ฌ์ค๋๋ค.
์ฝ๋ ๋ฆฌ๋ทฐ์ด๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก ("์ธ๊ฐ์ ์ธ" ์ธก๋ฉด)
์๋ํ๊ฐ ๋ง์ ์คํ์ผ ๋ฐ ๊ธฐ๋ณธ ์ค๋ฅ ๊ฒ์ฌ๋ฅผ ์ฒ๋ฆฌํ์ง๋ง, ๋ ๊น์ ํต์ฐฐ๋ ฅ, ์ํคํ ์ฒ ์ผ๊ด์ฑ ๋ฐ ์ง์ ๊ณต์ ๋ฅผ ์ํด ์ฝ๋ ๋ฆฌ๋ทฐ์ ์ธ๊ฐ์ ์ธ ์์๋ ์ฌ์ ํ ์ค์ํฉ๋๋ค.
1. ์ปจํ ์คํธ์ ๋ชฉํ ์ดํด
์ฝ๋ ๋ผ์ธ์ ์ดํด๋ณด๊ธฐ ์ ์, ํด๋น ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฌด์์ ๋ฌ์ฑํ๋ ค๋์ง ์ดํดํ๋ ์๊ฐ์ ๊ฐ์ง์ธ์. PR ์ค๋ช , ๊ด๋ จ ํฐ์ผ, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ์ค๊ณ ๋ฌธ์๋ฅผ ์ฝ์ผ์ธ์. ์ด๋ฌํ ์ปจํ ์คํธ๋ ์ ์๋ ์๋ฃจ์ ์ด ์ ์ ํ๊ณ ํจ๊ณผ์ ์ธ์ง ํ๊ฐํ ์ ์๊ฒ ํด์ค๋๋ค.
2. "๋ฌด์"๋ฟ๋ง ์๋๋ผ "์"์ ์ง์ค
ํผ๋๋ฐฑ์ ์ ๊ณตํ ๋, ์ ์์ ๊ทผ๊ฑฐ๋ฅผ ์ค๋ช
ํ์ธ์. ๋จ์ํ "์ด๊ฒ์ ํ๋ ธ๋ค"๊ณ ๋งํ๋ ๋์ , ์ ํ๋ ธ๋์ง ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ํฅ์ด ๋ฌด์์ธ์ง ์ค๋ช
ํ์ธ์. ์๋ฅผ ๋ค์ด, "์ฌ๊ธฐ์ ==๋ฅผ ์ฌ์ฉํ๋ฉด ์์์น ๋ชปํ ํ์
๋ณํ์ผ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ๋ฏธ๋ฌํ ๋ฒ๊ทธ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ์๊ฒฉํ ๋๋ฑ ๋น๊ต๋ฅผ ์ํด ===๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ์ ํธํฉ๋๋ค."
3. ์ค์ํ ๋ฌธ์ ์ฐ์ ์์ ์ง์
๋ชจ๋ ํผ๋๋ฐฑ์ด ๋์ผํ ์ค์๋๋ฅผ ๊ฐ๋ ๊ฒ์ ์๋๋๋ค. ๋ค์๊ณผ ๊ด๋ จ๋ ์๊ฒฌ์ ์ฐ์ ์์๋ฅผ ๋์ธ์:
- ๊ธฐ๋ฅ์ฑ ๋ฐ ์ ํ์ฑ: ์ฝ๋๊ฐ ์๋ํ ๋๋ก ์๋ํ๊ณ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํฉ๋๊น?
- ๋ณด์: ์ ์ฌ์ ์ธ ์ทจ์ฝ์ ์ด ์์ต๋๊น?
- ์ฑ๋ฅ ๋ฐ ํ์ฅ์ฑ: ์ด ์ฝ๋๊ฐ ๋ณ๋ชฉ ํ์์ ์ ๋ฐํ๊ฑฐ๋ ํฅํ ์ฑ์ฅ์ ์ ํดํ ๊ฒ์ ๋๊น?
- ์ํคํ ์ฒ ๋ฌด๊ฒฐ์ฑ: ์ ์ฒด ์์คํ ์ค๊ณ์ ์ผ์นํฉ๋๊น?
- ๊ฐ๋ ์ฑ ๋ฐ ์ ์ง๋ณด์์ฑ: ๋ค๋ฅธ ๊ฐ๋ฐ์๊ฐ ์ด ์ฝ๋๋ฅผ ์ฝ๊ฒ ์ดํดํ๊ณ ์์ ํ ์ ์์ต๋๊น?
์๋์ผ๋ก ๊ฐ์ ๋์ง ์๋ ์ฌ์ํ ์คํ์ผ ์ ์์ ์์ฑ์๋ฅผ ์๋ํ์ง ์๋๋ก ๊ทธ๋ฃนํํ๊ฑฐ๋ ๋ณ๋๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
4. ์กด์คํ๊ณ , ๊ฑด์ค์ ์ด๋ฉฐ, ๊ณต๊ฐ์ ์ผ๋ก ๋ํ๊ธฐ
์ฝ๋ ๋ฆฌ๋ทฐ๋ ์ฌ๋์ ๋นํํ๋ ๊ฒ์ด ์๋๋ผ ์ฝ๋๋ฅผ ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค. ํผ๋๋ฐฑ์ ๊ธ์ ์ ์ผ๋ก ๊ตฌ์ฑํ๊ณ ๊ฒฐ์ ์ ์ง์ ํ๊ธฐ๋ณด๋ค๋ ๊ฐ์ ์ ์ ์ ์ํ์ธ์. "๋น์ " ๋์ "์ฐ๋ฆฌ" ๋๋ "์ฝ๋"๋ฅผ ์ฌ์ฉํ์ธ์.
- ์์: "๋น์ ์ ์ด๊ฒ์ ๋นํจ์จ์ ์ผ๋ก ๊ตฌํํ์ต๋๋ค" ๋์ , "์ด ์ ๊ทผ ๋ฐฉ์์ ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์์ ์ฑ๋ฅ ๋ฌธ์ ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค. ๊ฒ์์ ์ต์ ํํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๊ณ ๋ คํด๋ณด์ธ์."
- ๊ธ๋ก๋ฒ ์ปจํ ์คํธ: ํนํ ์์ฌ์ํต์ ์์ด์ ๋ฌธํ์ ์ฐจ์ด๋ฅผ ์ ๋ ํด์ผ ํฉ๋๋ค. ์ง์ ์ ์ธ ๋นํ์ ๋ค์ํ ๋ฌธํ์์ ๋ค๋ฅด๊ฒ ์ธ์๋ ์ ์์ต๋๋ค. ๊ฐ๊ด์ ์ธ ๊ด์ฐฐ๊ณผ ๊ฐ์ ์ ์์ ์ด์ ์ ๋ง์ถ์ธ์. ์ ๋ฒ์ญ๋์ง ์์ ์ ์๋ ๋น๊ผฌ๋ ๋ง์ด๋ ๊ด์ฉ๊ตฌ๋ ํผํ์ธ์.
5. ์๊ธฐ์ ์ ํ๊ณ ์ง์ค์ ์ธ ๋ฆฌ๋ทฐ ์ ์ง
์ค๋ ๋ณด๋ฅ๋ ๋ฆฌ๋ทฐ๋ ๋ณ๋ชฉ ํ์์ ๋ง๋ค๊ณ ๋ฆด๋ฆฌ์ค๋ฅผ ์ง์ฐ์ํต๋๋ค. 24-48์๊ฐ ๋ด์ ์ฝ๋๋ฅผ ๋ฆฌ๋ทฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ์ธ์. ๋ฆฌ๋ทฐ์ ์๋นํ ์๊ฐ์ด ํ์ํ ๊ฒฝ์ฐ, ์ด๋ฅผ ์์ฑ์์๊ฒ ์ ๋ฌํ์ธ์. ๋ง์ฐฌ๊ฐ์ง๋ก, ๋ฆฌ๋ทฐ ์ธ์ ์ ์ง์คํ๊ณ ๋ฉํฐํ์คํน์ ํผํ์ธ์.
6. ๋๊ท๋ชจ ๋ณ๊ฒฝ์ ๋ํ ๋ฆฌ๋ทฐ ๋ฒ์ ์ ํ
์์ฒ ์ค์ ์ฝ๋๊ฐ ์๋ ํ ๋ฆฌํ์คํธ๋ฅผ ๋ฆฌ๋ทฐํ๋ ๊ฒ์ ์ด๋ ต๊ณ ๊ฐ๊ณผํ๊ธฐ ์ฝ์ต๋๋ค. ์์ฑ์๊ฐ ํฐ ๊ธฐ๋ฅ์ ๊ฐ๊ฐ ๋จ์ผ ๋ ผ๋ฆฌ์ ๋ณ๊ฒฝ์ ์ด์ ์ ๋ง์ถ ๋ ์๊ณ ๊ด๋ฆฌํ๊ธฐ ์ฌ์ด PR๋ก ๋๋๋๋ก ์ฅ๋ คํ์ธ์. ์ด๋ ๋ฆฌ๋ทฐ๋ฅผ ๋ ๋น ๋ฅด๊ณ ํจ๊ณผ์ ์ผ๋ก ๋ง๋ค๊ณ ๋ฆฌ๋ทฐ์ด์ ์ธ์ง ๋ถํ๋ฅผ ์ค์ฌ์ค๋๋ค.
7. ๋ฆฌ๋ทฐ ์ฒดํฌ๋ฆฌ์คํธ ํ์ฉ
๋ณต์กํ ํ๋ก์ ํธ๋ ๋๊ท๋ชจ ํ ์ ์ฒด์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ํ์คํ๋ ์ฒดํฌ๋ฆฌ์คํธ๋ ๋งค์ฐ ์ ์ฉํ ์ ์์ต๋๋ค. ์ด๋ ๋ฆฌ๋ทฐ์ด๊ฐ ๋ชจ๋ ์ค์ํ ์ธก๋ฉด์ ์ฒด๊ณ์ ์ผ๋ก ๋ค๋ฃฐ ์ ์๋๋ก ๋์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ ์ ์ฉ ์ฒดํฌ๋ฆฌ์คํธ๋ ๋ค์๊ณผ ๊ฐ์ ์ ์์ต๋๋ค:
- ์ ํ์ฑ:
- ์ฝ๋๊ฐ ๋ชจ๋ ์๊ตฌ ์ฌํญ๊ณผ ์ธ์ ๊ธฐ์ค์ ์ถฉ์กฑํฉ๋๊น?
- ๋ชจ๋ ์ฃ์ง ์ผ์ด์ค๊ฐ ์ ์ ํ๊ฒ ์ฒ๋ฆฌ๋์์ต๋๊น?
- ์ค๋ฅ ์ฒ๋ฆฌ๊ฐ ๊ฒฌ๊ณ ํฉ๋๊น (์: ๋น๋๊ธฐ ์์ ์ ์ํ try/catch)?
- ๋น๋๊ธฐ ์ฝ๋์ ์ ์ฌ์ ์ธ ๊ฒฝ์ ์กฐ๊ฑด์ด ์์ต๋๊น?
- ๊ฐ๋
์ฑ & ์ ์ง๋ณด์์ฑ:
- ์ฝ๋๊ฐ ์ดํดํ๊ธฐ ์ฝ์ต๋๊น? ๋ณ์ ๋ฐ ํจ์ ์ด๋ฆ์ด ๋ช ํํ๊ณ ์ค๋ช ์ ์ ๋๊น?
- ๋ถํ์ํ ๋ณต์ก์ฑ์ด ์์ต๋๊น? ๋จ์ํํ ์ ์์ต๋๊น?
- ์ฃผ์์ด ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ๋ฉฐ ํ์ํ๊ฐ์? (๋ช ๋ฐฑํ ์ฝ๋๋ ์ฃผ์์ ํผํ์ธ์.)
- ์ค์ ๋ ์ฝ๋ฉ ํ์ค(ESLint, Prettier)์ ์ค์ํฉ๋๊น?
- ๋ชจ๋ ๊ตฌ์กฐ๊ฐ ๋ ผ๋ฆฌ์ ์ ๋๊น?
- ์ฑ๋ฅ & ํ์ฅ์ฑ:
- ๋นํจ์จ์ ์ธ ๋ฃจํ๋ ๋ฐ์ดํฐ ์กฐ์(์: ๊ณผ๋ํ DOM ์ ๋ฐ์ดํธ)์ด ์์ต๋๊น?
- ์์(๋ฉ๋ชจ๋ฆฌ, ๋คํธ์ํฌ)์ด ํจ์จ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๊น?
- ํนํ ์ฅ๊ธฐ ์คํ๋๋ Node.js ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ ๋ณต์กํ ํ๋ก ํธ์๋ ์ปดํฌ๋ํธ์์ ์ ์ฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ์์ต๋๊น?
- ๋ณด์:
- ์ฌ์ฉ์ ์ ๋ ฅ์ด ์ ์ ํ๊ฒ ์ด๊ท ๋ฐ ๊ฒ์ฆ๋์์ต๋๊น?
- ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์์ ํ๊ฒ ์ฒ๋ฆฌ๋ฉ๋๊น?
- ์ ์ฌ์ ์ธ XSS, CSRF ๋๋ ์ธ์ ์ ์ทจ์ฝ์ ์ด ์์ต๋๊น?
- ์๋ํํฐ ์ข ์์ฑ์ด ์ต์ ์ํ์ด๋ฉฐ ์๋ ค์ง ์ทจ์ฝ์ ์ด ์์ต๋๊น?
- ํ
์คํ
& ๋ฌธ์ํ:
- ์๋กญ๊ฑฐ๋ ์์ ๋ ์ฝ๋์ ๋ํ ์ถฉ๋ถํ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ์์ต๋๊น?
- ๊ธฐ์กด ํ ์คํธ๊ฐ ์ฌ์ ํ ํต๊ณผํฉ๋๊น?
- ๊ด๋ จ ๋ฌธ์(์: README, API ๋ฌธ์)๊ฐ ์ ๋ฐ์ดํธ๋์์ต๋๊น?
์ฝ๋ ์์ฑ์๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก (๋ฆฌ๋ทฐ ์ค๋น)
์ํํ๊ณ ํจ๊ณผ์ ์ธ ์ฝ๋ ๋ฆฌ๋ทฐ์ ์ฑ ์์ ๋ฆฌ๋ทฐ์ด์๊ฒ๋ง ์๋ ๊ฒ์ด ์๋๋๋ค. ์์ฑ์๋ ํ๋ก์ธ์ค๋ฅผ ์ด์งํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
1. ๋จผ์ ์์ ์ ์ฝ๋๋ฅผ ์ ํ ๋ฆฌ๋ทฐํ๊ธฐ
ํ ๋ฆฌํ์คํธ๋ฅผ ์ ์ถํ๊ธฐ ์ ์ ์ฒ ์ ํ ์ ํ ๋ฆฌ๋ทฐ๋ฅผ ์ํํ์ธ์. ์ด๋ ๋ช ๋ฐฑํ ๋ฒ๊ทธ, ์คํ, ํฌ๋งทํ ๋ฌธ์ ๋ฅผ ์ก์๋ด์ด ๋ฆฌ๋ทฐ์ด์ ๊ท์คํ ์๊ฐ์ ์ ์ฝํด ์ค๋๋ค. ๋ชจ๋ ์๋ํ๋ ๊ฒ์ฌ(๋ฆฐํฐ, ํ ์คํธ)๋ฅผ ๋ก์ปฌ์์ ์คํํ์ธ์.
2. ๋ช ํํ ์ปค๋ฐ ๋ฉ์์ง์ PR ์ค๋ช ์์ฑ
๋ฆฌ๋ทฐ์ด์๊ฒ ์ถฉ๋ถํ ์ปจํ ์คํธ๋ฅผ ์ ๊ณตํ์ธ์. ์ ์์ฑ๋ ํ ๋ฆฌํ์คํธ ์ค๋ช ์ ๋ค์์ ํฌํจํด์ผ ํฉ๋๋ค:
- "๋ฌด์"์ ํ๋์ง ์ค๋ช (์ด๋ค ๋ณ๊ฒฝ์ด ์์๋์ง).
- "์"๋ฅผ ์์ธํ ์ค๋ช (ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ๋๋ ๊ตฌํํ๋ ค๋ ๊ธฐ๋ฅ).
- "์ด๋ป๊ฒ"๋ฅผ ์ค๋ช (์ทจํ ์์ ์์ค์ ์ ๊ทผ ๋ฐฉ์).
- ๊ด๋ จ ์คํฌ๋ฆฐ์ท, ์ ๋๋ฉ์ด์ GIF ๋๋ ํฐ์ผ/๋ฌธ์ ๋งํฌ๋ฅผ ํฌํจ.
- ๊ธ๋ก๋ฒ ์ปจํ ์คํธ: ๋ช ํํ๊ณ ๊ฐ๊ฒฐํ ์์ด๋ฅผ ์ฌ์ฉํ์ธ์. ์์ด๋ ์ง๋์น๊ฒ ๋น๊ฒฉ์์ ์ธ ์ธ์ด๋ ํผํ์ธ์.
3. ํฐ ๋ณ๊ฒฝ ์ฌํญ์ ์๊ณ ์ง์ค๋ ํ ๋ฆฌํ์คํธ๋ก ๋๋๊ธฐ
์์ ์ธ๊ธํ๋ฏ์ด, ์์ PR์ ๋ฆฌ๋ทฐํ๊ธฐ๊ฐ ๋ ์ฝ๊ณ ๋น ๋ฆ ๋๋ค. ํฐ ๊ธฐ๋ฅ์ด ์๋ ๊ฒฝ์ฐ, ์๋ก๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋๋ ์ฌ๋ฌ PR์ ๋ง๋๋ ๊ฒ์ ๊ณ ๋ คํ์ธ์(์: ์ธํ๋ผ ๋ณ๊ฒฝ์ ์ํ PR, ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ํ PR, UI ์ปดํฌ๋ํธ๋ฅผ ์ํ PR).
4. ํผ๋๋ฐฑ์ ์ ๋ฌธ์ ์ด๊ณ ์ ์ํ๊ฒ ์๋ตํ๊ธฐ
์ฝ๋ ๋ฆฌ๋ทฐ๋ฅผ ํ์ต๊ณผ ๊ฐ์ ์ ๊ธฐํ๋ก ์ฌ๊ธฐ์ธ์. ๋๊ธ์ ์ ์คํ๊ฒ ์๋ตํ๊ณ , ์คํด๋ฅผ ๋ช ํํ ํ๊ณ , ์์ ์ ๊ฒฐ์ ์ ์ค๋ช ํ์ธ์. ์ ์์ ๋์ํ์ง ์๋ ๊ฒฝ์ฐ, ๋ช ํํ๊ณ ํฉ๋ฆฌ์ ์ธ ์ฃผ์ฅ์ ์ ์ํ์ธ์.
5. ๋ชจ๋ ํ ์คํธ๊ฐ ํต๊ณผํ๋์ง ํ์ธํ๊ธฐ
์คํจํ๋ ํ ์คํธ๊ฐ ์๋ PR์ ์ ๋ ์ ์ถํ์ง ๋ง์ธ์. ์ด๊ฒ์ CI/CD ํ์ดํ๋ผ์ธ์ ์ํด ์๋์ผ๋ก ๊ฐ์ ๋์ด์ผ ํ๋ ๊ธฐ๋ณธ์ ์ธ ํ์ง ๊ฒ์ดํธ์ ๋๋ค.
์ฝ๋ ๋ฆฌ๋ทฐ์์์ ํน์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ณ ๋ ค์ฌํญ
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ ํนํ ํน์ฑ๊ณผ ๋น ๋ฅธ ๋ฐ์ ์ ์ฝ๋ ๋ฆฌ๋ทฐ ์ค์ ๋ฉด๋ฐํ ์ฃผ์๊ฐ ํ์ํ ํน์ ์์ญ์ ๋ง๋ญ๋๋ค.
1. ๋น๋๊ธฐ ์๋ฐ์คํฌ๋ฆฝํธ
Promise, async/await, ์ฝ๋ฐฑ์ ๊ด๋ฒ์ํ ์ฌ์ฉ์ผ๋ก ์ธํด ๋น๋๊ธฐ ์์
์ ๊ฒฌ๊ณ ํ ์ฒ๋ฆฌ๊ฐ ์ค์ํฉ๋๋ค.
- ์ค๋ฅ ์ฒ๋ฆฌ: ๋ชจ๋ ๋น๋๊ธฐ ์์
์ด
try...catch๋ธ๋ก(async/await์ ๊ฒฝ์ฐ)์ผ๋ก ์ ์ ํ๊ฒ ๊ฐ์ธ์ ธ ์๊ฑฐ๋.catch()(Promise์ ๊ฒฝ์ฐ)๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๊น? ์ฒ๋ฆฌ๋์ง ์์ ๊ฑฐ๋ถ๋ Node.js ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๋จ์ํค๊ฑฐ๋ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ผ๊ด์ฑ ์๋ ์ํ๋ก ๋จ๊ธธ ์ ์์ต๋๋ค. - ๊ฒฝ์ ์กฐ๊ฑด: ๋น๋๊ธฐ ์์ ์ ์์๊ฐ ์ค์ํ๊ณ ์์์น ๋ชปํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋ํ ์ ์๋ ์๋๋ฆฌ์ค๊ฐ ์์ต๋๊น?
- ์ฝ๋ฐฑ ํฌ: ์ฝ๋ฐฑ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์ฝ๋๊ฐ ๊น์ ์ค์ฒฉ์ ํผํ๊ณ ๊ฐ๋ ์ฑ์ ํฅ์์ํค๋๋ก ๊ตฌ์กฐํ๋์์ต๋๊น(์: ์ด๋ฆ ์๋ ํจ์, ๋ชจ๋ํ)?
- ์์ ๊ด๋ฆฌ: ๋น๋๊ธฐ ์์ ํ์ ์์(์: ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ, ํ์ผ ํธ๋ค)์ด ์ ์ ํ๊ฒ ๋ซํ๊ฑฐ๋ ํด์ ๋ฉ๋๊น?
2. ํ์ ๋ณํ๊ณผ ์๊ฒฉํ ๋๋ฑ์ฑ
์๋ฐ์คํฌ๋ฆฝํธ์ ๋์จํ ํ์ ๋ณํ์ ๋ฏธ๋ฌํ ๋ฒ๊ทธ์ ์์ธ์ด ๋ ์ ์์ต๋๋ค.
- ๊ตฌ์ฒด์ ์ด๊ณ ์ ์ ๋นํ๋ ์ด์ ๊ฐ ์๋ ํ, ํญ์ ๋์จํ ๋๋ฑ ์ฐ์ฐ์(
==)๋ณด๋ค ์๊ฒฉํ ๋๋ฑ ์ฐ์ฐ์(===)๋ฅผ ์ ํธํ์ธ์. - ์์์น ๋ชปํ ๋์์ผ๋ก ์ด์ด์ง ์ ์๋ ์๋ฌต์ ํ์
๋ณํ์ด ์๋์ง ์ฝ๋๋ฅผ ๋ฆฌ๋ทฐํ์ธ์(์:
'1' + 2๊ฐ'12'๊ฐ ๋๋ ๊ฒฝ์ฐ).
3. ์ค์ฝํ์ ํด๋ก์
์๋ฐ์คํฌ๋ฆฝํธ์ ๋ ์์ปฌ ์ค์ฝํ์ ํด๋ก์ ๋ฅผ ์ดํดํ๋ ๊ฒ์ ์ผ๋ฐ์ ์ธ ํจ์ ์ ํผํ๋ ๋ฐ ํ์์ ์ ๋๋ค.
- ๋ณ์ ์ค์ฝํ:
var์ ๊ด๋ จ๋ ๋ฌธ์ (์: ์ฐ๋ฐ์ ์ธ ์ ์ญ ๋ณ์, ๋ณ์ ํธ์ด์คํ ์ ๋๋ผ์)๋ฅผ ํผํ๊ธฐ ์ํดlet๊ณผconst๊ฐ ์ ์ ํ๊ฒ ์ฌ์ฉ๋ฉ๋๊น? - ํด๋ก์ : ์ํ๋ฅผ ์ ์งํ๊ฑฐ๋ ๋น๊ณต๊ฐ ๋ฐ์ดํฐ๋ฅผ ์บก์ํํ๊ธฐ ์ํด ํด๋ก์ ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉ๋ฉ๋๊น? ์๋ํ์ง ์์ ํด๋ก์ ์ฐธ์กฐ๋ก ์ธํ ์ ์ฌ์ ์ธ ๋ฉ๋ชจ๋ฆฌ ๋์๊ฐ ์์ต๋๊น?
4. ์ต์ ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฅ (ES6+)
์ต์ ๊ธฐ๋ฅ์ ํ์ฉํ๋, ์ ์ ํ๊ณ ์ผ๊ด์ฑ ์๊ฒ ์ฌ์ฉ๋๋์ง ํ์ธํ์ธ์.
- ํ์ดํ ํจ์: ํนํ ๋ ์์ปฌ
this๋ฐ์ธ๋ฉ์ ๊ณ ๋ คํ์ฌ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉ๋ฉ๋๊น? - ๊ตฌ์กฐ ๋ถํด ํ ๋น: ๋ ๊น๋ํ ๊ฐ์ฒด/๋ฐฐ์ด ์กฐ์์ ์ํด ์ฌ์ฉ๋ฉ๋๊น?
- ํ ํ๋ฆฟ ๋ฆฌํฐ๋ด: ๋ฌธ์์ด ๋ณด๊ฐ ๋ฐ ์ฌ๋ฌ ์ค ๋ฌธ์์ด์ ์ํด ์ฌ์ฉ๋ฉ๋๊น?
- ์ ๊ฐ/๋๋จธ์ง ์ฐ์ฐ์: ๋ฐฐ์ด/๊ฐ์ฒด ๋ณต์ฌ ๋ฐ ํจ์ ์ธ์๋ฅผ ์ํด ์ฌ์ฉ๋ฉ๋๊น?
- ๊ธ๋ก๋ฒ ์ปจํ ์คํธ: ๋ชจ๋ ํ ๊ตฌ์ฑ์์ด ์ต์ JS ๊ธฐ๋ฅ์ ์ต์ํ๊ณ ์ผ๊ด๋๊ฒ ์ ์ฉํ๋์ง ํ์ธํ์ธ์. ํ์ํ ๊ฒฝ์ฐ ๊ต์ก์ด๋ ๋ช ํํ ์์๋ฅผ ์ ๊ณตํ์ธ์.
5. ์ฑ๋ฅ ์ต์ ํ
์๋ฐ์คํฌ๋ฆฝํธ์ ๋จ์ผ ์ค๋ ๋ ํน์ฑ์ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฐจ๋จํ ์ ์์์ ์๋ฏธํฉ๋๋ค.
- DOM ์กฐ์: ์ง์ ์ ์ธ DOM ์กฐ์์ ์ต์ํํ์ธ์; ์ ๋ฐ์ดํธ๋ฅผ ์ผ๊ด ์ฒ๋ฆฌํ๊ณ , React/Vue์ ๊ฐ์ ํ๋ ์์ํฌ์์ ๊ฐ์ DOM์ ์ฌ์ฉํ์ธ์.
- ๋ฃจํ์ ๋ฐ๋ณต: ๋๊ท๋ชจ ๋ฐ์ดํฐ์ ์ ๋ํด ๋ฃจํ๊ฐ ์ต์ ํ๋์์ต๋๊น? ๋นก๋นกํ ๋ฃจํ ๋ด์์ ๋น์ฉ์ด ๋ง์ด ๋๋ ์์ ์ ํผํ์ธ์.
- ๋ฉ๋ชจ์ด์ ์ด์ /์บ์ฑ: ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋๋ ํจ์์ ๊ฒฝ์ฐ, ์ค๋ณต ๊ณ์ฐ์ ํผํ๊ธฐ ์ํด ๋ฉ๋ชจ์ด์ ์ด์ ์ ๊ณ ๋ คํ์ธ์.
- ๋ฒ๋ค ํฌ๊ธฐ: ํ๋ก ํธ์๋ ํ๋ก์ ํธ์์ ์ข ์์ฑ์ ๊ฒํ ํ๊ณ ํธ๋ฆฌ ์ ฐ์ดํน๊ณผ ์ฝ๋ ์คํ๋ฆฌํ ์ด ์ด๊ธฐ ๋ก๋ ์๊ฐ์ ์ค์ด๋๋ก ์ต์ ํ๋์๋์ง ํ์ธํ์ธ์.
6. ๋ณด์ ์ทจ์ฝ์
์๋ฐ์คํฌ๋ฆฝํธ ์ ํ๋ฆฌ์ผ์ด์ , ํนํ Node.js ๋ฐฑ์๋์ ๋ณต์กํ ํ๋ก ํธ์๋๋ ๊ณต๊ฒฉ์ ์ฃผ์ ๋์์ ๋๋ค.
- XSS (ํฌ๋ก์ค ์ฌ์ดํธ ์คํฌ๋ฆฝํ ): ๋ชจ๋ ์ฌ์ฉ์ ์์ฑ ์ฝํ ์ธ ์ ๋์ ๋ฐ์ดํฐ๊ฐ DOM์ ๋ ๋๋ง๋๊ธฐ ์ ์ ์ ์ ํ๊ฒ ์ด๊ท ๋ฐ ์ด์ค์ผ์ดํ ์ฒ๋ฆฌ๋ฉ๋๊น?
- CSRF (ํฌ๋ก์ค ์ฌ์ดํธ ์์ฒญ ์์กฐ): CSRF ๊ณต๊ฒฉ์ ๋ฐฉ์งํ๊ธฐ ์ํ ์ ์ ํ ํ ํฐ์ด๋ ๋ฉ์ปค๋์ฆ์ด ๋ง๋ จ๋์ด ์์ต๋๊น?
- ์ธ์ ์ ๊ณต๊ฒฉ: Node.js ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ, SQL ์ธ์ ์ , NoSQL ์ธ์ ์ ๋๋ ์ปค๋งจ๋ ์ธ์ ์ ์ทจ์ฝ์ ์ด ๋งค๊ฐ๋ณ์ํ๋ ์ฟผ๋ฆฌ๋ ์ ์ ํ ์ ๋ ฅ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ํตํด ์ํ๋ฉ๋๊น?
- API ๋ณด์: API ํค, ์ธ์ฆ ํ ํฐ ๋ฐ ๋ฏผ๊ฐํ ์๊ฒฉ ์ฆ๋ช ์ด ์์ ํ๊ฒ ์ฒ๋ฆฌ๋๊ณ ํด๋ผ์ด์ธํธ ์ธก ์ฝ๋์ ์ ๋ ๋ ธ์ถ๋์ง ์์ต๋๊น?
- ์ข ์์ฑ ๋ณด์: ์ทจ์ฝํ ์๋ํํฐ ํจํค์ง๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ค์บํ๊ณ ์ ๋ฐ์ดํธํ์ธ์.
7. ํ๋ ์์ํฌ/๋ผ์ด๋ธ๋ฌ๋ฆฌ ํน์ฑ
React, Vue ๋๋ Angular์ ๊ฐ์ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ํด๋น ํ๋ ์์ํฌ์ ํน์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ๋์ง ํ์ธํ์ธ์.
- React: ํ , ์ปดํฌ๋ํธ ์๋ช ์ฃผ๊ธฐ, ์ํ ๊ด๋ฆฌ(์: Redux, Context API), prop types/TypeScript์ ์ฌ๋ฐ๋ฅธ ์ฌ์ฉ.
- Vue: ์ ์ ํ ์ปดํฌ๋ํธ ๊ตฌ์กฐ, ๋ฐ์์ฑ ์์คํ , Vuex ์ํ ๊ด๋ฆฌ.
- Angular: ์ปดํฌ๋ํธ ์ํคํ ์ฒ, RxJS ์ฌ์ฉ, ์์กด์ฑ ์ฃผ์ ์ค์.
8. ๋ชจ๋ ์์คํ
CommonJS (require/module.exports) ๋๋ ES ๋ชจ๋ (import/export) ๋ฑ ๋ชจ๋ ์์คํ
์ ์ผ๊ด๋๊ฒ ์ฌ์ฉํ๋์ง ํ์ธํ์ธ์.
- ๋ช ์์ ์ผ๋ก ํ์ํ๊ณ ์ ์คํ๊ฒ ๊ด๋ฆฌ๋์ง ์๋ ํ, ๋์ผํ ์ฝ๋๋ฒ ์ด์ค ๋ด์์ ๋ชจ๋ ์์คํ ์ ํผํฉํ์ง ๋ง์ธ์.
- ํ๋ก ํธ์๋ ๋น๋์์ ES ๋ชจ๋์ ๋ํ ์ ์ ํ ํธ๋ฆฌ ์ ฐ์ดํน ๊ธฐ๋ฅ์ ๋ณด์ฅํ์ธ์.
9. ์ค๋ฅ ์ฒ๋ฆฌ
๊ฒฌ๊ณ ํ ์ค๋ฅ ์ฒ๋ฆฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ๊ณผ ๋๋ฒ๊น ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
- ์ค๋ฅ๊ฐ ์ ์ ํ๊ฒ ํฌ์ฐฉ๋๊ณ ๊ธฐ๋ก๋ฉ๋๊น?
- ๋๋ฉ์ธ๋ณ ์ค๋ฅ์ ๋ํด ์ฌ์ฉ์ ์ ์ ์ค๋ฅ ํด๋์ค๊ฐ ์ฌ์ฉ๋ฉ๋๊น?
- ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์๋๋ ์ค๋ฅ๋ก๋ถํฐ ์ ์์ ์ผ๋ก ์ฑ๋ฅ์ ์ ํํ๊ฑฐ๋ ๋ณต๊ตฌํฉ๋๊น?
- ๋ฏผ๊ฐํ ์ค๋ฅ ์ธ๋ถ ์ ๋ณด(์: ์คํ ํธ๋ ์ด์ค)๊ฐ ํ๋ก๋์ ํ๊ฒฝ์ ์ต์ข ์ฌ์ฉ์์๊ฒ ๋ ธ์ถ๋์ง ์์ต๋๊น?
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ๋ฆฌ๋ทฐ ๊ฐํ๋ฅผ ์ํ ์๋ํ ํ์ฉ
์๋ํ๋ ์ธ๊ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋์ฒดํ๋ ๊ฒ์ด ์๋๋ผ ๊ฐ๋ ฅํ ๋ณด๊ฐ์ฌ์ ๋๋ค. ๋ฐ๋ณต์ ์ธ ๊ฒ์ฌ๋ฅผ ์ฒ๋ฆฌํ์ฌ ์ธ๊ฐ ๋ฆฌ๋ทฐ์ด๊ฐ ๋ ๊น์ ์ํคํ ์ฒ, ๋ ผ๋ฆฌ ๋ฐ ๋น์ฆ๋์ค ๊ด๋ จ ๋ฌธ์ ์ ์ง์คํ ์ ์๋๋ก ํด์ค๋๋ค.
1. ์ ์ ๋ถ์ ๋๊ตฌ (๋ฆฐํฐ)
ESLint์ ๊ฐ์ ๋๊ตฌ๋ ์๋ฐ์คํฌ๋ฆฝํธ์ ํ์์ ์ ๋๋ค. ์ด๋ค์ ์ฝ๋ฉ ์คํ์ผ์ ๊ฐ์ ํ๊ณ , ์ ์ฌ์ ๋ฒ๊ทธ๋ฅผ ์๋ณํ๋ฉฐ, ๋ณต์กํ ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์งํ๊ณ , ๋ณด์ ๋ฌธ์ ๋ฅผ ํ์ํ ์๋ ์์ต๋๋ค. IDE, pre-commit hook, CI/CD ํ์ดํ๋ผ์ธ์์ ESLint๊ฐ ์๋์ผ๋ก ์คํ๋๋๋ก ๊ตฌ์ฑํ์ธ์.
2. Pre-commit Hooks
Husky์ lint-staged๋ฅผ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ฝ๋๊ฐ ์ปค๋ฐ๋๊ธฐ ์ ์ ๋ฆฐํธ ๋ฐ ํฌ๋งทํ ์ด ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ ์คํ์ผ ๋ฌธ์ ๊ฐ ํ ๋ฆฌํ์คํธ ๋จ๊ณ์ ๋๋ฌํ๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ์ธ๊ฐ ๋ฆฌ๋ทฐ๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ๋ง๋ญ๋๋ค.
3. ์๋ํ๋ ํ ์คํ
๋จ์, ํตํฉ ๋ฐ ์๋ํฌ์๋ ํ ์คํธ๋ ํ์ง ๋ณด์ฆ์ ๊ธฐ๋ฐ์ ๋๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ๋ ํญ์ ์๋ก์ด ๊ธฐ๋ฅ์ด๋ ๋ฒ๊ทธ ์์ ์ ์ถฉ๋ถํ ํ ์คํธ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ์๋์ง, ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ ๊ธฐ์กด ํ ์คํธ๊ฐ ํต๊ณผํ๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์๋ํ๋ ํ ์คํธ๋ ํนํ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ณต์กํ ๊ธฐ๋ฅ์ ๋ํ ์ค์ํ ์์ ๋ง์ ์ ๊ณตํฉ๋๋ค.
4. ์ข ์์ฑ ์ค์บ
ํ๋์ ์๋ฐ์คํฌ๋ฆฝํธ ํ๋ก์ ํธ๋ ์๋ํํฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํฌ๊ฒ ์์กดํฉ๋๋ค. Snyk์ด๋ npm์ ๋ด์ฅ๋ npm audit๊ณผ ๊ฐ์ ๋๊ตฌ๋ ํ๋ก์ ํธ์ ์ข ์์ฑ์์ ์๋ ค์ง ์ทจ์ฝ์ ์ ์๋์ผ๋ก ์ค์บํ๊ณ ํด๊ฒฐ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ CI/CD ํ์ดํ๋ผ์ธ์ ํตํฉํ๋ ๊ฒ์ ๋ณด์์ ์ํ ํ์์ ์ธ ๋ชจ๋ฒ ์ฌ๋ก์ ๋๋ค.
5. ์ฝ๋ ์ปค๋ฒ๋ฆฌ์ง ๋๊ตฌ
Istanbul/NYC์ ๊ฐ์ ๋๊ตฌ๋ ํ ์คํธ์ ์ํด ์ฝ๋์ ์ผ๋ง๋ ๋ง์ ๋ถ๋ถ์ด ์คํ๋๋์ง๋ฅผ ์ธก์ ํฉ๋๋ค. ๋์ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ๋ฒ๊ทธ ์๋ ์ฝ๋๋ฅผ ๋ณด์ฅํ์ง๋ ์์ง๋ง, ๊ฐ๋ ฅํ ์๋ํ ํ ์คํ ๊ธฐ๋ฐ์ ๋ํ๋ ๋๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ๋ ์ปค๋ฒ๋ฆฌ์ง ๋ณด๊ณ ์๋ฅผ ์ฌ์ฉํ์ฌ ํ ์คํธ๋์ง ์์ ์ค์ํ ๊ฒฝ๋ก๋ฅผ ์๋ณํ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฌธํ ์กฐ์ฑ
๊ธ๋ก๋ฒ ๋งฅ๋ฝ์์ ํจ๊ณผ์ ์ธ ์ฝ๋ ๋ฆฌ๋ทฐ๋ ๊ธฐ์ ์ ์ธ ๊ดํ์ ๋์ด ์ธ๊ฐ์ ์ธ ์์์ ๋ฌธํ์ ๋์์ค์ ๋ํ ๊น์ ์ดํด๋ฅผ ํ์๋ก ํฉ๋๋ค.
1. ๊ณต๊ฐ๊ณผ ๋ฌธํ์ ๊ฐ์์ฑ
์์ฌ์ํต ์คํ์ผ์ ๋ฌธํ์ ๋ฐ๋ผ ํฌ๊ฒ ๋ค๋ฅด๋ค๋ ๊ฒ์ ์ธ์ํ์ธ์. ํ ๋ฌธํ์์ ์ง์ ์ ์ด๊ณ ํจ์จ์ ์ธ ํผ๋๋ฐฑ์ผ๋ก ๊ฐ์ฃผ๋ ์ ์๋ ๊ฒ์ด ๋ค๋ฅธ ๋ฌธํ์์๋ ์ง๋์น๊ฒ ๋ฌด๋๋ํ๊ฑฐ๋ ๋นํ์ ์ผ๋ก ์ธ์๋ ์ ์์ต๋๋ค. ๋ฆฌ๋ทฐ์ด๊ฐ ๊ณต๊ฐํ๊ณ , ์ข์ ์๋๋ฅผ ๊ฐ์ ํ๋ฉฐ, ์ฃผ๊ด์ ์ธ ํ๋จ๋ณด๋ค๋ ๊ฐ๊ด์ ์ธ ๊ด์ฐฐ์ ์ง์คํ๋๋ก ์ฅ๋ คํ์ธ์.
2. ๋น๋๊ธฐ ์ปค๋ฎค๋์ผ์ด์ ๊ณผ ๋ช ํํ ๋ฌธ์ํ
๋ค๋ฅธ ์๊ฐ๋์ ํฉ์ด์ ธ ์๋ ํ๊ณผ ํจ๊ป๋ผ๋ฉด ์ค์๊ฐ ๋๊ธฐ์ ๋ ผ์๊ฐ ํญ์ ๊ฐ๋ฅํ ๊ฒ์ ์๋๋๋ค. ์ฝ๋ ๋ฆฌ๋ทฐ ๋๊ธ์ ๋น๋๊ธฐ ์ปค๋ฎค๋์ผ์ด์ ์ ์ฑํํ์ธ์. ๋ชจ๋ ํผ๋๋ฐฑ์ด ๋ช ํํ๊ฒ ์์ฑ๋๊ณ , ์ ์ค๋ช ๋๋ฉฐ, ๊ทธ ์์ฒด๋ก ์๊ฒฐ๋์ด ์ฆ๊ฐ์ ์ธ ํด๋ช ์ ํ์์ฑ์ ์ต์ํํ๋๋ก ํ์ธ์. ํฌ๊ด์ ์ธ PR ์ค๋ช ๊ณผ ๋ด๋ถ ๋ฌธ์๋ ๋์ฑ ์ค์ํด์ง๋๋ค.
3. ๋ช ํํ๊ณ ๋ชจํธํ์ง ์์ ์ธ์ด
๋น์์ด๋ฏผ์ ํผ๋์ค๋ฝ๊ฒ ํ ์ ์๋ ์ ๋ฌธ ์ฉ์ด, ์์ด ๋๋ ๋ฌธํ์ ์ผ๋ก ํน์ ํ ๊ด์ฉ๊ตฌ ์ฌ์ฉ์ ํผํ์ธ์. ๊ฐ๋จํ๊ณ ์ง์ ์ ์ธ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ธ์. ์ ์ํ ๋๋ ๊ตฌ์ฒด์ ์ธ ์์๋ ๊ด๋ จ ๋ฌธ์ ๋งํฌ๋ฅผ ์ ๊ณตํ์ธ์.
4. ๊ต์ก๊ณผ ๋ฉํ ์ญ
์์ฑ์์ ๋ฆฌ๋ทฐ์ด ๋ชจ๋์๊ฒ ๋ชจ๋ฒ ์ฌ๋ก์ ๋ํ ๊ต์ก์ ์ ๊ณตํ์ฌ ์ฝ๋ ๋ฆฌ๋ทฐ์ ํ์ง์ ํ์คํํ์ธ์. ์ฃผ๋์ด ๊ฐ๋ฐ์๋ฅผ ๊ฒฝํ ๋ง์ ๋ฉํ ์ ์ง์ ์ง์ด ์์ฑ์์ ๋ฆฌ๋ทฐ์ด๋ก์ ๋ฆฌ๋ทฐ ๊ณผ์ ์ ์๋ดํ๋๋ก ํ์ธ์. ์ด๋ ๊ธ๋ก๋ฒ ํ ๊ฐ์ ๊ฒฝํ ๊ฒฉ์ฐจ๋ฅผ ํด์ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
5. ๋ฆฌ๋ทฐ ํ๋ก์ธ์ค ์์ฒด์ ๋ํ ์ ๊ธฐ์ ์ธ ํผ๋๋ฐฑ
์ฃผ๊ธฐ์ ์ผ๋ก ์ฝ๋ ๋ฆฌ๋ทฐ ํ๋ก์ธ์ค์ ๋ํ ํ๊ณ ๋ ํผ๋๋ฐฑ ์ธ์ ์ ๊ฐ์ตํ์ธ์. "๋ฆฌ๋ทฐ๊ฐ ์๊ธฐ์ ์ ํ๊ฐ?", "ํผ๋๋ฐฑ์ด ๊ฑด์ค์ ์ธ๊ฐ?", "๋ณ๋ชฉ ํ์์ด ์๋๊ฐ?", "์ฐ๋ฆฌ์ ๊ฐ์ด๋๋ผ์ธ์ด ๋ช ํํ๊ฐ?"์ ๊ฐ์ ์ง๋ฌธ์ ํ์ธ์. ์ด ์ง์์ ์ธ ๊ฐ์ ๋ฃจํ๋ ํ๋ก์ธ์ค๊ฐ ํจ๊ณผ์ ์ผ๋ก ์ ์ง๋๊ณ ํ์ ๋ณํํ๋ ์๊ตฌ์ ์ ์ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ฒฐ๋ก
์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋ ๋ฆฌ๋ทฐ๋ ๋ชจ๋ฒ ์ฌ๋ก์ ๊ธ๋ก๋ฒ ๋ง์ธ๋๋ก ๊ตฌํ๋ ๋, ํ์ง ๋ณด์ฆ๊ณผ ํ ๊ฐ๋ฐ์ ์ํ ๊ฐ๋ ฅํ ์์ง์ ๋๋ค. ์ด๋ ์์ ์ฝ๋๋ฅผ ์๊ฐ์ ์ํ์ ๊ฒฌ๋๊ณ ๋ค์ํ ์์ฅ์ ๊ฑธ์ณ ํ์ฅํ ์ ์๋ ์ ๋ขฐํ ์ ์๊ณ , ์ ์ง๋ณด์ ๊ฐ๋ฅํ๋ฉฐ, ์์ ํ ์ํํธ์จ์ด๋ก ๋ณํ์ํต๋๋ค. ํ๋ก์ธ์ค๋ฅผ ์ ์คํ๊ฒ ์ ์ํ๊ณ , ์๋ํ๋ฅผ ํ์ฉํ๋ฉฐ, ์กด์คํ๋ ํ์ ๋ฌธํ๋ฅผ ์กฐ์ฑํ๊ณ , ์๋ฐ์คํฌ๋ฆฝํธ์ ํน์ ํน์ฑ์ ์ธ์ฌํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์์ผ๋ก์จ ์กฐ์ง์ ๊ฐ๋ฐ ๊ดํ์ ์ธ๊ณ์ ์์ค์ผ๋ก ๋์ด์ฌ๋ฆด ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์์ฉํ๋ฉด ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๊ฐ ํ๋ก์ ํธ์ ์ฑ๊ณต์ ๊ธ์ ์ ์ผ๋ก ๊ธฐ์ฌํ๋๋ก ๋ณด์ฅํ๋ฉฐ, ์ ์ธ๊ณ ๊ฐ๋ฐ์๋ค์ด ํจ๊ป ๋ฐ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ์ ์๋๋ก ํ์ ์ค์ด์ค๋๋ค. ์ด๋ ๋ ๋์ ์ฝ๋๋ฟ๋ง ์๋๋ผ ๋ ๊ฐ๋ ฅํ๊ณ , ๋ ์์ง๋ ฅ ์์ผ๋ฉฐ, ์ง์์ ์ผ๋ก ํ์ตํ๋ ๊ธ๋ก๋ฒ ๊ฐ๋ฐํ์ ๋ํ ์ฝ์์ ๋๋ค.