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 ํ๋ซํผ์ ํตํด ๊ฐ๋ฐ์๋ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ดํดํ๊ณ ๊ณ ๊ฐ์ ๋ค์ํ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ํจ์จ์ ์ด๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ ์ํํธ์จ์ด ์๋ฃจ์ ์ผ๋ก ๋ณํํ๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค.