๋ฐฑ์๋ ๊ฐ๋ฐ ๋งฅ๋ฝ์์ "์๋ํฌ์ธํธ"๋ผ๋ ์ฉ์ด๋ ๋์งํธ ๋ฐ์ดํฐ ๋๋ ์ ๋ณด ๊ตํ ํ๊ฒฝ ๋ด์ ํน์ ๋์ ๋๋ ์ฃผ์ ์ง์ ๊ฐ๋ฅํ ์ง์ ์ ๋ํ๋ ๋๋ค. ๋ณธ์ง์ ์ผ๋ก ํด๋ผ์ด์ธํธ(์ผ๋ฐ์ ์ผ๋ก ํ๋ฐํธ ์๋ ์ ํ๋ฆฌ์ผ์ด์ )์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ํจ์จ์ ์ด๊ณ ์์ ํ๊ฒ ์๋ํ๋ ๋ฐ ํ์ํ ๋ฐฑ์๋ ๋ ผ๋ฆฌ ๋ฐ ๋ฆฌ์์ค๋ฅผ ์์ฉํ๋ ์๋ฒ ๊ฐ์ ํต์ ์ธํฐํ์ด์ค ์ญํ ์ ํฉ๋๋ค. ์๋ํฌ์ธํธ๋ ์ต์ ์ํํธ์จ์ด ๊ฐ๋ฐ ์์ ์์ฃผ ์ฌ์ฉ๋๋ ํ์ API ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ํ๋ก๊ทธ๋๋ฐ ์ธํฐํ์ด์ค ์ํคํ ์ฒ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ด๋ฅผ ํตํด ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฅ์ด ๋ ธ์ถ๋๋ ๋ฐฉ์๊ณผ ๋ค๋ฅธ ์ํํธ์จ์ด ๊ตฌ์ฑ ์์, ์๋น์ค ๋๋ ์ฅ์น์ ๊ฐ์ ์ธ๋ถ ์๋น์๊ฐ ์ด๋ฌํ ์ ์๋ ์๋น์ค์ ์ํธ ์์ฉํ ์ ์๋ ๋ฐฉ์์ ์ ์ํ ์ ์์ต๋๋ค.
๋ณต์กํ ์ํํธ์จ์ด ์๋ฃจ์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ ๋ ์ ์ ์๋ endpoints ๊ฐ๋ ๊ฒ์ ์ค์์ฑ์ ์๋ฌด๋ฆฌ ๊ฐ์กฐํด๋ ์ง๋์น์ง ์์ต๋๋ค. ์ด๋ฌํ ์ค์์ฑ์ SlashData์์ ์ค์ํ 2021๋ ์ค๋ฌธ ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด ์ ์ธ๊ณ์ ์ผ๋ก 2,400๋ง ๋ช ์ด ๋๋ ํ๋์ ์ธ ๊ฐ๋ฐ์๊ฐ ๋์งํธ ์ํ๊ณ๋ฅผ ๋ง๋ค๊ณ ์ ์งํ๊ณ ํ์ฅํ๊ธฐ ์ํด ๋ค์ํ ๊ธฐ์ ๊ณผ ์ง์์ ์ผ๋ก ์ํธ ์์ฉํ๊ณ ์์กดํ๋ค๋ ์ฌ์ค์์ ๋น๋กฏ๋ฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํจ๊ณผ์ ์ธ endpoint ์ค๊ณ ๋ฐ ๊ด๋ฆฌ๋ ๊ฐ๋ฐ์์ ํตํฉ์ ๋ชจ๋์๊ฒ ๊ฐ์ํ๋ ๊ฒฝํ์ ์ ๊ณตํ๋ ๋์์ ๋ฐฑ์๋ ์์คํ ์ ์ ๋ฐ์ ์ธ ์ฑ๋ฅ, ํ์ฅ์ฑ ๋ฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅ์ฑ์ ํฐ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
์ ์ ์๋ endpoint ์ ์ฃผ์ ์ด์ ์ค ํ๋๋ ํนํ ๋ฐฑ์๋ ๊ฐ๋ฐ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์ํคํ
์ฒ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ๊ฐ์ฃผ๋๋ RESTful API ์ปจํ
์คํธ์์ ์ฌ์ฌ์ฉ์ฑ์ ์ด์งํ๋ค๋ ๊ฒ์
๋๋ค. REST(Representational State Transfer)๋ ํจ์จ์ ์ธ ์บ์ฑ ๋ฐ ์๋ต ์บ์ ๊ฐ๋ฅ์ฑ ์์น๊ณผ ํจ๊ป ๊ตฌ์ฑ ์์ ๊ฐ์ ์ํ ๋น์ ์ฅ ์ํธ ์์ฉ์ ๊ฐ์กฐํ๋ ์ํคํ
์ฒ ์คํ์ผ์
๋๋ค. RESTful API์์ endpoints ๊ฐ๋ฐ์๊ฐ GET, POST, PUT ๋ฐ DELETE์ ๊ฐ์ ํ์คํ๋ HTTP ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ๋ฆฌ์์ค์ ์ํธ ์์ฉํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์ฉ์ ์ ๋ณด๋ฅผ ๊ฒ์ํ๊ธฐ ์ํ endpoint ๋ /users/{userId} ๋ก ์ ์ํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์ {userId} ์๋ฆฌ ํ์์๋ ์ํธ์์ฉ ์ค์ ์ค์ ์ฌ์ฉ์ ์๋ณ์๋ก ๊ต์ฒดํด์ผ ํ๋ ๊ณ ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ํ๋
๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ด endpoint ์ HTTP GET ์์ฒญ์ ๋ณด๋ด๋ฉด ์๋ฒ๋ ์์ฒญ๋ ์ฌ์ฉ์ ๋ฐ์ดํฐ๋ก ์๋ตํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
, ๊ธฐํ ์๋น์ค ๋๋ ์ฅ์น์ ์ฝ๊ฒ ์ก์ธ์คํ ์ ์๋๋ก ํฉ๋๋ค.
AppMaster ํ๋ซํผ์ ๋งฅ๋ฝ์์ no-code ๋ฐฑ์๋ ๊ฐ๋ฐ ๋๊ตฌ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์์ฑํ๊ณ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ์ ์ํ๋ฉฐ REST API endpoints ์ค๊ณํ ์ ์๋ ์๊ฐ์ ์ผ๋ก ์ง๊ด์ ์ธ ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. AppMaster ํ๋ซํผ์ ํตํด ๊ณ ๊ฐ์ ํ ์ค์ ์ฝ๋๋ฅผ ์์ฑํ์ง ์๊ณ ๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค. '๊ฒ์' ๋ฒํผ์ ๋๋ฅด๋ฉด AppMaster ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ปดํ์ผํ๊ณ , ํ ์คํธ๋ฅผ ์คํํ๊ณ , Docker ์ปจํ ์ด๋์ ํจํค์งํ๊ณ , ํด๋ผ์ฐ๋์ ๋ฐฐํฌํฉ๋๋ค. ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ Go ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ถ๋์ด ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ํคํ ์ฒ๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ต์ ์ํํธ์จ์ด ๊ฐ๋ฐ ๊ดํ์์ ํ์ฅ์ฑ๊ณผ ํ์ฅ์ฑ์ ๊ฐ์กฐํ ๋ ๊ฐ๋ฐ์๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํจ๊ณผ์ ์ธ endpoints ์ค๊ณ, ๊ตฌํ ๋ฐ ๊ด๋ฆฌํ๋ ๋ฐ ์ธ์ฌํ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ฌ์ผ ํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ด๋ถ ๋ฐ ์ธ๋ถ ์๋น์ ๋ชจ๋์๊ฒ ๋ณด๋ค ์ ๊ทผ ๊ฐ๋ฅํ๊ณ ์ ๊ตฌ์ฑ๋ ์ํธ ์์ฉ ํจ๋ฌ๋ค์์ ๋ณด์ฅํ์ฌ ๊ถ๊ทน์ ์ผ๋ก ์ฅ๊ธฐ์ ์ผ๋ก ๋ณด๋ค ์ ์ฒด์ ์ธ ๋์งํธ ์๋ฃจ์ ์ผ๋ก ์ด์ด์ง๋๋ค.
endpoints ๋ณด์์ ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ ๋ค๋ฅธ ์ค์ํ ์ธก๋ฉด์ ๋๋ค. endpoints ๋ ํด๋ผ์ด์ธํธ์ ๊ธฐ๋ณธ ํต์ ์ธํฐํ์ด์ค ์ญํ ์ ํ๋ฏ๋ก ์ ์์ ์ธ ๊ณต๊ฒฉ์์ ์ฌ์ด๋ฒ ๊ณต๊ฒฉ์ ํ์ ์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. TLS ์ํธํ, ๋ณด์ ์ฝ๋ฉ ๊ดํ, ์ฌ์ธต ํ ์คํธ ๋ฐ ๋ชจ๋ํฐ๋ง๊ณผ ๊ฐ์ ํจ๊ณผ์ ์ธ ์กฐ์น๋ endpoint ํ๊ฒฝ์ ๋ณดํธํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ๋ํ ์งํํ๋ ๋ณด์ ์ํ ๋ฐ ์ ๊ณ ๋ชจ๋ฒ ์ฌ๋ก์ ๋์ํ์ฌ ์ฃผ๊ธฐ์ ์ธ ์ฌํ๊ฐ ๋ฐ endpoint ์ ๋ฐ์ดํธ๋ ์์ ํ๊ณ ๊ฐ๋ ฅํ ๋ฐฑ์๋ ์์คํ ์ ์ ์งํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค.
๋ฐฑ์๋ ๊ฐ๋ฐ ๋งฅ๋ฝ์์ "์๋ํฌ์ธํธ"๋ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ธฐ๋ณธ ์๋ฒ ๋ฆฌ์์ค ๋ฐ ์๋น์ค ๊ฐ์ ์ํธ ์์ฉ์ ์ฉ์ดํ๊ฒ ํ๋ ์ค์ํ ํต์ ์ธํฐํ์ด์ค๋ฅผ ๋ํ๋ ๋๋ค. ์ ์ ํ endpoint ์ค๊ณ, ๊ตฌํ, ์ต์ ํ ๋ฐ ๋ณด์์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ๋ฉฐ ํจ์จ์ ์ธ ๋ฐฑ์๋ ์์คํ ์ ์ ์ง ๊ด๋ฆฌํ๋ ๋ฐ ํ์์ ์ด๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ์ฑ๊ณต์ ์ง์ ์ ์ธ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. AppMaster ์ ๊ฐ์ ํ๋ซํผ์ ๊ฐ๋ฐ์์๊ฒ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ ๊ฐ์ํ๋ no-code ์ ๊ทผ ๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ณด๋ค ๋น ๋ฅด๊ณ ๋น์ฉ ํจ์จ์ ์ด๋ฉฐ ํฌ๊ด์ ์ธ ์ํํธ์จ์ด ๊ฐ๋ฐ์ด ๊ฐ๋ฅํ๋ฉฐ ์ ์ค๊ณ๋ endpoints ์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํตํด ๊ฐ๋ ฅํ ๊ธฐ๋ฐ์ ํ๋ณดํ ์ ์์ต๋๋ค.