2023๋…„ 12์›” 22์ผยท8๋ถ„ ์ฝ๊ธฐ

X86-64์˜ ๊ต์ฐจ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ: Windows, Linux ๋ฐ macOS ์—ฐ๊ฒฐ

Windows, Linux ๋ฐ macOS ์ „๋ฐ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด ๊ฒฉ์ฐจ๋ฅผ ํ•ด์†Œํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ํ†ตํ•ด X86-64 ์•„ํ‚คํ…์ฒ˜์—์„œ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์˜ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”.

X86-64์˜ ๊ต์ฐจ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ: Windows, Linux ๋ฐ macOS ์—ฐ๊ฒฐ

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 ๋“ฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์‹คํ–‰๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•˜๋ ค๋ฉด ์‹ ์ค‘ํ•œ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋ชฉํ‘œ๋Š” ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ๋„ ๊ฐ ๋Œ€์ƒ ํ”Œ๋žซํผ์˜ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด์— ์ ์‘ํ•  ์ˆ˜ ์žˆ๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ํ™˜๊ฒฝ์„ ํšจ๊ณผ์ ์œผ๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์„ค๊ณ„ ์ „๋žต์ž…๋‹ˆ๋‹ค.

  1. ์ฒ˜์Œ๋ถ€ํ„ฐ ์ด์‹์„ฑ์„ ์œ„ํ•œ ๊ณ„ํš: ์—ฌ๋Ÿฌ ํ”Œ๋žซํผ์— ๊ฑธ์ณ ์ด์‹ ๊ฐ€๋Šฅํ•œ ๋””์ž์ธ์„ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ์‚ฌ์ „ ๊ณ ๋ ค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•„์ˆ˜ ๊ธฐ๋Šฅ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•œ ๋‹ค์Œ ๋Œ€์ƒ ํ”Œ๋žซํผ ๊ฐ„์˜ ๊ณตํ†ต์ ์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์‹ญ์‹œ์˜ค. ๊ผญ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ํ”Œ๋žซํผ๋ณ„ ๊ธฐ๋Šฅ์— ์ง€๋‚˜์น˜๊ฒŒ ์˜์กดํ•˜์ง€ ์•Š๋Š” ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  ์กฐ๊ฑด๋ถ€๋กœ ํ”Œ๋žซํผ๋ณ„ ์ฝ”๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ค€๋น„๋ฅผ ํ•˜์‹ญ์‹œ์˜ค.
  2. ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋„๊ตฌ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ: ์šด์˜ ์ฒด์ œ ๊ฐ„์˜ ์ฐจ์ด์ ์„ ์ถ”์ƒํ™”ํ•˜๋„๋ก ์„ค๊ณ„๋œ ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”ฝ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์šฉ Qt ๋‚˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์กฐ์šฉ .NET Core์™€ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํ”„๋กœ์„ธ์Šค๋ฅผ ํฌ๊ฒŒ ๋‹จ์ˆœํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋„๊ตฌ๋Š” ์ข…์ข… ๊ต์ฐจ ํ˜ธํ™˜์„ฑ์„ ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„๋˜์–ด ์šด์˜ ์ฒด์ œ์— ๊ด€๊ณ„์—†์ด X86-64 ์•„ํ‚คํ…์ฒ˜์—์„œ ์•ˆ์ •์ ์œผ๋กœ ์ž‘๋™ํ•˜๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  3. ํ”Œ๋žซํผ์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š” ์„ค๊ณ„ ์›์น™ ์ˆ˜์šฉ: ํ”Œ๋žซํผ ์‚ฌ์–‘๊ณผ ๋ฌด๊ด€ํ•œ ์„ค๊ณ„ ์›์น™์„ ์ค€์ˆ˜ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๋ถ„๋ฆฌํ•˜๋Š” MVC(Model-View-Controller) ํŒจํ„ด๊ณผ ๊ฐ™์€ ๊น”๋”ํ•œ ์•„ํ‚คํ…์ฒ˜๋ฅผ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š๊ณ ๋„ ๊ฐ ํ”Œ๋žซํผ์˜ UI๋ฅผ ๋” ์‰ฝ๊ฒŒ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ๋ชจ๋“ˆํ˜• ๊ฐœ๋ฐœ ์ ‘๊ทผ ๋ฐฉ์‹: ๋‹ค๋ฅธ ๊ตฌ์„ฑ ์š”์†Œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ ๊ต์ฒดํ•˜๊ฑฐ๋‚˜ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“ˆํ˜• ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ์ค‘์ ์„ ๋‘ก๋‹ˆ๋‹ค. ์ด ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ค‘์•™ ์ž‘์—…์„ ๋ฐฉํ•ดํ•˜์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํ”Œ๋žซํผ๋ณ„ ๋ชจ๋“ˆ์„ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ์ถ”์ƒ ํ”Œ๋žซํผ๋ณ„ ์‚ฌํ•ญ: ํ”Œ๋žซํผ๋ณ„ ๊ธฐ๋Šฅ์ด๋‚˜ API ํ˜ธ์ถœ์ด ๋ฐœ์ƒํ•˜๋ฉด ์ด๋ฅผ ์ถ”์ƒํ™” ๊ณ„์ธต ๋‚ด์—์„œ ๋ž˜ํ•‘ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๊ณตํ†ต ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด ์ธํ„ฐํŽ˜์ด์Šค ๋’ค์— ํ”Œ๋žซํผ๋ณ„ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  6. ํ”Œ๋žซํผ๋ณ„ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ตํ•œ CI(์ง€์†์  ํ†ตํ•ฉ): ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์ดˆ๊ธฐ์— CI ์‹œ์Šคํ…œ์„ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์ž๋™ํ™”๋œ ํ…Œ์ŠคํŠธ๋Š” ์ˆ˜์ •์œผ๋กœ ์ธํ•ด ํ•œ ํ™˜๊ฒฝ์—์„œ ๊ธฐ๋Šฅ์ด ์ค‘๋‹จ๋˜์ง€ ์•Š๊ณ  ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ๋Š” ์ˆ˜์ •๋˜๊ฑฐ๋‚˜ ๊ฐœ์„ ๋˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. CI ์‹œ์Šคํ…œ์€ ๋ชจ๋“  ๋Œ€์ƒ ํ”Œ๋žซํผ์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  7. ๋‹ค์–‘ํ•œ UI/UX ๊ทœ๋ฒ” ์ค€๋น„: UI ๋ฐ UX์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ๊ธฐ๋Œ€์น˜๋Š” Windows, Linux ๋ฐ macOS ๊ฐ„์— ํฌ๊ฒŒ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ์—ฐ์„ฑ์„ ์—ผ๋‘์— ๋‘๊ณ  ์„ค๊ณ„ํ•˜์—ฌ ๊ฐ OS์—์„œ ๊ถŒ์žฅํ•˜๋Š” ํœด๋จผ ์ธํ„ฐํŽ˜์ด์Šค ์ง€์นจ์˜ ์ฐจ์ด๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํƒ์ƒ‰ ๊ตฌ์กฐ, ์‹œ๊ฐ์  ์š”์†Œ ๋˜๋Š” ์ƒํ˜ธ ์ž‘์šฉ ์Šคํƒ€์ผ์ด ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  8. ๋ฒ„์ „ ์ œ์–ด ๋ฐ ๋ฌธ์„œํ™”: Git ๊ณผ ๊ฐ™์€ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜์„ธ์š”. ํŠนํžˆ ํ”Œ๋žซํผ๋ณ„ ์ฝ”๋“œ๊ฐ€ ์กฐ๊ฑด๋ถ€์ธ ์ฝ”๋“œ ๋ถ€๋ถ„์— ๋Œ€ํ•ด ์ฒ ์ €ํ•œ ๋ฌธ์„œํ™”๋ฅผ ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค. ์ด๋ฅผ ํ†ตํ•ด ๋ชจ๋“  ๊ฐœ๋ฐœ์ž๋Š” ํ”Œ๋žซํผ๋ณ„ ๊ฒฐ์ •์˜ ๊ทผ๊ฑฐ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  9. ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๋ฐ ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ: ๊ธฐ๋Šฅ ํ”Œ๋ž˜๊ทธ ๋ฐ ์กฐ๊ฑด๋ถ€ ์ปดํŒŒ์ผ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”Œ๋žซํผ๋ณ„ ๊ธฐ๋Šฅ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ์ด ์ „๋žต์€ ์—ฌ๋Ÿฌ ์ฝ”๋“œ ๋ถ„๊ธฐ ์—†์ด ๊ธฐ๋Šฅ์„ ์ผœ๊ณ  ๋„๋Š” ๋ฐ ๋„์›€์ด ๋˜์–ด ์œ ์ง€ ๊ด€๋ฆฌ ๋ฐ ํ…Œ์ŠคํŠธ๋ฅผ ๋‹จ์ˆœํ™”ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๋””์ž์ธ ์ „๋žต์„ ๋”ฐ๋ฅด๋ฉด ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋”์šฑ ์›ํ™œํ•ด์ง€๊ณ  Windows, Linux ๋ฐ macOS ์ „๋ฐ˜์— ๊ฑธ์ณ ๋ณด๋‹ค ์ผ๊ด€๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค. AppMaster ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ ์ฒ ํ•™์„ ์ˆ˜์šฉํ•˜๋Š” ํ”Œ๋žซํผ์˜ ์˜ˆ๋กœ์„œ ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•˜๊ณ  ํ™˜๊ฒฝ ์ „๋ฐ˜์— ๊ฑธ์ณ ๊ฐœ๋ฐœ์„ ๊ฐ€์†ํ™”ํ•˜๋Š” no-code ์ ‘๊ทผ ๋ฐฉ์‹์œผ๋กœ ๋ฐฑ์—”๋“œ ์‹œ์Šคํ…œ, ์›น ์„œ๋น„์Šค ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏผ์ฒฉ์„ฑ๊ณผ ์‹ ์†ํ•œ ๋ฐฐํฌ๋ฅผ ์›ํ•˜๋Š” ๊ธฐ์—…์€ ์ด๋Ÿฌํ•œ ํ˜์‹ ์ ์ธ ์†”๋ฃจ์…˜์˜ ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋žซํผ ์ „๋ฐ˜์— ๊ฑธ์นœ ํ…Œ์ŠคํŠธ ๋ฐ ํ’ˆ์งˆ ๋ณด์ฆ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ UI๊นŒ์ง€
