X86-64์ ๊ต์ฐจ ํ๋ซํผ ๊ฐ๋ฐ: Windows, Linux ๋ฐ macOS ์ฐ๊ฒฐ
Windows, Linux ๋ฐ macOS ์ ๋ฐ์ ์ํํธ์จ์ด ๊ฒฉ์ฐจ๋ฅผ ํด์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ํต์ฐฐ๋ ฅ์ ํตํด X86-64 ์ํคํ ์ฒ์์ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๋ฏธ๋ฌํ ์ฐจ์ด๋ฅผ ์ดํด๋ณด์ธ์.

X86-64 ์ํคํ ์ฒ: ๊ณตํต ๊ธฐ๋ฐ
x64, AMD64 ๋ฐ Intel 64๋ผ๊ณ ๋ ์๋ ค์ง X86-64 ์ํคํ ์ฒ๋ ๋ค์ํ ํ๋ซํผ์ ๊ฑธ์น ์ต์ ์ปดํจํ ์ ์ด์์ ๋๋ค. ์ฒ์๋ถํฐ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํตํฉํ๋ ํ์ด ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ํ ๋ฒ ์์ฑํ๊ณ ์ฌ๋ฌ ์ด์ ์ฒด์ ์ ๋ฐฐํฌํ ์ ์์์ต๋๋ค. ๋ณธ์ง์ ์ผ๋ก X86-64๋ x86 ์ํคํ ์ฒ์ 64๋นํธ ํ์ฅ์ ๋ํ๋ด๋ฉฐ Windows, Linux ๋ฐ macOS์ ๊ฐ์ ์ฌ๋ฌ ํ๋ซํผ๊ณผ ํธํ๋ฉ๋๋ค.
์ด๊ฒ์ด ๊ฐ๋ฅํ ์ด์ ๋ ๋ฌด์์ ๋๊น? X86-64๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ณ์ฐ ๊ณต๊ฐ์ ๋๋ฆฌ๋ ๊ฒ ์ด์์ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค. ๋ํ ๋ ๋ง์ ์์ ๋ฒ์ฉ ๋ ์ง์คํฐ, ์ฆ๊ฐ๋ ๊ฐ์ ๋ฐ ๋ฌผ๋ฆฌ์ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์ ์ง์ ๊ธฐ๋ฅ, ์ ์ ํ๊ฒ ํ์ฉ๋ ๊ฒฝ์ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ ํ์ฅ๋ ๋ช ๋ น์ด ์ธํธ์ ๊ฐ์ ์๋ก์ด ๊ธฐ๋ฅ์ ๋์ ํฉ๋๋ค.
ํ๋์จ์ด ๊ธฐ๋ฅ์ ๋ํ ๊ณต์ ๋ ์ดํด๋ X86-64์ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ํต์ฌ์ ๋๋ค. ์ด๋ ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ, ๋์์ฑ ๋ฐ I/O ์์ ์ ๋ํ ์ผ๋ฐ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ๊ฐ๋ฐ์๋ X86-64 ์ํคํ ์ฒ๊ฐ ์ ๊ณตํ๋ ๊ท ์ผ์ฑ์ ํ์ฉํ์ฌ ํ๋ซํผ ์ ๋ฐ์ ๊ฑธ์ณ ๋์ ํธํ์ฑ์ ์ ์งํ๋ฉด์ ๋ฎ์ ์์ค์์ ์ฝ๋๋ฅผ ์ต์ ํํ ์ ์์ต๋๋ค.
๋ ๊ฑฐ์ x86 ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ์ ์ํคํ ์ฒ ํธํ์ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํฐ ์์ ์์ด ๋ ๊ฑฐ์ 32๋นํธ ์์คํ ๊ณผ ์ต์ 64๋นํธ ์์คํ ์ ๋ชจ๋ ์์ฉํ ์ ์์ผ๋ฏ๋ก ๊ด๋ฒ์ํ ์์ฅ ์ง์ถ์ ๋ณด์ฅํฉ๋๋ค. ๊ฐ๋ฐ์๋ ์ข ์ข ์ด ์ํคํ ์ฒ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์ํ ์์คํ ๋ก๋์์ ํจ์จ์ ์ผ๋ก ์ํํด์ผ ํ๊ณ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๊ด๋ฆฌํด์ผ ํ๋ ๋ณต์กํ ์๋ฒ ๋ฐ ๋ฐ์คํฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํฉ๋๋ค.
๊ทธ๋ฌ๋ ์์ ์ ๋ฏธ๋ฌํจ์ด ์๋ ๊ฒ์ ์๋๋๋ค. ๊ธฐ๋ณธ CPU ์ํคํ ์ฒ๋ ํต์ผ์ฑ์ ์ํ ๊ธฐ๋ฐ์ ์ ๊ณตํ์ง๋ง ๊ฐ ์ด์ ์ฒด์ ๊ฐ ํ๋์จ์ด์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ๋ค๋ฆ ๋๋ค. ์ด๋ฌํ ์ฐจ์ด์ ์ผ๋ก ์ธํด ํ๋ซํผ์ ๊ณ ์ ํ ๊ธฐ๋ฅ๊ณผ ํ๊ณ์ ๋ํ ์๋ฆฌํ ์ดํด๊ฐ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์คํ ํธ์ถ๊ณผ Windows์ฉ PE, Linux์ฉ ELF, macOS์ฉ Mach-O์ ๊ฐ์ ๋ฐ์ด๋๋ฆฌ ํ์์ ํฌ๊ฒ ๋ค๋ฅด๋ฉฐ ๊ฐ๋ฐ์๊ฐ ์ ๊ทผ ๋ฐฉ์์ ์กฐ์ ํด์ผ ํ๋ ์ค์ํ ์์ญ์ ๋๋ค.
๋ํ ์ปดํ์ผ๋ฌ, ๋๋ฒ๊ฑฐ, ํด์ฒด์ธ ๋ฑ X86-64 ์ํคํ ์ฒ๋ฅผ ๋๋ฌ์ผ ์ํ๊ณ๋ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ์ง์ํ๋๋ก ์ฑ์ํด์ก์ต๋๋ค. GCC ๋ฐ Clang๊ณผ ๊ฐ์ ์ปดํ์ผ๋ฌ๋ ์ธ ๊ฐ์ง ์ฃผ์ ์ด์ ์ฒด์ ๋ชจ๋์์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๋ ๋์ผํ ์์ค ์ฝ๋์์ ํ๋ซํผ๋ณ ์คํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ ๊ฐ๋ฐํ์ด ์๋ก ๋ค๋ฅธ ๋์ ํ๋ซํผ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ํ์ ํ๊ณ ๊ณต์ ํ ์ ์๋ค๋ ์๋ฏธ๋ก ํ๊ธฐ์ ์ธ ๋ณํ๋ฅผ ๊ฐ์ ธ์์ต๋๋ค.
์ด ์ํคํ ์ฒ์ ๋ณดํธ์ฑ์ X86-64์ ์ฑ๋ฅ์ ํ์ฉํ์ฌ ๋ฐฑ์๋ ์์คํ , ์น ์ฑ ๋ฐ ๋ชจ๋ฐ์ผ ์ฑ์ ์์ฑํ๋ AppMaster ์ ๊ฐ์ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ ํ๊ฒฝ์ ๋ฑ์ฅ๋ ๊ฐ๋ฅํ๊ฒ ํ์ต๋๋ค. ์ด๋ฌํ ํ๊ฒฝ์ ๊ฐ๋ฐ์์๊ฒ ํ ๋ฒ๋ง ์์ฑํ๋ฉด ์ด๋๋ ๋ฐฐํฌํ ์ ์๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์ฌ ํฌ๋ก์ค ํ๋ซํผ ์ํํธ์จ์ด ์์ฑ์ ํฌ๊ฒ ๋จ์ํํ๊ณ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํ ๊ณตํต ํ๋ซํผ์ผ๋ก์์ X86-64 ์ํคํ ์ฒ์ ์ญํ ์ ๋์ฑ ๊ฐํํฉ๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๊ณผ์
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๊ฒ์ ์ธ ๊ฐ์ง ๋ค๋ฅธ ์๋ฌผ์ ์ ์๋ฒฝํ๊ฒ ๋ง๋ ์ด์ ๋ฅผ ๋ง๋๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค. ์ํํธ์จ์ด๊ฐ Windows, Linux ๋ฐ macOS์์ ์ํํ๊ฒ ์คํ๋๋ ค๋ฉด ๊ฐ๋ฐ์๋ ๊ฐ ์ด์ ์ฒด์ ์ ๋ค์ํ ์ํ๊ณ(OS)์์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ๊ท ์ผํ ํ๋์จ์ด ๊ธฐ๋ฐ์ ์ ๊ณตํ๋ X86-64 ์ํคํ ์ฒ๋ฅผ ํตํด ๊ฐ๋ฐ์์ ์ฃผ์ ์ฅ์ ๋ฌผ์ ํ๋์จ์ด๋ณด๋ค ์ํํธ์จ์ด์ ๋ ๊ด๋ จ์ด ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ฃผ์ ๊ณผ์ ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์คํ ํธ์ถ ๋ฐ ์ด์ ์ฒด์ ์๋น์ค
๊ฐ OS์๋ ํ๋์จ์ด, ๋ฉ๋ชจ๋ฆฌ, ํ๋ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ณ ์ ํ ์์คํ API ์ ์๋น์ค๊ฐ ์์ต๋๋ค. Windows์ ํจ์ ํธ์ถ์ Linux ๋๋ macOS์์ ์์ ํ ๋ค๋ฅธ ๋์ ํญ๋ชฉ์ ๊ฐ์ง ์๋ ์๊ณ ์ ํ ์กด์ฌํ์ง ์์ ์๋ ์์ต๋๋ค. ์ด๋ฌํ ์์คํ ์์ค ์ํธ ์์ฉ์ ์ถ์ํํ๋ ์ํํธ์จ์ด๋ฅผ ์ค๊ณํ๋ ๊ฒ์ ๋ค์ํ ํ๊ฒฝ์์ ๊ธฐ๋ฅ์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ํฉ๋๋ค.

