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

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

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

AppMaster ๊ณ ์ฐจ ์กฐ๊ฑด์ž๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‹œ๊ฐ์  ์ฒญ์‚ฌ์ง„์—์„œ ๋ฐฑ์—”๋“œ, ์›น ๋ฐ ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ฒญ์‚ฌ์ง„์ด ๋ณ€๊ฒฝ๋  ๋•Œ๋งˆ๋‹ค AppMaster 30์ดˆ ์ด๋‚ด์— ์ฒ˜์Œ๋ถ€ํ„ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ์„ฑํ•˜์—ฌ ๊ธฐ์ˆ ์  ๋ถ€์ฑ„๋ฅผ ๋ฐฉ์ง€ํ•ฉ๋‹ˆ๋‹ค. AppMaster ๋˜ํ•œ ์„œ๋ฒ„ endpoints ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ์— ๋Œ€ํ•œ Swagger(๊ฐœ๋ฐฉํ˜• API) ๋ฌธ์„œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒํ•˜๊ณ  ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

AppMaster ๋‚ด์— HOP๋ฅผ ํ†ตํ•ฉํ•˜๋ฉด ๋‹ค์–‘ํ•œ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡๋ณด๋‹ค๋„ ๊ณ ์ฐจ ์ˆ ์–ด๋Š” ๋ณต์žกํ•œ ๋…ผ๋ฆฌ๋ฅผ ์บก์Аํ™”ํ•˜๊ณ  ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๋Š” ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๊ณ  ๋ณ€ํ™”ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์— ์ ์‘ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋‘˜์งธ, HOP๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์›์น™์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ฝ”๋“œ์— ๋Œ€ํ•œ ํ…Œ์ŠคํŠธ, ๋””๋ฒ„๊น… ๋ฐ ์ถ”๋ก ์ด ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ HOP๋ฅผ ์‹œ๊ฐ์ ์ธ BP Designer์— ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉํ•จ์œผ๋กœ์จ AppMaster ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐ ๋” ์ง‘์ค‘ํ•˜๊ณ  ํ•˜์œ„ ์ˆ˜์ค€ ๊ตฌํ˜„ ์„ธ๋ถ€ ์‚ฌํ•ญ์˜ ๋ณต์žก์„ฑ์— ๋Œ€ํ•ด ๋œ ๊ฑฑ์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

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

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