๋น๋๊ธฐ ์คํ์ ์ต์ JavaScript ์์คํ ์ด ๋ธ๋ผ์ฐ์ , ์๋ฒ ๋ฐ ๋ถ์ฐ ํ๊ฒฝ์์ ์๋ํ๋ ๋ฐฉ์์ ์ ์ํฉ๋๋ค. ์ฌ๋ฌ ์์ ์ด ์๋ก ์ฐจ๋จ๋์ง ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์งํ๋ ์ ์๋๋ก ํ์ฌ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ํฅ์์ํต๋๋ค. ์ด๋ฌํ ์ ์ฐ์ฑ์ ์ค์๊ฐ ์ธํฐํ์ด์ค, ๋ฐ์ดํฐ ์คํธ๋ฆฌ๋ฐ ๋ฐ ๋ฐ์ํ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ง์ํ์ง๋ง, ๊ตฌ์กฐ์ ๋ถํฌ๋ช ์ฑ์ ์ด๋ํฉ๋๋ค. ๋น๋๊ธฐ ํธ์ถ์ด ์ด๋ป๊ฒ ์ํธ ์์ฉํ๊ณ , ์ค์ฒฉ๋๊ณ , ์๋ฃ๋๋์ง ์ดํดํ๋ ค๋ฉด ๊ธฐ์กด์ ์ ์ด ํ๋ฆ ํํ์์๋ ๋ณผ ์ ์๋ ์คํ ์์์ ๋ํ ํต์ฐฐ๋ ฅ์ด ํ์ํฉ๋๋ค. ์ํคํ ํธ, ๊ฐ๋ฐ์ ๋ฐ ์ฑ๋ฅ ์์ง๋์ด์๊ฒ ์ด๋ฌํ ๋ณต์ก์ฑ์ ์ ์ ๋ถ์์ ๋์ฑ ์ด๋ ต๊ฒ ๋ง๋ค์ง๋ง ๋์์ ๋์ฑ ํ์์ ์ ๋๋ค.
๊ธฐ์กด์ ์ ์ ๋ถ์ ์์ง์ ์ ์ด ํ๋ฆ์ด ์ ํ์ ์ด๊ณ ์์ธก ๊ฐ๋ฅํ ์์ฐจ์ ํ๋ก๊ทธ๋จ์ ์ํด ์ค๊ณ๋์์ต๋๋ค. ๋ฐ๋ผ์ ์ฝ๋ฐฑ, ์ด๋ฒคํธ ์ด๋ฏธํฐ, ์ฒด์ธ๋ Promise์ ๊ฐ์ ๋น๋๊ธฐ ๊ตฌ์กฐ๋ฅผ ํฌ์ฐฉํ๋ ๋ฐ ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์์คํ ๋์์ด ๋จํธํ๋์ด ์ค์ํ ์ํธ์์ฉ์ด ๋๋ฌ๋์ง ์์ ์ ์์ต๋๋ค. ๋น๋๊ธฐ์ฑ์ ์ ํํ๊ฒ ๋ชจ๋ธ๋งํ์ง ๋ชปํ๋ฉด ๊ฐ์ง๋์ง ์์ ์ฑ๋ฅ ์ ํ, ์ผ๊ด๋์ง ์์ ๋ฐ์ดํฐ ํ๋ฆ, ๋๋ ๋์ ๋ถํ์์๋ง ๋ํ๋๋ ์์ ์ฑ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค์์๋ ์ด๋ฌํ ๋ฌธ์ ๊ฐ ๋น ๋ฅด๊ฒ ํ์ฐ๋์ด ์ ์ง ๊ด๋ฆฌ ๋น์ฉ๊ณผ ํ๋ํ ์ง์ฐ์ ์ด๋ํฉ๋๋ค.
์ฝ๋ ์ธํ ๋ฆฌ์ ์ค ์๋ํ
Smart TS XL์ ๊ณ ๊ธ ์ข ์์ฑ ์ถ์ ์ ํตํด ๋น๋๊ธฐ JavaScript ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ๊ณผ ์ง์ฐ ์๊ฐ์ ์ค์ด์ธ์.
์ง๊ธ ํ์์ ์ ๋ถ์ ๋ฐ ์ํฅ ๋ถ์์ ๋ฐ์ ์ผ๋ก ์ด์ ๋น๋๊ธฐ ์์คํ ์ ์ ๋ฐํ๊ฒ ๋ถ์ํ ์ ์๊ฒ ๋์์ต๋๋ค. ์ง์ฐ ๋ฐ ๋์ ์ปจํ ์คํธ ์ ๋ฐ์ ๊ฑธ์ณ ์คํ ๊ทธ๋ํ๋ฅผ ๋งคํํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณ๋ชฉ ํ์์ ์๋ณํ๊ณ , ์ฒ๋ฆฌ๋์ง ์์ ํ๋ก๋ฏธ์ค๋ฅผ ๊ฐ์งํ๊ณ , ์จ๊ฒจ์ง ์ข ์์ฑ์ ๋๋ฌ๋ผ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ์ ์ ํตํด ๋น๋๊ธฐ ๋ก์ง์ โโ์ถ์ ํ๊ณ ์ธก์ ํ ์ ์๊ฒ ๋์ด, ํ์ ์ค์ ์ํฌ๋ก๋๊ฐ ์ด๋ฒคํธ ํ์ ์๋น์ค ๊ฒฝ๊ณ๋ฅผ โโํตํด ์ด๋ป๊ฒ ์ด๋ํ๋์ง ์ดํดํ ์ ์์ต๋๋ค. ์ํฅ ๋ถ์ ์ํํธ์จ์ด ํ ์คํธ ์์ ์ค๋ช ํ ๊ฒ๊ณผ ๊ฐ์ ์๊ฐํ ๋ฐ ์ข ์์ฑ ์ถ์ ๊ธฐ๋ฅ์ ๊ฒฐํฉํ๋ฉด ํ๋ํ ํ์ ๊ฐ์ ์ ์ํ ๊ฒ์ฆ ๊ฐ๋ฅํ ๊ตฌ์กฐ๋ฅผ ํ๋ณดํ ์ ์์ต๋๋ค.
์ด ๊ธ์์๋ ๋น๋๊ธฐ JavaScript ํ๋ก๊ทธ๋จ์ ๋ํ ์ ์ ๋ถ์์ ๊ธฐ์ ์ ์๋ฆฌ๋ฅผ ์ดํด๋ด ๋๋ค. ๊ฐ ์น์ ์์๋ ๋น๋๊ธฐ ํ๋ฆ ๋ชจ๋ธ๋ง, ์ข ์์ฑ ๋งคํ, CI/CD ํ๊ฒฝ์ ๋ถ์ ํตํฉ, ๊ทธ๋ฆฌ๊ณ ๋๊ท๋ชจ ํ๊ฒฝ์์์ ์ฑ๋ฅ ์ต์ ํ์ ๋ํด ์ฌ์ธต์ ์ผ๋ก ๋ค๋ฃน๋๋ค. ์ํ ๋ณต์ก๋์ ๋ํ ์ ์ ๋ถ์ ๊ธฐ๋ฒ ๋ฐ ๋ฐํ์ ๋ถ์์ ์ดํด ๋ฑ IN-COM์ ๊ด๋ จ ์ฐ๊ตฌ ์๋ฃ๋ฅผ ์ฐธ์กฐํ์ฌ, ๋ถ์์ ํตํด ์ป๋ ๊ฐ์์ฑ์ด ์ด๋ป๊ฒ ๋ ๋น ๋ฅธ ๋๋ฒ๊น , ์์ ํ ํ๋ํ, ๊ทธ๋ฆฌ๊ณ ๋น๋๊ธฐ ์์คํ ์ ์ง์์ ์ธ ์ต์ ํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋์ง ๋ณด์ฌ์ค๋๋ค.
๋น๋๊ธฐ ์ ์ด ํ๋ฆ์ ๋ณต์ก์ฑ
๋น๋๊ธฐ ์ ์ด ํ๋ฆ์ JavaScript ์ ํ๋ฆฌ์ผ์ด์ ์ ์ดํด, ์ ์ง ๊ด๋ฆฌ ๋ฐ ๋ถ์ ๋ฐฉ์์ ํ์ ํฉ๋๋ค. ํ๋์ ๋ช ๋ น์ด๊ฐ ๋ค๋ฅธ ๋ช ๋ น์ด๋ฅผ ๊ฒฐ์ ์ ์ผ๋ก ๋ฐ๋ฅด๋ ๊ธฐ์กด์ ๋๊ธฐ ํ๋ก๊ทธ๋จ๊ณผ ๋ฌ๋ฆฌ, ๋น๋๊ธฐ ๋ก์ง์ ์ด๋ฒคํธ ๋ฃจํ์ ์ํด ์กฐ์ ๋๋ ๋ณ๋์ ์ปจํ ์คํธ์์ ์คํ๋ฉ๋๋ค. ๋คํธ์ํฌ ํธ์ถ, ํ์ผ ์ฝ๊ธฐ, ๋ฉ์์ง ํ ์ํธ์์ฉ๊ณผ ๊ฐ์ ์์ ์ ์๋ฃ ์ ์ ๋ฉ์ธ ์ค๋ ๋๋ก ์ ์ด๊ถ์ ๋ฐํํฉ๋๋ค. ์ด๋ฌํ ํ๋ฆ์ ์ญ์ ์ ์์ธ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ์๊ฐ, ์ปจํ ์คํธ ๋๋ ์คํ ์คํ์ผ๋ก ๊ตฌ๋ถํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ๊ตํ ๋ถ์ ๋๊ตฌ์กฐ์ฐจ ์ด๋ ค์์ ๊ฒช์ต๋๋ค. ์ด๋ฌํ ๊ด๊ณ๋ฅผ ์ดํดํ๋ ๊ฒ์ ํ์ด๋ฐ ๋ฒ๊ทธ ์ง๋จ, ์ข ์์ฑ ์ฒด์ธ ๊ฒ์ฆ, ๋ถํ ๋ฐ์ ์ ์์คํ ๋์ ์์ธก์ ํ์์ ์ ๋๋ค.
ํต์ฌ ๊ณผ์ ๋ ๋น๋๊ธฐ ์์คํ ์ด ๋ก์ง์ ์ธํฐ๋ฆฌ๋นํ๋ ๋ฐฉ์์ ์์ต๋๋ค. ์ฌ๋ฌ ํจ์๊ฐ ์์ค ์ฝ๋์์๋ ๋ ๋ฆฝ์ ์ผ๋ก ๋ณด์ผ ์ ์์ง๋ง, ์ด๋ฒคํธ์ ์ํด ํธ๋ฆฌ๊ฑฐ๋๋ ๊ณต์ ์ํ ๋๋ ์ฝ๋ฐฑ ์ฒด์ธ์ ํตํด ์ํธ ์์ฉํฉ๋๋ค. ์ ์ ๋ถ์์ ์ด๋ฌํ ๋น์ ํ ๊ฒฝ๋ก๋ฅผ ์ฌ๊ตฌ์ฑํ์ฌ ์ค์ ์คํ ์์๋ฅผ ๋ฐ์ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ ๊ตฌ๋ฌธ ๋ถ์๋ฟ๋ง ์๋๋ผ, ์ฝ์์ด ์ด๋ป๊ฒ ํด๊ฒฐ๋๋์ง, ๋ง์ดํฌ๋กํ์คํฌ๊ฐ ๋งคํฌ๋ก ํ์คํฌ ๋ค์ ์ด๋ป๊ฒ ๋๊ธฐํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ฝ๋ฐฑ์ด ์บก์ฒ๋ ๋ณ์๋ฅผ ์ด๋ป๊ฒ ์ฐธ์กฐํ๋์ง์ ๋ํ ์๋ฏธ๋ก ์ ๋ชจ๋ธ๋ง์ด ํ์ํฉ๋๋ค. ์ด๋ฌํ ์ ๋ฐ์ฑ์ด ์๋ค๋ฉด ์ํฅ ์ถ์ ๊ณผ ์ํ ๊ฐ์ง๋ ๋ถ์์ ํ ์ ์์ต๋๋ค.
์ด๋ฒคํธ ๊ธฐ๋ฐ ๋์์ฑ ๋ฐ ์จ๊ฒจ์ง ์คํ ๊ฒฝ๋ก
์ด๋ฒคํธ ๊ธฐ๋ฐ ๋์์ฑ์ ๋น๋๊ธฐ JavaScript ๋์์ ๊ธฐ๋ฐ์ ์ ์ํฉ๋๋ค. ์ด๋ฒคํธ ๋ฃจํ๋ ์์คํ ๋ฆฌ์์ค๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํด์ง์ ๋ฐ๋ผ ์คํ๋๋ ๋๊ธฐ ์ค์ธ ์ฝ๋ฐฑ, ๋ง์ดํฌ๋กํ์คํฌ, ๋งคํฌ๋ก ํ์คํฌ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ฌํ ๋์ ์ค์ผ์ค๋ง์ ๋ฐ์ด๋ ํ์ฅ์ฑ์ ์ ๊ณตํ์ง๋ง, ๋ ผ๋ฆฌ์ ํ๋ฆ์ ํ๋ฆฟํ๊ฒ ๋ง๋ญ๋๋ค. ์ ์ด ๊ฒฝ๋ก๋ฅผ ๋งคํํ๋ ค๋ ์ ์ ๋ถ์๊ธฐ๋ ์ง์ ํธ์ถ๋ฟ๋ง ์๋๋ผ ์ ์ฌ์ ์ธ ์ด๋ฒคํธ ํธ๋ฆฌ๊ฑฐ์ ์ง์ฐ๋ ์ฐ์์ฑ๋ ํด์ํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ํ ๋ชจ๋์ ๋ฑ๋ก๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ ์ต์ด ํธ๋ฆฌ๊ฑฐ ์ดํ ์ค๋ ์๊ฐ์ด ์ง๋ ํ์๋ ๋ค๋ฅธ ๊ตฌ์ฑ ์์์ ๋ก์ง์ ์ํฅ์ ๋ฏธ์น๋ ์์คํ ์ํ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ๋ถ์ฐ ๋๋ ๋ชจ๋ํ ํ๊ฒฝ์์ ์ด๋ฌํ ์ฐ๊ฒฐ์ ์๋ณํ๋ ค๋ฉด ๊ตฌ๋ฌธ ํธ๋ฆฌ๋ฅผ ๋์ด์๋ ์ข ์์ฑ ์ธ์์ด ํ์ํฉ๋๋ค. ๊ณ ๊ธ ๋๊ตฌ๋ ๋๊ธฐ ๋ฐ ๋น๋๊ธฐ ๊ด๊ณ๋ฅผ ๋ชจ๋ ๋งคํํ๋ ๊ทธ๋ํ ๊ธฐ๋ฐ ๋ชจ๋ธ์ ํตํฉํ์ฌ ๋๊ธฐ ์ค์ธ ์์ ์ ํตํด ์ํ๊ฐ ์ด๋ป๊ฒ ๋ณํํ๋์ง ๋ณด์ฌ์ค๋๋ค. ์ข ์์ฑ ์๊ฐํ ์์ ๋ ผ์๋ ๊ฒ๊ณผ ์ ์ฌํ ํต์ฐฐ๋ ฅ์ ํตํด ๊ฐ๋ฐ์๋ ์ฑ๋ฅ ๊ธ์ฆ์ด๋ ์ผ๊ด์ฑ ์๋ ์ถ๋ ฅ์ ์ ๋ฐํ ์ ์๋ ๋ชจ๋ํฐ๋ง๋์ง ์์ ๊ฒฝ๋ก๋ฅผ ๊ฐ์งํ ์ ์์ต๋๋ค.
๋๊ท๋ชจ ์์คํ ์์ ์ด๋ฌํ ์ดํด๋ ์์ ํ ํ๋ํ์ ๊ธฐ๋ฐ์ ํ์ฑํฉ๋๋ค. ํ์ด ์ฝ๋ฐฑ ์ค์ฌ ์ฝ๋๋ฅผ ๊ตฌ์กฐํ๋ ๋น๋๊ธฐ ๋ฐ ๋๊ธฐ ํจํด์ผ๋ก ๋ฆฌํฉํ ๋งํ ๋, ๊ธฐ์กด ์ด๋ฒคํธ ๊ด๊ณ์ ๋ํ ์์ ํ ๊ฐ์์ฑ์ ํ๋ณดํ๋ฉด ๋์ ๋๋ฑ์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค. ์ด๋ฌํ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์ฐ๊ฒฐ์ ์ธ์ํ๋ ์ ์ ๋ถ์์ ํ๊ท๋ฅผ ๋ฐฉ์งํ๊ณ ํ์คํ๊ณ ์ ์ง์ ์ธ ๋ณํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ฝ์๊ณผ ๋น๋๊ธฐ ํ๋ฆ ํด์
Promise๋ ๋น๋๊ธฐ ๋ก์ง์ ๋ํ ๊ตฌ์กฐํ๋ ์ฒ๋ฆฌ๋ฅผ ๋์ ํ์ฌ, ๊น์ด ์ค์ฒฉ๋ ์ฝ๋ฐฑ์ ๊ตฌ์ฑ ๊ฐ๋ฅํ ์ฒด์ธ์ผ๋ก ๋์ฒดํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ์ถ์ํ๋ ๊ฐ Promise๊ฐ ํ์ฌ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ ์กฐ๊ฑด์ ๋ฐ๋ผ ํด๊ฒฐ๋๊ฑฐ๋ ๊ฑฐ๋ถ๋ ์ ์๋ ์ ์ฌ์ ์ธ ๋ฏธ๋ ๊ฐ์ ๋ํ๋ด๊ธฐ ๋๋ฌธ์ ๋ถ์ ๋ณต์ก์ฑ์ ์ฆ๊ฐ์ํต๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์์ ์์ ํ ์คํ ๊ฒฝ๋ก๋ฅผ ์ฌ๊ตฌ์ฑํ๊ธฐ ์ํด ์ ์ด ์ฐจ์๊ณผ ์๊ฐ ์ฐจ์ ๋ชจ๋์ ๋ํด ์ถ๋ก ํด์ผ ํฉ๋๋ค.
๋น๋๊ธฐ ๋ฉ์๋๊ฐ ์ฌ๋ฌ Promise๋ฅผ ๋๊ธฐํ๋ ๊ฒฝ์ฐ, ๋ถ์๊ธฐ๋ ์์, ์ข ์์ฑ ๋ฐ ์ ์ฌ์ ๊ฒฝํฉ์ ์ถ๋ก ํด์ผ ํฉ๋๋ค. ์ผ๋ถ ๋ถ์๊ธฐ๋ ์ ์ด ํ๋ฆ ๊ทธ๋ํ๋ฅผ ์ง์ฐ๋ ํด๊ฒฐ ๊ฒฐ๊ณผ๋ฅผ ํฌ์ฐฉํ๋ ์๊ฐ ๊ทธ๋ํ๋ก ํ์ฅํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ๋ง์ดํฌ๋กํ์คํฌ ๋๊ธฐ์ด๊ณผ ์ค์ผ์ค๋ง ๋จ๊ณ๋ฅผ ๋ชจ๋ธ๋งํ์ฌ ๋ค๋ฅธ ๋น๋๊ธฐ ์์ ๊ณผ ๋น๊ตํ์ฌ ๊ฒฐ๊ณผ๊ฐ ์ธ์ ์ฌ์ฉ ๊ฐ๋ฅํ์ง ์์ธกํฉ๋๋ค. ์ด๋ฅผ ํตํด ์๋์น ์๊ฒ ๋ณ๋ ฌ ์์ ์ ์ง๋ ฌํํ๊ฑฐ๋ ๋ถํ์ํ ์ง์ฐ์ ์ ๋ฐํ๋ ๋ก์ง์ ๊ฐ์งํ ์ ์์ต๋๋ค.
์ฝ์ ๊ธฐ๋ฐ ํ๋ฆ์ ์ ํํ๊ฒ ํด์ํ๋ฉด ์ต์ ํ์ ์์ ์ฑ ๋ชฉํ๋ฅผ ๋ชจ๋ ๋ฌ์ฑํ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ๋๊ธฐ ์ค์ธ ํธ์ถ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋ณ๋ ฌํ๋์๋์ง, ์๋๋ฉด ์์ธ๊ฐ ์๋์ผ๋ก ๋ฌด์๋๋์ง์ ๋ํ ์ฆ๊ฑฐ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ช ํ์ฑ์ ๋ฐํ์ ์์ธก ๋ถ๊ฐ๋ฅ์ฑ์ ์ค์ด๊ณ ํ์ด ์ค๊ณ ๊ธฐ๋์น์ ๋ง์ถฐ ๋์์ ์กฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ฉฐ, ํ๋ํ ์์ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ๋ณต์๋ ฅ์ ๊ฐํํฉ๋๋ค.
์ฝ๋ฐฑ ๋ฐ ํด๋ก์ ์ํธ ์์ฉ ์ฒ๋ฆฌ
์ฝ๋ฐฑ์ ๋ ๊ฑฐ์ ๋ฐ ํ์ด๋ธ๋ฆฌ๋ JavaScript ์์คํ ์์ ์ฌ์ ํ ๋๋ฆฌ ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ, ํนํ ํ๋ ์์ํฌ๋ ์ด์ API๊ฐ async ๋ฐ await๋ณด๋ค ๋จผ์ ์ฌ์ฉ๋ ๊ฒฝ์ฐ ๋์ฑ ๊ทธ๋ ์ต๋๋ค. ํด๋ก์ ๊ฐ ๋ถ๋ชจ ๋ฒ์์ ๋ณ์๋ฅผ ์บก์ฒํ์ฌ ์๋ ํจ์๊ฐ ๋ฐํ๋ ํ ๋น๋๊ธฐ ์ฝ๋๊ฐ ๊ณต์ ์ํ๋ฅผ ์์ ํ ์ ์๋๋ก ํ๋ฏ๋ก, ์ฝ๋ฐฑ์ ๋ฌธ๋งฅ์ ๋ณต์ก์ฑ์ ์ผ๊ธฐํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์์ ์ ์ฌ์ ์ธ ๋ณ์ ๋ณํ์ด๋ ๋์๋ฅผ ํ์ ํ๊ธฐ ์ํด ์ดํ ํ๊ฒฝ์ ์๋ฎฌ๋ ์ด์ ํด์ผ ํฉ๋๋ค.
ํด๋ก์ ๋ชจ๋ธ๋ง ๊ธฐ๋ฅ์ ๊ฐ์ถ ๋๊ตฌ๋ ๋ณ์ ๋ฐ์ธ๋ฉ ๋ฐ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๋ถ์ํ๊ณ ๋น๋๊ธฐ ํธ์ถ ์ ๋ฐ์ ๊ฑธ์น ์ฐธ์กฐ๋ฅผ ์ฐ๊ด์ํต๋๋ค. ์ด๋ฅผ ํตํด ๋์ ์คํ ํ๊ฒฝ์์ ์๋์น ์์ ๋ฐ์ดํฐ ์ง์, ๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ ๋๋ ๋ฐ์ดํฐ ์์๊ณผ ๊ฐ์ ์ํ์ ์๋ณํ ์ ์์ต๋๋ค. ์ฝ๋ ์๊ฐํ ์ ๋ต ๊ณผ ์ ์ฌํ ์๊ฐํ์ ๊ฒฐํฉํ๋ฉด ์ด๋ฌํ ๋ชจ๋ธ์ ์ ์ง ๊ด๋ฆฌ์์๊ฒ ์ฝ๋ฐฑ์ ํตํด ์ํ๊ฐ ์ ํ๋๋ ๊ตฌ์กฐ์ ๋ฐฉ์์ ์ดํดํ๋ ๋ฐ ๋์์ ์ค๋๋ค.
์ ํํ ์ฝ๋ฐฑ ๋ฐ ํด๋ก์ ๋ถ์์ ์ด๋ค ์ธ๊ทธ๋จผํธ๋ฅผ ํ๋ผ๋ฏธ์ค ๋๋ ๋น๋๊ธฐ ํจ์๋ก ์์ ํ๊ฒ ๋ณํํ ์ ์๋์ง ๋ช ํํ ํ์ฌ ํ๋ํ์๋ ๋์์ด ๋ฉ๋๋ค. ํ์ ์จ๊ฒจ์ง ๋ถ์์ฉ ์์ด ๋ณต์กํ ํธ์ถ ์ฒด์ธ์ ์ ์ง์ ์ผ๋ก ๋ฆฌํฉํ ๋งํ์ฌ ์์คํ ๋ก์ง์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ ์์ ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
์๊ฐ ์์ ๋ฐ ๊ต์ฐจ ๋ณต์ก์ฑ
์๊ฐ ์์๋ ์ฌ๋ฌ ๋น๋๊ธฐ ์์ ์ด ๊ณต์กดํ๋ ๋ฐฉ์์ ์ ์ํฉ๋๋ค. JavaScript๋ ๋จ์ผ ์ค๋ ๋ ์ด๋ฒคํธ ๋ฃจํ ๋ด์์ ์คํ๋๋ฏ๋ก, ๋ณ๋ ฌ ์คํ์ด ์๋ ์ค์ผ์ค๋ง์ ํตํด ๊ฒ๋ณด๊ธฐ์ ๋์์ฑ์ด ํ๋ณด๋ฉ๋๋ค. ์ ์ ๋ถ์์ ์์ ์ด ๋๊ธฐ์ด์ ์ถ๊ฐ๋๊ณ , ์คํ๋๊ณ , ์ผ์ ์ค๋จ๋๊ณ , ์ฌ๊ฐ๋๋ ์์๋ฅผ ํด์ํ์ฌ ๋ฏธ๋ฌํ ์๊ฐ ์ข ์์ฑ์ ํ์ ํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ณต์ ์ํ๋ฅผ ์ฝ๊ณ ์ฐ๋ ์์ ์ ์ฝ๋ฐฑ ๋ฑ๋ก ์์๋ ๋ฆฌ์์ค ์ง์ฐ ์๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ธํฐ๋ฆฌ๋น๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ข ์์ฑ์ ๋ํ ์ ์ ์ธ ํต์ฐฐ๋ ฅ์ด ์์ผ๋ฉด ๊ฒฝํฉ ์ํ์ ์ผ๊ด๋์ง ์์ ์ํ๊ฐ ์ฐ๋ฐ์ ์ผ๋ก ๋ฐ์ํ์ฌ ๋๋ฒ๊น ๊ณผ ํ์ง ๋ณด์ฆ์ ๋ณต์กํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๋ถ์๊ธฐ๋ ์ธํฐ๋ฆฌ๋น ํจํด์ ๋ชจ๋ธ๋งํจ์ผ๋ก์จ ๊ฐ๋ฐ ์ด๊ธฐ์ ๋น๊ฒฐ์ ์ ๋์์ ๊ฐ์งํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์น ์์ผ์ด๋ ๋ฉ์์ง ๋ธ๋ก์ปค์ ๊ฐ์ ๋น๋๊ธฐ API์ ํตํฉ๋๋ ์์คํ ์์ ํนํ ์ ์ฉํฉ๋๋ค. ์ธํฐ๋ฆฌ๋น์ ์ดํดํ๋ฉด ๋์์ฑ ์ต์ ํ๋ก ์ธํด ๋ก์ง์ด ์๋์น ์๊ฒ ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ๊ตฌ์กฐํ๋ ์ ์ด ํ๋ฆ ๋งคํ๊ณผ ์๊ฐ ์ธ์ ์ข ์์ฑ ๊ทธ๋ํ๋ฅผ ํตํด ์กฐ์ง์ ์ด์ ์๋ ๊ด๋ฒ์ํ ๋ฐํ์ ๋ก๊น ์ ํตํด์๋ง ์ป์ ์ ์์๋ ๊ฐ์์ฑ์ ํ๋ณดํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ์คํ ์๋ฏธ๋ก ์ ์ํ ์ ์ ๋ถ์ ๊ธฐ์ด
๋น๋๊ธฐ ์คํ์ ๋ถ์ํ๋ ค๋ฉด ๊ตฌ๋ฌธ์ ์ฝ๊ฑฐ๋ ํจ์ ํธ์ถ ํ์๋ฅผ ์ธ๋ ๊ฒ ์ด์์ ์์ ์ด ํ์ํฉ๋๋ค. JavaScript ๋ฐํ์ ๋ด์์ ๋น๋๊ธฐ ์์ ์ด ์ด๋ป๊ฒ ์์ฝ, ์ผ์ ์ค์ง, ์ฌ๊ฐ ๋ฐ ์กฐ์ ๋๋์ง๋ฅผ ์ ์ดํ๋ โโ์คํ ๋ชจ๋ธ์ ์ดํดํด์ผ ํฉ๋๋ค. ๋๊ธฐ ์์คํ ์ ๋ช ๋ น๋ฌธ์ ํ๋์ฉ ์คํํ๋ ๋ฐ๋ฉด, ๋น๋๊ธฐ ์์คํ ์ ์์ ์ ์ง์์ ์ผ๋ก ์ฌ์ ๋ ฌํ๋ ์ด๋ฒคํธ ๋ฃจํ์ ํ ๊ธฐ๋ฐ ์ํคํ ์ฒ์ ์์กดํฉ๋๋ค. ์ ์ธ๊ณผ ์คํ์ ์ด๋ฌํ ๋ถ๋ฆฌ๋ ์ ์ ๋ถ์์์ ์ง์ ์ ์ธ ๊ด์ฐฐ๋ณด๋ค๋ ์ถ์ ๋ชจ๋ธ๋ง์ ํตํด ๋ถํ์ค์ฑ์ ํด์ํด์ผ ํ๋ค๋ ์ ์ ์์ฌํฉ๋๋ค.
๋น๋๊ธฐ ํ๋ก๊ทธ๋จ์ ์ํ ์ ์ ๋ถ์ ํ๋ ์์ํฌ๋ ์ด๋ฌํ ์จ๊ฒจ์ง ์์๋ฅผ ์ฌ๊ตฌ์ฑํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค. ์ด ํ๋ ์์ํฌ๋ ๋น๋๊ธฐ ๋ฐ ๋๊ธฐ ์ฐ์ฐ์ ๋ด๋ถ ์๋ช ์ฃผ๊ธฐ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ๊ณ , ๋ง์ดํฌ๋กํ์คํฌ ๋ฐ ๋งคํฌ๋ก ํ์คํฌ ํ๋ฅผ ํด์ํ๋ฉฐ, ์ ์ด ํ๋ฆ์ด ์ผ์ ์ค๋จ๋ ์ปจํ ์คํธ๋ฅผ ์ด๋ป๊ฒ ํต๊ณผํ๋์ง ํ์ ํฉ๋๋ค. ์ดํ ๊ตฌ์กฐ๋ฅผ ๋์ด ํ๋ ์ถ๋ก ๊น์ง ํ์ฅํจ์ผ๋ก์จ ์ด๋ฌํ ๋๊ตฌ๋ ๋น๋๊ธฐ ๋์ ๊ฐ์ ์ค์ ์ข ์์ฑ์ ๋๋ฌ๋ ๋๋ค. ์ด๋ฌํ ๋๊ตฌ์ ์ ๋ฐ์ฑ์ ์ฒ๋ฆฌ๋์ง ์์ ๊ฑฐ๋ถ, ์ํ ์ข ์์ฑ ๋๋ ์ ๋ ฌ๋์ง ์์ ์คํ ํ์ด๋ฐ๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐฐํฌ ์ ์ ๋ฐ๊ฒฌํ ์ ์๋์ง ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
์ด๋ฒคํธ ๋ฃจํ ๋ชจ๋ธ๋ง ๋ฐ ์ถ์ ํด์
์ด๋ฒคํธ ๋ฃจํ๋ JavaScript์์ ๋น๋๊ธฐ ๋์์ ์กฐ์จํ๋ ํต์ฌ ๋ฉ์ปค๋์ฆ์ ๋๋ค. ๋ชจ๋ ํ์ด๋จธ, ๋คํธ์ํฌ ์์ฒญ ๋๋ ์ฌ์ฉ์ ์ด๋ฒคํธ๋ ๋๊ธฐ์ด์ ์ง์ ํ์ฌ ์คํ์ด ์ฌ์ฉ ๊ฐ๋ฅํด์ง ๋๊น์ง ๋๊ธฐํฉ๋๋ค. ์ ์ ๋ถ์์ ๊ฒฝ์ฐ, ์ด ๋๊ธฐ์ด์ ๋์์ ์ดํดํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ์ถ์ ํด์์ ํตํด ๋ถ์๊ธฐ๋ ์ฝ๋๋ฅผ ์คํํ์ง ์๊ณ ๋ ๊ฐ๋ฅํ ์์คํ ์ํ๋ฅผ ์ถ์ ํ ์ ์์ต๋๋ค.
์ด ์ ๊ทผ ๋ฐฉ์์ ํตํด ๋๊ตฌ๋ ํ์ ์งํ๋ฅผ ๋ชจ๋ธ๋งํ๊ณ , ๋น๋๊ธฐ ํจ์๊ฐ ๋ฑ๋ก๋๋ ์์ , ์ ์ด๊ถ์ ์๋ณดํ๋ ์์ , ๊ทธ๋ฆฌ๊ณ ์คํ์ ๋ค์ ์ง์ ํ๋ ์์ ์ ์ถ์ ํฉ๋๋ค. ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ์๋ฎฌ๋ ์ด์ ํจ์ผ๋ก์จ ์ด๋ค ์์ ์ด ๊ฒน์น ์ ์๋์ง, ์ด๋ค ์์ ์ด ์งํ์ ์ฐจ๋จํ ์ง, ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์์ ์ด ์ธ๋ถ ์ ํธ์ ์์กดํ ์ง ์ถ๋ก ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์์ค์ ์ถ๋ก ์ ์ ์ฌ์ ์ธ ๊ต์ฐฉ ์ํ๋ ๊ธฐ์ ์ํ๋ฅผ ๊ฐ์งํ๋ ๊ธฐ๋ฐ์ด ๋ฉ๋๋ค. ์ ์ ์์ค ์ฝ๋ ๋ถ์ ์์ ๋ ผ์๋ ๊ฒ๊ณผ ์ ์ฌํ ๊ธฐ๋ฒ๋ค์ ํตํด ํ์ ๋ชจ๋ธ์ด ์ด๋ป๊ฒ ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ ๋ฐ ์ ๋ขฐ์ฑ ๊ฒฐ๊ณผ๋ก ์ด์ด์ง๋์ง ๋ณด์ฌ์ค๋๋ค.
ํ๋ํ ์์ ์ ํตํฉ๋ ๊ฒฝ์ฐ, ์ด๋ฒคํธ ๋ฃจํ ๋ชจ๋ธ๋ง์ ์๋น์ค ๊ฒฝ๊ณ๋ฅผ โโ๋์ด ๋ค์ํ ๋ชจ๋์ด ์ด๋ป๊ฒ ์ํธ ์์ฉํ๋์ง ๋ช ํํ๊ฒ ๋ณด์ฌ์ค๋๋ค. ์์คํ ํ ๋ถ๋ถ์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ค๋ฅธ ๋ถ๋ถ์ ์คํ ์๊ฐ์ด๋ ์์๊ฐ ์๋์น ์๊ฒ ๋ณ๊ฒฝ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
async ๋ฐ await ๊ตฌ๋ฌธ์ ๋ํ ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ
๋น๋๊ธฐ ๋ฐ ๋๊ธฐ ๋ฌธ์ ๊ตฌ๋ฌธ์ ์ผ๋ก ๋จ์ํ์ง๋ง ๋ณต์กํ ์ ์ด ๋์์ ๊ฐ๋ฆฝ๋๋ค. ํ๋ฉด์ ์ผ๋ก ๊ฐ ๋๊ธฐ ๋ฌธ์ ์คํ์ด ์ผ์ ์ค์ง๋์๋ค๊ฐ ๋์ค์ ๋ค์ ์์๋๋ ์ผ์ ์ค์ง ์ง์ ์ ์์ฑํฉ๋๋ค. ์ ์ ๋ถ์ ํ๋ ์์ํฌ๋ ์ถ์ ๊ตฌ๋ฌธ ํธ๋ฆฌ(AST)๋ฅผ ํ์ฅํ์ฌ ์ด๋ฌํ ์ผ์ ์ค์ง ๊ฒฝ๊ณ๋ฅผ ๋ช ์์ ์ผ๋ก ๋ํ๋ ๋๋ค.
์ด ๋ณํ์ ์ ํ ์ฝ๋์ฒ๋ผ ๋ณด์ด๋ ์ฝ๋๋ฅผ ์ฌ๊ฐ ์์ง(resumption edge)๋ฅผ ํตํด ์ฐ๊ฒฐ๋ ๋ถ๋ฆฌ๋ ๊ฒฝ๋ก ์งํฉ์ผ๋ก ๋ณํํฉ๋๋ค. ์ด ๋๊ตฌ๋ ์ด๋ฌํ ์์ง๋ฅผ ๋ถ์ํ์ฌ ์์ธก ๋ถ๊ฐ๋ฅํ ์ํฉ์์ ๋๋ ํน์ ์ํ ๋ณ๊ฒฝ ํ ์ฌ๊ฐ๋ ์ ์๋ ์ฝ๋๋ฅผ ์๋ณํฉ๋๋ค. ๋ํ ๋๊ธฐ ์ค์ธ ์์ ๊ฐ์ ์ข ์์ฑ ์ถ์ ์ ํตํด ๋์์ฑ ์ต์ ํ ๊ฐ๋ฅ์ฑ์ ์ ์ํฉ๋๋ค.
์์ธํ AST ํด์์ ๋น๋๊ธฐ ๋ก์ง์ด ์ฌ๋ฌ ์ ์ฅ์์ ๊ฑธ์ณ ์๋ ์ํฐํ๋ผ์ด์ฆ ๊ท๋ชจ ์์คํ ์์ ํนํ ์ ์ฉํฉ๋๋ค. ์ด๋ ํ๊ท ๋ถ์ ๋ฐ ํ๋ํ ๊ณํ์ ํ์ํ ๋ถ์์ ๊ฐ์์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ ์ด ํ๋ฆ ๋ณต์ก์ฑ ๊ณผ ๊ฐ์ ์ฐธ์กฐ ์งํ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ ๊ฐ ๋๊ธฐ(await)๊ฐ ์ ์ฒด ์คํ ๋ณต์ก์ฑ์ ์ด๋ป๊ฒ ๊ธฐ์ฌํ๋์ง ์ ๋ํํ ์ ์์ต๋๋ค.
์ปจํ ์คํธ ์ ํ ๋ฐ ๋ฐ์ดํฐ ์ข ์์ฑ ์ถ์
๋น๋๊ธฐ ์์คํ ์ ๋ํ ์ ์ ๋ถ์์ ์ง์ฐ๋ ํธ์ถ ์ ๋ฐ์ ๊ฑธ์น ์ปจํ ์คํธ ์ ํ๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ๋ณ์, ์ค๋ฅ ์ฒ๋ฆฌ๊ธฐ ๋ฐ ๊ฐ์ฒด ์ฐธ์กฐ๋ ์คํ ๊ฐ ์ ์ด ์ ํ ์ค์๋ ์ ์ง๋ฉ๋๋ค. ์ด๋ฌํ ์ข ์์ฑ์ ์ถ์ ํ๋ ๊ฒ์ ์๋์น ์์ ๋ฐ์ดํฐ ๊ฒฐํฉ์ด๋ ๋์ถ์ ๊ฐ์งํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๋ฌธ๋งฅ ๊ธฐ๋ฐ ๋ชจ๋ธ์ ๊ฐ ๋น๋๊ธฐ ํธ์ถ์ ํด๋น ์ดํ ํ๊ฒฝ๊ณผ ์ฐ๊ฒฐํ์ฌ ๊ธฐ์กด ๋ถ์์ ํ์ฅํฉ๋๋ค. ์ด๋ฌํ ์ฐ๊ฒฐ์ ํตํด ๋น๋๊ธฐ ๊ฒฝ๊ณ๋ฅผ ๋์ด ์ง์๋๋ ๊ณต์ ๋ฆฌ์์ค์ ๋ณ๊ฒฝ ๊ฐ๋ฅํ ์ํ๋ฅผ ์๋ณํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ํตํฉํ๋ ๋๊ตฌ๋ ์คํ ํ์ด๋ฐ์ ๋ฐ๋ผ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ด ๊ฒฐ์ ๋๋ ์๋๋ฆฌ์ค๋ฅผ ํ์ ํ ์ ์์ต๋๋ค.
๋ถ์ฐ ์ํคํ ์ฒ์์ ์ปจํ ์คํธ ์ ํ ๋ถ์์ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ์ ์ง์ํฉ๋๋ค. ๋น๋๊ธฐ ์ฝ๋๋ฅผ ๋ก๊น ๋ฐ ์ถ์ ํ๋ ์์ํฌ์ ์ฐ๊ฒฐํจ์ผ๋ก์จ ๊ฐ๋ฐ ์ง๋จ๊ณผ ๋ฐํ์ ๋ฉํธ๋ฆญ์ ์ฐ๋ํ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง ์์ ์ค๋ช ํ๋ ์ ๊ทผ ๋ฐฉ์๊ณผ์ ํตํฉ์ ํตํด ์ ์ ๊ด์ ๊ณผ ๋ฐํ์ ๊ด์ ๋ชจ๋ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ์๋ฏธ๋ก ์ ์ํ ์ถ์ ๋๋ฉ์ธ ์ค๊ณ
์ ์ ๋ถ์์ ํต์ฌ์๋ ํ๋ก๊ทธ๋จ ์์ฑ์ ๊ทผ์ฌ์น๋ฅผ ์ ์ํ๋ ์ถ์ ๋๋ฉ์ธ์ด๋ผ๋ ๊ฐ๋ ์ด ์์ต๋๋ค. ๋น๋๊ธฐ JavaScript์ ๊ฒฝ์ฐ, ์ถ์ ๋๋ฉ์ธ์ ์๊ฐ ์ข ์์ ๊ด๊ณ์ ์ํ ์ข ์์ ๊ด๊ณ๋ฅผ ํฌ์ฐฉํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ํ๋ผ๋ฏธ์ค์ ์ค๋น ์ํ, ํด๊ฒฐ ์์, ๋ฆฌ์์ค ์ ๊ธ ๋ฑ์ด ํฌํจ๋ฉ๋๋ค.
์ด๋ฌํ ๋๋ฉ์ธ์ ์ค๊ณํ๋ ค๋ฉด ์ ๋ฐ์ฑ๊ณผ ํ์ฅ์ฑ ๊ฐ์ ๊ท ํ์ ๋ง์ถฐ์ผ ํฉ๋๋ค. ๊ณ ๋๋ก ์ ๋ฐํ ๋๋ฉ์ธ์ ์คํ(false positive)์ ์ค์ด๊ฒ ์ง๋ง, ๋๊ท๋ชจ ์ฝ๋๋ฒ ์ด์ค์์๋ ์๋นํ ์ฐ์ฐ ๋ฆฌ์์ค๋ฅผ ์๋ชจํ ์ ์์ต๋๋ค. ๋๋ฉ์ธ์ ๋จ์ํํ๋ฉด ์ฑ๋ฅ์ ํฅ์๋์ง๋ง, ๋ฏธ๋ฌํ ๋น๋๊ธฐ ๋์์ ๊ฐ๊ณผํ ์ํ์ด ์์ต๋๋ค. ์ต์ ํ๋ ์์ํฌ๋ ์ฝ๋ ์ปจํ ์คํธ์ ๋ฐ๋ผ ๋๋ฉ์ธ ๋ณต์ก์ฑ์ ์กฐ์ ํ๋ ํ์ด๋ธ๋ฆฌ๋ ๋ฐฉ์์ ์ฑํํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
ํจ๊ณผ์ ์ธ ๋๋ฉ์ธ ์ค๊ณ๋ ๋น๋๊ธฐ ์ ์ ๋ถ์์ด ์ ํํ๊ณ ํจ์จ์ ์ผ๋ก ์ํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ณผ๋ํ ์ค๋ฒํค๋ ์์ด CI ํ๊ฒฝ์์ ์ง์์ ์ธ ์ค์บ์ด ๊ฐ๋ฅํด์ง๋ฉฐ, ๋๊ท๋ชจ ์์คํ ์ ์ฌ์ ์๋ฐฉ์ ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ๋ฐ์ ์ ์ํํธ์จ์ด ์ธํ ๋ฆฌ์ ์ค ์ ๋ถ์ ์์น์ ๋ฐ์ํ๋๋ฐ , ์ ์ ์ถ๋ก ์ ํตํด ๋จ์ํ ์ง๋จ ์ ๋ณด๊ฐ ์๋ ์คํ ๊ฐ๋ฅํ ์ธ์ฌ์ดํธ๋ฅผ ๋์ถํ๋ ๊ฒ์ ๋๋ค.
๋น๋๊ธฐ ๋ฉ์์ง ํ ๋ฐ ์ด๋ฒคํธ ์ด๋ฏธํฐ ๋งคํ
๋ฉ์์ง ํ์ ์ด๋ฒคํธ ์ด๋ฏธํฐ๋ ๋น๋๊ธฐ JavaScript ์์คํ ์ ํต์ ๋ฐฑ๋ณธ์ ๋๋ค. ์ด๋ฅผ ํตํด ๋ถ๋ฆฌ๋ ๊ตฌ์ฑ ์์๊ฐ ์ง์ ํจ์ ํธ์ถ ์์ด ๋ฐ์ดํฐ๋ฅผ ๊ตํํ๊ณ , ์ฒ๋ฆฌ๋ฅผ ํธ๋ฆฌ๊ฑฐํ๊ณ , ์คํ์ ์กฐ์ ํ ์ ์์ต๋๋ค. Node.js ๋๋ ํ์ด๋ธ๋ฆฌ๋ ๋ง์ดํฌ๋ก์๋น์ค์ ๊ฐ์ ํ๊ฒฝ์์ ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ์ด๋ฒคํธ๊ฐ ๋น์ฆ๋์ค ๋ก์ง ๋ฐ ์ธํ๋ผ ๊ณ์ธต์ ํตํด ์ ํ๋๋ ๋ฐฉ์์ ์ ์ดํฉ๋๋ค. ์ด๋ฌํ ์ํคํ ์ฒ๋ ํ์ฅ์ฑ๊ณผ ์ค๋ฅ ๊ฒฉ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์ง๋ง, ๋ถ์ ๋ณต์ก์ฑ์ ์ฆ๊ฐ์ํต๋๋ค. ์ ์ ๋ถ์์ ํ๋ก์ธ์ค ๊ฒฝ๊ณ๋ฅผ โโ๋๋๋ค๊ฑฐ๋, ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํฌํจํ๊ฑฐ๋, ๋ฐํ์ ๊ตฌ์ฑ์ ์์กดํ ์ ์๋ ํต์ ๊ฒฝ๋ก๋ฅผ ์ฌ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ๊ด๊ณ๋ฅผ ์ดํดํ๋ ค๋ฉด ๊ฒ์์์ ๊ตฌ๋ ์ ๊ฐ์ ๋ ผ๋ฆฌ์ ์ฐ๊ฒฐ์ ๋งคํํด์ผ ํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋์จํ๊ฒ ๊ฒฐํฉ๋ ์ํธ์์ฉ์ ์ถ์ ๊ฐ๋ฅํ ํ๋ฆ์ผ๋ก ๋ณํํฉ๋๋ค. ๊ฐ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๋๋ ๋ฉ์์ง ํธ๋ค๋ฌ๋ ์ข ์์ฑ ๊ทธ๋ํ์ ๋ ธ๋๊ฐ ๋๊ณ , ๋ฉ์์ง ์ฑ๋์ ์ฐ๊ฒฐ ์์ง๋ฅผ ํ์ฑํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ์๊ฐํํ๊ณ ๊ฒ์ฆํจ์ผ๋ก์จ ์กฐ์ง์ ๋น๋๊ธฐ ๋ฉ์์ง๊ฐ ์์ ์ ์ผ๋ก, ์ฌ๋ฐ๋ฅธ ์์๋ก, ๊ทธ๋ฆฌ๊ณ ์์๋๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๋ฉฐ ์ฒ๋ฆฌ๋๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋งคํ์ ํ๋ํ ๊ณํ, ์ฑ๋ฅ ์ต์ ํ ๋ฐ ์๋ ํ๊ท ๊ฐ์ง์ ๊ธฐ๋ฐ์ ํ์ฑํฉ๋๋ค.
๋ฉ์์ง ์์ฐ์์ ์๋น์ ์๋ณ
๋น๋๊ธฐ ๋ฉ์์ง ๋ถ์์ ์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ๋ฉ์์ง์ ์ถ์ฒ์ ์๋น ์์น๋ฅผ ํ์ ํ๋ ๊ฒ์ ๋๋ค. JavaScript ํ๊ฒฝ์์ ํ๋ก๋์๋ EventEmitter ์ธ์คํด์ค๋ฅผ ํตํด ์ด๋ฒคํธ๋ฅผ ๋ด๋ณด๋ด๊ฑฐ๋, RabbitMQ์ ๊ฐ์ ๋ธ๋ก์ปค์ ๋ฉ์์ง๋ฅผ ๊ฒ์ํ๊ฑฐ๋, ์น์์ผ์ ํตํด ํธ์ ์๋ฆผ์ ๋ณด๋ผ ์ ์์ต๋๋ค. ์ปจ์๋จธ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ, ์ฝ๋ฐฑ ๋ฐ์ธ๋ฉ ๋๋ ๋ฉ์์ง ๋ฆฌ์ค๋๋ฅผ ํตํด ์ด๋ฌํ ์์ค๋ฅผ ๊ตฌ๋ ํฉ๋๋ค.
์ ์ ๋ถ์ ๋๊ตฌ๋ ๋์ ์ผ๋ก ์์ฑ๋ ๊ฒฝ์ฐ์๋ ์์ค ์ฝ๋๋ฅผ ์ค์บํ์ฌ ์ด๋ฌํ ๊ด๊ณ๋ฅผ ์ถ์ถํฉ๋๋ค. ํจ์ ์๊ทธ๋์ฒ, import ๋ฌธ, ๋ฐํ์ ํํฌ๋ฅผ ์๊ด์์ผ ์คํ ์์ด ํต์ ํ ํด๋ก์ง๋ฅผ ์ฌ๊ตฌ์ฑํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ณ์ธต์ ์ถ์ํ๋ฅผ ์ฌ์ฉํ๋ ์ํฐํ๋ผ์ด์ฆ ์์คํ ์์๋ ๋จ์ผ ๋ฉ์์ง ์ ํ์ด ๋ชฉ์ ์ง์ ๋๋ฌํ๊ธฐ ์ ์ ๋ฏธ๋ค์จ์ด๋ฅผ ํต๊ณผํ ์ ์์ต๋๋ค. ์ด๋ฌํ ํจํด์ ํ์ ํ๋ฉด ๋ฐ์ดํฐ๊ฐ ๋น๋๊ธฐ ํ์ดํ๋ผ์ธ์ ํตํด ์ด๋ป๊ฒ ์ด๋ํ๋์ง ์ข ๋จ ๊ฐ ๊ฐ์์ฑ์ ํ๋ณดํ ์ ์์ต๋๋ค.
์์ฐ์์ ์๋น์๋ฅผ ๋งคํํ๋ฉด ์ค๋ณต๋๊ฑฐ๋ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๋ฉ์์ง ํ๋ฆ์ ํ์ ํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ด๋ ์ง์์ ์ธ ์์คํ ํฉ๋ฆฌํ๋ฅผ ์ง์ํ๊ณ ๊ธฐ์ ํตํฉ ํจํด ์์ ์ ์๋๋ ๋ชจ๋ฒ ์ฌ๋ก์ ์ผ์นํ์ฌ ํ๋ํ ๊ณผ์ ์์ ํ์์ ์ธ ํต์ ์ฑ๋๋ง ํ์ฑํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ณต์กํ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํตํ ์ด๋ฒคํธ ์ ํ ์ถ์
๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ด๋ฒคํธ๋ ๋จ์ํ ์ง์ ๊ฐ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ฅด๋ ๊ฒฝ์ฐ๊ฐ ๊ฑฐ์ ์์ต๋๋ค. ๋์ , ์ฌ๋ฌ ๋ฆฌ์ค๋, ๋ฏธ๋ค์จ์ด ๊ณ์ธต, ๊ทธ๋ฆฌ๊ณ ๋ณํ ํจ์๊ฐ ํฌํจ๋ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ํตํด ์ ํ๋ฉ๋๋ค. ์ ์ ๋ถ์์ ์ด๋ฒคํธ ๋ฐ์์ ๊ทธ๋ํ ์ํ ๋ฌธ์ ๋ก ๋ชจ๋ธ๋งํ์ฌ ์ด๋ฌํ ์ ํ ์ฒด์ธ์ ํฌ์ฐฉํฉ๋๋ค.
๊ฐ ์ด๋ฒคํธ ๋ฐ์ ๋ ธ๋๋ ๋ฑ๋ก๋ ํธ๋ค๋ฌ๋ก ์ฐ๊ฒฐ๋๋ ์ฃ์ง๋ฅผ ์์ฑํ๋ฉฐ, ์ด ํธ๋ค๋ฌ ์์ฒด๋ 2์ฐจ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํฌ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์์ฑ๋๋ ๊ทธ๋ํ๋ ์ข ์ข ๋จ์ผ ํธ๋ฆฌ๊ฑฐ๊ฐ ์ฌ๋ฌ ๋ชจ๋์ ํตํด ์ฐ์์ ์ผ๋ก ์ ํ๋๋ ํจํด์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ๋ฅผ ์ดํดํ๋ฉด ์๋์น ์์ ์ค๋ณต์ด๋ ์ฑ๋ฅ ์ ํ๋ฅผ ์ด๋ํ๋ ์ํ ์ข ์์ฑ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค. ์ฝ๋ ์๊ฐํ ์์ ๋ ผ์๋ ๊ฒ๊ณผ ์ ์ฌํ ์๊ฐํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ์ ํ ๋คํธ์ํฌ๋ฅผ ๋ ์ฝ๊ฒ ํด์ํ ์ ์์ต๋๋ค.
์ด๋ฒคํธ ๊ณ์ธต ๊ตฌ์กฐ ๋งคํ์ ์์คํ ๋ฆฌํฉํ ๋ง ์ ํนํ ์ ์ฉํฉ๋๋ค. ํ์ด ๋ ๊ฑฐ์ ๋ฉ์์ง ํ๋ ์์ํฌ์์ ํ์คํ๋ ๋ฒ์ค ์ํคํ ์ฒ๋ก ๋ง์ด๊ทธ๋ ์ด์ ํจ์ ๋ฐ๋ผ ๋์ผํ ์ ํ ๋์์ ์ ์งํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ์ ์ ๋งคํ์ ๊ตฌ์กฐ ๋ณ๊ฒฝ ํ์๋ ์ค์ํ ์๋ฆผ์ด ๋ชฉ์ ์ง์ ๊ณ์ ๋๋ฌํ๋์ง ํ์ธํฉ๋๋ค.
๋น๋๊ธฐ ๋ฉ์์ง ์ง์ฐ ๋ฐ ์ฃผ๋ฌธ ๋ชจ๋ธ๋ง
๋น๋๊ธฐ ๋ฉ์์ง์ ์์คํ ๋ถํ, ๋คํธ์ํฌ ์ํ ๋ฐ ์ฒ๋ฆฌ ์๋์ ๋ฐ๋ผ ์ง์ฐ ์๊ฐ์ด ๋ฐ์ํฉ๋๋ค. ์ ์ ๋ถ์์ ์ด๋ฅผ ์ง์ ์ธก์ ํ ์๋ ์์ง๋ง, ๋๊ธฐ์ด ํฌ๊ธฐ, ์ฒ๋ฆฌ ๋ณต์ก๋ ๋ฐ ์ง๋ ฌํ ๋น์ฉ์ ๊ฒํ ํ์ฌ ์ ์ฌ์ ์ง์ฐ ์๊ฐ์ ์ถ์ ํ ์ ์์ต๋๋ค.
๋ถ์ ๋ชจ๋ธ์ ํ ๋์์ ์๋ฎฌ๋ ์ด์ ํ์ฌ ๋ค์ํ ์กฐ๊ฑด์์ ๋ฉ์์ง ์์์ ํ์ด๋ฐ์ด ์ด๋ป๊ฒ ๋ณํ๋์ง ํ์ ํฉ๋๋ค. ์ด ๋ชจ๋ธ๋ง์ ๋ฉ์์ง ๋์ฐฉ ์์ ๋๋ ํ์ด๋ฐ ๋ณํ์ ๋ฏผ๊ฐํ ๊ตฌ์ฑ ์์๋ฅผ ์๋ณํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๊ธ์ต ๊ฑฐ๋ ์์คํ ์์ ๋ฉ์์ง๊ฐ ์์ ์์ด ๋์ฐฉํ๋ฉด ๋ค์ด์คํธ๋ฆผ ๊ณ์ฐ์ด ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ข ์์ฑ์ ์ ์ ์ผ๋ก ๊ฐ์งํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๊ฒฐ์ ๋ก ์ ๋ฉ์์ง ์์ ์ง์ ์ ์ฑ ์ ์ ์ฉํ ์ ์์ต๋๋ค.
๋ฐํ์ ๋ถ์์ ์ดํด์์ ์ค๋ช ๋ ๊ฒ๊ณผ ์ ์ฌํ๊ฒ ์ ์ ๋ชจ๋ธ๋ง๊ณผ ๋ฐํ์ ์ธ์ฌ์ดํธ๋ฅผ ๊ฒฐํฉํ๋ฉด ๋ฉ์์ง๊ฐ ๋น๋๊ธฐ ์์คํ ์ ํต๊ณผํ๋ ๋ฐฉ์์ ์ด์ค ๊ณ์ธต์ผ๋ก ์ดํดํ ์ ์์ต๋๋ค. ์ด๋ ์์ธก ์ ์ง๋ณด์ ๋ฐ ์์ ์ฑ ๊ณํ์ ๊ฐํํฉ๋๋ค.
๋ฉ์์ง ๋์ถ ๋ฐ ์ฒ๋ฆฌ๋์ง ์์ ์ด๋ฒคํธ ๊ฐ์ง
๋น๋๊ธฐ ์์คํ ์์ ๋น๋ฒํ๊ฒ ๋ฐ์ํ๋ ๋ถ์์ ์ฑ์ ์์ธ์ ์ ํ ์ฌ์ฉ๋์ง ์๋ ๋ฉ์์ง๋ ์ด๋ฒคํธ์ ๋์ ์ ๋๋ค. ์ด๋ฌํ ๋์๋ ๋ฉ๋ชจ๋ฆฌ ์ฆ๊ฐ, ๋ฌดํํ ํ ํ์ฅ, ๋๋ ์ผ๊ด๋์ง ์์ ์ํ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ํด๋น ๋ฆฌ์ค๋๊ฐ ์๋ ์ด๋ฏธํฐ๋ฅผ ์๋ณํ๊ณ ํธ๋ค๋ฌ๊ฐ ์คํ๋์ง ์์ ์ ์๋ ์กฐ๊ฑด์ ๋ถ์ํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
์ด๋ฒคํธ ๋ฑ๋ก ์๋ช ์ฃผ๊ธฐ๋ฅผ ์ถ์ ํ๋ ์ ์ ๋๊ตฌ๋ ๋๋ฝ๋ ๊ตฌ๋ ์ทจ์ ํธ์ถ, ๋นํ์ฑํ๋ ๋ผ์ฐํ ๊ฒฝ๋ก ๋๋ ํธ๋ค๋ฌ๋ฅผ ์๊ตฌ์ ์ผ๋ก ๋นํ์ฑํํ๋ ์กฐ๊ฑด์ ๊ฐ์งํฉ๋๋ค. ์ด๋ฌํ ๋ถ์์ ์ธ๋ถ ์ฐธ์กฐ ๋ณด๊ณ ์ ๊ฐ์ ์ข ์์ฑ ์๊ฐํ์ ๊ฒฐํฉํ๋ฉด ๊ฐ ๋ฉ์์ง ์ ํ์ ์ค์ ์ด์ ๋ฒ์๋ฅผ ํ์ ํ ์ ์์ต๋๋ค.
์ฒ๋ฆฌ๋์ง ์์ ์ด๋ฒคํธ๋ฅผ ๋ฐฉ์งํ๋ฉด ์ด์ ์ค๋ฒํค๋๊ฐ ์ค์ด๋ค๊ณ ์์ธก ๊ฐ๋ฅ์ฑ์ด ํฅ์๋ฉ๋๋ค. ํ๋ํ ํ์ ๊ฒฝ์ฐ, ์ด๋ฌํ ๋์๋ฅผ ์กฐ๊ธฐ์ ํด๊ฒฐํ๋ฉด ์ด์ ๋ถํ๊ฐ ๋ฐ์ํ ๋๋ง ๋ฐ์ํ๋ ๋ฏธ๋ฌํ ๋ฐํ์ ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ์ฌ ์ ๋ฐ์ ์ธ ์์คํ ์์ ์ฑ๊ณผ ๋ฆฌํฉํ ๋ง ์ค๋น์ฑ์ ํฅ์์ํต๋๋ค.
์ ์ ๋ถ์ ์์ง์ ๋น๋๊ธฐ ํจํด์ ์ ์ฉ
๊ธฐ์กด ์ ์ด ํ๋ฆ์ ๋ง์ถฐ ๊ฐ๋ฐ๋ ์ ์ ๋ถ์ ์์ง์ ๋น๋๊ธฐ ํ๋ก๊ทธ๋จ์ ์ ์ฉํ ๋ ๊ฐ์ฅ ํฐ ํ๊ณ์ ๋ถ๋ชํ๋๋ค. JavaScript์์ ํจ์ ํธ์ถ์ ํญ์ ํ์๋ ์์๋๋ก ์คํ๋์ง ์์ต๋๋ค. ์ด๋ฒคํธ, ํ๋ผ๋ฏธ์ค, ํ์ด๋จธ๋ ์คํ์ ์ง์ฐ์ํค๊ฑฐ๋ ์ธํฐ๋ฆฌ๋นํ์ฌ ์์ค ์ฝ๋์ ์ ํ ์ํ๋ฅผ ํตํด ํฌ์ฐฉํ ์ ์๋ ์ํ๋ฅผ ์์ฑํฉ๋๋ค. ์ด๋ฌํ ๋์์ ๋ถ์ํ๋ ค๋ฉด ์ ์ ์์ง์ด ๊ท์น ๊ธฐ๋ฐ ์ค์บ๋์์ ๋ชจ๋ธ ๊ธฐ๋ฐ ํด์์ผ๋ก ์งํํด์ผ ํฉ๋๋ค. ์ด๋ฌํ ๋ณํ๋ฅผ ์ํด์๋ ๋ด๋ถ ํํ์ ํ์ฅํ๊ณ , ์ ์ด ํ๋ฆ ๋ถ์์ ๊ฐ์ ํ๋ฉฐ, ๋์์ฑ ๋ฐ ์ง์ฐ๋ ์ํ ์ ํ์ ๋ํ ์ธ์์ ํตํฉํด์ผ ํฉ๋๋ค.
๋ถ์ ์์ง์ ๋น๋๊ธฐ ํจํด์ ๋ง์ถ๋ ค๋ฉด ๋ชฉ์ ์ ๋ณํ๋ ํ์ํฉ๋๋ค. ๋ ์ด์ ๋จ์ํ ๊ตฌ๋ฌธ ์๋ฐ์ ํ์งํ๋ ๋ฐ ๊ทธ์น์ง ์๊ณ , ๋์ ์์ ๊ฐ์ ๋์ ๊ด๊ณ๋ฅผ ํด์ํ๋ ๊ฒ์ด ๋ชฉํ์ ๋๋ค. ์ต์ ๋๊ตฌ๋ ๋น๋๊ธฐ ๊ตฌ์กฐ๊ฐ ํ์ด๋ฐ, ์์, ๋ฆฌ์์ค ๊ณต์ ์ ์ํฅ์ ๋ฏธ์น๋ ๋ถ๋ถ์ ํ์ ํด์ผ ํฉ๋๋ค. ๋ํ ๋ชจ๋๊ณผ ์คํ ์ปจํ ์คํธ ์ ๋ฐ์ ๊ฑธ์น ์ํฅ์ ์ธก์ ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ ์ฌ๋ณผ๋ฆญ ๋ถ์, ๊ทธ๋ํ ๋ชจ๋ธ๋ง, ์ข ์์ฑ ์ ํ๋ฅผ ๊ฒฐํฉํ๋ ๊ธฐ์ ์ด ํ์ํฉ๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ๋ค์ ๊ฒฐํฉํ๋ฉด ๋น๋๊ธฐ ์์คํ ์ ์์ธก ๋ถ๊ฐ๋ฅํ ์คํ ํ๊ฒฝ์์ ๋ฒ์ด๋ ํ๋ํ, ์ต์ ํ, ๊ฒ์ฆ์ ์ง์ํ๋ ๋ถ์ ๊ฐ๋ฅํ ์ํคํ ์ฒ๋ก ์ ํ๋ฉ๋๋ค.
๋น๋๊ธฐ ํด๊ฒฐ์ ์ํ ์ ์ด ํ๋ฆ ๊ทธ๋ํ ํ์ฅ
๊ธฐ์กด์ ์ ์ด ํ๋ฆ ๊ทธ๋ํ(CFG)๋ ์ผ๋ จ์ ๋ช ๋ น๋ฌธ๊ณผ ๋ถ๊ธฐ ๊ฒฝ๋ก๋ฅผ ํตํด ์คํ ์์๋ฅผ ๋ํ๋ ๋๋ค. ๊ทธ๋ฌ๋ ๋น๋๊ธฐ JavaScript์์๋ ์ ์ด๊ฐ ์ธ๋ถ ์ปจํ ์คํธ๋ก ์ ๋ฌ๋๊ฑฐ๋ ์ง์ฐ๋ ์ด๋ฒคํธ ํ์ ์ฌ๊ฐ๋ ์ ์์ต๋๋ค. ์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ ์ ์์ง์ ์ฝ์ ์์ฑ, ์ด๋ฒคํธ ๋ฑ๋ก ๋ฐ ์ฌ๊ฐ ์ง์ ์ ๋ํ๋ด๋ ๋ ธ๋๋ฅผ ์ฝ์ ํ์ฌ CFG ๊ตฌ์กฐ๋ฅผ ํ์ฅํฉ๋๋ค.
๊ฐ ๋น๋๊ธฐ ์์ ์ ๋ ๊ฐ์ ์ฐ๊ฒฐ๋ ๋ ธ๋๋ฅผ ์์ฑํฉ๋๋ค. ํ๋๋ ์์์ ์ํ ๊ฒ์ด๊ณ ๋ค๋ฅธ ํ๋๋ ๊ณ์์ ์ํ ๊ฒ์ ๋๋ค. ๋ ๋ ธ๋ ์ฌ์ด์ ๊ฐ์ ์ ์ ์ฌ์ ์ธ ์คํ ํ๋ฆ์ ์ ์ํฉ๋๋ค. ์ด๋ฌํ ์ฆ๊ฐ๋ CFG๋ ์ผ์ ์ค๋จ ํ ๋ฐ์ํ๋ ์ ํ์ ๋ณด์ฌ์ฃผ๋ฏ๋ก ๋ถ์๊ธฐ๋ ์ฝ์, ์ฝ๋ฐฑ ๋ฐ ํ์ด๋จธ๋ฅผ ํตํด ์คํ์ ์ถ์ ํ ์ ์์ต๋๋ค. ๋๊ท๋ชจ ์์คํ ์ ์ ์ฉํ๋ฉด ๋ณ๋ ฌ ํ๋๊ณผ ๊ทธ ๊ต์ฐจ์ ์ ๋ํ ํฌ๊ด์ ์ธ ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋น๋๊ธฐ ํด๊ฒฐ ๊ธฐ๋ฅ์ CFG์ ํตํฉํ๋ฉด ํ๋ํ ๊ณผ์ ์์ ์ ํ๋๊ฐ ํฅ์๋ฉ๋๋ค. ์์ง๋์ด๋ ํ ๋ชจ๋์ ๋น๋๊ธฐ ํจํด์ ์์ ํ์ ๋ ๋ค๋ฅธ ๋ชจ๋์ ๋ฏธ์น๋ ์ํฅ์ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค. ์ํฅ ๋ถ์ ์ํํธ์จ์ด ํ ์คํธ ์ ์ ์ฌํ ๋ฐฉ์์ผ๋ก ๋ถ์๊ธฐ๋ ๋ฐฐํฌ ์ ์ ์ ํ ์ํ์ ์ ๋ํํฉ๋๋ค.
๋น๋๊ธฐ ์ปจํ ์คํธ๋ฅผ ์ํ ํ์ด๋ธ๋ฆฌ๋ ์ ์ -๋์ ์ถ๋ก
์์ ์ ์ ๋ชจ๋ธ์ ๋ฐ์ฌ ํจ์ ํธ์ถ, ๋์ ๊ฐ์ ธ์ค๊ธฐ, ๋ฐํ์ ์์ฑ ์ด๋ฒคํธ ์ด๋ฆ๊ณผ ๊ฐ์ ๋์ ์ธ์ด ๊ธฐ๋ฅ์ ์ฒ๋ฆฌํ ๋ ๋ณธ์ง์ ์ธ ๋ถํ์ค์ฑ์ ์ง๋ฉดํฉ๋๋ค. ํ์ด๋ธ๋ฆฌ๋ ์ถ๋ก ๊ธฐ์ ์ ์ถ์ ๋๋ ๋ฐํ์ ์๊ทธ๋์ฒ๋ฅผ ์ ์ ํํ์ ํตํฉํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
์์ง์ ์ด์ ์คํ์์ ๊ด์ฐฐ๋ ํจํด์ ์์งํ์ฌ ์ ์ ์์ธก์ ๊ฐ์ ํ๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํจ์๊ฐ ํน์ ์ด๋ฒคํธ๋ฅผ ์ง์์ ์ผ๋ก ์์ฑํ๋ ๊ฒฝ์ฐ, ํด๋น ์ ๋ณด๋ ํฅํ ๋ถ์์์ ์ ์ ๊ฐ์ ์ผ๋ก ์ ์ฅ๋ฉ๋๋ค. ๊ธฐํธ ์ถ๋ก ๊ณผ ๊ฒฝํ์ ์ถ๋ก ์ ์กฐํฉ์ ์ ์ ํ์ค์ฑ๊ณผ ๋ฐํ์ ๊ฐ๋ณ์ฑ ์ฌ์ด์ ๊ฐ๊ทน์ ๋ฉ์๋๋ค.
์ด ํ์ด๋ธ๋ฆฌ๋ ๋ฐฉ์์ ๋ฐํ์ ๋ถ์์ ์ดํด(Runtime Analysis Demystified) ์์ ์ค๋ช ๋ ์ ๊ทผ ๋ฐฉ์๊ณผ ์ผ์นํฉ๋๋ค . ๋ชจ๋ ํ ์คํธ ์ฃผ๊ธฐ์์ ์๋ฒฝํ ๊ณ์ธก์ ์๊ตฌํ์ง ์๊ณ ๋ ๋น๋๊ธฐ ์คํ์ ๋ํ ํ์ค์ ์ธ ์ดํด๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ ํ์ฑ๊ณผ ํจ์จ์ฑ์ ๊ท ํ์ ์ ์งํฉ๋๋ค.
๋น๋๊ธฐ ๊ฒฝ๊ณ๋ฅผ ํตํ ๊ณต์ ๋ฆฌ์์ค ์ก์ธ์ค ๋ชจ๋ธ๋ง
๋น๋๊ธฐ ์์ ์ด ๊ณต์ ์ํ๋ฅผ ์กฐ์ํ ๋ ๋์์ฑ ์ํ์ด ์์ฃผ ๋ฐ์ํฉ๋๋ค. ์ ์ ๋ถ์ ์์ง์ ๋ฆฌ์์ค ์๋ช ์ ๋ชจ๋ธ๋งํ๊ณ ์ฌ๋ฌ ๋น๋๊ธฐ ๊ฒฝ๊ณ์ ๊ฑธ์ณ ์๋ ์ก์ธ์ค ํจํด์ ์๋ณํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค. ๊ฐ ๊ณต์ ๋ณ์ ๋๋ ๊ฐ์ฒด ์ฐธ์กฐ๋ ์ฐ๊ด๋ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ ์์ ์ ๊ฐ๋ ์ถ์ ๋๋ ์ํฐํฐ๊ฐ ๋ฉ๋๋ค.
๋ถ์๊ธฐ๋ ์ด๋ฌํ ์ํธ์์ฉ์ ๋งคํํจ์ผ๋ก์จ ์ ์ฌ์ ์ธ ๋ฐ์ดํฐ ๊ฒฝํฉ๊ณผ ์ผ๊ด๋์ง ์์ ์ ๋ฐ์ดํธ๋ฅผ ๊ฐ์งํฉ๋๋ค. ์ด๋ฅผ ํตํด ํน์ ํ์ด๋ฐ ์กฐ๊ฑด์์๋ง ๋ํ๋ ์ ์๋ ๋น๊ฒฐ์ ์ ๋์์ ๋ฐฉ์งํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๊ณต์ ์บ์ ๋๋ ๋ฉ๋ชจ๋ฆฌ ๋ด ๋ฐ์ดํฐ ์ ์ฅ์๊ฐ ์ผ๋ฐ์ ์ธ Node.js ์ ํ๋ฆฌ์ผ์ด์ ์์ ํนํ ํจ๊ณผ์ ์ ๋๋ค.
๋ณต์กํ ๋ง์ดํฌ๋ก์๋น์ค ํ๊ฒฝ์์ ๋ฆฌ์์ค ๋ชจ๋ธ๋ง์ ํ์ฅ์ฑ ๊ณํ์๋ ๋์์ด ๋ฉ๋๋ค. ์ํํธ์จ์ด ์ฑ๋ฅ ์งํ ์ ์ ์ฌํ ์ข ์์ฑ ๋งคํ๊ณผ ๊ฒฐํฉํ๋ฉด ๋น๋๊ธฐ ํ๋ก์ธ์ค๊ฐ ์ ํ๋ ๋ฆฌ์์ค๋ฅผ ๋๊ณ ๊ฒฝ์ํ๋ ์ง์ ์ ํ์ ํ์ฌ ๋ฐํ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ์ฉ๋์ ์กฐ์ ํ ์ ์์ต๋๋ค.
์์ธ ๋ฐ ๊ฑฐ๋ถ ๊ฒฝ๋ก ์ฌ๊ตฌ์ฑ
๋น๋๊ธฐ ๋ถ์์ ๊ฐ์ฅ ๋ณต์กํ ์ธก๋ฉด ์ค ํ๋๋ ์ค๋ฅ ์ ํ ๋ชจ๋ธ๋ง์ ๋๋ค. ์์ธ๊ฐ ํธ์ถ ์คํ์ ํด์ ํ๋ ๋๊ธฐ ์ฝ๋์ ๋ฌ๋ฆฌ, ๋น๋๊ธฐ ์ค๋ฅ๋ ํ์ค ์ค๋ฅ ์ฒ๋ฆฌ๊ธฐ๋ฅผ ์์ ํ ์ฐํํ ์ ์์ต๋๋ค. ์ฒ๋ฆฌ๊ธฐ๊ฐ ์๋ ๊ฒฝ์ฐ Promise๋ ์๋์ผ๋ก ๊ฑฐ๋ถ๋ ์ ์์ผ๋ฉฐ, ์ฝ๋ฐฑ์ ์ค๋ฅ๋ฅผ ๋ณด๊ณ ํ์ง ์๊ณ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์ ์ ์์ง์ ์ผ๋ฐ์ ์ธ ์ ์ด ํ๋ฆ๊ณผ ํจ๊ป ๋ช ์์ ์ธ ๊ฑฐ๋ถ ๊ฒฝ๋ก๋ฅผ ๊ตฌ์ฑํ์ฌ ์ ์ํฉ๋๋ค. try-catch ๊ตฌ์กฐ, promise ์ฒด์ธ ๋๋ ๋น๋๊ธฐ ํจ์ ์ค๋ฅ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์๋ ์์น๋ฅผ ์๋ณํ๊ณ ์ถ๊ฐ ๊ฒ์ฌ๋ฅผ ์ํด ์ฒ๋ฆฌ๋์ง ์์ ๋ถ๊ธฐ๋ฅผ ํ์ํฉ๋๋ค. ์ด๋ฅผ ํตํด ์คํ ๊ทธ๋ํ์ ํํํ ๊ฑฐ๋ถ ๊ทธ๋ํ๊ฐ ์์ฑ๋์ด ์ค๋ฅ ๊ฒฐ๊ณผ๋ฅผ ์๋ฒฝํ๊ฒ ํฌ๊ดํฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก ํฅ์๋ ๊ฐ์์ฑ์ ๋๋ฒ๊น ์ ๊ฐ์ํํ๊ณ ์ฝ๋์ ์ ๋ขฐ์ฑ์ ๊ฐํํฉ๋๋ค. ์ฝ๋ ์๊ฐํ ๋๊ตฌ ์ ์ ์ฌํ ์๊ฐํ ๊ธฐ๋ฅ์ ํตํฉํ๋ฉด ๊ฐ๋ฐ์๋ ์ฑ๊ณต์ ์ธ ์คํ ๊ฒฝ๋ก๋ฟ๋ง ์๋๋ผ ์ ์ฌ์ ์ธ ๋ชจ๋ ์ค๋ฅ ๊ฒฝ๋ก๊น์ง ์ถ์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ด์ค์ ์ธ ๊ด์ ์ ์ด์์์ ๋ถํ์ค์ฑ์ ์ค์ด๊ณ ํ๋ํ ์ฃผ๊ธฐ ๋์ ๋ฌธ์ ํด๊ฒฐ ์๋๋ฅผ ๋์ฌ์ค๋๋ค.
๋ชจ๋ ๋ฐ API ๊ฐ ๋น๋๊ธฐ ํจ์ ํธ์ถ ์๊ด ๊ด๊ณ
๋ชจ๋ํ JavaScript ์์คํ ์์ ๋น๋๊ธฐ ์์ ์ ๋จ์ผ ํ์ผ์ด๋ ๊ตฌ์ฑ ์์ ๋ด์์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๊ฑฐ์ ์์ต๋๋ค. ์ด๋ฌํ ์์ ์ ๊ฐ์ ธ์ค๊ธฐ, API ํธ์ถ ๋ฐ ์๋น์ค ํตํฉ์ ํตํด ๊ฒฝ๊ณ๋ฅผ ๋์ด ์ ํ๋ฉ๋๋ค. ๊ฐ ๊ณ์ธต์ ์์ธ๊ณผ ๊ฒฐ๊ณผ ๊ฐ์ ๊ด๊ณ๋ฅผ ๋ชจํธํ๊ฒ ๋ง๋๋ ์ถ์ํ๋ฅผ ์ถ๊ฐํฉ๋๋ค. ํ๋ฐํธ์๋์ ๋ฐฑ์๋ ์์คํ ๋ชจ๋์ ๊ฑธ์ณ ๋ถ์ฐ ์คํ ์ฒด์ธ์ ์ฌ์ฉํ๋ ๋๊ธฐ์ ์ ๊ฒฝ์ฐ ์ด๋ฌํ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๋ฅผ ์ดํดํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. ๋ชจ๋ ๊ฐ ๋น๋๊ธฐ ํจ์ ํธ์ถ์ ์๊ด ๊ด๊ณ๋ฅผ ๋ถ์ํ๋ ์ ์ ๋ถ์์ ์ด๋ฌํ ๋ณต์ก์ฑ์ ์ง์๋ฅผ ๋ถ์ฌํ๊ณ , ์ํธ ์ฐ๊ฒฐ๋ ํ์ ์์คํ ์ ํตํด ๋ก์ง์ด ์ด๋ป๊ฒ ํ๋ฅด๋์ง ์ฌ๊ตฌ์ฑํฉ๋๋ค.
์ด๋ฌํ ์๊ด๊ด๊ณ๋ ๋จ์ ๋ ์ฝ๋ ์กฐ๊ฐ์ ์ผ๊ด๋ ์ข ์์ฑ ๋งต์ผ๋ก ๋ณํํฉ๋๋ค. ๋ถ์ ๋๊ตฌ๋ ์์ ์์ ์๋ํฌ์ธํธ๊น์ง์ ๋น๋๊ธฐ ํธ์ถ์ ์ถ์ ํ์ฌ ๋ฐ์ดํฐ์ ์ ์ด๊ฐ ๋คํธ์ํฌ ์์ฒญ, ๋๊ธฐ ์ค์ธ ์์ ๋ฐ ์ฝ๋ฐฑ ์ํ์ค๋ฅผ ์ด๋ป๊ฒ ์ด๋ํ๋์ง ํ์ ํฉ๋๋ค. ์ด๋ฌํ ๊ฐ์์ฑ์ ํตํด ์ ์ง ๊ด๋ฆฌ์๋ ํ๋ํ๋ ์ฝ๋๊ฐ ์๋๋ ์ํธ์์ฉ์ ์ ์งํ๊ณ ์ฑ๋ฅ ์ต์ ํ๊ฐ ๊ธฐ๋ฅ์ ์ ํ์ฑ๊ณผ ์ผ์นํ๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์๋ฏธ์์ ์๊ด๊ด๊ณ๋ ๋จ์ํ ํจ์๋ฅผ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ์๋๋ผ ๋น๋๊ธฐ ๊ฒฝ๊ณ๋ฅผ ๋์ด ์ํคํ ์ฒ ์๋๋ฅผ ๊ฒ์ฆํ๋ ๊ฒ์ ๋๋ค.
๋ชจ๋ ๊ฐ ์ข ์์ฑ ๊ทธ๋ํ ๊ตฌ์ฑ
์ต์ JavaScript ํ๋ก์ ํธ๋ ํจํค์ง, API ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ํตํด ๊ธฐ๋ฅ์ ๊ฐ์ ธ์ค๊ฑฐ๋ ๋ด๋ณด๋ด๋ ๋ชจ๋์ ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ชจ๋ ๊ฒฝ๊ณ๋ฅผ ๋๋ ๊ฐ ๋น๋๊ธฐ ํธ์ถ์ ๋ชจ๋ ๊ฐ ์ข ์์ฑ ๊ทธ๋ํ์ ํฌํจ๋์ด์ผ ํ๋ ์ฐ๊ฒฐ์ ๋ํ๋ ๋๋ค. ์ ์ ๋ถ์ ์์ง์ import ๋ฌธ, ์ข ์์ฑ ์ฃผ์ ํจํด ๋ฐ API ์๋ํฌ์ธํธ๋ฅผ ํ์ฑํ์ฌ ์ด๋ฌํ ์ฐ๊ฒฐ์ ๋งคํํฉ๋๋ค.
๊ฒฐ๊ณผ ๊ทธ๋ํ๋ ๊ตฌ์ฑ ์์ ๊ฐ์ ๋น๋๊ธฐ ๋ฐ์ดํฐ ๋ฐ ์ ์ด ํ๋ฆ ๋ฐฉ์์ ๋ณด์ฌ์ค๋๋ค. ์ด ๊ทธ๋ํ๋ ๊ธด๋ฐํ ๊ฒฐํฉ, ์ํ ์ข ์์ฑ, ๊ทธ๋ฆฌ๊ณ ์ค๋ณต๋๊ฑฐ๋ ์ง๋ ฌํ๋ ์์ ์ผ๋ก ์ธํด ๋ฐ์ํ ์ ์๋ ์ ์ฌ์ ์ธ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์ ์์ญ์ ๊ฐ์กฐํฉ๋๋ค. ์ด๋ฌํ ํต์ฐฐ๋ ฅ์ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์ ํตํฉ ์์ ๋ณผ ์ ์๋ ์ ๊ทผ ๋ฐฉ์๊ณผ ์ ์ฌํ๋ฉฐ , ์์คํ ๊ฐ ์ฐ๊ฒฐ์ ์ดํดํ๋ ๊ฒ์ ํ๋ํ ๊ณํ์ ํต์ฌ ์์์ ๋๋ค.
์ง์์ ์ธ ์ข ์์ฑ ๋งคํ์ ํตํด ํ์ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ถ์ ์ฑ์ ํ๋ณดํฉ๋๋ค. ๋น๋๊ธฐ ๋ชจ๋์ด ๋ฐ์ ํ๋ฉด ๊ทธ๋ํ์ ์ฐ๊ฒฐ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฆ์ ๋ฐ์๋์ด ์์ ํ ์ฆ๋ถ ๋ฆฌํฉํ ๋ง ๋ฐ ๋ฐฐํฌ๋ฅผ ์ง์ํฉ๋๋ค.
API ์ํธ ์์ฉ ์ถ์ ๋ฐ ์ธ๋ถ ์ข ์์ฑ ๋ชจ๋ธ๋ง
API๋ ๋น๋๊ธฐ ํต์ ์ ํต์ฌ์ ๋๋ค. API๋ฅผ ํตํด ์๋น์ค๋ ์ฆ๊ฐ์ ์ธ ์๋ต์ ๊ธฐ๋ค๋ฆฌ์ง ์๊ณ ์ธ๋ถ ์์คํ ์ ํธ์ถํ ์ ์์ผ๋ฉฐ, ์ข ์ข ํ๋ผ๋ฏธ์ค๋ ์ด๋ฒคํธ ์คํธ๋ฆผ์ ๋ฐํํฉ๋๋ค. ์ ์ ๋ถ์์ API ์๋ํฌ์ธํธ๋ฅผ ๋ ธ๋๋ก ๋ชจ๋ธ๋งํ๊ณ ํธ์ถ ํจํด์ ๋ ๋์ ํต์ ๋คํธ์ํฌ์ ์์ง๋ก ํํํ์ฌ ์ด๋ฌํ ์ํธ์์ฉ์ ํฌ์ฐฉํฉ๋๋ค.
์ด๋ฌํ ๋ชจ๋ธ๋ง ๋ฐฉ์์ ์๋ต์ฑ์ ์ํฅ์ ๋ฏธ์น ์ ์๋ ์ง์ฐ ์๊ฐ์ ๋ฏผ๊ฐํ๊ฑฐ๋ ๋น๋๊ฐ ๋์ ํธ์ถ์ ์๋ณํฉ๋๋ค. ๋ํ ์๋น์ค ๊ฐ์ฉ์ฑ์ด๋ ๋คํธ์ํฌ ์ข ์์ฑ์ผ๋ก ์ธํด ์ด์์ ์ํ์ด ๋ฐ์ํ๋ ์์ญ๋ ํ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋๋ฆฐ ์๋ํฌ์ธํธ์ ๋ํ ๋ฐ๋ณต์ ์ธ ํธ์ถ์ ๋น๋๊ธฐ ์ฒด์ธ์ ํตํด ์ฐ์์ ์ผ๋ก ๋ฐ์ํ์ฌ ๋ฐฑ๋ก๊ทธ๊ฐ ๋์ ๋ ์ ์์ต๋๋ค. ์ ์ ๋๊ตฌ๋ ์ด๋ฌํ ์ข ์์ฑ์ ํ๋ฉดํํจ์ผ๋ก์จ ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ์ ์ ๋ชฉํ์ ๋ง๋ ์ต์ ํ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
ํ๋ํ ๋งฅ๋ฝ์์ ์ด๋ฌํ ๊ฐ์์ฑ์ ๋ชจ๋๋ฆฌ์ API๋ฅผ ๋ถ์ฐ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๋ง์ด๊ทธ๋ ์ด์ ํ๋ ๊ณผ์ ์ ๊ฐ์ํํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๋น๋๊ธฐ API ์ํธ ์์ฉ์ ์ถ์ ํจ์ผ๋ก์จ ๋ณํ ๊ณผ์ ์์ ๋ฐ์ดํฐ ํ๋ฆ์ ์ฐ์์ฑ๊ณผ ํธ๋์ญ์ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ ์ ์์ต๋๋ค. ๋ฉ์ธํ๋ ์์์ ํด๋ผ์ฐ๋๋ก์ ๋ง์ด๊ทธ๋ ์ด์ ์์ ๋ ผ์๋ ๊ธฐ๋ฒ๋ค์ ์งํํ๋ ํ๋ซํผ ์ ๋ฐ์ ๊ฑธ์ณ ๊ธฐ๋ฅ์ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๋ ๋ฐ ์ ์ฌํ ์ ์ฉ ์ฌ๋ก๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋น๋๊ธฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋ฏธ๋ค์จ์ด ๊ณ์ธก
๊ธฐ์ ์ ์ธ์ฆ, ์บ์ฑ, ์ด๋ฒคํธ ์ฒ๋ฆฌ์ ๊ฐ์ ๋น๋๊ธฐ ์์ ์ ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ณต์ ๋ฏธ๋ค์จ์ด์ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์์กดํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ ์ ๋ถ์์ ์ ํํ ์คํ ๋ชจ๋ธ์ ์์ฑํ๊ธฐ ์ํด ์ด๋ฌํ ๊ณ์ธต์ ์ดํดํด์ผ ํฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ณ์ธก์ ๋ฏธ๋ค์จ์ด๊ฐ ๋น๋๊ธฐ ์์ ์ ์ค์ผ์ค๋งํ๊ฑฐ๋ ๋ณํํ๋ ๋ฐฉ์์ ๋ํ๋ด๋ ์ฌ๋ณผ๋ฆญ ์คํ ๋๋ ๋์ ์ ์๋ฅผ ํตํฉํ๋ ๊ฒ์ ํฌํจํฉ๋๋ค.
์ด๋ฌํ ์ถ์ํ๋ฅผ ํตํฉํจ์ผ๋ก์จ ๋ถ์ ๋๊ตฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋์์ด ์ฌ์ฉ์ ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง์ ๋ฏธ์น๋ ์ํฅ์ ํ๊ฐํ ์ ์์ต๋๋ค. ๋นํจ์จ์ ์ธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธ์ถ์ด๋ ๋ถ์ ์ ํ ํตํฉ์ผ๋ก ์ธํ ์ฑ๋ฅ ์ ํ๋ฅผ ํ์ ํฉ๋๋ค. ๋ํ, ๊ณ์ธก์ ํตํด ๋ฏธ๋ค์จ์ด๊ฐ ๋ฐ์ดํฐ ๋ฐ ์ค๋ฅ ์ ํ๋ฅผ ์ด๋ป๊ฒ ๋ณ๊ฒฝํ๋์ง ํ์ ํ์ฌ ์์ฒญ-์๋ต ์ฃผ๊ธฐ์ ์ ์ฒด ๊ฒฝ๋ก๋ฅผ ๋ช ํํ๊ฒ ํ์ ํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ํ๋ํ์ ์์ ๊ธฐ์กด ์์คํ ์ ์ข ์์ฑ์ ๊ฐ์ฌํ ๋ ๋งค์ฐ ์ค์ํฉ๋๋ค. ์ฑ๋ฅ ์ ํ์ ๋ง์ ์์ธ์ ์จ๊ฒจ์ง ๋น๋๊ธฐ ๋ฏธ๋ค์จ์ด ๋ฃจํด์์ ๋น๋กฏ๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ํ๋ํ ์ ๋ต ์์ ์ป์ ํต์ฐฐ๋ ฅ์ ์ด๋ฌํ ํจํด์ ์กฐ๊ธฐ์ ์๋ณํ๋ฉด ๋ง์ด๊ทธ๋ ์ด์ ์ค๋น ์๋๋ฅผ ๋์ด๊ณ ํ์ ์ํ์ ์ค์ผ ์ ์์์ ๋ณด์ฌ์ค๋๋ค.
์ฌ๋ฌ ์ธ์ด ๋ฐ ์ฌ๋ฌ ํ๋ซํผ์ ๋น๋๊ธฐ ํธ์ถ ์ถ์
๋น๋๊ธฐ ์๊ด๊ด๊ณ๋ JavaScript ์์ฒด๋ฅผ ๋์ด ํ์ฅ๋ฉ๋๋ค. ์ต์ ์ํคํ ์ฒ๋ ๋ฉ์์ง ๋ฒ์ค ๋๋ REST API๋ฅผ ํตํด Node.js ์๋น์ค๋ฅผ Python, Java ๋๋ .NET ๊ตฌ์ฑ ์์์ ํตํฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ธ์ด ๊ฐ ์๊ด๊ด๊ณ๋ฅผ ์ง์ํ๋ ์ ์ ๋ถ์ ํ๋ ์์ํฌ๋ JavaScript์์ ์์๋์์ง๋ง ์ธ๋ถ ์์คํ ์์ ๊ณ์๋๋ ๋น๋๊ธฐ ํ๋ฆ์ ์ถ์ ํฉ๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ถ์ ์ ์ฐธ์ฌํ๋ ๋ชจ๋ ๋ฐํ์์ ํฌ๊ดํ๋ ํตํฉ ์คํ ๋ชจ๋ธ์ ๊ตฌ์ถํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ์ ์ ์ฒด ํธ๋์ญ์ ๊ฒฝ๋ก๋ฅผ ๋ถ์ํ๊ณ , ์ธ์ด ๊ฐ ๋ณ๋ชฉ ํ์์ ํ์ ํ๊ณ , ๊ธฐ์ ์คํ ์ ๋ฐ์ ๊ฑธ์ณ ์ผ๊ด๋ ์ค๋ฅ ์ฒ๋ฆฌ๋ฅผ ๋ณด์ฅํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋น๋๊ธฐ ๋ฐ์ดํฐ ๊ตํ์ด ๋ถ์ฐ ์ํฌํ๋ก์ ๊ทผ๊ฐ์ ์ด๋ฃจ๋ ํ์ด๋ธ๋ฆฌ๋ ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ ์ ์ ๋ ์ค์ํด์ง๊ณ ์์ต๋๋ค.
์ด๋ฌํ ๋ค์ค ํ๊ฒฝ ์ถ์ ์ ์ฐ๊ฒฐํ๋ ๊ฒ์ ๊ธฐ์ ํตํฉ ํ๋ํ ์์ ์ ์๋ ์์น๊ณผ ๋ฐ์ ํ๊ฒ ์ฐ๊ด๋์ด ์์ต๋๋ค . ์ด๋ฅผ ํตํด ์์คํ ์ด ๋ฐ์ ํจ์ ๋ฐ๋ผ ๋ถ์ ํ๋ ์์ํฌ๋ ํจ๊ป ๋ฐ์ ํ์ฌ ๊ธฐ์ ํ๊ฒฝ ์ ๋ฐ์ ๊ฑธ์ณ ๋น๋๊ธฐ ์ด์์ ์์ ํ ํฌ๋ช ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ์์คํ ์ ๊ณ ์ ํ ๊ฒฐํจ ๊ฐ์ง
๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ์ ํฅ์์ํค์ง๋ง, ๋๊ธฐ ์ํคํ ์ฒ์๋ ์กด์ฌํ์ง ์๋ ๊ฒฐํจ ํจํด์ ์ผ๊ธฐํฉ๋๋ค. ํ์ด๋ฐ ์ฐจ์ด, ์ง์ฐ๋ ์คํ, ๊ทธ๋ฆฌ๊ณ ์ด๋ฒคํธ ๊ธฐ๋ฐ ์กฐ์ ์ ๊ด์ฐฐ๊ณผ ์คํ ์ฌ์ด์์ ๋ณํํ ์ ์๋ ์ํ๋ฅผ ์์ฑํฉ๋๋ค. ๋ฐ๋ผ์ ๋น๋๊ธฐ ์์คํ ์ ๋ํ ์ ์ ๋ถ์์ ๊ตฌ๋ฌธ ๊ฒ์ฆ์ ๋์ด, ์์ ์ด ์ค๋ณต๋๊ฑฐ๋ ์์๊ฐ ์ด๊ธ๋ ๋ ๋ฐ์ํ๋ ์๊ฐ์ ๋ฐ ๋ ผ๋ฆฌ์ ๋ถ์ผ์น๋ฅผ ํ์ ํด์ผ ํฉ๋๋ค.
์ด๋ฌํ ๊ฒฐํจ์ ์ฌ๊ฐํ ์์ ์ฑ ๋ฐ ์ฑ๋ฅ ๋ฌธ์ ๋ก ์ด์ด์ง ์ ์์ต๋๋ค. ์ฒ๋ฆฌ๋์ง ์์ ์ฝ์, ๊ฒฝ์ ์กฐ๊ฑด, ๊ทธ๋ฆฌ๊ณ ์ผ๊ด๋์ง ์์ ์ํ ์ ํ๋ ์ข ์ข ๋์ ๋์์ฑ ํ๊ฒฝ์์๋ง ๋ํ๋๋ฏ๋ก ํ ์คํธ๋ง์ผ๋ก๋ ํ์งํ๊ธฐ ์ด๋ ต์ต๋๋ค. ์ ์ ๋ถ์์ ์ ์ฌ์ ์ธ ์คํ ์ธํฐ๋ฆฌ๋น์ ๋ชจ๋ธ๋งํ๊ณ ๋น๋๊ธฐ ์ข ์์ฑ์ด ๊ณต์ ๋ฆฌ์์ค์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์ถ์ ํ์ฌ ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ์ํํฉ๋๋ค. ์ ์ ๋ถ์์ ๋ชฉํ๋ ๋จ์ํ ์๋ฐ ์ฌํญ์ ํ์ํ๋ ๊ฒ์ด ์๋๋ผ ๋ถ์์ ์ฑ์ ์ ๋ฐํ๋ ์กฐ๊ฑด์ ๋ํ ๊ฒฐ์ ๋ก ์ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ๋ ๊ฒ์ ๋๋ค. ์ฒด๊ณ์ ์ธ ๋งคํ์ ํตํด ์ด๋ฌํ ๋ถ์์ ๋น๋๊ธฐ์ ์์ธก ๋ถ๊ฐ๋ฅ์ฑ์ ์ฒด๊ณ์ ์ธ ์ํ ๊ฐ์์ฑ์ผ๋ก ์ ํํฉ๋๋ค.
๋ฐ๋ ์ฝ๋ฐฑ ๋ฐ ๊ณ ์ ์ด๋ฒคํธ ๊ฐ์ง
๋น๋๊ธฐ JavaScript ์ฝ๋์์ ๊ฐ์ฅ ํํ ๋ฌธ์ ์ค ํ๋๋ ์ ํ ํธ๋ฆฌ๊ฑฐ๋์ง ์๋ ์ฝ๋ฐฑ์ด๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ ์กด์ฌ์ ๋๋ค. ์ด๋ฌํ ์ฃฝ์ ์ฝ๋ฐฑ์ ๋ฆฌ์์ค๋ฅผ ์๋ชจํ๊ณ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ฆ๊ฐ์ํค๋ฉฐ, ๋๋ฒ๊น ์ ๊ฐ๋ฐ์์๊ฒ ํผ๋์ ์ผ๊ธฐํฉ๋๋ค. ์ ์ ๋ถ์์ ์ด๋ฒคํธ ๋ฑ๋ก ํจํด๊ณผ ์ด๋ฒคํธ ๋ฐ์ ์์ ์ ๋น๊ตํ์ฌ ์ด๋ฌํ ์ํฉ์ ํ์ ํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๋ฑ๋ก๋ ๋ชจ๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ์ ์ธ๋ฑ์ค๋ฅผ ๊ตฌ์ถํ์ฌ ํด๋น ์ด๋ฒคํธ์ ์กด์ฌ ์ฌ๋ถ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ๋ํ ์ ํจ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ๋ณ์๋ ํจ์๋ฅผ ์ฐธ์กฐํ๋ ์ฝ๋ฐฑ์ ๊ฐ์งํ์ฌ ๋ถํ์ํ ์ฐธ์กฐ๋ฅผ ์์ฑํฉ๋๋ค. ์ด ๊ณผ์ ์ ํตํด ๋น ๋ฅธ ๋ฐ๋ณต ์์ ์ด๋ ๋ถ์์ ํ ๋ฆฌํฉํ ๋ง์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์ค๋ณต ์ฝ๋ ๊ฒฝ๋ก์ ์ ์ฌ์ ๊ฒฐํจ์ ํ์ ํ ์ ์์ต๋๋ค.
์ํฐํ๋ผ์ด์ฆ ๊ฐ๋ฐ ํ์ ์ด๋ฌํ ํต์ฐฐ๋ ฅ์ ํ์ฉํ์ฌ ์ฌ์ฉ๋์ง ์๋ ๋ฆฌ์ค๋๋ฅผ ์ ๋ฆฌํ๊ณ ๋ฐํ์ ๋ณต์ก์ฑ์ ์ค์ ๋๋ค. ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ์ฝ๋๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ๊ณผ ์ ์ฌํ ๊ธฐ๋ฒ์ ํตํด ๋ถํ์ํ ๋ก์ง์ ์ ๊ฑฐํ๋ฉด ์ ์ง ๊ด๋ฆฌ์ฑ๊ณผ ์ฑ๋ฅ์ด ํฅ์๋จ์ ์ ์ ์์ต๋๋ค. ์ฌ์ฉ๋์ง ์๋ ์ฝ๋ฐฑ์ ์ ๊ฑฐํ๋ฉด ์์ธก ๊ฐ๋ฅํ ๋์์ด ๋ณต์๋๊ณ ๋น๋๊ธฐ ๋ชจ๋ ์ ๋ฐ์ ๊ฑธ์น ์ํฅ ๋ถ์์ ์ ํ๋๊ฐ ํฅ์๋ฉ๋๋ค.
๊ฒฝ์ ์กฐ๊ฑด ๋ฐ ์ผ๊ด๋์ง ์์ ์ํ ์ ํ
์ฌ๋ฌ ๋น๋๊ธฐ ์์ ์ด ์ ์ ํ ์กฐ์ ์์ด ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ ๋ ๊ฒฝ์ ์กฐ๊ฑด์ด ๋ฐ์ํฉ๋๋ค. JavaScript์์ ์ด ๋ฌธ์ ๋ ํ๋ผ๋ฏธ์ค๋ ์ฝ๋ฐฑ์ด ์ธ๋ถ ๋ฒ์์์ ์บก์ฒ๋ ๊ฐ๋ณ ๋ณ์์ ์์กดํ ๋ ์์ฃผ ๋ฐ์ํฉ๋๋ค. ์ ์ ๋ถ์์ ๋ณ์ ์ ๊ทผ ํจํด์ ๋ชจ๋ธ๋งํ๊ณ ๋์ ์ฐ๊ธฐ ๋๋ ์ฝ๊ธฐ๊ฐ ๊ฒน์น ์ ์๋์ง ์ฌ๋ถ๋ฅผ ํ์ธํ์ฌ ์ด๋ฌํ ์ํ์ ๊ฐ์งํฉ๋๋ค.
๋ถ์๊ธฐ๋ ์ ์ฌ์ ์ธ ๊ฒฝํฉ ์์ญ์ ํ์ํ๊ณ ์คํ ์์ ํ๋ฅ ๊ณผ ์๊ด๊ด๊ณ๋ฅผ ๋ถ์ํฉ๋๋ค. ์ด๋ฌํ ์ธํฐ๋ฆฌ๋น ์๋ฎฌ๋ ์ด์ ์ ํตํด ํ์ ์ด์ ์คํจ๋ฅผ ์ ๋ฐํ๊ธฐ ์ ์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ํ์ ํ์ ํ ์ ์์ต๋๋ค. ์ ์ ๋ชจ๋ธ์ ๋ํ ํ ๋น๋๊ธฐ ์์ ์ด ์ํ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋์ ๋ค๋ฅธ ์์ ์ด ์ค๋๋ ๋ฐ์ดํฐ๋ฅผ ์ฝ๋ ๋ฏธ๋ฌํ ์ ํ ๋ฌธ์ ๋ ๋ฐ๊ฒฌํฉ๋๋ค.
๋ฐ์ดํฐ ๋ฐ ์ ์ด ํ๋ฆ ๋ถ์ ์์ ์ฌ์ฉ๋๋ ๊ฒ๊ณผ ์ ์ฌํ ๋ฐ์ดํฐ ํ๋ฆ ์ถ์ ๊ธฐ์ ์ ํ์ฉํ์ฌ , ์ด๋ฌํ ๋๊ตฌ๋ค์ ๋น๋๊ธฐ ๋ฐ์ดํฐ๊ฐ ์ต๋ ๋์ ์ ์ ํ๊ฒฝ์์๋ ์ผ๊ด์ฑ์ ์ ์งํ๋ค๋ ํ์ ์ ์ฌ์ด์ค๋๋ค. ์ด๋ฌํ ์ฌ์ ์๋ฐฉ์ ๊ฐ์ง๋ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋๋ฒ๊น ์ฃผ๊ธฐ๋ฅผ ์ค์ด๊ณ ์ํํ ํ๋ํ ์ ํ์ ๋ณด์ฅํฉ๋๋ค.
ํด๊ฒฐ๋์ง ์์ ์ฝ์ ๋ฐ ๋ฆฌ์ค๋๋ก ์ธํ ๋ฉ๋ชจ๋ฆฌ ๋์
ํด๊ฒฐ๋์ง ์์ ํ๋ผ๋ฏธ์ค์ ์ง์ฐ๋ ์ด๋ฒคํธ ๋ฆฌ์ค๋๋ ์ฅ๊ธฐ ์คํ JavaScript ์๋น์ค์์ ๋ฉ๋ชจ๋ฆฌ ๋์๋ฅผ ์ ๋ฐํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋น๋๊ธฐ ๊ฐ์ฒด๋ ํ์ฌ ์คํ ํ๋ ์์ ๋์ด์๊น์ง ์ง์๋๋ฏ๋ก, ์ฐธ์กฐ ํด์ ์ ์คํจํ๋ฉด ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋์ ์ ์ผ๋ก ์ฆ๊ฐํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์์ฑ๋์์ง๋ง ํด๊ฒฐ๋๊ฑฐ๋ ๊ฑฐ๋ถ๋์ง ์์ ํ๋ผ๋ฏธ์ค์ ํด๋น ์ ๋ฆฌ ๋ก์ง ์์ด ๋ฑ๋ก๋ ๋ฆฌ์ค๋๋ฅผ ์๋ณํ์ฌ ์ด๋ฌํ ์ํ์ ์ํํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๋น๋๊ธฐ ๊ฐ์ฒด์ ์๋ช ์ฃผ๊ธฐ ์ํ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ์ฌ ํ ๋น, ๋ณด์กด ๋ฐ ํ๊ธฐ๋ฅผ ์ถ์ ํฉ๋๋ค. ์ฌ๋ฌ ์ด๋ฒคํธ ๋ฃจํ ๋ฐ๋ณต์์ ๋ฆฌ์์ค๊ฐ ํ์ฑ ์ํ๋ก ์ ์ง๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ชจ๋ ์์ค ์ข ์์ฑ ๊ทธ๋ํ์ ์ฐ๊ด์์ผ ์ ์ฌ์ ๋์์ ์์ธ์ ์ ํํ๊ฒ ํ์ ํฉ๋๋ค.
์ด๋ฌํ ํต์ฐฐ์ ๋ฆฌ์์ค ๊ด๋ฆฌ๋ฅผ ์ธก์ ๊ฐ๋ฅํ ํ์ง ์์ฑ์ผ๋ก ๊ฐ์ฃผํ๋ ์ํํธ์จ์ด ํจ์จ์ฑ ์ ์ง ๊ด๋ฆฌ ๊ดํ๊ณผ ์ผ๋งฅ์ํตํฉ๋๋ค . ์ด๋ฌํ ๋ฆฌ์์ค ๋์๋ฅผ ์ ๊ฑฐํ๋ฉด ์ฑ๋ฅ์ด ํฅ์๋ ๋ฟ๋ง ์๋๋ผ ์๋น์ค ๊ฐ๋ ์๊ฐ๊ณผ ์์ธก ๊ฐ๋ฅ์ฑ์ด ์ฐ์ฅ๋๋๋ฐ, ์ด๋ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋งค์ฐ ์ค์ํฉ๋๋ค.
์นจ๋ฌต์ ์ค๋ฅ ์ต์ ๋ฐ ์ฒ๋ฆฌ๋์ง ์์ ์ฝ์ ๊ฑฐ๋ถ
JavaScript๋ ์ค๋ฅ๊ฐ ๋ช ์์ ์ผ๋ก ์ฒ๋ฆฌ๋์ง ์์ผ๋ฉด promise์ ๋น๋๊ธฐ ํจ์๊ฐ ์๋์ผ๋ก ์คํจํ๋๋ก ํ์ฉํฉ๋๋ค. ์ด๋ฌํ ๋์์ ์ด์์์ ์ค๋ฅ๋ฅผ ๊ฐ๋ ค ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค๋ฅ์ ์งํ ์์ด ์ผ๊ด๋์ง ์์ ์ํ๋ก ์ ์ง๋ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ๋ชจ๋ ๋น๋๊ธฐ ๊ตฌ๋ฌธ์์ ๊ฑฐ๋ถ ๋ถ๊ธฐ๋ฅผ ๊ฒ์ฌํ๊ณ ์ ์ ํ ์ค๋ฅ ์ฒ๋ฆฌ ๋ก์ง์ด ์๋์ง ํ์ธํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
๋ถ์๊ธฐ๋ ํด๊ฒฐ๋์ง ์์๊ฑฐ๋ ๋๊ธฐํ์ง ์์ promise๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ์๋ณํ๊ณ , ์์ ์กฐ์น๋ฅผ ์ํํ์ง ์๋ catch ๋ธ๋ก์ ์ํด ์์ธ๊ฐ ์ฒ๋ฆฌ๋๋ ๊ฒฝ์ฐ๋ฅผ ํ์ํฉ๋๋ค. ์ด๋ฌํ ํจํด์ ํฅํ ๊ฐ์ ๊ณผ์ ์์ ๋ฐ์ํ ์ ์๋ ๊ธฐ์ ์ ๋ถ์ฑ๋ฅผ ๋ํ๋ ๋๋ค. ์์ธ ๊ฒ์ฌ๋ฅผ ํตํด ๋ชจ๋ ๋น๋๊ธฐ ์ค๋ฅ๊ฐ ์ ์๋ ๋ณต๊ตฌ ๋๋ ๋ก๊น ๊ฒฝ๋ก๋ฅผ ํตํด ์ ํ๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ํํธ์จ์ด ๊ฐ๋ฐ์์ ์ ์ ํ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐฉ์์ ๋ง์ถฐ ์ ์ ์ค๋ฅ ๊ฒฝ๋ก ๋ถ์์ ์์คํ ์ด ์์ ํ๊ณ ํฌ๋ช ํ๊ฒ ์ฅ์ ๋ฅผ ํด๊ฒฐํ๋ค๋ ๊ฒ์ ์ ๋์ ์ผ๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ ์์ ์ ์ธ ๋ฐํ์ ํ๊ฒฝ์ ์กฐ์ฑํ๊ณ ์ด์ ํ๊ฒฝ์์ ์ฅ์ ๋ฐ์ ์ ๋ณต๊ตฌ ์๊ฐ์ ๋จ์ถํ๋ ๋ฐ ๊ธฐ์ฌํฉ๋๋ค.
๋น๋๊ธฐ ํธ๋์ญ์ ํ๋ฆ์ ๋ณด์ ์ทจ์ฝ์ ๊ฐ์ง
๋น๋๊ธฐ ์คํ์ ์ ์ด ํ๋ฆ์ ์ฌ๋ฌ ๋ ๋ฆฝ์ ์ธ ์ปจํ ์คํธ์ ๋ถ์ฐ์ํค๊ธฐ ๋๋ฌธ์ ์์คํ ์ ๊ณต๊ฒฉ ๋ฒ์๋ฅผ ํ์ฅํฉ๋๋ค. ์ง์ฐ๋ ์์ , ๋๊ธฐ ์ค์ธ ์ด๋ฒคํธ ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ์ ๊ฐ๊ฐ ๊ฒ์ฆ ๋ฐ ๋ณดํธ๋์ด์ผ ํ๋ ์ ์ฌ์ ๋ณด์ ๊ฒฝ๊ณ๊ฐ ๋ฉ๋๋ค. ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ์์ธก ๊ฐ๋ฅํ ์์๋ก ๋ฐ์ํ๋ ๋๊ธฐ ์ฝ๋์ ๋ฌ๋ฆฌ, ๋น๋๊ธฐ ํธ๋์ญ์ ์ ์ธ๋ถ ํ์ด๋ฐ์ด๋ ๋คํธ์ํฌ ์๋ต์ ์์กดํ๋ ์์ ์ ์ธํฐ๋ฆฌ๋นํฉ๋๋ค. ๋ฐ๋ผ์ ์ ์ ๋ถ์์ ๊ธฐ์กด์ ์ฃผ์ ๋๋ ๋ ธ์ถ ์ทจ์ฝ์ ๋ฟ๋ง ์๋๋ผ ๋น๊ฒฐ์ ์ ์คํ ์์, ์ผ๊ด๋์ง ์์ ๋ฐ์ดํฐ ๊ฒ์ฆ, ์ง์ฐ๋ ์ค๋ฅ ์ฒ๋ฆฌ๋ก ์ธํ ๋ณด์ ์ทจ์ฝ์ ๋ ์๋ณํด์ผ ํฉ๋๋ค.
๋ณต์กํ ์ํฐํ๋ผ์ด์ฆ ์์คํ ์์๋ ๋น๋๊ธฐ ํธ๋์ญ์ ์ด ๊ฒฐ์ ์ฒ๋ฆฌ, ์ธ์ ๊ด๋ฆฌ, ๋ฉ์์ง ๋ธ๋ก์ปค๋ง ๋ฑ์ ํ๋์ ์ ์ดํฉ๋๋ค. ๋จ ํ ๋ฒ์ ๊ฒ์ฆ ์คํจ๋ ๋น๋๊ธฐ ์ก์ธ์ค๋ง์ผ๋ก๋ ๋ฌด๋จ ๋ฐ์ดํฐ ๋ ธ์ถ ๋๋ ๊ถํ ์์น์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ๋น๋๊ธฐ ๋ฐ์ดํฐ ํ๋ฆ์ ์ถ์ ํ๊ณ , ์ง์ฐ๋ ์์ ์ ๋ฐ์ ๊ฑธ์ณ ์ฌ์ฉ์ ์ ๋ ฅ์ ๋ชจ๋ธ๋งํ๊ณ , ๋ฏผ๊ฐํ ์์ ์ด ์ ์ ํ ์ ์ด ํ์ ์คํ๋๋์ง ํ์ธํจ์ผ๋ก์จ ๋ฐฐํฌ ์ ์ ์ด๋ฌํ ์ํฉ์ ํ์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋์ถ๋ ํต์ฐฐ๋ ฅ์ ๋ฐํ์ ๋ณด์ ๋ชจ๋ํฐ๋ง์ ๋ณด์ํ์ฌ ํ๋ํ ๋ฐ ๋ฆฌํฉํ ๋ง ์ฃผ๊ธฐ ๋์ ์ง์๋๋ ์ค๊ณ ์์ค์ ๋ณด์์ ์ ๊ณตํฉ๋๋ค.
๋น๋๊ธฐ ๊ฒฝ๊ณ๋ฅผ ํตํ ์ ๋ ฅ ๊ฒ์ฆ
๋น๋๊ธฐ JavaScript ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ดํฐ๋ ์ต์ข ์ฒ๋ฆฌ ๋จ๊ณ์ ๋๋ฌํ๊ธฐ ์ ์ ์ฌ๋ฌ ๊ณ์ธต์ ๊ฑฐ์น๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ฌ์ฉ์ ๋๋ ์ธ๋ถ ์์คํ ์ผ๋ก๋ถํฐ ์์ ๋ ์ ๋ ฅ์ ํน์ ์์ ์์ ๊ฒ์ฆ๋ ์ ์์ง๋ง, ์ดํ ๋น๋๊ธฐ ์ฝ๋ฐฑ์์ ๋ณํ, ์ง๋ ฌํ ๋๋ ์ฌํด์๋ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ถ๋ฆฌ๋ก ์ธํด ๊ฒ์ฆ๋์ง ์์ ๋ฐ์ดํฐ๊ฐ ์ค์ํ ์์ ์ ์ ํ๋ ์ ์๋ ์ฐฝ์ด ์์ฑ๋ฉ๋๋ค.
์ ์ ๋ถ์์ ์ด๋ฌํ ์ ํ ์ฒด์ธ์ ๊ฒ์ฌํ์ฌ ๋ชจ๋ ๋น๋๊ธฐ ๊ฒฝ๊ณ์์ ์ ๋ ฅ ๊ฒ์ฆ์ด ์ผ๊ด๋๊ฒ ์ํ๋๋์ง ํ์ธํฉ๋๋ค. ๋ถ์๊ธฐ๋ ์ฝ์ ์ฒด์ธ, ์ด๋ฒคํธ ํธ๋ค๋ฌ ๋ฐ ์ง์ฐ ํจ์๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ๋ณ์๋ฅผ ์ถ์ ํฉ๋๋ค. ๋ฐ์ดํฐ ๊ฒฝ๋ก๊ฐ ๊ฒ์ฆ ๋๋ ์ด๊ท ๋ฃจํด์ ์ฐํํ๋ฉด ์์คํ ์ ์ด๋ฅผ ์ ์ฌ์ ์ทจ์ฝ์ ์ผ๋ก ํ์ํฉ๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ ์ ๋ถ์์ ํตํด ๋ณด์ ์นจํด๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ์ ๋ํ๋๋ ์๋ฐฉ์ ์ฌ๊ณ ๋ฐฉ์์ ๋ฐ์ํฉ๋๋ค . ๋น๋๊ธฐ ํ๋ฆ ์ ๋ฐ์ ๊ฑธ์ณ ์ ํจ์ฑ ๊ฒ์ฌ ๋ฒ์๋ฅผ ๊ฒ์ฆํจ์ผ๋ก์จ ๊ธฐ์ ์ ๋ฐํ์ ์ ์ฉ์๋ง ์์กดํ์ง ์๊ณ ๊ฐ๋ ฅํ ๋ณด์ ํ์ธ๋ฅผ ์ ์งํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ์ธ์ฆ ๋ฐ ์ธ์ ์ํ ์ํ
์ธ์ฆ ๋ฐ ์ธ์ ๊ด๋ฆฌ๋ ๋น๋๊ธฐ ๋ฐฉ์์ผ๋ก ๊ตฌํ๋ ๊ฒฝ์ฐ ๋ ๋ค๋ฅธ ์ฐจ์์ ์ทจ์ฝ์ฑ์ ์ผ๊ธฐํฉ๋๋ค. ๋ก๊ทธ์ธ ๋ฐ ํ ํฐ ๊ฒ์ฆ์ ์ง์ฐ ๋๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค๋ฅผ ํตํด ์ํ๋ ์ ์์ผ๋ฏ๋ก, ์ ์ ๋ถ์์ ๋น๋๊ธฐ ์ด๋ฒคํธ ๊ฐ์ ์ธ์ ์ํ๊ฐ ์ผ๊ด๋๊ฒ ์ ์ง๋๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ฉ์ธ ์ค๋ ๋๊ฐ ์ฌ๊ฐ๋ ํ ์ฌ์ฉ์ ์ปจํ ์คํธ๋ฅผ ์์ ํ๋ ์ธ์ฆ ์ฝ๋ฐฑ์ ์ผ์์ ์ธ ๊ถํ ๋ถ์ผ์น๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ์ ์ ๋๊ตฌ๋ ๋ณดํธ๋ ๋ฒ์ ๋ฐ์์ ์ธ์ ๋ฐ์ดํฐ๋ฅผ ๋ณ๊ฒฝํ๋ ๋น๋๊ธฐ ํจ์๋ฅผ ์๋ณํ์ฌ ์ด๋ฌํ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์งํฉ๋๋ค. ๋ํ ํ ํฐ๊ณผ ์๊ฒฉ ์ฆ๋ช ์ด ์์ ํ ๋ฉ๋ชจ๋ฆฌ ์์ญ์์ ์ฒ๋ฆฌ๋๊ณ ์ํธํ๋์ง ์์ ์ฑ๋์ ํตํด ๊ธฐ๋ก๋๊ฑฐ๋ ์ ์ก๋์ง ์๋์ง ํ์ธํฉ๋๋ค.
์ด ๋ถ์์ CVE ๊ด๋ฆฌ๋ฅผ ํตํ ์ฌ์ด๋ฒ ๋ณด์ ๊ฐํ ์ ๊ด๋ จ๋ ์ฐ๊ตฌ ๊ฒฐ๊ณผ์ ์ผ์นํ๋ฉฐ , ์๋ฐฉ์ ์ ์ด์๋ ์คํ ์์์ ๋ฐ์ดํฐ ์ง์ญ์ฑ์ ๋ํ ํต์ฐฐ๋ ฅ์ด ๋ชจ๋ ํ์ํ๋ค๋ ์ ์ ๊ฐ์กฐํฉ๋๋ค. ๋ฐํ์ ์ด์ ์ ๋น๋๊ธฐ ์ํ ๋ณํ๋ฅผ ๊ฐ์งํ๋ฉด ๋ฏธ๋ฌํ ๊ถํ ์์น์ด๋ ์ค๋๋ ์ธ์ ์ฌ์ฌ์ฉ ๊ฐ๋ฅ์ฑ์ ์ค์ผ ์ ์์ต๋๋ค.
ํ์ด๋ฐ ๊ธฐ๋ฐ ์ทจ์ฝ์ ๋ฐ ๊ฒฝ์ ์ ์ฉ
๋น๋๊ธฐ ํ์ด๋ฐ์ ๊ณต๊ฒฉ์๊ฐ ๋ ผ๋ฆฌ ์์๋ฅผ ์กฐ์ํ๊ธฐ ์ํด ์ ์ฉํ๋ ๊ฒฝ์ ์กฐ๊ฑด(race condition)์ ๋ ธ์ถ์ํฌ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ๋ฌ ๊ฐ์ ๋์ ์์ฒญ์ด ์ถฉ๋ํ๋ ์ ๋ฐ์ดํธ๋ฅผ ์ ๋ฐํ๊ฑฐ๋, ๊ณต๊ฒฉ์๊ฐ ์ด์ ์ ํจ์ฑ ๊ฒ์ฌ๋ฅผ ๋ฌด์ํ๊ธฐ ์ํด ์์์น ๋ชปํ ์์๋ก ์๋ฃ๋๋ ์์ฒญ์ ์คํํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์์ ์ ์๋์ ์ธ ํ์ด๋ฐ์ ์์ธกํ๋ ์๊ฐ ์ข ์์ฑ ๊ทธ๋ํ๋ฅผ ๊ตฌ์ถํ์ฌ ์ด๋ฌํ ์ํ์ ์๋ณํฉ๋๋ค.
๊ฐ ๋น๋๊ธฐ ํธ์ถ์ ๊ณต์ ๋ณ์ ์ ๊ทผ, ํธ๋์ญ์ ์ํ์ฑ, ์ ๊ธ ๋ฉ์ปค๋์ฆ์ ๋ถ์ํฉ๋๋ค. ์ฌ๋ฌ ์์ ์ด ๋๊ธฐํ ์์ด ๋์ผํ ๋ฆฌ์์ค์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋ ๊ฒฝ์ฐ, ๋ถ์ ๋๊ตฌ๋ ์ ์ฌ์ ์ธ ๊ฒฝ์ ์ํ๋ฅผ ํ์ํฉ๋๋ค. ๋ํ ๋ถ์๊ธฐ๋ ๋น๋๊ธฐ API์ ์ํธ ์์ฉํ ๋ ๋๊ธฐ ์คํ์ ๊ฐ์ ํ๋ ๋ก์ง์ ํ์ธํฉ๋๋ค.
์ด๋ฌํ ์ฌ์ ์๋ฐฉ์ ํ์ง๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ต์ฐฉ ์ํ ๋ฐ ์ ๊ธ ๊ฒฝํฉ์ ํ์งํ๋ ๋ฐฉ๋ฒ ์์ ๋ ผ์๋ ๊ฐ๋ ๊ณผ ์ ์ฌํฉ๋๋ค . ํ์ด๋ฐ ๊ธฐ๋ฐ ๊ณต๊ฒฉ์ ๋ฐฉ์งํจ์ผ๋ก์จ ์์คํ ์ ์์ธก ๋ถ๊ฐ๋ฅํ ๋ถํ ์กฐ๊ฑด์์๋ ๊ฒฐ์ ๋ก ์ ์ผ๋ก ๋์ํ๊ฒ ๋๋ฉฐ, ์ข ์ข ๊ฐ๊ณผ๋๋ ๊ณต๊ฒฉ ๊ฒฝ๋ก๋ฅผ ์ฐจ๋จํฉ๋๋ค.
๋น๋๊ธฐ ๋ฐ์ดํฐ ์ง์์ฑ ๋ฐ ์ถ๋ ฅ ์ฑ๋ ๋ณดํธ
๋น๋๊ธฐ ์์ ์ ์ฌ์ฉ์ ์์ ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์บ์ ๋๋ ๋ก๊ทธ์ ๊ธฐ๋ก๋๋ ์๊ฐ์ด ๊ฐ๋ณ์ ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ถ์ ์ ํ ์ํ์ฑ์ด๋ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฌ ๋๋ฝ์ผ๋ก ์ธํด ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๊ฐ ์๋ํ ๊ฒ๋ณด๋ค ์ค๋ ์ง์๋๊ฑฐ๋ ์์ ํ์ง ์๊ฒ ์ ์ก๋ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์ง์์ฑ ๊ณ์ธต์ ํตํ ๋ฐ์ดํฐ ํ๋ฆ์ ์ถ์ ํ์ฌ ์ ์๋ ์ก์ธ์ค ์ ์ด ํ์์ ์ ์ฅ ๋ฐ ์ ์ก์ด ์ด๋ฃจ์ด์ง๋์ง ํ์ธํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๋น๋๊ธฐ ์ปจํ ์คํธ ๋ด์์ ํ์ผ ๋ฐ ๋คํธ์ํฌ ์์ ์ ๊ฒ์ฌํ์ฌ ์ํธํ, ํด์ฑ ๋๋ ํ ํฐํ ํ๋ก์ธ์ค๊ฐ ์ถ๋ ฅ์ ์์ ์ํ๋๋์ง ํ์ธํฉ๋๋ค. ๋ํ ์ง์ฐ๋ ์์ ์ด ์์ ๋ฒํผ๋ฅผ ๋ ธ์ถํ๊ฑฐ๋ ์์ธ ๋ฐ์ ํ ๋ฏผ๊ฐํ ๊ฐ์ ๋ก๊น ํ์ง ์๋์ง ๊ฒ์ฆํฉ๋๋ค.
์ด ๋ฐฉ๋ฒ์ ์ฝ๋ ํจ์จ์ฑ ์ต์ ํ ์ ๊ฐ์ ์ฑ๋ฅ ์ค์ฌ ๋ถ์์ ๋ณด์ํ๋ฉฐ , ๋์ผํ ์ถ์ ์ธํ๋ผ๊ฐ ๋ณด์ ๋ฐ ์ต์ ํ ๋ชฉํ๋ฅผ ๋ชจ๋ ์ง์ํ๋ ๋ฐฉ์์ ๋ณด์ฌ์ค๋๋ค. ์๊ตฌ ์ ์ฅ์ ๋ฐ ์ถ๋ ฅ ์ฑ๋ ๋ณด์์ ํตํด ๋น๋๊ธฐ ์ฒ๋ฆฌ ํ์ดํ๋ผ์ธ์ ๋๋ฌ์ผ ๋ฐฉ์ด๋ฒฝ์ ์์ฑํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ๋ก๊น , ์๊ฒฉ ์ธก์ ๋ฐ ๊ฐ์ฌ ์ถ์ ์์ฑ
๋ก๊น ๊ณผ ์๊ฒฉ ์ธก์ ์ ๋น๋๊ธฐ JavaScript ์์คํ ์ ๋์์ ์ดํดํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์์ ์ด ์ฌ๋ฌ ์ปจํ ์คํธ์์ ๋์์ ๋ฐ์ํ๋ ํ๊ฒฝ์์ ํ์ค ์์ฐจ ๋ก๊ทธ๋ ๋ถ์์ ํ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฒคํธ๊ฐ ์์ ์์ด ๊ธฐ๋ก๋๊ณ , ํ์์คํฌํ๊ฐ ๊ฒน์น ์ ์์ผ๋ฉฐ, ๋์ ๊ฐ์ ์ธ๊ณผ ๊ด๊ณ๋ฅผ ํด์ํ๊ธฐ ์ด๋ ค์์ง๋๋ค. ์ ์ ๋ถ์์ ๋ก๊น ๋ฐ์ ์์น, ์๊ฒฉ ์ธก์ ์ ํ ๋ฐฉ์, ๊ทธ๋ฆฌ๊ณ ๋น๋๊ธฐ ๊ฒฝ๊ณ ์ ๋ฐ์ ๊ฑธ์ณ ์ปค๋ฒ๋ฆฌ์ง๊ฐ ์ผ๊ด๋์ง ์ฌ๋ถ๋ฅผ ์ถ์ ํ์ฌ ์ด๋ฌํ ๋ณต์ก์ฑ์ ์ง์ ์๊ฒ ๋ณต์ํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค.
์กฐ์ง์ด ๋ถ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ํํจ์ ๋ฐ๋ผ ๋น๋๊ธฐ ๋ก๊น ์ ์ง๋จ ๋ฌธ์ ๋ฟ๋ง ์๋๋ผ ์ด์์์ ํ์ ์์๋ก ์๋ฆฌ ์ก๊ณ ์์ต๋๋ค. ๋ก๊ทธ๋ ์์คํ ์ํ ์ ํ์ ์ ํํ๊ฒ ํํํด์ผ ํ๊ณ , ์๊ฒฉ ์ธก์ ์ ์ด๋ฒคํธ ์์๋ฅผ ๋ณด์กดํด์ผ ํ๋ฉฐ, ๊ฐ์ฌ ์ถ์ ์ ๊ฒ์ฆ ๊ฐ๋ฅํ ์คํ ์ฆ๊ฑฐ๋ฅผ ํฌ์ฐฉํด์ผ ํฉ๋๋ค. ์ ์ ๋ถ์์ ๋ก๊น ๊ตฌ๋ฌธ์ ๋ฐฐ์น, ์ผ๊ด์ฑ ๋ฐ ์์ ์ฑ์ ๊ฒ์ฌํ์ฌ ๋ฐฐํฌ ์ ์ ์ด๋ฌํ ์์ฑ์ ๊ฒ์ฆํฉ๋๋ค. ์ํฅ ๋ถ์ ๋ฐ ์๊ฐํ์ ๊ฒฐํฉํ๋ฉด ๋ก๊น ๋ณด์ฆ์ ์๋ ๊ฐ๋ ์์ ์ธก์ ๊ฐ๋ฅํ ๋น๋๊ธฐ ๋์ ๊ฑฐ๋ฒ๋์ค๋ก ์ ํ๋ฉ๋๋ค.
๋น๋๊ธฐ ์ฝ๋ ์ ๋ฐ์ ๊ฑธ์น ๋ก๊ทธ ๋ช ๋ น๋ฌธ ์ ์ฉ ๋ฒ์ ๋งคํ
๋น๋๊ธฐ ์์คํ ์์ ํํ ๋ฐ์ํ๋ ๋ฌธ์ ๋ ์ผ๊ด๋์ง ์์ ๋ก๊น ์ ๋๋ค. ๊ฐ๋ฐ์๋ ์ฝ๋ฐฑ ํจ์์๋ ๋ก๊ทธ ๊ตฌ๋ฌธ์ ์ถ๊ฐํ์ง๋ง, ํ๋ผ๋ฏธ์ค ํธ๋ค๋ฌ๋ ์ค๋ฅ ๊ฒฝ๋ก์์๋ ์ด๋ฅผ ์๋ตํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ๋ชจ๋ ๋น๋๊ธฐ ๊ตฌ๋ฌธ์ ๊ฒ์ฌํ๊ณ ์คํ ํ๋ฆ์์ ๊ณ์ธก์ด ๋ถ์กฑํ ๋ถ๋ถ์ ๊ณ์ฐํ์ฌ ๋ก๊ทธ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํ๊ฐํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๋ก๊ทธ ์์น์ ์ ์ด ํ๋ฆ ์์ง๋ฅผ ์ฐ๊ด์์ผ ๊ฐ ๋น๋๊ธฐ ๋ถ๊ธฐ๊ฐ ์ต์ํ ํ๋์ ์ถ์ ์ง์ ์ ๊ธฐ๋กํ๋์ง ํ์ธํฉ๋๋ค. ๋ํ ์กฐ์ฉํ ์คํ๋๋ ํจ์๋ฅผ ๊ฐ์กฐ ํ์ํ๊ณ ๋ฐ์ดํฐ ์ง๋ ฌํ ๋๋ ํธ๋์ญ์ ์ ์ถ๊ณผ ๊ฐ์ ์ค์ ์์ญ์์ ๋๋ฝ๋ ํญ๋ชฉ์ ํ์ํฉ๋๋ค. ์ด๋ฌํ ๋ถ์ ๊ฒฐ๊ณผ๋ ํฌ๊ด์ ์ธ ๋ชจ๋ํฐ๋ง์ ํตํด ์ง์์ ์ธ ๊ฐ์ ์ ๋๋ชจํ๋ ์ํํธ์จ์ด ์ฑ๋ฅ ์งํ ์ ์์น์ ๋ฐ์ํฉ๋๋ค.
์ผ๊ด๋ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ํตํด ๋ก๊ทธ๋ฅผ ์ ๋ขฐํ ์ ์๋ ์ง๋จ ์ฆ๊ฑฐ๋ก ํ์ฉํ ์ ์์ต๋๋ค. ์์คํ ์ด ์์ฒ ๊ฐ์ ๋์ ์ด๋ฒคํธ๋ก ํ์ฅ๋๋ ๊ฒฝ์ฐ, ์ด๋ฌํ ๊ท ์ผ์ฑ์ ํตํด ๋ชจ๋ํฐ๋ง ํ๋ ์์ํฌ๋ ๋ชจ๋ ์์ ์ ๋ํ ์ ํํ ์๊ฐ์ ๋งฅ๋ฝ์ ํฌ์ฐฉํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ๊ฒฝ๊ณ๋ฅผ ํตํ ์๊ฒฉ ์ธก์ ์ฐ์์ฑ ๋ณด์ฅ
์๊ฒฉ ์ธก์ ๋ฐ์ดํฐ๋ ์ฌ์ฉ์ ์ํธ์์ฉ, ์ธ๋ถ API, ๋ฐฑ๊ทธ๋ผ์ด๋ ์์ ๋ฑ ์ฌ๋ฌ ๋น๋๊ธฐ ์์ค์์ ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋น๋๊ธฐ ํจ์๊ฐ ์๊ฒฉ ์ธก์ ์ด๋ฒคํธ๋ฅผ ์์ฑํ ๋, ํด๋น ์ด๋ฒคํธ๋ฅผ ๋ ๊ด๋ฒ์ํ ํธ๋์ญ์ ์ปจํ ์คํธ์ ์ฐ๊ฒฐํ๋ ์๊ด ๊ด๊ณ ์๋ณ์๋ฅผ ์ ์งํด์ผ ํฉ๋๋ค. ์ ์ ๋ถ์์ ๋น๋๊ธฐ ์ฒด์ธ์ ํตํ ์๊ฒฉ ์ธก์ ๊ฐ์ฒด ์ ํ๋ฅผ ์ถ์ ํ์ฌ ์ด๋ฌํ ์ฐ์์ฑ์ ๊ฒ์ฆํฉ๋๋ค.
๋ถ์๊ธฐ๋ ์ถ์ ID๋ ์๊ด๊ด๊ณ ํ ํฐ๊ณผ ๊ฐ์ ์ปจํ ์คํธ ์๋ณ์๊ฐ await ๋ฐ ์ฝ๋ฐฑ ๊ฒฝ๊ณ๋ฅผ ํตํด ์์ค ์์ด ์ ๋ฌ๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ๋ํ ์๊ฒฉ ์ธก์ ์คํธ๋ฆผ์ด ๋ถ์ฐ๋๊ฑฐ๋ ํญ๋ชฉ์ด ์ค๋ณต๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ์งํฉ๋๋ค. ์ ์ ํ ์๊ด๊ด๊ณ๋ฅผ ํตํด ๊ด์ธก ํ๋ซํผ์ ์ฌ๋ฌ ์์ ์ด ๋์์ ์คํ๋๋ ๊ฒฝ์ฐ์๋ ์ ์ฒด ํธ๋์ญ์ ํ์๋ผ์ธ์ ์ฌ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
์ด ๊ฒ์ฆ ๋ฐฉ์์ ๋ฐ์ดํฐ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ์ ํ์ฉํ ์ํฐํ๋ผ์ด์ฆ ๊ฒ์ ๊ฐํ ๊ธฐ๋ฒ๊ณผ ํตํฉํ๋ฉด ์กฐ์ง์ ์ ์ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ๊ณผ ๋ฐํ์ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ์ ์ผ์น์์ผ ๋ชจ๋ ๋น๋๊ธฐ ํ๋ก์ธ์ค์ ์ถ์ ๋ฐ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
์นจ๋ฌต์ ์คํจ ๋ฐ ๋ถ์์ ํ ๊ฐ์ฌ ์ํ์ค ๊ฐ์ง
๋ฌด์ ์ค๋ฅ๋ ๋น๋๊ธฐ ์์ ์ด ํด๋น ๋ก๊ทธ ํญ๋ชฉ์ด๋ ์ค๋ฅ ์๊ฒฉ ์ธก์ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ง ์๊ณ ์คํจํ ๋ ๋ฐ์ํฉ๋๋ค. ์ด๋ฌํ ๊ณต๋ฐฑ์ ์ฌ๊ณ ๋์์ ๋ฐฉํดํ๊ณ ์์คํ ์ฅ์ ์ ๊ทผ๋ณธ ์์ธ์ ํ์ ํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์ค๋ฅ ์ฒ๋ฆฌ ๋ก์ง์ด ํฌํจ๋ ์ฝ๋ ๊ฒฝ๋ก์ ๋ก๊น ๋๋ ๋ณด๊ณ ๊ตฌ๋ฌธ์ด ํฌํจ๋ ์ฝ๋ ๊ฒฝ๋ก๋ฅผ ๋น๊ตํ์ฌ ์ด๋ฌํ ์ํฉ์ ๊ฐ์งํฉ๋๋ค.
๊ฑฐ๋ถ, catch ๋ธ๋ก ๋๋ ์์ธ ์ฒ๋ฆฌ๊ธฐ๊ฐ ๋ก๊ทธ ํธ์ถ์ ์๋ตํ๋ฉด ๋ถ์๊ธฐ๋ ํด๋น ํธ์ถ์ ๋ฏธ์๋ฃ๋ก ํ์ํฉ๋๋ค. ๋ํ ๋ชจ๋ ์คํ ๊ฒฐ๊ณผ๊ฐ ๊ฐ์ฌ ๊ฐ๋ฅํ ๋ ์ฝ๋๋ฅผ ์์ฑํ๋์ง ํ์ธํ๊ธฐ ์ํด ๋ถ๊ธฐ ๋ ผ๋ฆฌ๋ฅผ ๊ฒ์ฌํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ์ ๋ถ์์ ๋น์ ์ ์ข ๋ฃ ์ํฉ์์๋ ๊ฐ์ฌ ์ถ์ ์ด ์ฐ์์ ์ผ๋ก ์ ์ง๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ด๋ฌํ ์๋ฒฝ์ฑ์ ๋ชจ๋ ์ํ ๋ณํ์ ๋ํ ๊ฐ์์ฑ์ ๋ณด์ฅํจ์ผ๋ก์จ ์ด์ ๋ณต์๋ ฅ์ ๊ฐํํฉ๋๋ค. ์ด ํ๋ก์ธ์ค๋ ๋ฐํ์ ๋ถ์์ ์ดํด ์์ ์ ์๋ ๋ชจ๋ฒ ์ฌ๋ก์ ์ผ์นํ๋ฉฐ , ์ ์ ๊ฒ์ฆ์ด ๋์ ๋ชจ๋ํฐ๋ง์ ๋ณด์ํ์ฌ ์๋ฒฝํ ์ ์ฉ ๋ฒ์๋ฅผ ๋ฌ์ฑํฉ๋๋ค.
์ํฅ ๋ถ์ ๊ทธ๋ํ์ ๋ก๊ทธ ๋ฐ ์๊ฒฉ ์ธก์ ์๊ด ๊ด๊ณ
๋น๋๊ธฐ ๋ก๊น ๋ณด์ฅ์ ๋ง์ง๋ง ๋จ๊ณ๋ ์์ง๋ ๋ก๊ทธ ๊ตฌ๋ฌธ๊ณผ ์์คํ ์ข ์์ฑ ๊ทธ๋ํ์ ์๊ด๊ด๊ณ๋ฅผ ๋ถ์ํ๋ ๊ฒ์ ๋๋ค. ์ ์ ๋ถ์์ ๋ก๊น ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๋ ๊ด๋ฒ์ํ ์ํฅ ๋ชจ๋ธ์ ํตํฉํ์ฌ ์ ๋ณด๊ฐ ๋น๋๊ธฐ ํจ์์ ๋ชจ๋์ ํตํด ์ด๋ป๊ฒ ํ๋ฅด๋์ง ๋ณด์ฌ์ค๋๋ค.
์ด ์๊ด๊ด๊ณ๋ ์ฃผ์ ์์คํ ๊ตฌ์ฑ ์์์ ๊ด๋ จํ์ฌ ์๊ฒฉ ์ธก์ ์ด ์ค๋ณต๋๊ฑฐ๋ ๋๋ฝ๋์์์ ๋ณด์ฌ์ค๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ ์ฒ๋ฆฌ, ์ธ๋ถ ํธ์ถ ๋๋ ์ค๋ฅ ๋ณต๊ตฌ๋ฅผ ๋ด๋นํ๋ ์ค์ ๋ชจ๋์ด ์ ์ ํ๊ฒ ๊ณ์ธก๋๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ํฐํ๋ผ์ด์ฆ ๊ท๋ชจ๋ก ์ ์ฉํ๋ฉด ์ฝ๋ ๊ตฌ์กฐ์ ๋ชจ๋ํฐ๋ง ์ํคํ ์ฒ๊ฐ ํจ๊ป ์งํํ๋ ์์ฒด ๊ฒ์ฆ ๊ฐ์ฌ ํ๋ ์์ํฌ๊ฐ ๊ตฌ์ถ๋ฉ๋๋ค.
์ด ๊ฐ๋ ์ ์ข ์์ฑ ๊ธฐ๋ฐ ํ ์คํธ๊ฐ ๋ณต์กํ ๋น๋๊ธฐ ํ๊ฒฝ์์ ๋ถํ์ค์ฑ์ ์ค์ฌ์ค๋ค๋ ์ํฅ ๋ถ์ ์ํํธ์จ์ด ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ๋ท๋ฐ์นจํฉ๋๋ค . ์ํฅ ๊ทธ๋ํ์ ์๊ฒฉ ์ธก์ ๊ฒ์ฆ์ ๊ฒฐํฉํ๋ฉด ์ฝ๋ ๋ถ์, ๋ชจ๋ํฐ๋ง ๋ฐ ํ๋ํ ๊ณํ ๊ฐ์ ํผ๋๋ฐฑ ๋ฃจํ๊ฐ ์์ฑ๋ฉ๋๋ค.
์ํฐํ๋ผ์ด์ฆ CI/CD ํ์ดํ๋ผ์ธ์ ์ ์ ๋ถ์ ํตํฉ
๋น๋๊ธฐ JavaScript ์์คํ ์ ๋ํ ์ ์ ๋ถ์์ ์ํฐํ๋ผ์ด์ฆ CI/CD ํ์ดํ๋ผ์ธ์ ํตํฉํ๋ฉด ๋์์ฑ ์ํ, ๋ฏธํด๊ฒฐ๋ ์ฝ์, ์ฒ๋ฆฌ๋์ง ์์ ๊ฑฐ๋ถ๋ฅผ ๊ฐ๋ฐ ํ๋ก์ธ์ค ์ด๊ธฐ์ ๊ฐ์งํ ์ ์์ต๋๋ค. ์ง์์ ์ธ ๋ฐฐํฌ ํ๊ฒฝ์ ์ฆ์ ์ฝ๋ ๋ณ๊ฒฝ, ์๋ํ๋ ํ ์คํธ, ๊ทธ๋ฆฌ๊ณ ๋น๋๊ธฐ ๋ก์ง์ด ๋น ๋ฅด๊ฒ ์งํํ๋ ๋ค์ค ๋ถ๊ธฐ ์ํฌํ๋ก๋ฅผ ์ผ๊ธฐํฉ๋๋ค. ๋ด์ฅ๋ ๋ถ์ ๊ธฐ๋ฅ์ด ์์ผ๋ฉด ์๋ก์ด ๋ฆด๋ฆฌ์ค์ ์จ๊ฒจ์ง ํ์ด๋ฐ ๊ฒฐํจ์ด๋ ๋ณด์ ํ๊ท ๋ฌธ์ ๊ฐ ๋์ ๋์ด ์ด์ ํ๊ฒฝ๊น์ง ๊ฐ์ง๋์ง ์์ ์ ์์ต๋๋ค. ์ ์ ๋ถ์ ํตํฉ์ ์ด๋ฌํ ํ์ดํ๋ผ์ธ์ ๋จ์ํ ๋น๋ ์์คํ ์์ ๋๊ท๋ชจ๋ก ๋ณต์กํ ๋น๋๊ธฐ ๋์์ ๊ฒ์ฆํ ์ ์๋ ์ฌ์ ์๋ฐฉ์ ํ์ง ๊ด๋ฆฌ ํ๋ ์์ํฌ๋ก ์ ํํฉ๋๋ค.
ํ์ดํ๋ผ์ธ์ ๊ฐ ๋จ๊ณ์ ๋ถ์์ ๋ด์ฅํ๋ฉด ์์ ์ฑ๊ณผ ๋ฐ๋ณต์ฑ์ด ๊ฐํ๋ฉ๋๋ค. ์ ์ ๋ถ์ ์์ง์ ํ ๋ฆฌํ์คํธ ์ค์ ์ฝ๋๋ฅผ ํ๊ฐํ๊ณ , ํ ์คํธ ๋จ๊ณ์์ ๋น๋๊ธฐ ๊ท์น ์ค์ ์ฌ๋ถ๋ฅผ ๋ชจ๋ํฐ๋งํ๋ฉฐ, ๋ฆด๋ฆฌ์ค ๊ฒํ ๋ฅผ ์ํ ์ข ์์ฑ ๋งต์ ์์ฑํฉ๋๋ค. ๋ชฉํ๋ ์ฝ๋ฉ ํ์ค์ ์ค์ํ๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ๋น๋๊ธฐ ํจํด ์ฝ๋ฐฑ, ์ด๋ฒคํธ ์ด๋ฏธํฐ, ๋น๋๊ธฐ ํจ์๊ฐ ์์ ํ ๋์์ฑ ๋ฐ ์ค๋ฅ ์ฒ๋ฆฌ ์์น์ ์ค์ํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค. ๋น๋ ์ ์์ฑ๋๋ ์๋ํ๋ ์ธ์ฌ์ดํธ๋ ํ์๊ฒ ํ๋ํ๊ฐ ์์ ์ฑ ๋ฐ ์ฑ๋ฅ ๋ชฉํ์ ๋ถํฉํ๋ค๋ ์ถ์ ๊ฐ๋ฅํ ์ฆ๊ฑฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๋น๋๊ธฐ ๊ตฌ์กฐ์ ๋ํ ์๋ํ๋ ๊ท์น ๊ตฌ์ฑ
๋น๋๊ธฐ ์ ์ ๋ถ์ ํตํฉ์ ์ํฐํ๋ผ์ด์ฆ ์ฝ๋ฉ ๊ดํ์ ๋ง๋ ๊ท์น ์ธํธ๋ฅผ ์ ์ํ๋ ๊ฒ๋ถํฐ ์์๋ฉ๋๋ค. ์ด๋ฌํ ๊ท์น ๊ตฌ์ฑ์ ๋๊ธฐํ์ง ์์ ํ๋ผ๋ฏธ์ค, ์ค์ฒฉ ์ฝ๋ฐฑ, ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๋์์ ๊ฐ์ด ๋ฉด๋ฐํ ๊ฒํ ํด์ผ ํ๋ ๊ตฌ์กฐ๋ฅผ ์๋ณํฉ๋๋ค. ESLint ๋๋ TypeScript์ ๊ฐ์ ๋๊ตฌ๋ ์กฐ์ง์ ์ํคํ ์ฒ์ ๊ณ ์ ํ ํจํด์ ๊ฐ์งํ๊ธฐ ์ํด ์ฌ์ฉ์ ์ง์ ๋น๋๊ธฐ ๊ฒ์ฌ ๊ธฐ๋ฅ์ผ๋ก ํ์ฅ๋ ์ ์์ต๋๋ค.
CI ํ์ดํ๋ผ์ธ์ ๋ด์ฅ๋ ์ ์ ๋ถ์ ์์ง์ ๊ตฌ์ฑ ํ์ผ์ ์ฝ์ด ์ ์ฅ์ ์ ์ฒด์ ๊ฑธ์ณ ์ผ๊ด๋ ๊ท์น์ ์ ์ฉํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๋น๋๊ธฐ ๊ท์น ์๋ฐ์ด ๋ฐ์ํ๋ฉด ํ์ดํ๋ผ์ธ ๋์๋ณด๋ ๋๋ ์ฝ๋ ๊ฒํ ๋๊ธ์ ํตํด ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ๋ฐ์ต๋๋ค. ์ด๋ฌํ ์ง์์ ์ธ ๊ท์น ์ ์ฉ ๋ฐฉ์์ ๋ฉ์ธํ๋ ์ ๋ฆฌํฉํ ๋ง์ ์ํ ์ง์์ ํตํฉ ์ ๋ต ์ ์์น๊ณผ ์ ์ฌํ๋ฉฐ , ์๋ํ๋ฅผ ํตํด ๋ถ์ฐ๋ ํ ์ ์ฒด์ ๊ฑธ์ณ ๊ท ์ผํ ๊ท์ ์ค์๋ฅผ ๋ณด์ฅํฉ๋๋ค.
๋น๋๊ธฐ ๊ท์น ํ๋กํ์ ์ ์ํ๋ฉด ๊ฑฐ๋ฒ๋์ค๋ฅผ ๊ฐ์ํํ๋ ๋์์ ๋ง์ถคํ ์ ์ฐ์ฑ์ ํ๋ณดํ ์ ์์ต๋๋ค. ํ์ ์์คํ ์ค์๋์ ๋ฐ๋ผ ๋ฏผ๊ฐ๋ ์๊ณ๊ฐ์ ์กฐ์ ํ์ฌ ์ ํ๋์ ๊ฐ๋ฐ ์๋์ ๊ท ํ์ ๋ง์ถ ์ ์์ต๋๋ค.
๋ฒ์ ์ ์ด์์์ ์ฆ๋ถ ์ค์บ๋ ๋ฐ ์ฐจ๋ฑ ๋ถ์
ํจ์จ์ฑ ์ ์ง๋ฅผ ์ํด ์ํฐํ๋ผ์ด์ฆ CI/CD ์ํฌํ๋ก๋ ์ฆ๋ถ ์ค์บ๋์ ๊ตฌํํฉ๋๋ค. ์ ์ ๋ถ์ ๋๊ตฌ๋ ์ ์ฒด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฌ๋ถ์ํ๋ ๋์ , ๋ฒ์ ๊ด๋ฆฌ diff๋ฅผ ํตํด ๊ฐ์ง๋ ์์ ๋ ๋ชจ๋์ ์ง์คํฉ๋๋ค. ์ฐจ๋ฑ ๋ถ์์ ๋น๋๊ธฐ ๊ตฌ์กฐ์ ์ด์ ์ํ์ ํ์ฌ ์ํ๋ฅผ ๋น๊ตํ์ฌ ์ต๊ทผ ์ปค๋ฐ์ผ๋ก ์ธํด ๋ฐ์ํ ์๋ก์ด ์ํ์ ํ์ ํฉ๋๋ค.
์ด๋ฌํ ์ง์ค์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋น๋ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถํ๊ณ ๊ฐ ์ฝ๋ ๋ณ๊ฒฝ์ ๋ํ ์ ์ ํ ๊ฒํ ๋ฅผ ๋ณด์ฅํฉ๋๋ค. ์ฆ๋ถ ๊ฒ์ฌ๋ ๋น๋๊ธฐ ์ข ์์ฑ์ด ์ฌ๋ฌ ํ์ ์์คํ ์ ๊ฑธ์ณ ์๋ ๋๊ท๋ชจ JavaScript ๋ชจ๋ ธ๋ฆฌํฌ์์ ํนํ ์ ์ฉํฉ๋๋ค. ์ด๋ฌํ ๊ฒ์ฌ๋ฅผ ๊ณผ๊ฑฐ ๊ธฐ์ค๊ณผ ๊ฒฐํฉํ์ฌ ํ์ ๋์์ฑ ํจํด์ ๋ณํ๋ฅผ ์ถ์ ํ๊ณ ์ฅ๊ธฐ์ ์ธ ์ํ ๊ฐ์๋ฅผ ํ๊ฐํ ์ ์์ต๋๋ค.
์ด ์ ์ง์ ๋ฐฉ๋ฒ๋ก ์ ์ํฅ ๋ถ์ ์ํํธ์จ์ด ํ ์คํธ ์์ ๋ฐ๊ฒฌ๋๋ ๊ฒ๊ณผ ์ ์ฌํ ๊ฐ๋ ์ ๋ฐํ์ผ๋ก ํ๋ฉฐ, ํ์ดํ๋ผ์ธ ์ฒ๋ฆฌ๋์ ์ ์งํ๊ธฐ ์ํด ์ํฅ์ ๋ฐ๋ ์์ญ๋ง ์ฌํ๊ฐํด์ผ ํ๋ค๋ ์ ์ ๊ฐ์กฐํฉ๋๋ค.
ํ ์คํธ ์ค์ผ์คํธ๋ ์ด์ ๊ณผ ๋น๋๊ธฐ ์ข ์์ฑ ๋งต ํตํฉ
ํจ๊ณผ์ ์ธ ํ์ดํ๋ผ์ธ ํตํฉ์ ์ํด์๋ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ์ ์๋ํ๋ ํ ์คํธ๋ฅผ ์ฐ๊ฒฐํด์ผ ํฉ๋๋ค. ๋น๋๊ธฐ ๋ถ์์ผ๋ก ์์ฑ๋ ์ข ์์ฑ ๊ทธ๋ํ๋ ์ฝ๋ ๋ณ๊ฒฝ ํ ์ด๋ค ํตํฉ ๋๋ ํ๊ท ํ ์คํธ๋ฅผ ์คํํด์ผ ํ๋์ง ์๋ ค์ค๋๋ค. ์์ ๋ ๋ชจ๋์ด ์ฌ๋ฌ ๋น๋๊ธฐ ์ฒด์ธ์ ์ํฅ์ ๋ฏธ์น๋ ๊ฒฝ์ฐ, ํ ์คํธ ์ค์ผ์คํธ๋ ์ด์ ์์คํ ์ ๊ด๋ จ ์ค์ํธ๋ฅผ ์๋์ผ๋ก ์์ฝํฉ๋๋ค.
์ด๋ฌํ ์กฐ์ ์ ํ ์คํธ๊ฐ ์ฝ๋ ์ํฅ์ ๋น๋กํ์ฌ ์ด๋ฃจ์ด์ง๋๋ก ํ์ฌ ์ค๋ณต ์คํ์ ์ค์ด๋ ๋์์ ์ปค๋ฒ๋ฆฌ์ง๋ฅผ ์ ์งํฉ๋๋ค. ๋ํ, ์ข ์์ฑ ๋ณ๊ฒฝ์ ๊ธฐ๋ฐ์ผ๋ก ์คํจ ๊ฐ๋ฅ์ฑ์ด ๋์ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์๋ณํ๋ ์์ธก ์คํจ ๋ถ์ ๊ธฐ๋ฅ๋ ์ง์ํฉ๋๋ค.
๋ถ์๊ณผ ํ ์คํธ ๊ฐ์ ์๋์ง ํจ๊ณผ๋ CI/CD ํ์ดํ๋ผ์ธ์ ์ฑ๋ฅ ํ๊ท ํ ์คํธ ์์ ์ค๋ช ํ๋ ๊ตฌ์กฐํ๋ ์ต์ ํ ์ ๊ทผ ๋ฐฉ์์ ๋ฐ์ํฉ๋๋ค . ์ด๋ ํ์ดํ๋ผ์ธ์ ๋ฐ์ํ ํ ์คํธ ํ๊ฒฝ์์ ์ง๋ฅ์ ์ด๊ณ ์์ฒด ์ ์ํ ํ์ง ๊ด๋ฆฌ ๋ฉ์ปค๋์ฆ์ผ๋ก ๋์ด์ฌ๋ฆฝ๋๋ค.
์ถ์ ๊ฐ๋ฅํ ๊ท์ ์ค์ ๋ฐ ์ฑ๋ฅ ์ํฐํฉํธ ์์ฑ
๋ถ์ ๊ฒฐ๊ณผ๊ฐ ์ผ์์ ์ธ ๋ก๊ทธ๊ฐ ์๋ ๊ฒ์ฆ ๊ฐ๋ฅํ ์ํฐํฉํธ๋ก ์ฒ๋ฆฌ๋ ๋ ์ํฐํ๋ผ์ด์ฆ ํ์ดํ๋ผ์ธ์ ์ด์ ์ ์ป์ต๋๋ค. ๋น๋๊ธฐ ์ข ์์ฑ, ํด๊ฒฐ๋์ง ์์ ์ฝ์, ์คํ ํ์ด๋ฐ์ ํฌ์ฐฉํ๋ ์ ์ ๋ถ์ ๋ณด๊ณ ์๋ ์ฝ๋ ๊ฒํ , ๊ฐ์ฌ ๋ฐ ์ต์ ํ ๊ฒํ ๋ฅผ ์ํ ๋ฌธ์๋ก ํ์ฉ๋ฉ๋๋ค.
์ด๋ฌํ ์ํฐํฉํธ๋ ๋ฌธ์ ์ถ์ ํ๋ซํผ๊ณผ ํตํฉ๋์ด ๊ฐ์ง๋ ์ํ์ ์์ ํฐ์ผ๊ณผ ์ง์ ์ฐ๊ฒฐํฉ๋๋ค. ๋ํ Smart TS XL๊ณผ ๊ฐ์ ์๊ฐํ ์์คํ ์๋ ์ ์ฉ๋์ด ์ ์ ๋ณด๊ณ ์๋ฅผ ํ์ ๊ฐ๋ฅํ ์ข ์์ฑ ๋งต์ผ๋ก ๋ณํํฉ๋๋ค. ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํ๋ก์ ํธ ๊ฑฐ๋ฒ๋์ค ๋๊ตฌ์ ์ฐ๊ฒฐํจ์ผ๋ก์จ ์กฐ์ง์ ์ฝ๋ ๋ณ๊ฒฝ๋ถํฐ ๊ฒ์ฆ ๊ฒฐ๊ณผ๊น์ง ์ถ์ ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
์ด๋ฌํ ์ํฐํฉํธ ๊ธฐ๋ฐ ๋ฐฉ๋ฒ๋ก ์ ์ต์ ์์คํ ์ ๋ํ ์ธ๋ถ ์ฐธ์กฐ ๋ณด๊ณ ์ ์์ ์ป์ ํต์ฐฐ๋ ฅ๊ณผ ์ผ๋งฅ์ํตํ๋ฉฐ , ๊ตฌ์กฐ์ ์ถ์ ์ฑ์ด ํ๋ํ์ ๋ํ ํ์ ์ ์ด๋ป๊ฒ ๋ท๋ฐ์นจํ๋์ง๋ฅผ ๋ณด์ฌ์ค๋๋ค. ๋น๋๊ธฐ ๋ถ์์ ์ง์์ ์ธ ์ฆ๊ฑฐ ์์ค๋ก ์ทจ๊ธํจ์ผ๋ก์จ ์ํํธ์จ์ด ์งํ๋ฅผ ์ธก์ ๊ฐ๋ฅํ๊ณ ํต์ ๋ ์ํ๋ก ์ ์งํ ์ ์์ต๋๋ค.
๋ณด์ ๋ฐ ๊ท์ ์ค์์ ๋ํ ์๋ฏธ
๋ณด์ ๋ฐ ๊ท์ ์ค์ ์๊ฑด์ ๊ธฐ์กด์ ์ ๊ทผ ์ ์ด ๋ฐ ์ํธํ ๋ฐฉ์์ ๋์ด ํ์ฅ๋ฉ๋๋ค. ๋น๋๊ธฐ JavaScript ์์คํ ์์๋ ์๊ฐ ์ข ์์ฑ, ๊ฒ์ฆ๋์ง ์์ ๋ฉ์์ง ๊ตํ ๋๋ ๋ถ์์ ํ ์ค๋ฅ ์ฒ๋ฆฌ ์ํ์ค๋ก ์ธํด ์ทจ์ฝ์ ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ๋น๋๊ธฐ ์คํ์ ๊ณต๊ฐ๊ณผ ์๊ฐ ์ธก๋ฉด์์ ์์ธ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ๋ถ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ์ํ์ ์ข ์ข ๋ฏธ๋ฌํ๊ฒ ๋ํ๋ฉ๋๋ค. ์ ์ ๋ถ์์ ๋น๋๊ธฐ ์ฝ๋๊ฐ ํ๋ฆฝ๋ ๋ณด์ ๋๋ ์์ ์ฑ ํจํด์์ ๋ฒ์ด๋๋ ๋ถ๋ถ์ ํ์ ํ์ฌ ์ด๋ฌํ ๋ถํ์ค์ฑ์ ์ฒด๊ณ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ๋ฐฐํฌ ์ ์ ์ง์ฐ๋ ๋ชจ๋ ์์ ์ ์ถ์ ํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ, ์ ๊ทผ ์ ์ด ๋ฐ ๋ณต๊ตฌ ์ผ๊ด์ฑ์ ๊ฒ์ฆํฉ๋๋ค.
๊ธ์ต, ํต์ , ์๋ฃ ๋ถ์ผ์ ๊ท์ ์ค์ ๊ธฐ์ค์ ์ถ์ ์ฑ๊ณผ ์ด์ ํฌ๋ช ์ฑ์ ์ ์ ๋ ๊ฐ์กฐํ๊ณ ์์ต๋๋ค. ๋น๋๊ธฐ ํ๊ฒฝ์ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋์์ผ๋ก ์ธํด ์ด๋ค ๊ตฌ์ฑ ์์๊ฐ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ธ์ ์ฒ๋ฆฌํ๋์ง ํ์ ํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์ด๋ฌํ ๋ชฉํ๋ฅผ ๋์ฑ ๋ณต์กํ๊ฒ ๋ง๋ญ๋๋ค. ์ ์ ๋ถ์์ ๋ชจ๋ ๋น๋๊ธฐ ํจ์, ๋ฉ์์ง, ํธ๋์ญ์ ์ด ์ ์ฑ ์์ ์ ์ํ ์ฒ๋ฆฌ ์ ์ฐจ๋ฅผ ์ค์ํ๋๋ก ๋ณด์ฅํ๋ ์ฆ๊ฑฐ ๊ธฐ๋ฐ ๋ณด์ฆ์ ๊ธฐ๋ฐ์ ์ ๊ณตํฉ๋๋ค. ์ ์ด ํ๋ฆ๊ณผ ์ข ์์ฑ ๊ทธ๋ํ๋ฅผ ์๊ฒฉํ๊ฒ ๊ฒ์ฌํจ์ผ๋ก์จ ๊ธฐ์ ์ ๋น๋๊ธฐ ๋ก์ง์ด ์์ธก ๊ฐ๋ฅํ๊ณ ์์ ํ๊ฒ ์๋ํจ์ ์ ์ฆํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ์ํฌํ๋ก ๋ด ์ก์ธ์ค ์ ์ด ์ํ
์ฌ์ฉ์ ์ญํ ์ด๋ ๊ถํ์ ํ์ธํ์ง ์๊ณ ๋น๋๊ธฐ ์ฝ๋ฐฑ์ด๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ์คํํ๋ฉด ์ก์ธ์ค ์ ์ด ์๋ฐ์ด ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์์ ์ ์ด๊ธฐ ์ธ์ฆ ์ดํ์ ์คํ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ํธ๋์ญ์ ์์ ์ ์ ์ฉ๋๋ ์ ์ฑ ๊ณ์ธต์ ์ฐํํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ๊ฒ์ฆ๋ ์ปจํ ์คํธ ์ธ๋ถ์์ ๊ถํ์ด ํ์ํ ์์ ์ ํธ์ถํ๋ ๋ฐ์ดํฐ ๊ฒฝ๋ก๋ฅผ ์ถ์ ํ์ฌ ์ด๋ฅผ ๊ฐ์งํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๋น๋๊ธฐ ์ฒด์ธ ์ ๋ฐ์ ๊ฑธ์ณ ์ฌ์ฉ์ ID ํ ํฐ, ๊ถํ ํ์ธ ๋ฐ ์ธ์ฆ ๋ฏธ๋ค์จ์ด ๊ฐ์ ์๊ด๊ด๊ณ๋ฅผ ๋ถ์ํฉ๋๋ค. ๊ถํ์ด ํ์ํ ํจ์์ ๊ฒ์ฆ ์์ด ์ ๊ทผํ ์ ์๋ ๊ฒฝ์ฐ, ํด๋น ๊ฒฝ๋ก๋ฅผ ์ ์ฌ์ ์ธ ๋ณด์ ์๋ฐ์ผ๋ก ํ์ํฉ๋๋ค. ์ด๋ฌํ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ํํธ์จ์ด ๊ด๋ฆฌ ๋ณต์ก์ฑ ๋ถ์ ๊ณผ ์ ์ฌํ ์ข ์์ฑ ๋งคํ๊ณผ ํตํฉํจ์ผ๋ก์จ ๋ถ์ฐ ์ํคํ ์ฒ ์ ๋ฐ์์ ๊ถํ ๊ฒฝ๊ณ๊ฐ ์จ์ ํ ์ ์ง๋๋๋ก ํฉ๋๋ค.
์ด ๋ถ์์ ์ฌ์ ์๋ฐฉ์ ์ ์ด ๊ฒ์ฆ์ ํ๋ฆฝํ๊ณ ๋น๋๊ธฐ ๋ ผ๋ฆฌ๊ฐ ๋๊ธฐ ์์ ๊ณผ ๋์ผํ ์ก์ธ์ค ๊ท์น์ ์ ์ฉํ๋ค๋ ๊ฒ์ ํ์ธํฉ๋๋ค.
๋์ ์ ๋ฐ์ดํธ ์ค ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ํ์ธ
๋น๋๊ธฐ ์ ๋ฐ์ดํธ๋ ์ฌ๋ฌ ํ๋ก์ธ์ค๊ฐ ๊ณต์ ๋ฐ์ดํฐ๋ฅผ ๋์์ ์์ ํ๋ ค๊ณ ํ ๋ ๋ฌด๊ฒฐ์ฑ ์ํ์ ์ด๋ํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ํธ๋์ญ์ ์ข ์์ฑ์ ๋ชจ๋ธ๋งํ๊ณ ์ ๋ฐ์ดํธ ์์ ์ด ์ผ๊ด๋ ์์๋ก ์ํ๋๋์ง ํ์ธํ์ฌ ์์์ ๋ฐฉ์งํฉ๋๋ค. ๋ํ, ๊ฒฐ์ ๋ก ์ ๊ฒฐ๊ณผ๋ฅผ ์ ์งํ๊ธฐ ์ํด ์ ๊ธ ๋ฉ์ปค๋์ฆ, ์์์ ์์ ๋๋ ๋ณด์ ํธ๋์ญ์ ์ด ๊ตฌํ๋์ด ์๋์ง ๊ฒ์ฌํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๊ฐ ๋น๋๊ธฐ ์ฐ๊ธฐ ๊ฒฝ๋ก๋ฅผ ๊ฒ์ฌํ์ฌ ์ ์๋ ๋๊ธฐํ ๋๋ ๊ฒ์ฆ ๊ท์น์ ๋ฐ๋ผ ์๋ํ๋์ง ํ์ธํฉ๋๋ค. ๊ฒฝ์ ์กฐ๊ฑด์ด ๋ฐ์ํ ์ ์๋ ์๋๋ฆฌ์ค์์, ๋ถ์๊ธฐ๋ ์ ์ฌ์ ์ถฉ๋ ์ง์ ์ ํ์ ํ๊ณ ๋ฒ์ ๊ด๋ฆฌ ๋๋ ํ์ ๋ฉ์ปค๋์ฆ์ ๊ตฌํํด์ผ ํ ์์น๋ฅผ ์ ์ํฉ๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋ฐ์ดํฐ ํ๋ํ ์ ๊ฐ๋ ๊ณผ ์ผ๋งฅ์ํตํ๋ฉฐ , ๋ฐ์ดํฐ ๋ณํ์ ๋ํ ๊ตฌ์กฐํ๋ ์ ์ด๋ฅผ ํตํด ์งํํ๋ ํ๋ซํผ ์ ๋ฐ์ ๊ฑธ์ณ ์ ๋ขฐ์ฑ์ ๋ณด์ฅํฉ๋๋ค. ์ ์ ๋ถ์์ ๋ฌด๊ฒฐ์ฑ ๊ฒ์ฆ์ ํตํฉํจ์ผ๋ก์จ ๊ธฐ์ ์ ์๋ฐํ ๋ฐ์ดํฐ ์์์ ๋ฐฉ์งํ๊ณ ๋ณต๊ตฌ ์ค๋ฒํค๋๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ์ค๋ฅ ์ฒ๋ฆฌ ์ผ๊ด์ฑ ๊ฐ์ฌ
๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ ๋น๋๊ธฐ ๊ฒฝ๊ณ๋ฅผ ๋๋๋๋ ์ผ๊ด๋ ์ค๋ฅ ๊ฐ์ง ๋ฐ ๋ณด๊ณ ์ ๋ฌ๋ ค ์์ต๋๋ค. ๋ถ์ฐ ์์คํ ์์๋ ํ๋ผ๋ฏธ์ค๊ฐ ์ ๋๋ก ์ฐ๊ฒฐ๋์ง ์์ผ๋ฉด ์์ธ๊ฐ ์์ธก ๋ถ๊ฐ๋ฅํ๊ฒ ์ ํ๋๊ฑฐ๋ ๋ณด๊ณ ๋์ง ์์ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ๋ชจ๋ ๊ฑฐ๋ถ ๋ฐ ์์ธ ๋ถ๊ธฐ๋ฅผ ์ถ์ ํ์ฌ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฒ์์ ์์ ์ฑ์ ๊ฒ์ฆํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๊ฐ ๋น๋๊ธฐ ๊ตฌ์กฐ์ ์ฅ์ ๋ฅผ ํฌ์ฐฉ, ๊ธฐ๋ก ๋ฐ ๋ถ๋ฅํ๋ ๋ฉ์ปค๋์ฆ์ด ํฌํจ๋์ด ์๋์ง ํ์ธํฉ๋๋ค. ๋ํ ์ด๋ฌํ ์ด๋ฒคํธ๋ฅผ ์ฌ์๋, ๋กค๋ฐฑ ๋๋ ์๋ฆผ๊ณผ ๊ฐ์ ๋ณต๊ตฌ ๋ก์ง๊ณผ ์ฐ๊ด์ํต๋๋ค. ์ด๋ฌํ ์์ ์ฅ์น ์์ด ๋น๋๊ธฐ ๊ฒฝ๋ก๊ฐ ์ข ๋ฃ๋๋ ๊ฒฝ์ฐ, ๋ถ์๊ธฐ๋ ์ด๋ฅผ ๊ฐ์ฌ ๊ฐญ์ผ๋ก ํ์ํฉ๋๋ค.
์ด๋ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ ํ ์ค๋ฅ ์ฒ๋ฆฌ ์์ ์ป์ ํต์ฐฐ๋ ฅ๊ณผ ์ํธ ์ฐธ์กฐํจ์ผ๋ก์จ ๋น๋๊ธฐ ์ค๋ฅ ๋ณด๊ณ ๊ฐ ๋๊ธฐ ์์คํ ๊ณผ ๋์ผํ ์์ค์ ์๊ฒฉ์ฑ์ ์ถฉ์กฑํ๊ณ ์๋ฒฝํ ์ถ์ ์ฑ์ ์ ์งํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ตฌ์กฐํ๋ ์ข ์์ฑ ๊ฒ์ฆ์ ํตํ ๊ท์ ์ค์ ์๋ํ
์ ์ ๋ถ์์ ์๋ํ๋ ๊ท์ ์ค์ ๊ฒ์ฆ์๋ ์ง์ ์ ์ผ๋ก ๊ธฐ์ฌํฉ๋๋ค. ๋ชจ๋, ์ด๋ฒคํธ ์์ค ๋ฐ ๋ฐ์ดํฐ ์๋ํฌ์ธํธ ๊ฐ์ ์ข ์์ฑ์ ๋งคํํ์ฌ ์ํํธ์จ์ด ๋์์ด ๋ฌธ์ํ๋ ์ ์ฑ ๊ณผ ์ด๋ป๊ฒ ์ผ์นํ๋์ง ์ฒด๊ณ์ ์ผ๋ก ๋ณด์ฌ์ค๋๋ค. ์๋ํ๋ ์คํฌ๋ฆฝํธ๋ ์ด๋ฌํ ๊ทธ๋ํ๋ฅผ ๋ด๋ถ ๊ฑฐ๋ฒ๋์ค ํ ํ๋ฆฟ ๋๋ ๊ตฌ์ฑ ๊ด๋ฆฌ ๊ธฐ์ค๊ณผ ๊ต์ฐจ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ตฌ์กฐํ๋ ๊ฒ์ฆ์ ์ ์ด ์ผ๊ด์ฑ์ ์ ์ฆํ๊ณ ๊ท์ ์ค์ ๋ณด๊ณ ๋ฅผ ๊ฐ์ํํฉ๋๋ค. ๋ํ ๊ฐ์ฌ์์ ๊ท์ ๊ธฐ๊ด์ ๋ชจ๋ ๋น๋๊ธฐ ์ข ์์ฑ์ด ๊ณ ๋ ค๋์์ผ๋ฉฐ ์คํ ๋ก์ง์ด ์ ์๋ ๋ณด์ ๋ฐ ์ด์ ํจํด์ ์ค์ํจ์ ๋ณด์ฌ์ค๋๋ค.
์ด ๋ฐฉ๋ฒ์ ์ํํธ์จ์ด ์ธํ ๋ฆฌ์ ์ค ์ ์ ์ฌ์ ์ ์ง๋๋๋ฐ, ๋ถ์ ๋ชจ๋ธ์ด ์ฝ๋ ๊ตฌ์กฐ๋ฅผ ์คํ ๊ฐ๋ฅํ ๊ฑฐ๋ฒ๋์ค ์ฐ์ถ๋ฌผ๋ก ๋ณํํ๋ ๋ฐฉ์์ ๋๋ค. ์ ์ ๋ถ์์์ ๋์ถ๋ ์๋ํ๋ ๊ท์ ์ค์๋ ์ฃผ๊ด์ ์ธ ํด์์ ๊ฒ์ฆ ๊ฐ๋ฅํ๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๊ฒฐ๊ณผ๋ก ๋์ฒดํฉ๋๋ค.
์ ์ ์งํ๋ฅผ ํตํ ์ฑ๋ฅ ๋ฐ ์ต์ ํ ํต์ฐฐ๋ ฅ
๋น๋๊ธฐ ์คํ์ ๋ฉ์ธ ์ค๋ ๋๋ฅผ ์ฐจ๋จํ์ง ์๊ณ ์ฌ๋ฌ ์์ ์ ์งํํ ์ ์๋๋ก ํ์ฌ ์ฒ๋ฆฌ๋์ ํฅ์์ํค์ง๋ง, ์ฑ๋ฅ ๋์์ ์์ธกํ๊ธฐ ์ด๋ ต๊ฒ ๋ง๋ญ๋๋ค. ์ง์ฐ๋ ํจ์, ์ด๋ฒคํธ ๋ฆฌ์ค๋ ๋๋ ๋๊ธฐ์ด์ ์ถ๊ฐ๋ ๋ฉ์์ง๋ ๊ฐ๋ณ์ฑ์ ์ฆ๊ฐ์์ผ ๊ณผ๋ถํ ์ ์ง์ฐ ์๊ฐ์ ์ฆํญ์ํค๊ฑฐ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ฆ๊ฐ์ํฌ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์ข ์์ฑ ๊น์ด, ๋๊ธฐ์ด ๋ฐ๋, ์ ์ด ํ๋ฆ ๋ณต์ก์ฑ๊ณผ ๊ฐ์ ๊ตฌ์กฐ์ ์งํ๋ฅผ ๊ฒํ ํ์ฌ ์ด๋ฌํ ์ฑ๋ฅ ์ญํ์ ๋ํ ๋ฐํ์ ์ ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ต์ ํ๊ฐ ๋ฐ์ํ ํ๋กํ์ผ๋ง์์ ์ ์ ์ ์ค๊ณ๋ก ์ ํ๋ฉ๋๋ค.
๊ธฐ์ ํ๋ํ ๋ ธ๋ ฅ์ ์ ์ ๋ชจ๋ธ์์ ๋์ถ๋ ์งํ์ ์ ์ ๋ ์์กดํ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋ชจ๋ธ์ ์์ ํฌ์์, ์ฝ์ ์ฒด์ด๋ ๊น์ด, ๋์์ฑ ํ์ฉ๋๋ฅผ ํฌํจํ ๋น๋๊ธฐ ์คํ ํน์ฑ์ ์ ๋ํํฉ๋๋ค. ์ด๋ฌํ ๊ฐ์ ๊ณผ๊ฑฐ ์ฑ๋ฅ ๋ฐ์ดํฐ์ ์ฐ๊ด์ํด์ผ๋ก์จ ๊ธฐ์ ์ ์ด์ ํ๊ฒฝ์ ๊ตฌ์กฐ์ ๋ณ๋ชฉ ํ์์ด ๋ฐ์ํ๊ธฐ ์ ์ ์ด๋ฅผ ํ์ ํ ์ ์์ต๋๋ค. ์ ์ ์งํ๋ ๊ฐ๋ฐ๊ณผ ์ด์์ ์ฐ๊ฒฐํ์ฌ ์ต์ ํ ๊ฒฐ์ ์ด ์ถ์ธก์ด ์๋ ๋ฐ์ดํฐ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ก ๋ณด์ฅํฉ๋๋ค.
์ค์ฒฉ๋ ๋น๋๊ธฐ ์ฒด์ธ์ ํตํ ์ง์ฐ ์ฆํญ ์๋ณ
๊น๊ฒ ์ค์ฒฉ๋ ๋น๋๊ธฐ ์ฒด์ธ์ ์ ์ฌ์ ์ธ ์ฑ๋ฅ ์ ํ์ ์ฃผ์ ์์ธ์ ๋๋ค. ๋๊ธฐ ๋๋ ์ฝ๋ฐฑ ์ค์ฒฉ ๊ณ์ธต์ด ์ถ๊ฐ๋ ๋๋ง๋ค ์ค์ผ์ค๋ง ์ค๋ฒํค๋๊ฐ ์ฆ๊ฐํ๊ณ ๋์ ์คํ ์๊ฐ์ด ์ง์ฐ๋ฉ๋๋ค. ์ ์ ๋ถ์ ๋๊ตฌ๋ ์ฝ๋๋ฒ ์ด์ค ๋ด ์ต๋ ๋ฐ ํ๊ท ์ฒด์ธ ๊น์ด๋ฅผ ์ธก์ ํ๊ณ ๋ณ๋ ฌํ๊ฐ ์ง๋ ฌ ์ข ์์ฑ์ ๋์ฒดํ ์ ์๋ ๋ถ๋ถ์ ํ์ ํ์ฌ ์ด๋ฌํ ํจํด์ ๊ฐ์งํฉ๋๋ค.
๋ถ์๊ธฐ๋ ์์ฐจ์ ๊ด๊ณ์ ๋ณ๋ ฌ ๊ด๊ณ๋ฅผ ํ์ํ๋ ์ข ์์ฑ ๊ทธ๋ํ๋ฅผ ์์ฑํฉ๋๋ค. ํน์ ์์ ์ด ๋ถํ์ํ๊ฒ ์ข ์์ ์ธ ๊ฒฝ์ฐ, ๋๊ตฌ๋ ์ผ๊ด ์ฒ๋ฆฌ ๋๋ ๋์ ์คํ๊ณผ ๊ฐ์ ๋ถ๋ฆฌ ์ ๋ต์ ๊ถ์ฅํฉ๋๋ค. ์ด๋ฌํ ๊ตฌ์กฐ์ ํต์ฐฐ๋ ฅ์ ๊ธฐ๋ฅ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๊ฒฝํ์ง ์๊ณ ์ง์ฐ ์๊ฐ ์ฆํญ์ ์ค์ ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ง์ฐ ์๊ฐ์ ์ํฅ์ ๋ฏธ์น๋ ์จ๊ฒจ์ง ์ฝ๋ ๊ฒฝ๋ก๋ฅผ ํ์งํ๋ ๊ฒ๊ณผ ์ ์ฌํ ์ ๊ทผ ๋ฐฉ์์ ํตํด ์ ์ ๊ฒฝ๋ก ํ์์ ๋ฐํ์ ๋ชจ๋ํฐ๋ง์์ ๋์น๋ ๋นํจ์จ์ฑ์ ๋๋ฌ๋ผ ์ ์์ต๋๋ค. ๊ณผ๋ํ ์ฒด์ธ ๊น์ด๋ฅผ ์ ๊ฑฐํ๋ฉด ๋น๋๊ธฐ ์ํฌํ๋ก์ ์์ ์ฑ์ ์ ์งํ๋ฉด์ ์์ธก ๊ฐ๋ฅํ ์ฑ๋ฅ์ ๋ณต์ํ ์ ์์ต๋๋ค.
๋ฆฌ์์ค ํ์ฉ ๋ฐ ์ด๋ฒคํธ ์ผ์ ์ต์ ํ
์ ์ ๋ถ์์ ๋น๋๊ธฐ ํ๋ก์ธ์ค๊ฐ CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ๋ฆฌ์์ค๋ฅผ ์ด๋ป๊ฒ ์ฌ์ฉํ๋์ง ํ๊ฐํฉ๋๋ค. ๊ณผ๋ํ ํ์ด๋จธ, ์ค๋ณต๋๋ ์ด๋ฒคํธ ํธ๋ค๋ฌ, ๋๋ ์ค๋ณต๋ ํ๋ผ๋ฏธ์ค ์์ฑ์ ์ด๋ฒคํธ ๋ฃจํ๋ฅผ ํฌํ์์ผ ์์ธก ๋ถ๊ฐ๋ฅํ ์๋ ์ ํ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค. ๋ถ์๊ธฐ๋ ํ์ฑ ๋น๋๊ธฐ ์ปจํ ์คํธ๋ฅผ ๊ณ์ฐํ๊ณ ์ค์ผ์ค๋ง ๋์์ฑ์ ์์ธกํจ์ผ๋ก์จ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๋๋ ์์ ์กฐ์ ์ด ํ์ํ ๋ถ๋ถ์ ์ ํํ๊ฒ ํ์ ํฉ๋๋ค.
์ด ๋ชจ๋ธ๋ง์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋๋ ๋ฉ์์ง ํ๋ก ์ฐ๊ธฐํด์ผ โโํ๋ ์ค์ํ์ง ์์ ์์ ์ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ํ ์์ ์ ์ค๋ณตํ๋ ๋ฆฌ์ค๋๋ฅผ ๋๋ฌ๋ ๋๋ค. COBOL์์ CPU ๋ณ๋ชฉ ํ์์ ํผํ๋ ๊ธฐ๋ฒ๊ณผ ์ ์ฌํ ์ด ๊ธฐ์ ์ ์ฝ๋ ์์ค ์ต์ ํ๊ฐ ๋ค์ํ ์ํคํ ์ฒ์์ ์ธก์ ๊ฐ๋ฅํ ํจ์จ์ฑ ํฅ์์ ๊ฐ์ ธ์ค๋ ๋ฐฉ์์ ๋ณด์ฌ์ค๋๋ค.
ํ๊ฒ ๋ฆฌํฉํ ๋ง์ ํตํด ๋ฆฌ์์ค ๊ฒฝํฉ์ ์ค์ด๋ฉด ์ฒ๋ฆฌ๋์ด ๋ ์ํํด์ง๊ณ ์ด๋ฒคํธ ๋ฃจํ ์๋ต์ฑ์ด ํฅ์๋์ด ์ฌ์ฉ์ ๊ฒฝํ๊ณผ ์ด์ ๋น์ฉ์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
๋น๋๊ธฐ ์ค๋ฅ ๋ณต๊ตฌ ์ค๋ฒํค๋ ์ ๋ํ
๋น๋๊ธฐ ์์คํ ์์ ์ค๋ฅ ๋ณต๊ตฌ๋ ์จ๊ฒจ์ง ์ฑ๋ฅ ์ ํ๋ฅผ ์ด๋ํ ์ ์์ต๋๋ค. ์คํจํ ํ๋ผ๋ฏธ์ค ์ฌ์๋, ์์ผ ์ฌ์ด๊ธฐํ ๋๋ ์ธ์ ์ํ ๋ณต์์ ๋ฆฌ์์ค๋ฅผ ์๋ชจํ๊ณ ์๋ต ์๊ฐ์ ์ฆ๊ฐ์ํต๋๋ค. ์ ์ ๋ถ์์ ์ค๋ฅ ์ฒ๋ฆฌ๊ธฐ๊ฐ ์ฌ์๋ ๋ฃจํ๋ฅผ ์์ํ๋ ๋น๋์ ์ด๋ฌํ ๋ฃจํ๊ฐ ์ด๋ฒคํธ ํ์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์กฐ์ฌํ์ฌ ์ด๋ฌํ ์ค๋ฒํค๋๋ฅผ ์ ๋ํํฉ๋๋ค.
์ฌ์๋ ๋ก์ง์ ์์ ๋ฒ์ฃผ์ ์ฐ๊ด์ํด์ผ๋ก์จ ๋ถ์๊ธฐ๋ ์ต์ ์ ์กฐ๊ฑด์์ ๋์ ์ง์ฐ ์๊ฐ์ ์ถ์ ํฉ๋๋ค. ๋ํ ํ์ฉ ๊ฐ๋ฅํ ์๊ณ๊ฐ์ ์ด๊ณผํ์ฌ ์ง์ฐ ์๊ฐ์ ์ฆ๊ฐ์ํฌ ์ ์๋ ์ง์ ๋ฐฑ์คํ ๊ตฌ์ฑ ์ค๋ฅ๋ฅผ ์๋ณํฉ๋๋ค. ์์ธ ์ฒ๋ฆฌ์ ์ฑ๋ฅ ์ํฅ ์ธก์ ๋ ผ๋ฆฌ์ ์ผ๊ด๋๊ฒ , ์ด ๋ถ์์ ๋ณต๊ตฌ ๋ฉ์ปค๋์ฆ์ด ๋น์ฉ ํจ์จ์ ์ผ๋ก ์ ์ง๋๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ณต๊ตฌ ์ค๋ฒํค๋๋ฅผ ์ ๋์ ์ผ๋ก ํ๊ฐํ๋ฉด ํ์ ํ๋ณต์ฑ๊ณผ ๋์์ฑ์ ๊ท ํ์ ๋ง์ถ๊ณ ์๋ก์ด ์ฑ๋ฅ ์ํ์ ๋ฐ์์ํค์ง ์๊ณ ๋น๋๊ธฐ ์์ ์ฑ์ ์ต์ ํํ ์ ์์ต๋๋ค.
๋์์ฑ ํจํด์์ ํ์ฅ์ฑ ํ๊ณ ์์ธก
ํ์ฅ์ฑ์ ์์คํ ๋ฆฌ์์ค์ ๋ถ๋ด์ ์ฃผ์ง ์๊ณ ๋น๋๊ธฐ ์์ ์ ์ผ๋ง๋ ํจ์จ์ ์ผ๋ก ๋ณ๋ ฌ๋ก ์คํํ ์ ์๋์ง์ ๋ฌ๋ ค ์์ต๋๋ค. ์ ์ ๋ถ์์ ์ ๋ ฅ๋์ ๋ฐ๋ผ ๋์์ฑ์ด ์ด๋ป๊ฒ ์ฆ๊ฐํ๋์ง ๋ชจ๋ธ๋งํ์ฌ ํ์ฅ์ฑ์ ํ๊ณ๋ฅผ ์์ธกํฉ๋๋ค. ๊ณต์ ์ํ, ์ง๋ ฌํ๋ ์ข ์์ฑ ๋๋ ๋๊ธฐ์ด ํฌํ์ ๊ฐ์ ๋ณ๋ชฉ ํ์์ด ์ํ์ ํ์ฅ์ ์ ํํ๋์ง ์ฌ๋ถ๋ฅผ ๊ฒํ ํฉ๋๋ค.
๋ถ์๊ธฐ๋ ๋์์ฑ ์๊ณ๊ฐ์ ๋ณด๊ณ ํ์ฌ ์ํคํ ํธ๊ฐ ์ค๊ณ ๋ณ๊ฒฝ์ด๋ ํํฐ์ ๋ ์ ๋ต์ ํตํด ๊ฐ์ฅ ๋์ ์ฑ๊ณผ๋ฅผ ์ป์ ์ ์๋ ๋ถ๋ถ์ ํ์ ํ ์ ์๋๋ก ํฉ๋๋ค. ๋ฉ์ธํ๋ ์ ํ๋ํ๋ฅผ ์ํ ์ฉ๋ ๊ณํ ์ ์ค๋ช ๋ ๊ฒ๊ณผ ๊ฐ์ ํ๋ํ ์งํ์ ํจ๊ป ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ์์ธก์ ํตํด ๋ถ์ฐ JavaScript ์ํฌ๋ก๋์ ๋ํ ์ฉ๋ ๋ชจ๋ธ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์์ธก ํ์ฅ์ฑ ๋ชจ๋ธ๋ง์ ๋น๋๊ธฐ์ ๋์์ ์ ๋ํ ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์๋ก ๋ณํํ์ฌ ์ ๋ณด์ ์ ๊ฐํ ์ธํ๋ผ ๊ณํ๊ณผ ์ง์์ ์ธ ๊ฐ์ ์ฃผ๊ธฐ๋ฅผ ์ง์ํฉ๋๋ค.
๋น๋๊ธฐ ์ธํ ๋ฆฌ์ ์ค๋ฅผ ์ํ Smart TS XL
๋น๋๊ธฐ JavaScript ์ํ๊ณ๋ฅผ ๊ด๋ฆฌํ๋ ๋๊ธฐ์ ์ ๋ก๊ทธ ๊ฒ์ฌ ๋ฐ ํ ์คํธ ๋ฒ์๋ฅผ ๋์ด์๋ ์๊ฐํ ๋ฐ ์ถ์ ์ฑ์ด ํ์ํฉ๋๋ค. Smart TS XL์ ์ ์ ๋ถ์ ๋ฐ์ดํฐ๋ฅผ ๋ํํ ์ธํ ๋ฆฌ์ ์ค๋ก ๋ณํํ์ฌ ๋น๋๊ธฐ ๋์์ ๋ํ ๋ค์ฐจ์์ ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฝ๋๋ฅผ ๊ณ ๋ฆฝ๋ ํ์ผ๋ก ์ฒ๋ฆฌํ๋ ๋์ , ์ด๋ฒคํธ ๊ธฐ๋ฐ ๋ก์ง, ์ฝ์ ์ฒด์ธ, ์๋น์ค ๊ฐ ํต์ ์ ์ํธ ์ฐ๊ฒฐ๋ ์ข ์์ฑ ๋งต์ผ๋ก ํํํฉ๋๋ค. ์ด๋ฅผ ํตํด ์์ง๋์ด๋ง ํ์ ๋น๋๊ธฐ ํ๋ฆ์ด ์ํฐํ๋ผ์ด์ฆ ์์คํ ์ ๋ฐ์ ์ฑ๋ฅ, ์์ ์ฑ ๋ฐ ํ๋ํ ์ค๋น ์ํ์ ๋ฏธ์น๋ ์ํฅ์ ํ์ ํ ์ ์์ต๋๋ค.
๊ฐ๋ฐ ๋ผ์ดํ์ฌ์ดํด์ ํตํฉ๋๋ฉด Smart TS XL์ ๊ฒ์ ํ๋ซํผ์ด์ ๊ฒ์ฆ ์์ง ์ญํ ์ ํฉ๋๋ค. ์ ์ ์งํ, ์ํฅ ๊ทธ๋ํ, ์ข ์์ฑ ๊ด๊ณ๋ฅผ ์ค์๊ฐ์ผ๋ก ํ์ํ ์ ์๋ ์๊ฐ์ ์ฆ๊ฑฐ๋ก ํตํฉํฉ๋๋ค. ์ง์ฐ ์คํ, ๋๊ธฐ ์ด๋ฒคํธ, ๋ณ๋ ฌ ํ๋ก์ธ์ค์ ๊ฐ์ ๋น๋๊ธฐ ํจํด์ด ํฌ๋ช ํด์ง๋๋ค. ์ด๋ฌํ ์์ค์ ๊ฐ์์ฑ์ ํ์ด ๋นํจ์จ์ฑ์ ๊ฐ์งํ๊ณ , ๋ฆฌํฉํ ๋ง ์ค์ ๋์์ ํ์ธํ๊ณ , ๋ถ์ฐ ์ฝ๋์ ๋ฐ์ ์ ๋ํ ํ์ ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋น๋๊ธฐ ์ข ์์ฑ ๋คํธ์ํฌ ์๊ฐํ
Smart TS XL์ ์ ์ ๋ฐ ์ํฅ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ํ์ ๊ฐ๋ฅํ ์ข ์์ฑ ๋คํธ์ํฌ๋ก ๋ณํํฉ๋๋ค. ๊ฐ ๋น๋๊ธฐ ํจ์, ์ด๋ฒคํธ ๋ฐ์๊ธฐ, ๋ฉ์์ง ํ๋ ํธ์ถ ์์ ๋๋ ๋ฐ์ดํฐ ํ๋ฆ์ ๋ํ๋ด๋ ๋ฐฉํฅ์ฑ ๊ฐ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ธ๋๋ก ํํ๋ฉ๋๋ค. ์๊ฐ์ ๋งคํ์ ํตํด ์คํ ์ฒด์ธ์ด ์ด๋ป๊ฒ ๊ฒน์น๋์ง, ์ด๋ฒคํธ ๋ฃจํ๊ฐ ์ด๋์์ ์๋ ดํ๋์ง, ๊ทธ๋ฆฌ๊ณ ์ฌ๋ฌ ๋น๋๊ธฐ ์ฌ์ดํด์ ์ด๋ค ๋ชจ๋์ด ์ฐธ์ฌํ๋์ง ํ์ ํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๊ทธ๋ํ๋ ๊ธฐ์กด ๋ฌธ์ ๋ฐฉ์์ผ๋ก๋ ์ ๋ฌํ ์ ์๋ ๋ณต์กํ ์ด๋ฒคํธ ๊ธฐ๋ฐ ๊ตฌ์กฐ๋ฅผ ์ฝ๊ฒ ์ดํดํ ์ ์๋๋ก ๋์์ค๋๋ค. ํ์ ์ต์ ํ๋ฅผ ์ํด ํธ๋ํฝ์ด ๋ง๊ฑฐ๋ ์ํ๋๊ฐ ๋์ ๊ฒฝ๋ก๋ฅผ ํ์ ํ๊ณ , ์๋ต์ฑ์ ์ํฅ์ ๋ฏธ์น๋ ์ค๋ณต๋๊ฑฐ๋ ์ํ์ ์ธ ๊ด๊ณ๋ฅผ ์๋ณํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ฝ๋ ์๊ฐํ ๊ธฐ๋ฒ ์์ ์ ์ํ๋ ์๊ฐํ ์์น์ ๋ฐ์ํ์ฌ , ์์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์คํ ๊ฐ๋ฅํ ์ธ์ฌ์ดํธ๋ก ๋ณํํฉ๋๋ค.
์ฑ๋ฅ์ด๋ ์์ ์ฑ ์ธก์ ํญ๋ชฉ์ ์ค์ฒฉํ๋ฉด ๋์ผํ ๋งต์์ ๋น๋๊ธฐ ํผ์ก์ด๋ ๋ฉ์์ง ๋ฐฑ๋ก๊ทธ๊ฐ ๊ฐ์ฅ ์ฌ๊ฐํ ๋ชจ๋์ ๊ฐ์กฐ ํ์ํ์ฌ ์ ๋ฐ ์ต์ ํ๋ฅผ ์๋ดํ ์ ์์ต๋๋ค.
๋น๋๊ธฐ ํต์ฐฐ๋ ฅ์ ํ๋ํ ๋์๋ณด๋์ ํตํฉ
์ ์ ๋ถ์ ์ธ์ฌ์ดํธ๋ ๋ณด๊ณ ์์ ๋ฌปํ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Smart TS XL์ ๋น๋๊ธฐ ์ธํ ๋ฆฌ์ ์ค๋ฅผ ์ค์ ์ง์ค์ ํ๋ํ ๋์๋ณด๋์ ํตํฉํ์ฌ ์ด๋ฌํ ๊ฐ๊ทน์ ๋ฉ์๋๋ค. ์ด๋ฌํ ๋์๋ณด๋๋ ์ฌ๋ฌ ๋ถ์ ์คํ, CI ํ์ดํ๋ผ์ธ ๋ฐ ๋ฐํ์ ๋ชจ๋ํฐ์ ๋ฐ์ดํฐ๋ฅผ ์ง๊ณํ์ฌ ์์คํ ์ํ์ ๋ํ ํตํฉ๋ ์ํ ๋ทฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ฐ๋ฐ์์ ํ๋ํ ์ฑ ์์๋ ๋ฆด๋ฆฌ์ค ์ ๋ฐ์ ๊ฑธ์ณ ๋น๋๊ธฐ ๋์์ ๋ณํ๋ฅผ ์ถ์ ํ ์ ์์ต๋๋ค. ๋์๋ณด๋๋ ๋ฆฌํฉํ ๋ง, ์ข ์์ฑ ๋ณ๊ฒฝ ๋๋ ์๋ก์ด ํ๋ ์์ํฌ๊ฐ ๋์์ฑ ๋ฐ ์ง์ฐ ์๊ฐ ํ๋กํ์ ์ด๋ป๊ฒ ๋ณ๊ฒฝํ๋์ง ๋ณด์ฌ์ค๋๋ค. ์ด๋ฌํ ์ง์์ ์ธ ํผ๋๋ฐฑ์ ํตํด ๋๊ท๋ชจ ๋ฆฌ์์ง๋์ด๋ง ๋์ ๋ฐ๋ณต์ ์ธ ํ๋ํ๊ฐ ๊ฐ๋ฅํฉ๋๋ค.
์ด ์ค๊ณ ์ฒ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ํฌํธํด๋ฆฌ์ค ๊ด๋ฆฌ ์ํํธ์จ์ด ์์ ๋ ผ์๋ ๊ฒ๊ณผ ๋์ผํ ํ๋ํ ํฌ๋ช ์ฑ์ ๋ฐ๋ฅด๋ฉฐ , ํํธํ๋ ์๋ ๋ณด๊ณ ๋ฅผ ํตํฉ๋ ์ธ์ฌ์ดํธ๋ก ๋์ฒดํฉ๋๋ค. ๋์๋ณด๋์ ๋ด์ฅ๋ ๋น๋๊ธฐ ๋ถ์์ ์์ง๋์ด๋ง, ์ด์ ๋ฐ ์ํคํ ์ฒ ํ ๊ฐ์ ์์ฌ ๊ฒฐ์ ์ ์กฐ์จํฉ๋๋ค.
๋ฐํ์ ์๊ฒฉ ์ธก์ ์ ํตํ ๋น๋๊ธฐ ์ํฅ ๊ต์ฐจ ์ฐธ์กฐ
Smart TS XL์ ์ ์ ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ ์๊ฒฉ ์ธก์ ๊ณผ ์ฐ๊ฒฐํ์ฌ ํ๋ก๋์ ํ๊ฒฝ์์ ๋น๋๊ธฐ ๋ก์ง์ ๋์์ ๊ฒ์ฆํฉ๋๋ค. ์์ธก๋ ์ข ์์ฑ๊ณผ ๊ด์ฐฐ๋ ์ถ์ ๊ฒฐ๊ณผ์ ์๊ด๊ด๊ณ๋ฅผ ๋ถ์ํ์ฌ ์ฝ๋๊ฐ ์ค๊ณ๋๋ก ์คํ๋๋ ๋ถ๋ถ๊ณผ ํธ์ฐจ๊ฐ ๋ฐ์ํ๋ ๋ถ๋ถ์ ํ์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์ ์ ๋ชจ๋ธ๋ง์์๋ ์ธ ๊ฐ์ ์ข ์ ์๋น์ค๋ฅผ ํฌํจํ๋ Promise ์ฒด์ธ์ ๋ณด์ฌ์ฃผ์ง๋ง ์๊ฒฉ ์ธก์ ์์๋ ๋ ๊ฐ์ ํ์ฑ ํธ์ถ๋ง ๋ํ๋๋ ๊ฒฝ์ฐ, ์์คํ ์ ์กฐ์ฌ๋ฅผ ์ํด ๋ถ์ผ์น๋ฅผ ๊ฐ์กฐ ํ์ํฉ๋๋ค. ์ด๋ฌํ ๊ต์ฐจ ๊ฒ์ฆ์ ๋ถ์ ์ ํ์ฑ์ ๋ณด์ฅํ๊ณ ํฅํ ์์ธก์ ์ ๋ขฐ์ฑ์ ํฅ์์ํต๋๋ค.
์ ์ ๊ด์ ๊ณผ ๋ฐํ์ ๊ด์ ์ ๊ฒฐํฉํจ์ผ๋ก์จ ๋ฐํ์ ๋ถ์ ๊ฐ๋ ์ ํ์ฅํ์ฌ ์ง์์ ์ธ ๋น๋๊ธฐ ์ธํ ๋ฆฌ์ ์ค๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ์ด๋ ๋ชจ๋ธ๋ง๊ณผ ์ธก์ ๊ฐ์ ์ฐ๊ฒฐ ๊ณ ๋ฆฌ๋ฅผ ์์ฑํ์ฌ ์ค๊ณ๋ถํฐ ๋ฐฐํฌ๊น์ง ์ผ๊ด๋ ๊ฐ์์ฑ์ ๋ณด์ฅํฉ๋๋ค.
์๋ํ๋ ๋น๋๊ธฐ ์ฑ๋ฅ ๊ธฐ์ค ์ค์ ํ์ฑํ
Smart TS XL์ CI/CD ์ํฌํ๋ก์์ ํตํฉ์ ํตํด ๋น๋๊ธฐ ์คํ์ ์ํ ์๋ํ๋ ์ฑ๋ฅ ๊ธฐ์ค์ ์ค์ ํฉ๋๋ค. ๊ฐ ๋น๋ ๋๋ ๋ฐฐํฌ ํ, ์์คํ ์ ์๋ก์ด ์ข ์์ฑ ๋งต์ ์ด์ ๊ธฐ์ค๊ณผ ๋น๊ตํ์ฌ ๊ตฌ์กฐ์ ํธ์ฐจ๋ฅผ ์ธก์ ํฉ๋๋ค. ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ถ๊ฐ, ๋ ์ฌํ๋ Promise ์ฒด์ธ, ๋๋ ์๋ก์ด ๋ณ๋ ฌ ์์ ๊ณผ ๊ฐ์ ํธ์ฐจ๋ ์ ์ฌ์ ์ธ ์ฑ๋ฅ ๋๋ ์์ ์ฑ ์ํฅ์ ๋ํ๋ ๋๋ค.
์ด๋ฌํ ์๋ํ๋ฅผ ํตํด ์๋ ์ ๊ฒ์ ์์ ๋ ๋์์ ์์คํ ์งํ์ ๋ํ ์ ํํ ์ ๋ณด๋ฅผ ์ ์งํ ์ ์์ต๋๋ค. ๊ธฐ์ค ๋ฐ์ดํฐ๋ ์ง์์ ์ธ ๊ฐ์ ๊ณํ์ ์ง์ํ๊ณ ํ๋ํ ์ฑ๊ณต์ ๋ํ ๊ตฌ์ฒด์ ์ธ ์งํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ํํธ์จ์ด ์ธํ ๋ฆฌ์ ์ค ์์ ์์ธํ ์ค๋ช ๋ ๊ฒ๊ณผ ์ ์ฌํ ์ ๊ทผ ๋ฐฉ์์ ์ง์์ ์ธ ๊ตฌ์กฐ ๋ชจ๋ํฐ๋ง์ ํตํด ์ ์ ์ธ ํต์ฐฐ๋ ฅ์ ์ด์์๋ ์ํคํ ์ฒ ์ง์์ผ๋ก ๋ณํํ๋ ๋ฐฉ๋ฒ์ ๋ณด์ฌ์ค๋๋ค. ๋น๋๊ธฐ ํ๊ฒฝ์์ ์ด๋ฌํ ์ง์์ ์ธ ๊ฒ์ฆ์ ์์คํ ์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ๋ณต์ก์ฑ์ ๊ด์ฐฐ ๊ฐ๋ฅํ๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ํ๋ก ์ ์งํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋น๋๊ธฐ ๋ณต์ก์ฑ์์ ์์ธก ๊ฐ๋ฅํ ๊ฒฝ๋ก ์์ฑ
๋น๋๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ JavaScript ์์คํ ์ด ํ์ฅ์ฑ๊ณผ ์๋ต์ฑ์ ๋ฌ์ฑํ๋ ๋ฐฉ์์ ์ฌ์ ์ํ์ ๋ฟ๋ง ์๋๋ผ, ์ํํธ์จ์ด ๋ถ์์ ๋ณธ์ง ๋ํ ๋ณํ์์ผฐ์ต๋๋ค. ๋น๋๊ธฐ ํ๊ฒฝ์์๋ ์ ์ด ํ๋ฆ์ด ๋ ์ด์ ํ๋ก๊ทธ๋จ ์์์ ์ ํํ๊ฒ ์ผ์นํ์ง ์์ผ๋ฉฐ, ๊ฒฐํจ์ด๋ ์ทจ์ฝ์ ์ ํน์ ํ์ด๋ฐ ๋ฐ ๋ฆฌ์์ค ์กฐ๊ฑด์์๋ง ๋ฐ์ํ ์ ์์ต๋๋ค. ์ ์ ๋ถ์์ ์ ํ ๊ฒ์ฌ์์ ๋ถ์ฐ ์์คํ ๋ด์์ ์ฝ์, ์ด๋ฒคํธ ๋ฐ ์ง์ฐ๋ ์คํ์ด ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์ฌ๊ตฌ์ฑํ ์ ์๋ ๋ค์ฐจ์ ๋ชจ๋ธ๋ง์ผ๋ก ๋ฐ์ ํ์ต๋๋ค. ๊ณผ๊ฑฐ์๋ ์ถ์ธก์ด๋ ๊ด๋ฒ์ํ ๋ฐํ์ ์ถ์ ์ด ํ์ํ๋ ๊ฒ์ด ์ด์ ๋ ์ธก์ ๊ฐ๋ฅํ๊ณ ์๊ฐ์ ์ด๋ฉฐ ์ค๋ช ๊ฐ๋ฅํฉ๋๋ค.
๋ณธ ๋ฌธ์์์ ์ดํด๋ณธ ๋ฐฉ๋ฒ์ ํตํด ์ ์ ๋ถ์์ ๊ธฐ์ ์ด ๋น๋๊ธฐ ๋ณต์ก์ฑ์ ํ์คํ๊ฒ ๊ด๋ฆฌํ๋ ๋ฐ ํ์ํ ์ ๋ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค. ์ ์ด ํ๋ฆ ๊ทธ๋ํ ํ์ฅ, ๋ฉ์์ง ์ ํ ๋งคํ, ๋ชจ๋ ๋ฐ API ์๊ด ๊ด๊ณ ๋ถ์, ๊ทธ๋ฆฌ๊ณ ๋์์ฑ ๋์ ์ ๋ํ๋ฅผ ํตํด ์์ง๋์ด๋ง ํ์ ์ค๋จ ์์ด ํ๋ํํ ์ ์๋ ๋ช ํ์ฑ์ ํ๋ณดํฉ๋๋ค. ๋น๋๊ธฐ ๋ถ์์ CI/CD ํ์ดํ๋ผ์ธ์ ํตํฉํ๋ฉด ๋ฐฐํฌ ์ ์ ์ ์ฌ์ ์ธ ๊ฒฐํจ๊ณผ ๋นํจ์จ์ฑ์ ๊ฐ์งํ ์ ์์ผ๋ฉฐ, Smart TS XL๊ณผ ๊ฐ์ ์๊ฐํ ํ๋ซํผ์ ๋ณต์กํ ์ข ์์ฑ ๋ฐ์ดํฐ๋ฅผ ์ดํดํ๊ธฐ ์ฌ์ด ์ ๋ณด๋ก ๋ณํํฉ๋๋ค.
๋น๋๊ธฐ ์ฒ๋ฆฌ ํ๊ฒฝ์ ๋ํ ์ธ์์ ๊ธฐ์กด ๋ถ์ ๋ฐฉ์์ผ๋ก๋ ๋๋ฌํ ์ ์๋ ๋ค์ํ ์ธก๋ฉด์์ ์ํํธ์จ์ด ํ์ง์ ํฅ์์ํต๋๋ค. ์ฑ๋ฅ ์ต์ ํ, ์ค๋ฅ ์ ํ, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ฑ์ด ์์ฒ ๊ฑด์ ๋์ ํธ๋์ญ์ ์์๋ ๊ฐ์ํ๋๊ณ ์ถ์ ๊ฐ๋ฅํด์ง๋๋ค. ๋ฐํ์ ๋ถ์ ๋ฐ ์ํฅ ๋ถ์ ํ ์คํธ ์ ๊ฐ์ ๊ด๋ จ ์ฐ๊ตฌ์์ ์ป์ ํต์ฐฐ๋ ฅ๊ณผ ๊ฒฐํฉํ๋ฉด ์ ์ ๋ถ์์ ๋จ์ํ ๊ฒ์ฆ ๋๊ตฌ๋ฅผ ๋์ด ํ๋ํ ๋ฐ ํ์ ์ ์ด๋๋ ์ํคํ ์ฒ ๋์นจ๋ฐ์ผ๋ก ์๋ฆฌ๋งค๊นํ๊ฒ ๋ฉ๋๋ค.
Smart TS XL์ ์ด๋ฌํ ์งํ์ ์ ํ์ ์ธ ์์ ๋๋ค. ์ ์ ์งํ, ๋ฐํ์ ์ฆ๊ฑฐ, ๊ทธ๋ฆฌ๊ณ ์ข ์์ฑ ์๊ฐํ๋ฅผ ํตํฉ ๋ถ์ ํ๋ซํผ์ผ๋ก ํตํฉํจ์ผ๋ก์จ, ์กฐ์ง์ ๋น๋๊ธฐ์ ํ๋์ ๋ ๋ฆฝ์ ์ธ ์ด๋ฒคํธ๋ค์ ์งํฉ์ด ์๋ ํ๋์ ์์ง๋ ์์คํ ์ผ๋ก ๊ด์ฐฐํ ์ ์์ต๋๋ค. ํ์ ๋ฌธ์ ๋ฅผ ๋ ๋น ๋ฅด๊ฒ ์ง๋จํ๊ณ , ๋ฆฌ์์ค ํ์ฉ์ ์ต์ ํํ๋ฉฐ, ๊ฒฝํ์ ์ ํ์ฑ์ ๋ฐํ์ผ๋ก ํ๋ํ ๊ฒฐ๊ณผ๋ฅผ ๊ฒ์ฆํ ์ ์์ต๋๋ค. ๋์งํธ ์ฑ๊ณผ๊ฐ ๊ธฐ์ ๊ฒฝ์๋ ฅ์ ์ข์ฐํ๋ ์๋์, Smart TS XL์ ๋น๋๊ธฐ์ ๋ณต์ก์ฑ์ ์์ธก ๊ฐ๋ฅํ๊ณ ์ธก์ ๊ฐ๋ฅํ ์ธํ ๋ฆฌ์ ์ค๋ก ์ ํํ์ฌ ์์ ์ฑ๊ณผ ํ์ ์ ๋์์ ๋ฌ์ฑํฉ๋๋ค.