์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI) ์ผ๊ด์ฑ
UI ํจ๋ฌ๋ค์์ ํ๋ซํผ์ ๋ฐ๋ผ ๋งค์ฐ ๋ค์ํฉ๋๋ค. Windows ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ ทํ ๋ฏธ์ ํน์ฑ์ ์๋ํ๋ macOS์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ค๋ฅธ ๋ชจ์๊ณผ ๋๋์ ๋ํ๋ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ๋ฐ๋ฉด, Linux๋ ์๋ง์ ๋ฐ์คํฌํฑ ํ๊ฒฝ์ ๊ณ ๋ คํ ๋ ๋ ๋ง์ ๊ฐ๋ณ์ฑ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ฐ ํ๋ซํผ์์ ์ผ๊ด๋๊ณ ๊ณ ์ ํ ๋ชจ์์ ๋ฌ์ฑํ๊ณ ์ฌ์ฉ์ฑ ํ์ค์ ์ ์งํ๋ ๊ฒ์ ๋ณต์กํ ์ ์์ต๋๋ค.
ํ์ผ ์์คํ ๋ฐ ๊ฒฝ๋ก ์ฒ๋ฆฌ
ํ์ผ ์์คํ ๊ณผ ๊ฒฝ๋ก ๊ตฌ์กฐ์ ์ฐจ์ด๋ก ์ธํด ์ฌ๊ฐํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. Linux์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ๋ ํ์ผ ์์คํ , Windows์ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋ ํ์ผ ์์คํ , macOS์ ํ์ด๋ธ๋ฆฌ๋ ์ ๊ทผ ๋ฐฉ์ ์ ํธ๋ก ์ธํด ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ์ฑ์ ์์์ํฌ ์ ์๋ ๋ฌธ์ ๋ฅผ ํผํ๊ธฐ ์ํด ํ์ผ ์์ ์ ์ ์คํ๊ฒ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
๋ฏธ๋ค์จ์ด ๋ฐ ํ์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํธํ์ฑ
๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ์ง์ํ๋ ๊ฒ์ ๋ชฉํ๋ก ํ๊ณ ์์ง๋ง ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ OS ์ ์ฒด์์ ๋์ผํ๊ฒ ์ง์๋๊ฑฐ๋ ์ผ๊ด๋๊ฒ ์๋ํ๋ ๊ฒ์ ์๋๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ง ๋ฐ ํต์ ํ๋ ์์ํฌ์ ๊ฐ์ ๋ฏธ๋ค์จ์ด๊ฐ ๊ฐ ๋์ ํ๋ซํผ ๋ด์์ ์์ ์ ์ผ๋ก ์๋ํ๋์ง ํ์ธํ๋ ค๋ฉด ์๊ฒฉํ ํ๊ฐ ๋ฐ ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค.
์ฑ๋ฅ ํ๋
๋ค์ํ ์ต์ ํ ๊ธฐ์ ์ด๋ ์ปดํ์ผ๋ฌ ๋์์ผ๋ก ์ธํด ๋์ผํ ์ฝ๋๊ฐ ์ด์ ์ฒด์ ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ํ๋ ์ ์์ต๋๋ค. ํ๋กํ์ผ๋ง ๋ฐ ์ฑ๋ฅ ์กฐ์ ์์๋ ๊ฐ๋ฅํ ์ต์์ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ฌ์ฑํ๊ธฐ ์ํด ๊ฐ ํ๋ซํผ์ ํน์ฑ์ ์์ธํ ์ดํดํด์ผ ํฉ๋๋ค.
์ํํธ์จ์ด ๋ฐฐํฌ ๋ฐ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ
ํ๋ซํผ๋ง๋ค ์ํํธ์จ์ด ๋ฐฐํฌ๋ฅผ ์ํ ํ์ค ํ์์ด ๋ค๋ฆ ๋๋ค(์: Windows์ฉ EXE ๋๋ MSI, macOS์ฉ DMG, Linux์ฉ DEB ๋๋ RPM๊ณผ ๊ฐ์ ํจํค์ง). ๋ํ ์ ๋ฐ์ดํธ ๋ฉ์ปค๋์ฆ์ด ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๊ฐ ์์คํ ์ ํ๋กํ ์ฝ๊ณผ ์ฌ์ฉ์ ๊ธฐ๋์น๋ฅผ ์์ฉํ๋ ์ ๋ต์ด ํ์ํฉ๋๋ค.
์ด๋ฌํ ๊ณผ์ ๋ฅผ ํด๊ฒฐํ๋ ค๋ฉด ๊ฐ๋ฐ์๋ ์ ์ฐํ๊ณ ์ฐฝ์์ ์ด๋ฉฐ ์ธ๋ด์ฌ์ ๊ฐ์ ธ์ผ ํฉ๋๋ค. Electron ๋๋ Qt ์ ๊ฐ์ ํ๋ ์์ํฌ๋ ํ๋ซํผ๋ณ ์ธ๋ถ ์ฌํญ์ ๋ํ ์ถ์ํ๋ฅผ ์ ๊ณตํ์ฌ ๋์์ ์ค ์ ์์ต๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ๋ง์ ๋ณต์ก์ฑ์ ์ํํ ์ ์์ง๋ง ๊ฐ๋ฐ์๊ฐ ๊น์ด ์ดํดํด์ผ ํ๋ ์ถ์ํ ๊ณ์ธต๋ ์ถ๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ๋ฆฌํจ๊ณผ ๋ ๋์ ๋ฒ์ ๋๋ถ์ ์ด๋ฌํ ๊ณผ์ ๋ฅผ ๊ทน๋ณตํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์ด๋ฌํ ๊ธฐ์ ์ ์ฅ์ ๋ฌผ ์ธ์๋ ํ๋์ OS์๋ง ์ต์ํ ๊ฐ๋ฐํ ๊ฐ์ ํ์ ๊ฐ ์ปค๋ฎค๋์ผ์ด์ ์ด ์ค์ํฉ๋๋ค. ๊ฐ๋ฐ์๋ ๋ชจ๋ ๋์ ์ด์ ์ฒด์ ์ ๋ํด ํญ๋๊ฒ ์ดํดํ๊ณ ํ๋ซํผ๋ณ ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ์ง ์๋๋ก ์ง์์ ์ผ๋ก ์ํตํด์ผ ํฉ๋๋ค. ๋์ฑ์ด ์ ๊ณ์ ์ฑ์ฅ์ผ๋ก ์ธํด ํนํ ๋์ OS์ ๋ํ ์ ๋ฌธ ์ง์์ด ์๋ ํ์ ๊ฒฝ์ฐ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ๊ณผ ๊ด๋ จ๋ ๋ง์ ๋ณต์ก์ฑ์ ์ถ์ํํ๋ ๋ฐ ๋์์ด ๋ ์ ์๋ AppMaster ์ ๊ฐ์ ํ๋ซํผ์ด ๋ฑ์ฅํ์ต๋๋ค.
ํ๋ซํผ ๊ฐ ํธํ์ฑ์ ์ํ ๋๊ตฌ ํ์ฉ
ํนํ Windows, Linux ๋ฐ macOS์์ X86-64 ์ํคํ ์ฒ๋ฅผ ๋์์ผ๋ก ํ๋ ๊ฒฝ์ฐ ํฌ๋ก์ค ํ๋ซํผ ํธํ์ฑ์ ๋ฌ์ฑํ๋ ค๋ฉด ์ ์ ํ ๋๊ตฌ๊ฐ ๊ฐ์ฅ ์ค์ํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ์ค๋ณต์ ๋ฐฉ์งํ์ฌ ์๊ฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ์ ์ฝํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ๋ฐ์๊ฐ ๋ค์ํ ํ๋ซํผ์์ ์ํํ๊ฒ ์๋ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ํ๋ ๋ฐ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ํ์ ๋๊ตฌ์ ์ ๊ทผ ๋ฐฉ์์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ(IDE)
์ต์ IDE๋ ๊ด๋ฒ์ํ ํฌ๋ก์ค ํ๋ซํผ ์ง์์ ์ ๊ณตํ๋ฉฐ ํ๋ซํผ๋ณ ์๊ตฌ ์ฌํญ์ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์๋ ๋๊ตฌ๋ฅผ ๊ฐ์ถ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๋ฅผ ๋ค์ด Eclipse, Visual Studio ๋ฐ JetBrains ์ ํ๊ตฐ(์: IntelliJ IDEA ๋ฐ CLion)์ ์กฐ๊ฑด๋ถ ์ค๋จ์ ๋ฐ ํ๊ฒฝ๋ณ ๊ตฌ์ฑ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฏ๋ก ๊ฐ๋ฐ์๊ฐ ๋จ์ผ ํ๊ฒฝ ๋ด์์ ์ฌ๋ฌ ํ๋ซํผ์ ๋ํ ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ์์ฑํ๊ณ ๋๋ฒ๊ทธํ ์ ์์ต๋๋ค.
ํ๋ ์์ํฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
C++์ฉ Qt ๋ฐ C#์ฉ .NET Core ์ ๊ฐ์ ํ๋ซํผ ๊ฐ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๋ณธ์ง์ ์ผ๋ก ํ๋ซํผ ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด๋ฌํ ํ๋ ์์ํฌ๋ OS๋ณ ๊ธฐ๋ฅ์ ์ง์ ์ฒ๋ฆฌํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๋ง์ ๋ณต์ก์ฑ์ ์ถ์ํํ๋ ๊ด๋ฒ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ์ ๊ณตํฉ๋๋ค.
๊ฐ์ํ ๋ฐ ์ปจํ ์ด๋ํ
๋๋ก๋ ํ๊ฒฝ์ ๋ค์์ฑ์ด ์๋์ ์ผ ์ ์์ง๋ง Docker ๋ฐ VirtualBox ์ ๊ฐ์ ๊ฐ์ํ ๋ฐ ์ปจํ ์ด๋ํ ๋๊ตฌ๋ ๋ชจ๋ ํ๋ซํผ์์ ์ผ๊ด๋๊ฒ ์คํ๋๋ ํ๊ฒฝ ๋ด์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์บก์ํํ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ '๋ด ์ปดํจํฐ์์ ์๋ํฉ๋๋ค' ์ฆํ๊ตฐ์ ์ต์ํํ๊ณ ๋ฐฐํฌ ์ ์ฐจ๋ฅผ ํ์คํํฉ๋๋ค.
๋น๋ ๋ฐ ์ข ์์ฑ ๊ด๋ฆฌ ๋๊ตฌ
CMake ๋ฐ Bazel๊ณผ ๊ฐ์ ํฌ๋ก์ค ํ๋ซํผ ๋น๋ ์์คํ ์ ํตํฉ๋ ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์ ์งํ๋ ๋ฐ ๋์์ด ๋๋ฏ๋ก ๋ชจ๋ X86-64 ์์คํ ์์ ์ปดํ์ผํ ์ ์์ต๋๋ค. C/C++์ฉ Conan ๋ฐ .NET์ฉ NuGet๊ณผ ๊ฐ์ ์ข ์์ฑ ๊ด๋ฆฌ ํ๋ซํผ์ ๊ฐ๋ฐ ๋ฐ ํ๋ก๋์ ํ๊ฒฝ ์ ๋ฐ์์ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฐ ์ค์ํ ํ๋ซํผ ๋ ๋ฆฝ์ ์ธ ํจํค์ง ๊ด๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค.
์คํฌ๋ฆฝํ ์ธ์ด ๋ฐ ํฌ๋ก์ค ์ปดํ์ผ๋ฌ
Python ๊ณผ ๊ฐ์ ์คํฌ๋ฆฝํ ์ธ์ด๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ต์ํ์ผ๋ก ๋ณ๊ฒฝํ๋ฉด์ ๋ค์ํ ํ๋ซํผ์์ ์คํํ ์ ์๋ ๋ฅ๋ ฅ์ด ์์ต๋๋ค. ํํธ, ํฌ๋ก์ค ์ปดํ์ผ๋ฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ์์ ์ด ๊ฐ๋ฐ ์ค์ธ ์์คํ ๊ณผ ๋ค๋ฅธ ๋์ ์์คํ ์ ๋ํ ์คํ ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ์ด๋ ํฌ๋ก์ค ํ๋ซํผ ํ๊ฒฝ์์ ํนํ ์ ์ฉํฉ๋๋ค.
๋ฒ์ ๊ด๋ฆฌ ์์คํ
Git ๊ณผ ๊ฐ์ ๋๊ตฌ๋ ๋จ์ํ ๋ฒ์ ์ ์ด ์ด์์ ๊ธฐ๋ฅ์ ์ํํฉ๋๋ค. ์ด๋ ๊ธฐ๋ณธ ์ฝ๋๋ฒ ์ด์ค์์ ์ฐจ์ด๋ฅผ ์ต์ํํ๋ฉด์ ํ๋ซํผ๋ณ ์ฝ๋๋ฅผ ์์ฉํ๋ ๋ถ๊ธฐ ์ ๋ต์ ์ง์ํฉ๋๋ค. ๋์ด์ค๊ธฐ ์์ฒญ ๋ฐ ์ฝ๋ ๊ฒํ ๋ ์ ์ฌ์ ์ธ ํ๋ซํผ ๊ฐ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ๊ฐ์กฐํ ์๋ ์์ต๋๋ค.
No-Code ํ๋ซํผ์ ์ญํ
๊ณ ๋๋ก ์ ๋ฌธํ๋ ์ํํธ์จ์ด์ ํญ์ ์ ํฉํ ๊ฒ์ ์๋์ง๋ง AppMaster ์ ๊ฐ์ no-code ํ๋ซํผ์ ํ๋ซํผ๋ณ ์ฝ๋์ ๋ณต์ก์ฑ์ ํ๊ตฌํ์ง ์๊ณ ๋ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๊ฐ์ ์ผ๋ก ์์ฑํ ์ ์๋ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ํ๋ซํผ์ ๋ง์ ํธํ์ฑ ๋ฌธ์ ๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๋ค์ํ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ์ต์ ํ๋ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํฉ๋๋ค.
์คํฌ๋ฆฝํ ๋ฐ ์๋ํ ๋๊ตฌ
์๋ํ ์คํฌ๋ฆฝํธ๋ ํ๊ฒฝ ์ฐจ์ด๋ฅผ ์กฐ์ ํ๊ณ , ์ข ์์ฑ์ ๊ด๋ฆฌํ๊ณ , ๋น๋๋ฅผ ์กฐ์ ํ์ฌ ์ํํ ํฌ๋ก์ค ํ๋ซํผ ์์ ์ ๊ธฐ์ฌํฉ๋๋ค. ์๋ฅผ ๋ค์ด Ansible๊ณผ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ํ OS ์ ๋ฐ์ ๊ฑธ์ณ ๊ฐ๋ฐ ๋ฐ ์์ฐ ํ๊ฒฝ ์ค์ ์ ํ์คํํ ์ ์์ต๋๋ค.
์ฑ๊ณต์ ์ธ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ํต์ฌ์ ์ํํธ์จ์ด ์๊ตฌ ์ฌํญ๊ณผ ํ์ ์์ ํ๋ฆ์ ๋ง์ถฐ ์ด๋ฌํ ๋๊ตฌ๋ฅผ ํ๋ช ํ๊ฒ ์ฌ์ฉํ๋ ๋ฐ ์์ต๋๋ค. ์ด๋ฌํ ์ ํธ๋ฆฌํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ฉด ๋ค์ค ํ๊ฒฝ ๋ฐฐํฌ์ ๋ณต์ก์ฑ์ด ์ค์ด๋ค๊ณ "ํ ๋ฒ ์์ฑํ๋ฉด ์ด๋์๋ ์คํ"์ด๋ผ๋ ์์น์ด ๊ตฌํ๋ฉ๋๋ค.
๊ต์ฐจ ํ๊ฒฝ ์ํํธ์จ์ด๋ฅผ ์ํ ์ค๊ณ ์ ๋ต
Windows, Linux, macOS ๋ฑ ๋ค์ํ ํ๊ฒฝ์์ ์คํ๋๋ ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ๋ ค๋ฉด ์ ์คํ ๊ณ ๋ ค๊ฐ ํ์ํฉ๋๋ค. ๋ชฉํ๋ ์ผ๊ด์ฑ์ ์ ์งํ๋ฉด์๋ ๊ฐ ๋์ ํ๋ซํผ์ ๋ฏธ๋ฌํ ์ฐจ์ด์ ์ ์ํ ์ ์๋ ํต์ฌ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฒ์ ๋๋ค. ๋ค์์ ํ๊ฒฝ์ ํจ๊ณผ์ ์ผ๋ก ์ฐ๊ฒฐํ๋ ๋ฐ ๋์์ด ๋๋ ์ค๊ณ ์ ๋ต์ ๋๋ค.
- ์ฒ์๋ถํฐ ์ด์์ฑ์ ์ํ ๊ณํ: ์ฌ๋ฌ ํ๋ซํผ์ ๊ฑธ์ณ ์ด์ ๊ฐ๋ฅํ ๋์์ธ์ ๊ตฌํํ๋ ค๋ฉด ์ฌ์ ๊ณ ๋ ค๊ฐ ํ์ํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ ๊ธฐ๋ฅ์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ ๋ค์ ๋์ ํ๋ซํผ ๊ฐ์ ๊ณตํต์ ์ ์๋ณํ๋ ๊ฒ๋ถํฐ ์์ํ์ญ์์ค. ๊ผญ ํ์ํ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด ํ๋ซํผ๋ณ ๊ธฐ๋ฅ์ ์ง๋์น๊ฒ ์์กดํ์ง ์๋ ๊ณํ์ ์ธ์ฐ๊ณ ์กฐ๊ฑด๋ถ๋ก ํ๋ซํผ๋ณ ์ฝ๋๋ฅผ ์ฌ์ฉํ ์ค๋น๋ฅผ ํ์ญ์์ค.
- ํฌ๋ก์ค ํ๋ซํผ ๋๊ตฌ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉ: ์ด์ ์ฒด์ ๊ฐ์ ์ฐจ์ด์ ์ ์ถ์ํํ๋๋ก ์ค๊ณ๋ ํ๋ ์์ํฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํฉ๋๋ค. ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ฉ Qt ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์กฐ์ฉ .NET Core์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋ก์ธ์ค๋ฅผ ํฌ๊ฒ ๋จ์ํํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ์ข ์ข ๊ต์ฐจ ํธํ์ฑ์ ์ค์ฌ์ผ๋ก ์ค๊ณ๋์ด ์ด์ ์ฒด์ ์ ๊ด๊ณ์์ด X86-64 ์ํคํ ์ฒ์์ ์์ ์ ์ผ๋ก ์๋ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
- ํ๋ซํผ์ ๊ตฌ์ ๋ฐ์ง ์๋ ์ค๊ณ ์์น ์์ฉ: ํ๋ซํผ ์ฌ์๊ณผ ๋ฌด๊ดํ ์ค๊ณ ์์น์ ์ค์ํฉ๋๋ค. ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๋ถ๋ฆฌํ๋ MVC(Model-View-Controller) ํจํด๊ณผ ๊ฐ์ ๊น๋ํ ์ํคํ ์ฒ๋ฅผ ๊ฐ์กฐํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ ๊ธฐ๋ฅ์ ๋ณ๊ฒฝํ์ง ์๊ณ ๋ ๊ฐ ํ๋ซํผ์ UI๋ฅผ ๋ ์ฝ๊ฒ ์กฐ์ ํ ์ ์์ต๋๋ค.
- ๋ชจ๋ํ ๊ฐ๋ฐ ์ ๊ทผ ๋ฐฉ์: ๋ค๋ฅธ ๊ตฌ์ฑ ์์์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๊ตฌ์ฑ ์์๋ฅผ ์ฝ๊ฒ ๊ต์ฒดํ๊ฑฐ๋ ์ ๋ฐ์ดํธํ ์ ์๋ ๋ชจ๋ํ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ์์ ์ ๋ฐฉํดํ์ง ์๊ณ ํ์ํ ๊ฒฝ์ฐ ํ๋ซํผ๋ณ ๋ชจ๋์ ๊ต์ฒดํ ์ ์์ต๋๋ค.
- ์ถ์ ํ๋ซํผ๋ณ ์ฌํญ: ํ๋ซํผ๋ณ ๊ธฐ๋ฅ์ด๋ API ํธ์ถ์ด ๋ฐ์ํ๋ฉด ์ด๋ฅผ ์ถ์ํ ๊ณ์ธต ๋ด์์ ๋ํํฉ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์คํ ๊ณผ ์ํธ ์์ฉํ๋ ๊ณตํต ์ธํฐํ์ด์ค๋ฅผ ์์ฑํ๊ณ ์ด ์ธํฐํ์ด์ค ๋ค์ ํ๋ซํผ๋ณ ๊ธฐ๋ฅ์ ๊ตฌํํ๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ํ๋ซํผ๋ณ ํ ์คํธ๋ฅผ ํตํ CI(์ง์์ ํตํฉ): ๊ฐ๋ฐ ํ๋ก์ธ์ค ์ด๊ธฐ์ CI ์์คํ ์ ํตํฉํฉ๋๋ค. ์๋ํ๋ ํ ์คํธ๋ ์์ ์ผ๋ก ์ธํด ํ ํ๊ฒฝ์์ ๊ธฐ๋ฅ์ด ์ค๋จ๋์ง ์๊ณ ๋ค๋ฅธ ํ๊ฒฝ์์๋ ์์ ๋๊ฑฐ๋ ๊ฐ์ ๋๋์ง ํ์ธํ๋ ๋ฐ ์ค์ํฉ๋๋ค. CI ์์คํ ์ ๋ชจ๋ ๋์ ํ๋ซํผ์์ ํ ์คํธ๋ฅผ ์คํํ ์ ์์ด์ผ ํฉ๋๋ค.
- ๋ค์ํ UI/UX ๊ท๋ฒ ์ค๋น: UI ๋ฐ UX์ ๋ํ ์ฌ์ฉ์ ๊ธฐ๋์น๋ Windows, Linux ๋ฐ macOS ๊ฐ์ ํฌ๊ฒ ๋ค๋ฅผ ์ ์์ต๋๋ค. ์ ์ฐ์ฑ์ ์ผ๋์ ๋๊ณ ์ค๊ณํ์ฌ ๊ฐ OS์์ ๊ถ์ฅํ๋ ํด๋จผ ์ธํฐํ์ด์ค ์ง์นจ์ ์ฐจ์ด๋ฅผ ํ์ฉํฉ๋๋ค. ์ด๋ ํ์ ๊ตฌ์กฐ, ์๊ฐ์ ์์ ๋๋ ์ํธ ์์ฉ ์คํ์ผ์ด ๋ค๋ฅผ ์ ์์์ ์๋ฏธํ ์ ์์ต๋๋ค.
- ๋ฒ์ ์ ์ด ๋ฐ ๋ฌธ์ํ: Git ๊ณผ ๊ฐ์ ๋ฒ์ ์ ์ด ์์คํ ์ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ด๋ฆฌํ์ธ์. ํนํ ํ๋ซํผ๋ณ ์ฝ๋๊ฐ ์กฐ๊ฑด๋ถ์ธ ์ฝ๋ ๋ถ๋ถ์ ๋ํด ์ฒ ์ ํ ๋ฌธ์ํ๋ฅผ ์ ์งํ์ญ์์ค. ์ด๋ฅผ ํตํด ๋ชจ๋ ๊ฐ๋ฐ์๋ ํ๋ซํผ๋ณ ๊ฒฐ์ ์ ๊ทผ๊ฑฐ๋ฅผ ์ดํดํ ์ ์์ต๋๋ค.
- ๊ธฐ๋ฅ ํ๋๊ทธ ๋ฐ ์กฐ๊ฑด๋ถ ์ปดํ์ผ: ๊ธฐ๋ฅ ํ๋๊ทธ ๋ฐ ์กฐ๊ฑด๋ถ ์ปดํ์ผ์ ์ฌ์ฉํ์ฌ ํ๋ซํผ๋ณ ๊ธฐ๋ฅ์ ๊ด๋ฆฌํฉ๋๋ค. ์ด ์ ๋ต์ ์ฌ๋ฌ ์ฝ๋ ๋ถ๊ธฐ ์์ด ๊ธฐ๋ฅ์ ์ผ๊ณ ๋๋ ๋ฐ ๋์์ด ๋์ด ์ ์ง ๊ด๋ฆฌ ๋ฐ ํ ์คํธ๋ฅผ ๋จ์ํํฉ๋๋ค.
์ด๋ฌํ ๋์์ธ ์ ๋ต์ ๋ฐ๋ฅด๋ฉด ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ๋์ฑ ์ํํด์ง๊ณ Windows, Linux ๋ฐ macOS ์ ๋ฐ์ ๊ฑธ์ณ ๋ณด๋ค ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ด ๊ฐ๋ฅํด์ง๋๋ค. AppMaster ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ ์ฒ ํ์ ์์ฉํ๋ ํ๋ซํผ์ ์๋ก์ ์ฑ๋ฅ์ ์ ์งํ๊ณ ํ๊ฒฝ ์ ๋ฐ์ ๊ฑธ์ณ ๊ฐ๋ฐ์ ๊ฐ์ํํ๋ no-code ์ ๊ทผ ๋ฐฉ์์ผ๋ก ๋ฐฑ์๋ ์์คํ , ์น ์๋น์ค ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ๋ฏผ์ฒฉ์ฑ๊ณผ ์ ์ํ ๋ฐฐํฌ๋ฅผ ์ํ๋ ๊ธฐ์ ์ ์ด๋ฌํ ํ์ ์ ์ธ ์๋ฃจ์ ์ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.
ํ๋ซํผ ์ ๋ฐ์ ๊ฑธ์น ํ ์คํธ ๋ฐ ํ์ง ๋ณด์ฆ
๋ณด์ ์ํํธ์จ์ด ์ ํ์ด Windows, Linux ๋ฐ macOS์์ ์ ๋๋ก ์๋ํ๋๋ก ๋ณด์ฅํ๋ ๊ฒ์ ๋ณต์กํฉ๋๋ค. ๊ฐ ์ด์ ์ฒด์ ์๋ ๊ณ ์ ํ ๊ธฐ๋ฅ, ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ฐ ๋์์ด ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ์ํํ ์ฌ์ฉ์ ๊ฒฝํ๊ณผ ์ผ๊ด๋ ํ๋ซํผ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ธฐ ์ํด ์ด๋ฌํ ์ฐจ์ด์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
X86-64 ์์คํ ์ฉ์ผ๋ก ๊ฐ๋ฐ๋ ํฌ๋ก์ค ํ๋ซํผ ์ํํธ์จ์ด์ ๋ํ ํ์ง ๋ณด์ฆ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ ์ธก๋ฉด์ ํฌ๊ดํ๋๋ก ํ ์คํธ ์๋๋ฆฌ์ค๋ฅผ ์ค๊ณํ๋ ๊ด๋ฒ์ํ ๊ณํ ๋จ๊ณ๋ถํฐ ์์๋ฉ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ ๋์ OS์ ํน์์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง์ถคํ๋ ์๋ ๋ฐ ์๋ ํ ์คํธ ์ ๋ต์ด ํผํฉ๋์ด ์์ต๋๋ค.
์๋ํ๋ ํฌ๋ก์ค ํ๋ซํผ ํ ์คํธ
์๋ํ๋ ํ ์คํธ๋ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ํ์์ ์ด๋ฏ๋ก ์๋ ๊ฐ์ ์์ด ๋ฐ๋ณต์ ์ผ๋ก ํ ์คํธ ์ฌ๋ก๋ฅผ ์คํํ ์ ์์ต๋๋ค. ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Selenium ๋๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Appium๊ณผ ๊ฐ์ ๋๊ตฌ๋ ๋ค์ํ ํ๊ฒฝ์์ ์ํํธ์จ์ด์์ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ต๋๋ค. C++์ฉ Google Test ๋๋ .NET์ฉ NUnit ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ฐ์ ๋จ์ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๋ค์ํ ์์คํ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํต์ฌ ๋ ผ๋ฆฌ๋ฅผ ๊ฒ์ฆํ ์ ์์ต๋๋ค.
CI/CD(์ง์์ ํตํฉ/์ง์์ ๋ฐฐํฌ) ํ์ดํ๋ผ์ธ์ ์๋ํ๋ ํ ์คํธ๋ฅผ ํตํฉํ๋ฉด ๋ชจ๋ ์ฝ๋ ์ปค๋ฐ์ด ๋ชจ๋ ํ๋ซํผ์์ ํ ์คํธ๋์ด ๊ฐ๋ฐ ์ฃผ๊ธฐ ์ด๊ธฐ์ ๋ฌธ์ ๊ฐ ๊ฐ์กฐ๋ฉ๋๋ค. ์ด๋ ๊ฐ ์ด์ ์ฒด์ ๊ฐ ์ค๋ ๋ฉ, ๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ ๋๋ I/O ์์ ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋ฏธ๋ฌํ ์ฐจ์ด๋ง์ผ๋ก๋ ์ํํธ์จ์ด ๋ฒ๊ทธ๊ฐ ๋ฐ์ํ ์ ์๋ X86-64 ๊ฐ๋ฐ์ ํนํ ์ค์ํฉ๋๋ค.
ํ๋ซํผ๋ณ ๊ธฐ๋ฅ์ ๋ํ ์๋ ํ ์คํธ
์๋ํ๋ ๋ง์ ๋ฒ๊ทธ๋ฅผ ํฌ์ฐฉํ ์ ์์ง๋ง Windows, Linux ๋ฐ macOS์ ๋ฐ๋ผ ํฌ๊ฒ ๋ค๋ฅผ ์ ์๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ฐ ์ฌ์ฉ์ ๊ฒฝํ์ ํ์ง์ ๋ณด์ฅํ๋ ค๋ฉด ์๋ ํ ์คํธ๊ฐ ์ค์ํฉ๋๋ค. ์๋ ํ ์คํฐ๋ ๊ทธ๋ํฝ ์์๊ฐ ๊ธฐ๋์ ๋ถํฉํ๋์ง, ์ํฌํ๋ก์ฐ๊ฐ ๊ฐ ํ๋ซํผ์์ ์ํํ๊ณ ์ง๊ด์ ์ธ์ง ํ์ธํด์ผ ํฉ๋๋ค.
๊ธฐ๋ณธ ํตํฉ์ผ๋ก ์ธํด ๊ฐ ์ด์ ์ฒด์ ์์ ๋ค๋ฅด๊ฒ ๋ณด์ด๊ฑฐ๋ ๋์ํ ์ ์๋ ์์ ฏ๊ณผ ๋ํ ์์๋ฅผ ํ๊ฐํ๋ ๊ฒ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค์ํฉ๋๋ค. ์ฌ๊ธฐ์์๋ ์๋ ํ ์คํฐ๊ฐ ๊ฐ๋ฐ์์๊ฒ ์คํ ๊ฐ๋ฅํ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ฌ ํ์ํ ๊ฒฝ์ฐ ๊ฐ ํ๋ซํผ์ UI๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
๋ค์ํ ์ด์ ์ฒด์ ์์์ ์ฑ๋ฅ ํ ์คํธ
X86-64 ์ํคํ ์ฒ๋ ์๋นํ ์ฑ๋ฅ์ ์ ๊ณตํ์ง๋ง ๊ฐ ์ด์ ์ฒด์ ๋ ํ๋์จ์ด๋ฅผ ๋ค๋ฅด๊ฒ ํ์ฉํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ฐ ํ๋ซํผ์์ ์์คํ ๋ฆฌ์์ค๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ๋์ง ํ์ธํ๋ ค๋ฉด ์ฑ๋ฅ ํ ์คํธ๋ฅผ ์ํํด์ผ ํฉ๋๋ค.
JMeter ๋๋ LoadRunner์ ๊ฐ์ ๋๊ตฌ๋ ๋ค์ํ ์์ค์ ๋ก๋๋ฅผ ์๋ฎฌ๋ ์ด์ ํ์ฌ ์คํธ๋ ์ค ์ํฉ์์ ์ํํธ์จ์ด ๋์์ ํ๊ฐํ ์ ์์ผ๋ฉฐ, ํ๋กํ์ผ๋ฌ๋ ๊ฐ๋ฐ์์๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ ๋ถ๋ถ์ด ๊ฐ์ฅ ๋ง์ CPU ๋๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ ์๋์ง์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ๋ชจ๋ ํ๋ซํผ์์ ์ผ๊ด๋ ์ฑ๋ฅ์ ๋ณด์ฅํ๋ ๋ฐ ํ์ํ ์ต์ ํ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
ํ๋ซํผ ๊ฐ ์ ๋ขฐ์ฑ์ ๊ฐํํ๊ธฐ ์ํ ๋ณด์ ํ ์คํธ
๋ณด์์ ๋ฏธ์น๋ ์ํฅ์ ๊ถํ, ํ์ผ ์์คํ , OS๋ณ ์ทจ์ฝ์ ์ ์ฐจ์ด๋ก ์ธํด ํ๋ซํผ๋ง๋ค ๋ค๋ฅผ ์ ์์ต๋๋ค. ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ OS์ ๋ณด์์ ์ํด ๊ด๋ฒ์ํ๊ฒ ํ ์คํธ๋์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์๋ ์ ์ ๋ถ์ ๋๊ตฌ์ DAST(๋์ ์ ํ๋ฆฌ์ผ์ด์ ๋ณด์ ํ ์คํธ) ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณด์ ๊ฒฐํจ์ ์๋ณํ๊ณ ์์ ํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.
๋ํ ์นจํฌ ํ ์คํธ๋ฅผ ์ํํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฉ์ด์ ์ฝ์ ์ ์ฌ์ ์ ๋ฐ๊ฒฌํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๋ ์ ์ฌ์ ์ธ ํ๋ซํผ๋ณ ์ ์ฉ์ ๋๋นํ์ฌ ์ํํธ์จ์ด๋ฅผ ๊ฐํํ ์ ์์ต๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ ํ์ ๋ํ ์ฌ์ฉ์ ์น์ธ ํ ์คํธ
์ ํ์ ์์ฑํ๊ธฐ ์ ์ ์ค์ ์๋๋ฆฌ์ค์ ์ค์ ์ฌ์ฉ์๋ฅผ ํฌํจํ๋ UAT(์ฌ์ฉ์ ์น์ธ ํ ์คํธ)๋ฅผ ์ํํ๋ ๊ฒ์ด ํ์์ ์ ๋๋ค. UAT๋ ์ ํ์ด ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๊ณ ์ต์ข ์ฌ์ฉ์ ๊ฒฝํ์ด ๋ชจ๋ ํ๋ซํผ์์ ๊ธ์ ์ ์ธ์ง ํ์ธํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. UAT์ ํผ๋๋ฐฑ์ ํตํด ๊ฐ๋ฐ ๋๋ ์ด๊ธฐ ํ ์คํธ ๋จ๊ณ์์ ๋ช ํํ์ง ์์ ์ ์๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ๋ฌธ์ ๋ ๊ธฐ๋ฅ ๊ฒฉ์ฐจ๋ฅผ ๋ฐ๊ฒฌํ ์ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
ํธํ์ฑ ํ ์คํธ๋ ์ํํธ์จ์ด๊ฐ ๋ค์ํ ํ๊ฒฝ์์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋์ง ํ์ธํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ UAT์ ์ผ๋ถ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๋ค์ํ ์ฃผ๋ณ ์ฅ์น, ๊ธฐํ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๋ค์ํ ๋คํธ์ํฌ ๊ตฌ์ฑ์์์ ๋์ ํ์ธ์ด ํฌํจ๋ฉ๋๋ค.
ํ์งํ ๋ฐ ๊ตญ์ ํ ํ ์คํธ
๊ธ๋ก๋ฒ ์์ฅ์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ๋ฌ ์ธ์ด์ ์ง์ญ ์ค์ ์ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ํ์งํ ๋ฐ ๊ตญ์ ํ ํ ์คํธ๋ฅผ ํตํด ์ํํธ์จ์ด๊ฐ ๋ค์ํ ์ธ์ด, ํตํ, ๋ ์ง ํ์ ๋ฐ ๋ฌธํ์ ๊ท๋ฒ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ํ๋์ง ํ์ธํฉ๋๋ค. ์ด ํ ์คํธ์์๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ถํฐ ๋ฌธ์๊น์ง ์ํํธ์จ์ด์ ๋ชจ๋ ์ธก๋ฉด์ด Windows, Linux ๋ฐ macOS ๊ฐ์ ์๋นํ ๋ค๋ฅผ ์ ์๋ ์ฌ์ฉ์์ ๋ก์ผ์ผ ์ค์ ์ ๊ธฐ๋ฐ์ผ๋ก ์ ์ ํ๊ฒ ์๋ํ๋์ง ํ์ธํฉ๋๋ค.
X86-64 ์์คํ ์ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ํ ์คํธ ๋ฐ ํ์ง ๋ณด์ฆ์๋ ์๋ํ๋ ํ ์คํธ์ ์ธ์ฌํ ์๋ ํ ์คํธ๋ฅผ ๊ฒฐํฉํ ํฌ๊ด์ ์ธ ์ ๋ต์ด ํ์ํฉ๋๋ค. ์ฌ๋ฐ๋ฅธ ๋๊ตฌ์ ์ฌ๋ก๋ฅผ ํ์ฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ํ๋ซํผ์ ๊ด๊ณ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ ํ์ง, ๋ณด์ ๋ฐ ์ฑ๋ฅ ํ์ค์ ์ ์งํ๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค.
๋ฐฐํฌ ๋ฐ ์ง์์ ํตํฉ/์ง์์ ๋ฐฐํฌ(CI/CD)
CI(์ง์์ ํตํฉ) ๋ฐ CD(์ง์์ ๋ฐฐํฌ) ๋ฐฉ์์ ์ฌ์ฉํ๋ ๊ฒ์ ํฌ๋ก์ค ํ๋ซํผ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ๋งค์ฐ โโ์ค์ํฉ๋๋ค. CI/CD ์ ๋ต์ ๋ค์ํ ์ด์ ์ฒด์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํจ์จ์ ์ธ ๋ฐฐํฌ๋ฅผ ์ด์งํ๋ ๋์์ ์ํํธ์จ์ด์ ๊ฐ ๋ฐ๋ณต์ด ์คํ ์ค์ธ ํ๋ซํผ์ ๊ด๊ณ์์ด ๊ณ ํ์ง ํ์ค์ ์ ์งํ๋๋ก ๋ณด์ฅํฉ๋๋ค. ๊ด๋ฒ์ํ Windows, Linux ๋ฐ macOS ์์คํ ์ด ํฌํจ๋ X86-64 ์์คํ ์ ์ง์คํ ๋ ๊ฐ๋ ฅํ CI/CD ํ์ดํ๋ผ์ธ์ ๊ฐ ์ด์ ์ฒด์ ์ ๋ํ ๋ฐฐํฌ์ ๋ณต์ก์ฑ์ ํฌ๊ฒ ์ํํ ์ ์์ต๋๋ค.
์ง์์ ์ธ ํตํฉ ๊ตฌํ
์ง์์ ์ธ ํตํฉ์๋ ๋ชจ๋ ๊ฐ๋ฐ์์ ์์ ๋ณต์ฌ๋ณธ์ ํ๋ฃจ์ ์ฌ๋ฌ ๋ฒ ๊ณต์ ๋ฉ์ธ๋ผ์ธ์ ๋ณํฉํ๋ ์์ ์ด ํฌํจ๋ฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฝ๋๋ฒ ์ด์ค์ ํ๋ซํผ๋ณ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์กฐ๊ธฐ์ ๊ฐ์งํ ์ ์์ผ๋ฏ๋ก ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ์ฒ๋ฆฌํ ๋ ํนํ ์ค์ํฉ๋๋ค. ์์ฃผ ํตํฉํ๋ฉด ํน์ ํ๋ซํผ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋ ์ํ์์ ๋๋ฌด ๋ฉ๋ฆฌ ๋ฒ์ด๋์ง ์๊ณ ํตํฉ ๋ฒ๊ทธ๋ฅผ ์ ์ํ๊ฒ ํฌ์ฐฉํ ์ ์์ต๋๋ค.
ํตํฉ์ ์๋ํ๋ ๋น๋ ๋ฐ ํ ์คํธ ์ํ์ค๋ฅผ ํธ๋ฆฌ๊ฑฐํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด Windows์์๋ MSBuild ๋๋ PowerShell ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ์ฝ๋๋ฅผ ์ปดํ์ผํ๊ณ ํ ์คํธ๋ฅผ ์คํํ ์ ์์ต๋๋ค. Linux ๋ฐ macOS์์๋ make๋ฅผ ์ ํํ ์๋ ์๊ณ CMake ๋๋ Bazel๊ณผ ๊ฐ์ ํ๋ซํผ์ ๊ตฌ์ ๋ฐ์ง ์๋ ์์คํ ์ ํ์ฉํ ์๋ ์์ต๋๋ค. CI๋ฅผ ์ฌ์ฉํ๋ฉด ์์ค ์ฝ๋ ์ ์ฅ์์์ ์ด๋ฃจ์ด์ง ๋ชจ๋ ์ปค๋ฐ์ด ์๋์ผ๋ก ๊ตฌ์ถ ๋ฐ ํ ์คํธ๋์ด ๊ฐ๋ฐ ์ด๊ธฐ์ ๊ฐ๋ฐ ํ ์ ๋ฌธ์ ๋ฅผ ์๋ฆฝ๋๋ค.
์ง์์ ์ธ ๋ฐฐํฌ ์ด์ง
์ง์์ ์ธ ๋ฐฐํฌ๋ ๊ฒ์ฆ๋ ์ฝ๋๋ฅผ ๋ฆฌํฌ์งํ ๋ฆฌ ๋๋ ๊ณ ๊ฐ์๊ฒ ์ง์ ๋ฆด๋ฆฌ์คํ๋ ๊ฒ์ ์๋ํํฉ๋๋ค. ๋ฐฐํฌ ์ ๋ต์ Windows, Linux, macOS์ ํจํค์ง ๊ด๋ฆฌ ์์คํ ๊ณผ ์ฌ์ฉ์ ๊ธฐ๋์น๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ํฌ๊ฒ ๋ค๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ํํธ์จ์ด๋ Windows์ ๊ฒฝ์ฐ EXE ๋๋ MSI ํ์ผ, Linux์ ๊ฒฝ์ฐ DEB ๋๋ RPM ํจํค์ง, macOS์ ๊ฒฝ์ฐ DMG๋ก ๋ฐฐํฌ๋ ์ ์์ต๋๋ค. ์ฌ๋ฌ ํ๊ฒฝ์ ๋ํ ์ํํธ์จ์ด ํจํค์ง ๋ฐ ๋ฐฐํฌ๋ฅผ ์ง์ํ๋ ๋ฐฐํฌ ๋๊ตฌ๋ฅผ ํ์ฉํ๋ฉด ์ด๋ฌํ ๋จ๊ณ๋ฅผ ์กฐํ์ํค๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ปจํ ์ด๋ํ๋ฅผ ํ์ฉํ์ฌ ๋ฐฐํฌ๋ฅผ ๋จ์ํํ ์ ์์ต๋๋ค. Docker์ ๊ฐ์ ์๋ฃจ์ ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ํด๋น ํ๊ฒฝ์ ์บก์ํํ์ฌ ๋ฐฐํฌ ์์น์ ๊ด๊ณ์์ด ๋์ผํ ๋ฐฉ์์ผ๋ก ์คํ๋๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค. X86-64 ์ํคํ ์ฒ์ ๊ฒฝ์ฐ Docker ์ด๋ฏธ์ง๊ฐ ๋์ ์์คํ ๊ณผ ํธํ๋๋์ง ํ์ธํ๋ ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐํ์์ ๋ํ ์ผ๊ด๋ ํ๊ฒฝ์ ์ด์งํด์ผ ํฉ๋๋ค.
ํด๋ผ์ฐ๋ ์๋น์ค์ ํตํฉ
Jenkins, Travis CI, GitLab CI ๋ฐ GitHub Actions์ ๊ฐ์ ์๋น์ค๋ ์ฌ๋ฌ ํ๋ซํผ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ, ํ ์คํธ ๋ฐ ๋ฐฐํฌํ๋ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋๋ก ๊ตฌ์ฑํ ์ ์์ต๋๋ค. ๋ํ ๋ค์ํ ์ด์ ์ฒด์ ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ ์ ์๋ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๋น๋ ๋ฐ ํ ์คํธ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ ํด๋ผ์ฐ๋ ์๋น์ค์์ X86-64 ์ํคํ ์ฒ์ ํธ์ฌ์ฑ์ ๊ณ ๋ คํ๋ฉด ํนํ ์ ์ฉํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ํ ๋์ ์ด์ ์ฒด์ ๋ฒ์ ์ ๋ํด ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ปดํ์ผํ๊ณ ํ ์คํธํ๋ ๋งคํธ๋ฆญ์ค ๋น๋๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
AppMaster ์ ์ฝ๋ ์๋ ํ๋ซํผ์ ๋งฅ๋ฝ์์ CI/CD ํ๋ก์ธ์ค๋ ๋์ฑ ํจ์จ์ ์ด ๋ฉ๋๋ค. ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผํ๋ ํ๋ซํผ์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ถ์ ํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋ ผ๋ฆฌ์ ์ฌ์ฉ์ ๊ฒฝํ์ ์์ฑํ๋ ๋ฐ ์๊ฐ์ ์ง์คํ ์ ์๋๋ก ํฉ๋๋ค. AppMaster ์ ๊ธฐ๋ฅ์ ํ์ฉํ๋ฉด ํ์ ์๋ํ๋ ์ํํธ์จ์ด ๋น๋ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ํด ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ ์๋ฃจ์ ์ ํ์ฉํ ์ ์์ผ๋ฉฐ, ์ด๋ ๋ค์ํ ์ด์ ์ฒด์ ์์ ๋ฐฐํฌ๋ฅผ ์ฒ๋ฆฌํ ๋ ํนํ ์ ์ฉํฉ๋๋ค.
์๋ํ๋ ํ ์คํธ ์ ์ฐจ ํ์ฉ
์๋ํ๋ ํ ์คํธ๋ ์ ์ค์ ๋ CI/CD ํ์ดํ๋ผ์ธ์์ ์ค์ถ์ ์ธ ์ญํ ์ ํฉ๋๋ค. ์ํํธ์จ์ด๊ฐ ๋์์ผ๋ก ํ๋ ํ๋ซํผ ๋ฒ์๋ฅผ ํฌ๊ดํ๋๋ก ํ ์คํธ๋ฅผ ๊ณ ์ํด์ผ ํฉ๋๋ค. ์์คํ ๋ณ ์ ๋ฐ์ดํธ๋ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๊ธฐ๋ฅ์ด ์ค๋จ๋์ง ์๋๋ก ๋จ์ ํ ์คํธ, ํตํฉ ํ ์คํธ, UI ํ ์คํธ ๋ฐ ์๋ํฌ์๋ ํ ์คํธ์ ์กฐํฉ์ ์คํํด์ผ ํฉ๋๋ค. ๊ฐ์ ๋จธ์ ์ด๋ ์๋ฎฌ๋ ์ดํฐ๋ ํ ์คํธ ์ค์ ๋ค์ํ ์ด์ ์ฒด์ ํ๊ฒฝ์ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ผ๋ฉฐ, ์ด๋ ์ค์ ํ๋์จ์ด์ ๋ํ ํ ์คํธ๋ฅผ ๋์ฒดํ์ง ์์ผ๋ฉด์ ์กฐ๊ธฐ ๋ฌธ์ ๊ฐ์ง์ ๋ํ ๋น ๋ฅด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค.
์ด๋ฌํ ๋ฐฐํฌ ๋ฐ CI/CD ๋ฐฉ์์ ์ฑํํจ์ผ๋ก์จ X86-64 ์ํคํ ์ฒ์ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ์ต์ ์ํํธ์จ์ด ๊ฐ๋ฐ ํ๋ก์ธ์ค์์ ์๊ตฌํ๋ ์ ์ํ ์ ๊ณต ๋ฐ ๊ณ ํ์ง ํ์ค์ ์ถฉ์กฑํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ์ ๋ฐ์ดํธ์ ์๋ก์ด ๊ธฐ๋ฅ์ ์์ฃผ ์์ ์ ์ผ๋ก ๋ฆด๋ฆฌ์คํ ์ ์์ด Windows, Linux ๋ฐ macOS ํ๋ซํผ ์ ๋ฐ์์ ์ํํ๊ณ ์ผ๊ด๋ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
X86-64 ์์คํ ์ ์ฑ๋ฅ ์ต์ ํ
x86-64 ์์คํ ์ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌํ ๋ ์ต์ ์ ์ฑ๋ฅ์ ์ป์ผ๋ ค๋ฉด ๋ฒ์ฉ ์ ๋ต๊ณผ ํ๋ซํผ๋ณ ์ ๋ต์ ์ ์คํ๊ฒ ํผํฉํด์ผ ํฉ๋๋ค. ์ด ์ํคํ ์ฒ๋ ๋๋ถ๋ถ์ Windows, Linux ๋ฐ macOS ํ๊ฒฝ์ ๋ฐฑ๋ณธ์ผ๋ก, ์ํํธ์จ์ด ๊ฐ๋ฐ์ ์ํ ์ฅ๋ฒฝ ์๋ ๊ธฐ๋ฐ์ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๊ฐ๋ฐ์๋ ์ด CPU ์ํคํ ์ฒ์์ ์ต๋ ์ฑ๋ฅ์ ์ถ์ถํ๊ธฐ ์ํด ์ด์ ์ฒด์ ๊ฐ์ ์ฐจ์ด์ ์ ๊ฒฝ๊ณํด์ผ ํฉ๋๋ค.
์ต์ ํ๋ฅผ ์ํ ์ด๊ธฐ ๋จ๊ณ ์ค ํ๋๋ x86-64 ์ํคํ ์ฒ์ ๋ ํฐ ๋ ์ง์คํฐ, ์ถ๊ฐ ๋ ์ง์คํฐ, SSE(Streaming SIMD Extensions) ๋ฐ AVX(Advanced Vector Extensions)์ ๊ฐ์ ๋ช ๋ น์ด ๋ฑ์ ๊ธฐ๋ฅ์ ์ฒ ์ ํ ์ดํดํ๋ ๊ฒ์ ๋๋ค. ์ฝ๋๊ฐ ์ด๋ฌํ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋๋ก ์ ์ ํ๊ฒ ์ต์ ํ๋์ด ์๋ค๋ฉด ์ด๋ฅผ ํ์ฉํ์ฌ ๊ณ์ฐ ๊ธฐ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
์ปดํ์ผ์ ์ต์ ํ๊ฐ ์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์๋ ๋ ๋ค๋ฅธ ์ธก๋ฉด์ ๋๋ค. ์ปดํ์ผ๋ฌ ์ค์ ๋ฐ ์ต์ ํ ํ๋๊ทธ๋ฅผ ์ ์ฉํ๋ ๊ฒ์ ๊ฐ ํ๋ซํผ์ ํ์์ ์ด๋ฉฐ, ์ด๋ ์ฝ๋๊ฐ ํ๋์จ์ด์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, GCC์ Clang์ ์ต์ ํ๋ฅผ ์ํ ๋ค์ํ ํ๋๊ทธ๋ฅผ ์ ๊ณตํ๋ฉฐ Microsoft์ Visual Studio์๋ Windows์ ๋ณต์กํจ์ ๋ง๊ฒ ๋ง์ถคํ๋ ์ปดํ์ผ๋ฌ๊ฐ ์์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ ๊ด๋ฆฌ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ์ค์ํฉ๋๋ค. ์คํ๊ณผ ํ์ ํจ๊ณผ์ ์ธ ์ฌ์ฉ, ์บ์ ํ์ฉ๋ ์ดํด, ์บ์ ์ค์ผ ๋ฐฉ์ง๋ ๋ ๋์ ์ฑ๋ฅ์ ๋ฌ์ฑํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. Linux์ฉ Valgrind, macOS์ฉ Instruments, Windows์ฉ Performance Monitor์ ๊ฐ์ ํ๋กํ์ผ๋ง ๋๊ตฌ๋ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๊ณผ ๊ด๋ จ๋ ๋ณ๋ชฉ ํ์์ ์ฐพ๋ ๋ฐ ๋์์ด ๋ ์ ์์ต๋๋ค.
๊ฐ๋ณ ๋๊ตฌ ๋ฐ ํ๋ซํผ ํน์ฑ ์ธ์๋ ๊ฐ๋ฐ์๋ ์ฑ๋ฅ์ ์ผ๋์ ๋๊ณ ์ค๊ณ๋ ํฌ๋ก์ค ํ๋ซํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด Boost ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ปฌ๋ ์ ์ x86-64 ์์คํ ์ ์ต์ ํ๋ ์ด์ ๊ฐ๋ฅํ ๊ตฌ์ฑ ์์๋ฅผ ์ ๊ณตํ์ฌ ํ๋ซํผ๋ณ ์ฑ๋ฅ ์กฐ์ ์ ๋๋ถ๋ถ์ ์ถ์ํํฉ๋๋ค.
๋์์ฑ ๋ฐ ๋ฉํฐ์ค๋ ๋ฉ๋ ์ค๋๋ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ฅ ์ค์ํ๋ฉฐ x86-64 ์์คํ ์ ์ด๋ฌํ ๋ณ๋ ฌ์ฑ์ ๊ฐ๋ ฅํ๊ฒ ์ง์ํฉ๋๋ค. Unix ๊ธฐ๋ฐ ์์คํ ์ฉ POSIX ์ค๋ ๋(pthread) ๋ฐ Windows์ฉ Win32 ์ค๋ ๋์ ๊ฐ์ ์ค๋ ๋ฉ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ๊ฐ๋ฐ์๋ ๋ค์ค CPU ์ฝ์ด๋ฅผ ์์ ํ ํ์ฉํ๋ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๊ณต๊ธ์ ์ฒด๋ณ ์ต์ ํ๋ฅผ ์ถ๊ตฌํ๋ ๊ฒ์ด ๊ฐ์น ์๋ ์ผ์ด ๋ ์ ์์ต๋๋ค. Intel์ MKL(Math Kernel Library) ๋๋ AMD์ ์ฑ๋ฅ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํด๋น ํ๋์จ์ด์ ๋ชจ๋ ๊ธฐ๋ฅ์ ํ์ฉํฉ๋๋ค. ํญ์ ์ด์ ๊ฐ๋ฅํ ๊ฒ์ ์๋์ง๋ง ํ๋ซํผ๋ณ ๋ฐฐํฌ๊ฐ ํ์ฉ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ํ ์ฑ๋ฅ ํฅ์์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ต์ ํ๋ ๋ฐ๋ณต์ ์ธ ํ๋ก์ธ์ค๋ผ๋ ์ ์ ํญ์ ๊ธฐ์ตํ์ธ์. ์ง์์ ์ธ ํ๋กํ์ผ๋ง, ๋ฒค์น๋งํน ๋ฐ ํ ์คํธ๋ฅผ ํตํด ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ x86-64 ์์คํ ์ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ค์ง์ ์ธ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์ฌ ์ ์๋ ์ ์ง์ ์ธ ๊ฐ์ ์ ์ด๋ฃฐ ์ ์์ต๋๋ค. ๋ํ AppMaster ์ ๊ฐ์ ํ๋ซํผ์ ์ฌ๋ฌ ํ๋ซํผ์ ๊ฑธ์ณ ์ด๋ฌํ ์ฑ๋ฅ ๊ณ ๋ ค ์ฌํญ์ ๋ณธ์ง์ ์ผ๋ก ๊ณ ๋ คํ๋ ๊ณ ๊ธ no-code ์๋ฃจ์ ์ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ์ ํจ์จ์ฑ์ ํ์ธต ๋ ๋์ฌ์ค๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ์๋ก์ด ์ถ์ธ
ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ ์์ญ์ ์๋ก์ด ๊ธฐ์ ๊ณผ ๋ณํํ๋ ์ฌ์ฉ์ ๊ธฐ๋์ ํ์ ์ด ๋์์์ด ์งํํ๊ณ ์์ต๋๋ค. X86-64 ์ํคํ ์ฒ์ Windows, Linux ๋ฐ macOS์์ ์ํํ๊ฒ ์๋ํ๋ ์ํํธ์จ์ด๋ฅผ ๊ตฌ์ถํ๊ณ ์ ์งํ๋ ค๋ ๊ฐ๋ฐ์์๊ฒ๋ ์ด๋ฌํ ์ถ์ธ๋ฅผ ๋ฐ๋ผ๊ฐ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๋ค์์ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๋ฏธ๋๋ฅผ ํ์ฑํ๋ ๋ช ๊ฐ์ง ์ต์ฒจ๋จ ํธ๋ ๋์ ๋๋ค.
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ ์ฑํ ์ฆ๊ฐ
GitHub Codespaces ๋ฐ AWS Cloud9๊ณผ ๊ฐ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ์ ํฌ๋ก์ค ํ๋ซํผ ํ๋ก์ ํธ ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์ฃผ๋ชฉ์ ๋ฐ๊ณ ์์ต๋๋ค. ์ด๋ฌํ ํ๊ฒฝ์ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๊ฐ๋ฅํ ๋ชจ๋ ์์คํ ์์ ์ก์ธ์คํ ์ ์๋ ํตํฉ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. ๋ก์ปฌ ์ด์ ์ฒด์ ์ ๋ ๋ฆฝ์ ์ผ๋ก ์๋ํ์ฌ ์ฝ๋๊ฐ ๋ค์ํ ํ๋ซํผ์์ ์ผ๊ด๋๊ฒ ์๋ํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
ํ๋ก๊ทธ๋ ์๋ธ ์น ์ฑ(PWA)์ ๋ถ์
๊ธฐ์ ์ด ๋ค์ํ ์ฅ์น์์ ์ฌ์ฉ์์๊ฒ ๋ค๊ฐ๊ฐ๋ ค๊ณ ๋ ธ๋ ฅํจ์ ๋ฐ๋ผ ์น ๋ธ๋ผ์ฐ์ ์์ ๊ธฐ๋ณธ์ ๊ฐ๊น์ด ์ฑ ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ํ๋ก๊ทธ๋ ์๋ธ ์น ์ฑ(PWA)์ด ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค. PWA๋ ๊ธฐ์กด์ ์ ์ง์ ์ธ ํฅ์ ์ ๋ต๊ณผ ํจ๊ป ์ต์ ์น API๋ฅผ ํ์ฉํ์ฌ ๋ค์ํ ํ๋ซํผ์์ ํธํ์ฑ๊ณผ ๊ธฐ๋ฅ ํจ๋ฆฌํฐ๋ฅผ ๋ณด์ฅํฉ๋๋ค.
์ปจํ ์ด๋ํ ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค
Docker ๋ฐ Kubernetes ์ ๊ฐ์ ์ปจํ ์ด๋ํ ๊ธฐ์ ์ด ํฌ๋ก์ค ํ๋ซํผ ๊ณต๊ฐ์ผ๋ก ํ์ฅ๋๊ณ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ํ์ํ ๋ชจ๋ ๋ฐ์ด๋๋ฆฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๊ตฌ์ฑ ํ์ผ์ ํฌํจํ๋ ์ปจํ ์ด๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์บก์ํํ์ฌ ๊ธฐ๋ณธ ์ธํ๋ผ์ ๊ด๊ณ์์ด ์ํํธ์จ์ด๊ฐ ๊ท ์ผํ๊ฒ ์คํ๋๋๋ก ๋ณด์ฅํ ์ ์์ต๋๋ค.
ํ๋ซํผ์ ๊ตฌ์ ๋ฐ์ง ์๋ ํ๋ ์์ํฌ ๋ฐ ์ธ์ด
๋ชจ๋ฐ์ผ์ฉ Flutter ๋ฐ ๋ฐ์คํฌํฑ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Electron๊ณผ ๊ฐ์ ํ๋ ์์ํฌ๋ ๋จ์ผ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ํ๋ซํผ์ ๋์์ผ๋ก ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค. ๋์์ Rust ๋ฐ Go์ ๊ฐ์ ํ๋ซํผ ๋ ๋ฆฝ์ ์ธ์ด๋ ์ฑ๋ฅ, ์์ ์ฑ ๋ฐ ํฌ๋ก์ค ํ๋ซํผ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ์์คํ ์์ค ํ๋ก๊ทธ๋๋ฐ์์ ์ธ๊ธฐ๋ฅผ ์ป๊ณ ์์ต๋๋ค.
AI์ ๋จธ์ ๋ฌ๋์ ํตํฉ
์ธ๊ณต ์ง๋ฅ(AI) ๋ฐ ๊ธฐ๊ณ ํ์ต(ML) ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ซํผ ๊ฐ ํธํ์ฑ์ ์ผ๋์ ๋๊ณ ์ ์ ๋ ๋ง์ด ๊ตฌ์ถ๋๊ณ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์์ AI/ML ํตํฉ์ด ๋์ฑ ๋ณดํธํ๋จ์ ๋ฐ๋ผ ์ด๋ฌํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ํ ํฌ๋ก์ค ํ๋ซํผ ์ง์์ ํ์์ฑ์ด ํ์์ ์ด ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด TensorFlow, PyTorch ๋ฐ Scikit-learn์ ์ด์ ์ฃผ์ OS ํ๋ซํผ์์ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ณ ๊ธ ๊ฐ์ํ ๊ธฐ์
QEMU ๋ฐ VirtualBox ์ ๊ฐ์ ๊ฐ์ํ ๊ธฐ์ ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ๊ธฐ๋ณธ ๊ฐ๋ฐ ํ๊ฒฝ ๋ด์์ ๋ค์ํ ์ด์ ์ฒด์ ๋ฐ ์ํคํ ์ฒ๋ฅผ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ผ๋ฏ๋ก ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ ํ๋ก์ธ์ค๊ฐ ๋จ์ํ๋ฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ณ๋์ ๋ฌผ๋ฆฌ์ ์์คํ ์ด ํ์ ์์ด ์ฌ๋ฌ ํ๋ซํผ์์ ํ ์คํธ ๋ฐ ๋๋ฒ๊น ์ด ์ฉ์ดํด์ง๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ปจํ ์คํธ์ DevOps ๋ฐ ์๋ํ
DevOps ๋ฐฉ์๊ณผ ์๋ํ ๋๊ตฌ๋ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๋ณต์ก์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง์ถคํ๋๊ณ ์์ต๋๋ค. Jenkins ๋ฐ GitHub Actions์ ๊ฐ์ CI/CD ํ๋ซํผ์ด ์ฑ์ฅํจ์ ๋ฐ๋ผ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ, ํ ์คํธ ๋ฐ ๋ฐฐํฌ์ ์๋ํ๊ฐ ๋์ฑ ์ ๊ตํด์ง๋ฉด์ ๋ฆด๋ฆฌ์ค ๋น๋์ ์์ ์ฑ์ด ํฅ์๋์์ต๋๋ค.
ํ์คํ ๋ฐ ์คํ์์ค ํ์
ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๋จํธํ๋ฅผ ์ค์ด๊ธฐ ์ํด ๊ฐ๋ฐ ๋๊ตฌ ์ฒด์ธ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ์คํ๊ฐ ๊ฐ๋ ฅํ๊ฒ ์ถ์ง๋๊ณ ์์ต๋๋ค. OSS(์คํ ์์ค ์ํํธ์จ์ด) ์ด๋๊ณผ ๊ฐ์ ์ด๋์ ํฐ๋ธ๋ ๋ค์ํ ์์คํ ๊ฐ์ ํธํ์ฑ๊ณผ ์ํธ ์ด์ฉ์ฑ์ ์ด์งํ๋ ์ปค๋ฎค๋ํฐ ์ค์ฌ ๊ฐ๋ฐ์ ์ฅ๋ คํจ์ผ๋ก์จ ์ด์ ๊ธฐ์ฌํฉ๋๋ค.
๋ณด์ ๊ฐ์กฐ ๊ฐํ
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ฑ ๋ณดํธํ๋๋ฉด์ ๋ณด์ ๋ฌธ์ ๋ ๋์ฑ ๋ณต์กํด์ก์ต๋๋ค. ํนํ ํ๋ซํผ๋ณ ์ทจ์ฝ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ณด์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ์ ํต์ฌ ๊ตฌ์ฑ ์์๋ก ํตํฉํ๋ ์ถ์ธ๊ฐ ์ปค์ง๊ณ ์์ต๋๋ค. OWASP ์ Zap ๋ฐ ํ๋ซํผ๋ณ ์ง์นจ๊ณผ ๊ฐ์ ๋๊ตฌ๋ ์ด๋ฌํ ์ํ์ ์๋ณํ๊ณ ์ํํ๋ ๋ฐ ์ค์ถ์ ์ธ ์ญํ ์ ํฉ๋๋ค.
์ด๋ฌํ ์๋ก์ด ์ถ์ธ๋ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ์ญ๋์ ์ธ ํน์ฑ์ ๊ฐ์กฐํฉ๋๋ค. ์ ๊ณ๊ฐ ๋ฐ์ ํจ์ ๋ฐ๋ผ ์ด๋ฌํ ์ถ์ธ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ๊ฒ์ ๊ด๋ จ์ฑ์ ์ ์งํ๊ณ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๊ณต์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํจ์จ์ ์ผ๋ก ์ ์ง ๊ด๋ฆฌํ๋ ๊ฒ์ ์ง์๋๋ ๋ชจ๋ ํ๋ซํผ์์ ๊ณ์ํด์ ์ข์ ์ฑ๋ฅ์ ๋ฐํํ๊ณ ์ํํ ํ๊ฒฝ์ ์ ๊ณตํ๋ ๋ฐ ์ค์ํฉ๋๋ค. ๋ค์์ Windows, Linux ๋ฐ macOS์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฅ๊ธฐ๊ฐ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ํด ๊ณ ๋ คํด์ผ ํ ๋ช ๊ฐ์ง ๋ชจ๋ฒ ์ฌ๋ก์ ๋๋ค.
์ฝ๋ ์ฌ์ฌ์ฉ์ฑ๊ณผ ๋ชจ๋์ฑ ๊ฐ์กฐ
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ธฐ๋ณธ ์์น ์ค ํ๋๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ชจ๋์์ผ๋ก ์ ์งํ๋ ๊ฒ์ ๋๋ค. ํ๋ซํผ์ ๊ตฌ์ ๋ฐ์ง ์๋ ์ฝ๋์์ ํ๋ซํผ๋ณ ์ฝ๋๋ฅผ ๋ถ๋ฆฌํ์ธ์. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ์ ์ฒด ์์คํ ์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๊ฐ ํ๋ซํผ์ ์ฝ๋๋ฅผ ๋ ์ฝ๊ฒ ๊ด๋ฆฌํ๊ณ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
๋จ์ผ ์ ๋ณด ์์ค ์ก์ฑ
์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ํ ํ๊ฒฝ์ ๋ง๊ฒ ์กฐ์ ํ๋ ๊ฒฝ์ฐ์๋ ํต์ฌ ๋ ผ๋ฆฌ๋ฅผ ์ค์ ์ง์คํํ๋ฉด ์ผ๊ด์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค. ๊ฐ๋ฅํ ๊ฒฝ์ฐ ์ฝ๋๋ฒ ์ด์ค์ ๋ํ ๋จ์ผ ์ ์ฅ์๋ฅผ ์ ์งํ๊ณ ๋ถ๊ธฐ ๋๋ ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ซํผ ๊ฐ์ ํธ์ฐจ๋ฅผ ์ฒ๋ฆฌํ์ญ์์ค. ์ด ์ ๋ต์ ์ ์ง ๊ด๋ฆฌ ๋ฌธ์ ๋ก ์ด์ด์ง ์ ์๋ ๋ถ์ผ์น ๊ฐ๋ฅ์ฑ๊ณผ ์ค๋ณต์ ์ต์ํํฉ๋๋ค.
์กฐ๊ฑด๋ถ ์ปดํ์ผ ํ์ฉ
ํ๋ซํผ๋ณ ๊ธฐ๋ฅ์ด ํ์ํ ๊ฒฝ์ฐ ์กฐ๊ฑด๋ถ ์ปดํ์ผ์ด ์ ์ฉํ ๊ธฐ์ ์ ๋๋ค. C# ๋ฐ C++์ ๊ฐ์ ์ธ์ด๋ ๋์ ํ๋ซํผ์ ๊ธฐ๋ฐ์ผ๋ก ์ฝ๋๋ฅผ ์ ํ์ ์ผ๋ก ์ปดํ์ผํ ์ ์๋ ์ ์ฒ๋ฆฌ๊ธฐ ์ง์๋ฌธ์ ์ ๊ณตํฉ๋๋ค. ์ด ๋ฐฉ๋ฒ์ ๋น๋ ํ๋ก์ธ์ค ์ค์ ํน์ ์ฝ๋ ๊ฒฝ๋ก๋ฅผ ํฌํจํ๊ฑฐ๋ ์ ์ธํ๋ ๊ฒ์ ๋จ์ํํฉ๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ํ๋ ์์ํฌ ๋ฐ ๋๊ตฌ์ ํฌ์
์ฆ์ ํฌ๋ก์ค ํ๋ซํผ ์ง์์ ์ ๊ณตํ๋ ํ๋ ์์ํฌ, ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋๊ตฌ๋ฅผ ์ ํํ์ธ์. Xamarin, Qt ๋ฐ .NET Core์ ๊ฐ์ ํ๋ ์์ํฌ๋ ๋ด๋ถ์ ์ผ๋ก ๋ง์ ํ๋ซํผ๋ณ ์ฐจ์ด์ ์ ์ฒ๋ฆฌํ๋ ๋์์ ์ฌ๋ฌ ํ๋ซํผ์์ ์ฝ๋ ๊ณต์ ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
ํ๊ฒฝ ์ ๋ฐ์ ๊ฑธ์ณ ํ ์คํธ ์๋ํ
ํจ๊ณผ์ ์ธ ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ํด ๋ชจ๋ ๋์ ํ๋ซํผ์ ํฌ๊ดํ๋ ์๋ํ๋ ํ ์คํธ ํ๋ ์์ํฌ๋ฅผ ๊ตฌํํ์ธ์. Selenium, Appium ๋ฐ ๊ฐ์ํ๋ ํ ์คํธ ํ๊ฒฝ๊ณผ ๊ฐ์ ๋๊ตฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ผ๊ด๋๊ฒ ์๋ํ๋์ง ํ์ธํ๊ณ ์ ๋ฐ์ดํธ๊ฐ ์ ์ฉ๋ ๋ ์ ์ํ๊ฒ ํ๊ท๋ฅผ ํฌ์ฐฉํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ง์์ ์ธ ํตํฉ ๋ฐ ์ง์์ ์ธ ๋ฐฐํฌ(CI/CD)
CI/CD ๋ฐฉ์์ ํ๋ซํผ ๊ฐ ์ ์ง ๊ด๋ฆฌ์ ํ์์ ์ ๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ ํ ์คํธํ๊ณ ๋ชจ๋ ํ๋ซํผ์ ์ ์ํ๊ฒ ์ ์ฉํ ์ ์๋๋ก ๋น๋ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ์ธ์. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ ์ํ๋ก ์ ์งํ๊ณ ์๋ก์ด ๊ธฐ๋ฅ ๋ฐ ๋ฒ๊ทธ ์์ ์ ๋ํ ์ถ์ ์๊ฐ์ ๋จ์ถํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
๋ฌธ์ ํ๋ซํผ๋ณ ๊ณ ๋ ค ์ฌํญ
ํ๋ซํผ๋ณ ๋์๊ณผ ํด๊ฒฐ ๋ฐฉ๋ฒ ๋๋ ๊ตฌํ๋ ํน๋ณ ๊ณ ๋ ค์ฌํญ์ ๋ํ ์์ธํ ๋ฌธ์๋ฅผ ๋ณด๊ดํ์ธ์. ์ข์ ๋ฌธ์๋ ์๋ก์ด ๊ฐ๋ฐ์๋ฅผ ์จ๋ณด๋ฉํ๊ณ ํน์ ์ค๊ณ ๊ฒฐ์ ์ ์ด์ ๋ฅผ ์ถ์ ํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
ํ๋ซํผ ๊ฐ๋ฐ์ ๋ํ ์ต์ ์ ๋ณด๋ฅผ ๋ฐ์๋ณด์ธ์
์ด์ ์ฒด์ ๋ ๋ฐ์ ํ๊ณ ์์ผ๋ฉฐ ํธํ์ฑ์ ์ ์งํ๋ ค๋ฉด ์ต์ ์ ๋ฐ์ดํธ์ ๋ ์ด์ ์ฌ์ฉ๋์ง ์๋ ๊ธฐ๋ฅ์ ๋ํ ์ต์ ์ ๋ณด๋ฅผ ์ ์งํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ํ๋ซํผ ๋ฆด๋ฆฌ์ค ๋ ธํธ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ๊ฒํ ํ๊ณ ์๋ก์ด ๊ธฐ์ ๊ณผ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์์ฉํ๋๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์กฐ์ ํ์ธ์.
์ปค๋ฎค๋ํฐ์ ๊ธฐ์ฌ์์ ์ฐธ์ฌ
ํฌ๋ผ, ์ฌ์ฉ์ ๊ทธ๋ฃน, ์ด์ ํธ๋์ปค ๋ฑ ๊ฐ๋ฐฉํ ์ปค๋ฎค๋์ผ์ด์ ์ฑ๋์ ์์ฉํ์ธ์. ์ฌ์ฉ์ ์ปค๋ฎค๋ํฐ ๋ฐ ๊ธฐ์ฌ์์ ํ๋ ฅํ๋ฉด ์ง์ ์ ์ธ ํผ๋๋ฐฑ, ๋ฒ๊ทธ ๋ณด๊ณ ์, ์ฌ์ง์ด ์ ์ง ๊ด๋ฆฌ์ ๊ท์คํ ์ฝ๋ ๊ธฐ์ฌ๊น์ง ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ถ์ ๋ฐ ๋ชจ๋ํฐ๋ง ํ์ฉ
๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ซํผ ์ ๋ฐ์ ๊ฑธ์ณ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ๊ณผ ์์ ์ฑ์ ์ถ์ ํ์ธ์. ๋ถ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด๋ป๊ฒ ์ฌ์ฉ๋๋์ง์ ๋ํ ํต์ฐฐ๋ ฅ์ ์ ๊ณตํ๊ณ ๊ฐ์ ์ด๋ ์ต์ ํ๊ฐ ํ์ํ ์์ญ์ ์๋ณํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
AppMaster ํ๋ซํผ ์์ฒด๋ ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ง ๊ด๋ฆฌ๋ฅผ ์ง์ํ ์ ์๋ ๋๊ตฌ์ ์์ ๋๋ค. no-code ๊ธฐ๋ฅ์ ๊ฐ์ถ AppMaster ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๊ฐ ํ๋ซํผ์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ๋ฐ SDK์ ๋ฏธ๋ฌํ ์ฐจ์ด๋ฅผ ๊น์ด ํ๊ณ ๋ค์ง ์๊ณ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ ๋ฐ ์ ์งํ๋ฉด์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ฑ๋ฅ์ด ์ต์ ํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ ์ ์์ต๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ง ๊ด๋ฆฌํ๊ธฐ ์ํ ์ด๋ฌํ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด๋ฉด ๊ฐ๋ฐ ํ์ ํจ์จ์ฑ์ ๋์ด๊ณ ์ง์ํ๋ ๋ชจ๋ ํ๋ซํผ์์ ์ํํธ์จ์ด์ ์์ ์ฑ, ์ฑ๋ฅ ๋ฐ ์ผ๊ด์ฑ์ ์ ์งํ ์ ์์ต๋๋ค.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ๊ฐ ํ๋ซํผ์ ๋ํด ๋ณ๋์ ์ฝ๋๋ฒ ์ด์ค๊ฐ ํ์ ์์ด Windows, Linux, macOS ๋ฑ ์ฌ๋ฌ ์ด์ ์ฒด์ ์์ ํธํ๋๊ณ ์คํ๋ ์ ์๋ ์ํํธ์จ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ํ๋ก์ธ์ค๋ฅผ ์๋ฏธํฉ๋๋ค.
X86-64 ์ํคํ ์ฒ๋ ๊ฐ๋ฐ์๊ฐ ๋์ผํ ํ๋ก์ธ์ ์ํคํ ์ฒ์์ ์ฌ๋ฌ ์ด์ ์ฒด์ ๋ฅผ ๋์์ผ๋ก ํ ์ ์๋๋ก ํ๋ ๊ณตํต ํ๋์จ์ด ํ๋ซํผ์ ์ ๊ณตํ์ฌ ํ๋์จ์ด ๊ด๋ จ ๋ฌธ์ ๊ฐ ์ ์ ํฌ๋ก์ค ํ๋ซํผ ์ํํธ์จ์ด ์์ฑ์ ์ด์งํฉ๋๋ค.
์ฃผ์ ๊ณผ์ ๋ก๋ ๋ค์ํ ์ด์ ์ฒด์ ๋์ ์ฒ๋ฆฌ, ํ๋ซํผ ๊ฐ ์ผ๊ด๋์ง ์์ API, ๋ค์ํ ์ฌ์ฉ์ ์ธํฐํ์ด์ค ํ์ค, ๋ชจ๋ ๋์ ํ๊ฒฝ์์ ์ผ๊ด๋ ์ฑ๋ฅ๊ณผ ๊ธฐ๋ฅ์ ๋ณด์ฅํ๋ ๋ฐ ์ด๋ ค์์ด ์์ต๋๋ค.
๊ฐ๋ฐ ํ๋ ์์ํฌ(์: Qt, .NET Core), ํฌ๋ก์ค ํ๋ซํผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, Docker์ ๊ฐ์ ์ปจํ ์ด๋ํ ํ๋ซํผ, ๊ฐ์ ๋จธ์ ๊ณผ ๊ฐ์ ๋๊ตฌ๋ ๊ฐ๋ฐ์๊ฐ ๋ค์ํ ์ด์ ์ฒด์ ์์ ์๋ํ๋ ์ํํธ์จ์ด๋ฅผ ๋ง๋๋ ๋ฐ ๋์์ ์ค ์ ์์ต๋๋ค.
ํฌ๋ก์ค ํ๋ซํผ ์ ํ๋ฆฌ์ผ์ด์ ํ ์คํธ์๋ ๊ฐ ๋์ ์ด์ ์ฒด์ ์ ์ํํธ์จ์ด ์ ํจ์ฑ ๊ฒ์ฌ, ์ผ๊ด๋ UX/UI ๋ณด์ฅ, ํ๋ซํผ๋ณ ์กฐ๊ฑด์ผ๋ก ์ธํด ๋ฐ์ํ ์ ์๋ ์ฑ๋ฅ ๋ฐ ๋ณด์ ๋ฌธ์ ํ์ธ์ด ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
CI/CD(์ง์์ ํตํฉ ๋ฐ ์ง์์ ๋ฐฐํฌ)๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์ํ ํ๋ซํผ์์ ์ํํธ์จ์ด ํ ์คํธ ๋ฐ ๋ฐฐํฌ๋ฅผ ์๋ํํ์ฌ ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ์ ๋ฐ์ดํธ ๋ฐ ์์ ์ฌํญ์ ๋น ๋ฅด๊ฒ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ต์ ํ ์ ๋ต์๋ ํ๋ซํผ๋ณ ์ปดํ์ผ๋ฌ ๋ฐ ์ต์ ํ ํ๋๊ทธ ์ฌ์ฉ, ๊ฐ ํ๋ซํผ์์์ ํ๋กํ์ผ๋ง ๋ฐ ๋ฒค์น๋งํน, ํฅ์๋ ์ฑ๋ฅ์ ์ํ SIMD ๋ช ๋ น๊ณผ ๊ฐ์ X86-64 ์ํคํ ์ฒ ๊ธฐ๋ฅ ํ์ฉ์ด ํฌํจ๋ฉ๋๋ค.
ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ, AI ๋ฐ ๊ธฐ๊ณ ํ์ต ์ฑํ, ๊ฐ์ํ ๊ธฐ์ ์ ๋ฐ์ ๊ณผ ๊ฐ์ ์๋ก์ด ํธ๋ ๋๋ ์ํํธ์จ์ด ๊ตฌ์ถ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ํ ์๋ก์ด ๋๊ตฌ์ ๋ฐฉ๋ฒ๋ก ์ ์ ๊ณตํจ์ผ๋ก์จ ํฌ๋ก์ค ํ๋ซํผ ๊ฐ๋ฐ์ ์ํฅ์ ๋ฏธ์น๊ณ ์์ต๋๋ค.
์ฃผ๋ชฉํ ๋งํ ์ ์ค ํ๋๋ Windows, Linux ๋ฐ macOS์์ ์ฑ๊ณต์ ์ผ๋ก ์คํ๋์ด ์ธ ๊ฐ์ง ํ๋ซํผ ๋ชจ๋์์ ์ผ๊ด๋๊ณ ๊ฐ๋ ฅํ ๊ฐ๋ฐ ํ๊ฒฝ์ ์ ๊ณตํ๋ Microsoft์ Visual Studio Code ํธ์ง๊ธฐ ๊ฐ๋ฐ์ ๋๋ค.
๋ชจ๋ฒ ์ฌ๋ก์๋ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ชจ๋์ ๋ฐ ๋ถ๋ฆฌ๋ ์ํ๋ก ์ ์งํ๊ณ , ์ถ์ํ ๊ณ์ธต์ ์ฌ์ฉํ๊ณ , ํ๋ซํผ๋ณ ์ ๋ฐ์ดํธ ๋ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ต์ ์ํ๋ก ์ ์งํ๊ณ , ํ๋ซํผ ์ฐจ์ด๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํ ํฌ๊ด์ ์ธ ํ ์คํธ ์ ๋ต์ ์ฌ์ฉํ๋ ๊ฒ์ด ํฌํจ๋ฉ๋๋ค.


