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

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

AppMaster ํ”Œ๋žซํผ์— UDF๋ฅผ ํฌํ•จ์‹œํ‚ค๋Š” ๊ฒƒ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๋” ๋น ๋ฅด๊ณ  ๋น„์šฉ ํšจ๊ณผ์ ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•œ ํ”Œ๋žซํผ์˜ ์•ฝ์†๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ์„ ์ •์˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์†๋„๋‚˜ ํšจ์œจ์„ฑ์„ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š๊ณ  ํ”Œ๋žซํผ ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•˜๊ณ  ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Go, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Vue3 ๋ฐ JS/TS, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ Kotlin, Jetpack Compose ๋ฐ SwiftUI ์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ์ง€์›ํ•˜๋Š” ์–ธ์–ด๋กœ UDF๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ์œผ๋กœ์จ AppMaster ์‚ฌ์šฉ์ž ์ •์˜ ๊ธฐ๋Šฅ์„ ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํ†ตํ•ฉ๋˜๊ณ  ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์ „๋ฐ˜์— ๊ฑธ์ณ ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉ๋ฉ๋‹ˆ๋‹ค.

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

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

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

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