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

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

ํ˜„๋Œ€ ์›น ๊ฐœ๋ฐœ์—์„œ ์ด๋ฒคํŠธ ๊ธฐ๋ฐ˜ ์ฝ”๋”ฉ ํŒจํ„ด์ด ๋ถ€๊ฐ๋˜๋ฉด์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ์ค‘์š”์„ฑ์ด ์ ์  ๋” ์ปค์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 2020๋…„ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ ๊ฐœ๋ฐœ์ž ์„ค๋ฌธ์กฐ์‚ฌ์— ๋”ฐ๋ฅด๋ฉด ์•ฝ 69.7%์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น„๋™๊ธฐ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ฝœ๋ฐฑ ํ•จ์ˆ˜์— ํฌ๊ฒŒ ์˜์กดํ•˜๋Š” ์›น ๊ฐœ๋ฐœ์šฉ ์ฃผ์š” ์–ธ์–ด์ธ JavaScript๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋น„์Šทํ•œ ๋น„์œจ์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ฝœ๋ฐฑ ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ ๋น„์ฐจ๋‹จ I/O ์ž‘์—…์„ ํ—ˆ์šฉํ•˜๋Š” ์ด๋ฒคํŠธ ์ค‘์‹ฌ ํ”Œ๋žซํผ์ธ Node.js๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

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

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

  1. ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ HTTP ์š”์ฒญ์„ ์ •์˜ํ•˜๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
  2. ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜์— ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.
  3. ์„ฑ๊ณตํ•˜๋ฉด ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ๋ณธ๋ฌธ ๋‚ด์—์„œ ์ฝœ๋ฐฑ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์ˆ˜์‹ ํ•˜๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
  4. ์ฝœ๋ฐฑ ํ•จ์ˆ˜ ๋‚ด์—์„œ ๊ฒ€์ƒ‰๋œ ๋ฐ์ดํ„ฐ๋กœ UI ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ์— ๋”ฐ๋ผ ์ถ”๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Go(golang)๋กœ ๊ฐœ๋ฐœ๋œ Postgresql ํ˜ธํ™˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ AppMaster ์˜ ์ง€์›์€ ๋‹ค์–‘ํ•œ ์ปจํ…์ŠคํŠธ์—์„œ ์ฝœ๋ฐฑ ๊ธฐ๋Šฅ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์žˆ์–ด AppMaster์˜ ๋Šฅ๋ ฅ์„ ๋”์šฑ ํ™•๊ณ ํžˆ ํ•œ๋‹ค๋Š” ์ ์€ ์ฃผ๋ชฉํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฏผ์ฒฉ์„ฑ์€ ํ’ˆ์งˆ๊ณผ ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š๋Š” ๋น ๋ฅด๊ณ  ๋น„์šฉ ํšจ์œจ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

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

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