Data Designer์™€ UI ๋นŒ๋”๋กœ ์ˆ˜์ž‘์—… ์ฝ”๋”ฉ ์—†์ด ์™„์ „ํ•œ ์•ฑ์„ ๋ฐฐํฌํ•˜์„ธ์š”.
์•ฑ ๋งŒ๋“ค๊ธฐ

๋ณด์•ˆ ์†Œํ”„ํŠธ์›จ์–ด ์ œํ’ˆ์ด 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 ์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ ์ตœ์ ํ™”

์ธ์ฆ ๋ฐ ๊ฒฐ์ œ ์ถ”๊ฐ€
์ธ์ฆ, Stripe ๊ฒฐ์ œ ๋“ฑ ๋‚ด์žฅ ๋ชจ๋“ˆ๋กœ ์‹ค์ œ ์ œํ’ˆ์„ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜์„ธ์š”.
๋ชจ๋“ˆ ์ถ”๊ฐ€

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 ์•„ํ‚คํ…์ฒ˜๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

X86-64 ์•„ํ‚คํ…์ฒ˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์ผํ•œ ํ”„๋กœ์„ธ์„œ ์•„ํ‚คํ…์ฒ˜์—์„œ ์—ฌ๋Ÿฌ ์šด์˜ ์ฒด์ œ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ณตํ†ต ํ•˜๋“œ์›จ์–ด ํ”Œ๋žซํผ์„ ์ œ๊ณตํ•˜์—ฌ ํ•˜๋“œ์›จ์–ด ๊ด€๋ จ ๋ฌธ์ œ๊ฐ€ ์ ์€ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์†Œํ”„ํŠธ์›จ์–ด ์ƒ์„ฑ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์˜ ์ฃผ์š” ๊ณผ์ œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ฃผ์š” ๊ณผ์ œ๋กœ๋Š” ๋‹ค์–‘ํ•œ ์šด์˜ ์ฒด์ œ ๋™์ž‘ ์ฒ˜๋ฆฌ, ํ”Œ๋žซํผ ๊ฐ„ ์ผ๊ด€๋˜์ง€ ์•Š์€ API, ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ํ‘œ์ค€, ๋ชจ๋“  ๋Œ€์ƒ ํ™˜๊ฒฝ์—์„œ ์ผ๊ด€๋œ ์„ฑ๋Šฅ๊ณผ ๊ธฐ๋Šฅ์„ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์–ด๋ ค์›€์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”Œ๋žซํผ ๊ฐ„ ํ˜ธํ™˜์„ฑ์— ๋„์›€์ด ๋˜๋Š” ๋„๊ตฌ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ฐœ๋ฐœ ํ”„๋ ˆ์ž„์›Œํฌ(์˜ˆ: Qt, .NET Core), ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, Docker์™€ ๊ฐ™์€ ์ปจํ…Œ์ด๋„ˆํ™” ํ”Œ๋žซํผ, ๊ฐ€์ƒ ๋จธ์‹ ๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ์šด์˜ ์ฒด์ œ์—์„œ ์ž‘๋™ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ…Œ์ŠคํŠธ์™€ ํ’ˆ์งˆ ๋ณด์ฆ์€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฆ…๋‹ˆ๊นŒ?

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…Œ์ŠคํŠธ์—๋Š” ๊ฐ ๋Œ€์ƒ ์šด์˜ ์ฒด์ œ์˜ ์†Œํ”„ํŠธ์›จ์–ด ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ, ์ผ๊ด€๋œ UX/UI ๋ณด์žฅ, ํ”Œ๋žซํผ๋ณ„ ์กฐ๊ฑด์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ๋ฐ ๋ณด์•ˆ ๋ฌธ์ œ ํ™•์ธ์ด ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์— CI/CD๊ฐ€ ์ค‘์š”ํ•œ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

CI/CD(์ง€์†์  ํ†ตํ•ฉ ๋ฐ ์ง€์†์  ๋ฐฐํฌ)๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ž๋™ํ™”ํ•˜์—ฌ ๋ฆด๋ฆฌ์Šค ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜๊ณ  ์—…๋ฐ์ดํŠธ ๋ฐ ์ˆ˜์ • ์‚ฌํ•ญ์„ ๋น ๋ฅด๊ฒŒ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

X86-64 ์‹œ์Šคํ…œ์—๋Š” ์–ด๋–ค ์ตœ์ ํ™” ์ „๋žต์ด ํšจ๊ณผ์ ์ธ๊ฐ€์š”?

์ตœ์ ํ™” ์ „๋žต์—๋Š” ํ”Œ๋žซํผ๋ณ„ ์ปดํŒŒ์ผ๋Ÿฌ ๋ฐ ์ตœ์ ํ™” ํ”Œ๋ž˜๊ทธ ์‚ฌ์šฉ, ๊ฐ ํ”Œ๋žซํผ์—์„œ์˜ ํ”„๋กœํŒŒ์ผ๋ง ๋ฐ ๋ฒค์น˜๋งˆํ‚น, ํ–ฅ์ƒ๋œ ์„ฑ๋Šฅ์„ ์œ„ํ•œ SIMD ๋ช…๋ น๊ณผ ๊ฐ™์€ X86-64 ์•„ํ‚คํ…์ฒ˜ ๊ธฐ๋Šฅ ํ™œ์šฉ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ํŠธ๋ Œ๋“œ๊ฐ€ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์— ์–ด๋–ค ์˜ํ–ฅ์„ ๋ฏธ์น˜๋‚˜์š”?

ํด๋ผ์šฐ๋“œ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ, AI ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต ์ฑ„ํƒ, ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์˜ ๋ฐœ์ „๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ํŠธ๋ Œ๋“œ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์ถ• ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋„๊ตฌ์™€ ๋ฐฉ๋ฒ•๋ก ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ํฌ๋กœ์Šค ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์„ฑ๊ณต ์‚ฌ๋ก€์˜ ์˜ˆ๋ฅผ ๋“ค์–ด์ฃผ์‹ค ์ˆ˜ ์žˆ๋‚˜์š”?

์ฃผ๋ชฉํ• ๋งŒํ•œ ์˜ˆ ์ค‘ ํ•˜๋‚˜๋Š” Windows, Linux ๋ฐ macOS์—์„œ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰๋˜์–ด ์„ธ ๊ฐ€์ง€ ํ”Œ๋žซํผ ๋ชจ๋‘์—์„œ ์ผ๊ด€๋˜๊ณ  ๊ฐ•๋ ฅํ•œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•˜๋Š” Microsoft์˜ Visual Studio Code ํŽธ์ง‘๊ธฐ ๊ฐœ๋ฐœ์ž…๋‹ˆ๋‹ค.

ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋ชจ๋ฒ” ์‚ฌ๋ก€์—๋Š” ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ๋ชจ๋“ˆ์‹ ๋ฐ ๋ถ„๋ฆฌ๋œ ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ณ , ์ถ”์ƒํ™” ๊ณ„์ธต์„ ์‚ฌ์šฉํ•˜๊ณ , ํ”Œ๋žซํผ๋ณ„ ์—…๋ฐ์ดํŠธ ๋ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ณ , ํ”Œ๋žซํผ ์ฐจ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํฌ๊ด„์ ์ธ ํ…Œ์ŠคํŠธ ์ „๋žต์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
X86-64์˜ ๊ต์ฐจ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ: Windows, Linux ๋ฐ macOS ์—ฐ๊ฒฐ | AppMaster