[10๋ถ„ ํ…Œ์ฝ”ํ†ก] ๐Ÿ™†โ€โ™€๏ธํ‹ฐ๋ฒ„์˜ API vs Library vs Framework

Meustarยท2025๋…„ 12์›” 27์ผ

์ถœ์ฒ˜: https://www.youtube.com/watch?v=We8JKbNQeLo

movie

๐Ÿ“Œ API, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐ๊ฐ ๋ฌด์—‡์ด๋ฉฐ, ๊ทธ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

API๋Š” ํ”„๋กœ๊ทธ๋žจ ๊ฐ„ ์—ฐ๊ฒฐ ๋‹ค๋ฆฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•„์š”ํ•œ ๊ธฐ๋Šฅ ๋ชจ์Œ, ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ํ‹€์ด๋ฉฐ, ๊ตฌํ˜„ ๋กœ์ง ์œ ๋ฌด ๋ฐ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„ ์ฃผ๋„๊ถŒ์— ๋”ฐ๋ผ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก API, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•ต์‹ฌ์ ์ธ ์ฐจ์ด์ ์„ ํ•œ ๋ฌธ์žฅ์œผ๋กœ ์š”์•ฝํ•˜๋ฉด?

๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ API์˜ ์ฐจ์ด๋Š” ๊ตฌํ˜„ ๋กœ์ง์˜ ์œ ๋ฌด์ด๊ณ , ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ฐจ์ด๋Š” ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„ ์ฃผ๋„๊ถŒ์„ ๋ˆ„๊ฐ€ ๊ฐ€์ง€๋Š”์ง€์— ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.


๋ฐฐ๊ฒฝ์ง€์‹: API, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์„ธ๊ณ„

์ด ์ž๋ฃŒ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ์„ธ ๊ฐ€์ง€ ๋„๊ตฌ, ์ฆ‰ API, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ฐœ๋…๊ณผ ์ฐจ์ด์ ์„ ๋ช…์พŒํ•˜๊ฒŒ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ, ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•ต์‹ฌ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๊ฒฐ์ •์ ์ธ ์—ญํ• ์„ ํ•˜๋Š” ์ œ์–ด์˜ ์—ญ์ „(IoC) ์›์น™์„ ๊นŠ์ด ์žˆ๊ฒŒ ๋‹ค๋ฃจ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด, ์ž๋ฃŒ์— ๋“ฑ์žฅํ•˜๋Š” ์šฉ์–ด์™€ ๋งฅ๋ฝ์„ ์„ธ ๊ฐ€์ง€ ํ•ต์‹ฌ ๋ฐฐ๊ฒฝ์ง€์‹์œผ๋กœ ๋‚˜๋ˆ„์–ด ์‰ฝ๊ฒŒ ํ’€์–ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

1. ํ•ต์‹ฌ ์›์น™: ์ œ์–ด์˜ ์—ญ์ „ (Inversion of Control, IoC)

์ž๋ฃŒ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ€๋ฅด๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ฐจ์ด์ ์œผ๋กœ ์–ธ๊ธ‰๋œ ๊ฒƒ์ด ๋ฐ”๋กœ ํ๋ฆ„์˜ ์ฃผ๋„๊ถŒ์ž…๋‹ˆ๋‹ค. ์ด ์ฃผ๋„๊ถŒ์˜ ์ฐจ์ด๋ฅผ ์„ค๋ช…ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ์˜ ํ•ต์‹ฌ ์›์น™์ด ์ œ์–ด์˜ ์—ญ์ „(IoC)์ž…๋‹ˆ๋‹ค.

  • ์ œ์–ด์˜ ์—ญ์ „(IoC)์˜ ์ •์˜:
    • ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๊ฐ€ ๋‹ค๋ฅธ ํ•จ์ˆ˜๋‚˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋ฉฐ ์‹คํ–‰ ํ๋ฆ„์„ ํ†ต์ œํ•ฉ๋‹ˆ๋‹ค.
    • ํ•˜์ง€๋งŒ IoC๋Š” ์‹คํ–‰ ํ๋ฆ„์— ๋Œ€ํ•œ ์ฃผ๋„๊ถŒ์„ ๊ฐœ๋ฐœ์ž์˜ ์ฝ”๋“œ์—์„œ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๋„˜๊ธฐ๋Š” ์„ค๊ณ„ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.
    • ์ด ์›์น™์„ ๊ฐ€์žฅ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ๋ณ„๋ช…์€ ๋ฐ”๋กœ "ํ• ๋ฆฌ์šฐ๋“œ ์›์น™ (Hollywood Principle)" ์ž…๋‹ˆ๋‹ค.
  • ํ• ๋ฆฌ์šฐ๋“œ ์›์น™์˜ ๋น„์œ :
    • "์ €ํฌ์—๊ฒŒ ์ „ํ™”ํ•˜์ง€ ๋งˆ์„ธ์š”, ์ €ํฌ๊ฐ€ ์—ฐ๋ฝ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค (Don't call us, we'll call you)."
    • ๋งˆ์น˜ ์˜ํ™” ์‚ฐ์—…์—์„œ ์˜ค๋””์…˜์„ ๋ณธ ๋ฐฐ์šฐ๊ฐ€ ์ œ์ž‘์ž์—๊ฒŒ ๊ณ„์† ์ „ํ™”ํ•  ์ˆ˜ ์—†๊ณ , ์ œ์ž‘์ž๊ฐ€ ํ•„์š”ํ•  ๋•Œ๋งŒ ๋ฐฐ์šฐ์—๊ฒŒ ์—ฐ๋ฝํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
    • ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ „์ฒด ํ”„๋กœ๊ทธ๋žจ์˜ ํฐ ํ‹€(๋ผˆ๋Œ€)์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ํ•„์š”ํ•  ๋•Œ, ์ •ํ•ด์ง„ ๊ทœ์น™์— ๋”ฐ๋ผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ vs. ํ”„๋ ˆ์ž„์›Œํฌ (ํ๋ฆ„์˜ ์ฐจ์ด):
ํŠน์ง•๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (Library)ํ”„๋ ˆ์ž„์›Œํฌ (Framework)
์ œ์–ด๊ถŒ (ํ๋ฆ„์˜ ์ฃผ๋„๊ถŒ)์‘์šฉ ํ”„๋กœ๊ทธ๋žจ (๊ฐœ๋ฐœ์ž)ํ”„๋ ˆ์ž„์›Œํฌ
์ž‘๋™ ๋ฐฉ์‹๊ฐœ๋ฐœ์ž๊ฐ€ ํ•„์š”ํ•  ๋•Œ ๋Šฅ๋™์ ์œผ๋กœ ํ•จ์ˆ˜ ํ˜ธ์ถœํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฝ”๋“œ๋ฅผ ์ˆ˜๋™์ ์œผ๋กœ ํ˜ธ์ถœ
๋น„์œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋„๊ตฌ๋ฅผ ์ง์ ‘ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ๊ฐœ๋ฐœ์ž๊ฐ€ ํ‹€ ์•ˆ์— ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ๋ผ์›Œ ๋„ฃ์œผ๋ฉด ํ‹€์ด ์•Œ์•„์„œ ์‹คํ–‰์‹œํ‚ค๋Š” ๊ฒƒ
  • ์ œ์–ด ํ๋ฆ„ ์‹œ๊ฐํ™” (IoC):

2. ๊ธฐ์ˆ ์  ๋ฉ”์ปค๋‹ˆ์ฆ˜: Spring Framework์™€ ์–ด๋…ธํ…Œ์ด์…˜

๋ฐœํ‘œ์ž๊ฐ€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์˜ˆ์‹œ๋กœ ๋“  Spring Framework๋Š” IoC ์›์น™์„ ๊ฐ€์žฅ ์ž˜ ๊ตฌํ˜„ํ•œ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค. ํŠนํžˆ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ '๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง'์„ ํ”„๋ ˆ์ž„์›Œํฌ์— ์‰ฝ๊ฒŒ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ์–ด๋…ธํ…Œ์ด์…˜(@Annotation)์ด ํ•ต์‹ฌ์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

  • Spring Framework๋ž€?

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

    • ์–ด๋…ธํ…Œ์ด์…˜์€ Java ์ฝ”๋“œ์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(metadata)์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ฝ”๋“œ ์ž์ฒด์˜ ๋™์ž‘์€ ์•„๋‹ˆ์ง€๋งŒ, ํ”„๋ ˆ์ž„์›Œํฌ์—๊ฒŒ ์ด ์ฝ”๋“œ๋ฅผ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ '์ง€์นจ'์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ์‹œ:
      • @Controller: ์ด ํด๋ž˜์Šค๋Š” ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์ปจํŠธ๋กค๋Ÿฌ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  Spring์—๊ฒŒ ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
      • @Service: ์ด ํด๋ž˜์Šค๋Š” ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์„œ๋น„์Šค ๊ณ„์ธต์˜ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ์•Œ๋ ค์ค๋‹ˆ๋‹ค.
  • IoC์™€ ์–ด๋…ธํ…Œ์ด์…˜์˜ ์—ฐ๊ฒฐ:

    • ์ž๋ฃŒ์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด, ๊ฐœ๋ฐœ์ž๋Š” ์ปจํŠธ๋กค๋Ÿฌ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ๊ทธ ์œ„์— ์–ด๋…ธํ…Œ์ด์…˜์„ ๋ถ™์ž…๋‹ˆ๋‹ค .
    • ํ๋ฆ„: ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด โ†’\rightarrowโ†’โ†’\rightarrow Spring Framework(์ฃผ๋„๊ถŒ ๋ณด์œ ์ž)๊ฐ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ โ†’\rightarrowโ†’โ†’\rightarrow ์–ด๋…ธํ…Œ์ด์…˜(์ง€์นจ)์„ ํ™•์ธํ•˜๊ณ  โ†’\rightarrowโ†’โ†’\rightarrow๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐ€์ง„ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ˜ธ์ถœ(๋งคํ•‘)ํ•ฉ๋‹ˆ๋‹ค.
    • ์ฆ‰, ๊ฐœ๋ฐœ์ž๋Š” @Controller์™€ ๊ฐ™์€ ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ์ž์‹ ์ด ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ "์—ฌ๊ธฐ์— ๋ผ์›Œ ๋„ฃ์–ด์ฃผ์„ธ์š”" ๋ผ๊ณ  ์š”์ฒญํ•˜๋ฉฐ, Spring์ด "์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ์ ์— ์ œ๊ฐ€ ํ˜ธ์ถœํ•ด๋“œ๋ฆฌ์ฃ " ๋ผ๊ณ  ์‘๋‹ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ IoC๊ฐ€ ์‹คํ˜„๋ฉ๋‹ˆ๋‹ค.
  • ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ด์ :

    • ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๋ณต์žกํ•œ ์›น ์š”์ฒญ ์ฒ˜๋ฆฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๋“ฑ ๋ฐ˜๋ณต์ ์ด๊ณ  ๊ธฐ๋ฐ˜์ด ๋˜๋Š” ์ž‘์—…์„ ๋Œ€์‹  ์ฒ˜๋ฆฌํ•˜์—ฌ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง (์˜ˆ: ๋ง›์ง‘ ๊ณต์œ , ์˜ˆ์•ฝ ์ฒ˜๋ฆฌ)์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋•๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค.

    1. API, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ ์„ค๋ช… ๊ฐœ์š”

  1. ๋ฐœํ‘œ ๋ชฉํ‘œ: ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ํ•ต์‹ฌ ๊ฐœ๋…์ธ API, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ ์„ธ ๊ฐ€์ง€์— ๋Œ€ํ•ด ์„ค๋ช…ํ•œ๋‹ค.
  2. ๋ฐœํ‘œ ์ฃผ์•ˆ์ : ๋ฐœํ‘œ์ž๊ฐ€ ํ•™์Šตํ•˜๋ฉฐ ์–ด๋ ต๊ณ  ์• ๋งคํ–ˆ๋˜ ๊ฐœ๋…๋“ค์„ ์ตœ๋Œ€ํ•œ ์‰ฝ๊ฒŒ ํ’€์–ด์„œ ์„ค๋ช…ํ•˜๋Š” ๊ฒƒ์— ์ค‘์ ์„ ๋‘”๋‹ค.

2. API (Application Programming Interface) ์ •์˜ ๋ฐ ํŠน์ง•

2.1. API์˜ ์ •์˜์™€ ์—ญํ• 

  1. API ์•ฝ์–ด: API๋Š” Application Programming Interface์˜ ์•ฝ์–ด์ด๋‹ค.
  2. API์˜ ์—ญํ• : API๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ ์‹œ์ผœ์ฃผ๋Š” ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•œ๋‹ค.
  3. API ํŠน์ง•:
    1. ๊ตฌํ˜„ ๋‚ด์šฉ๊ณผ๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•๋งŒ ์ •์˜๋˜์–ด ์žˆ๋‹ค.
    2. API์— ๋”ฐ๋ผ ๊ถŒํ•œ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋‹ค.
  4. API์˜ ์˜ˆ์‹œ: ์ž๋ฐ” API์™€ ์—ฌ๋Ÿฌ ๊ธฐ์—…๋“ค์˜ ์˜คํ”ˆ API๊ฐ€ ์žˆ๋‹ค.

2.2. API ์˜ˆ์‹œ: ์ง€๋„ ์„œ๋น„์Šค ๊ณต์œ  ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ

  1. ๋ฌธ์ œ ์ƒํ™ฉ ์„ค์ •:
    1. ์‚ฌ์šฉ์ž๋ผ๋ฆฌ ๋ง›์ง‘ ์œ„์น˜๋ฅผ ์ง€๋„๋กœ ๊ณต์œ ํ•˜๋Š” ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค๊ณ ์ž ํ•œ๋‹ค.
    2. ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ์ง€๋„๋ฅผ ๋งŒ๋“ค๊ธฐ์—๋Š” ์‹œ๊ฐ„ ์†Œ๋ชจ๊ฐ€ ํฌ๊ณ  ์ •ํ™•๋„๊ฐ€ ๋‚ฎ์„ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๊ธฐ์กด์˜ ์ง€๋„ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค.
  2. API ํ™œ์šฉ ๊ณผ์ •:
    1. ๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“œ๋Š” ๋ง›์ง‘ ๊ณต์œ  ํ”„๋กœ๊ทธ๋žจ์—์„œ ์™ธ๋ถ€ ์ง€๋„ ์„œ๋น„์Šค(์ง€์‚ฌ)๋ฅผ ์ด์šฉํ•˜๋ ค๊ณ  ํ•œ๋‹ค.
    2. ์ง€๋„ ์„œ๋น„์Šค ์ œ๊ณต ๊ธฐ์—…(์ง€์‚ฌ)์€ "์šฐ๋ฆฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด๋Ÿฐ ์‹์œผ๋กœ ์š”์ฒญ์„ ๋ณด๋‚ด๋ฉด ๋„ˆ๊ฐ€ ์›ํ•˜๋Š” ์ง€๋„ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ค„๊ฒŒ"๋ผ๊ณ  ์‚ฌ์šฉ๋ฒ•์„ ์ •์˜ํ•œ๋‹ค.
  3. API์˜ ์—ญํ•  ํ™•์ธ:
    1. ๊ฐœ๋ฐœ์ž๋Š” ์ง€์‚ฌ๊ฐ€ ์ •ํ•œ URL ๊ฒฝ๋กœ๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์›ํ•˜๋Š” ์ง€๋„ ์ •๋ณด๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.
    2. ์ด๋•Œ, ๊ฐœ๋ฐœ์ž์˜ ํ”„๋กœ๊ทธ๋žจ๊ณผ ์ง€์‚ฌ์˜ ์ง€๋„ ์„œ๋น„์Šค ํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์—์„œ ๋‹ค๋ฆฌ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ API์ด๋‹ค.
    3. ๊ฐœ๋ฐœ์ž๋Š” API๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€ ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•˜๊ฒŒ ๋œ๋‹ค.

2.3. ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ API ์˜ˆ์‹œ

  1. ๊ตฌ๊ธ€ API ํ˜„ํ™ฉ: ๊ตฌ๊ธ€ ํด๋ผ์šฐ๋“œ ํ”Œ๋ ˆ์ด์Šค ํŽ˜์ด์ง€์— ๊ฐ€๋ฉด ๋ถ„์•ผ๋ณ„๋กœ ๋งค์šฐ ๋‹ค์–‘ํ•œ API๊ฐ€ ์ œ๊ณต๋œ๋‹ค.
  2. ์ง€๋„ ๊ด€๋ จ API: ๊ตฌ์ฒด์ ์œผ๋กœ ์ง€๋„ ๋ถ„์•ผ์˜ API๋ฅผ ํ™•์ธํ•ด ๋ณด๋ฉด, ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋ณ„๋กœ ์„ธ๋ถ„ํ™”๋œ API๋“ค์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.
  3. ๊ฐœ๋ฐœ ํ™œ์šฉ ๋ฐฉ์•ˆ: ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์—†๋‹ค๋ฉด, ์›ํ•˜๋Š” API๋ฅผ ์ฐพ์•„์„œ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐœ๋ฐœ์„ ์ˆ˜์›”ํ•˜๊ฒŒ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

3. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ (Library) ์ •์˜ ๋ฐ ํŠน์ง•

  1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์˜๋ฏธ: ๋‹จ์–ด ์ž์ฒด๊ฐ€ ๋„์„œ๊ด€์„ ์˜๋ฏธํ•˜๋ฉฐ, ๋„์„œ๊ด€์„ ์ด์šฉํ•˜๋“ฏ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋นŒ๋ ค ์“ฐ๋Š” ๊ฐœ๋…์ด๋‹ค.
  2. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ •์˜: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด๋‚˜ ํ•จ์ˆ˜๋ฅผ ๋ชจ์•„ ๋†“์€ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
    1. ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜๋‚˜ ๊ธฐ๋Šฅ๋“ค์„ ๋ชจ์•„ ์žฌ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ชฉ์ ์ด๋‹ค.
  3. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํŠน์ง•:
    1. ๋…๋ฆฝ์„ฑ: ํ•ด๋‹น ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์˜์กดํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.
    2. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ๋Šฅ๋™์  ์‚ฌ์šฉ: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ(๊ฐœ๋ฐœ์ž๊ฐ€ ๋งŒ๋“  ์ฝ”๋“œ)์ด ๋Šฅ๋™์ ์œผ๋กœ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํฐ ํŠน์ง•์ด๋‹ค.
  4. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋Šฅ๋™์  ์‚ฌ์šฉ ์˜ˆ์‹œ:
    1. ํ”„๋กœ๊ทธ๋žจ ๋ชฉํ‘œ: ํ•™์ƒ๋“ค์˜ ์„ฑ์  ํ‰๊ท ์„ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ ๋‹ค.
    2. ์ฒ˜๋ฆฌ ๊ณผ์ •: ํ•™์ƒ ์„ฑ์ ์ด ๋‹ด๊ธด ๋ฌธ์ž์—ด์„ ์ž…๋ ฅ๋ฐ›์•„ ๊ฐ’์„ ํŒŒ์‹ฑํ•˜๊ณ , ์›ํ•˜๋Š” ํ‰๊ท ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.
    3. ์ฝ”๋“œ์˜ ํ๋ฆ„: ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ ๋‚ด์—์„œ ํ•„์š”ํ•  ๋•Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํ‰๊ท  ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.
  5. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ข…๋ฅ˜ ์˜ˆ์‹œ: ์•„ํŒŒ์น˜ ์ฝ”๋ชฌ์Šค ํ‘ธ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ jQuery ๋“ฑ์ด ์žˆ๋‹ค.

4. ํ”„๋ ˆ์ž„์›Œํฌ (Framework) ์ •์˜ ๋ฐ ํŠน์ง•

4.1. ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ •์˜์™€ ๋ชฉ์ 

  1. ๋‹จ์–ด ์˜๋ฏธ: ํ”„๋ ˆ์ž„(Frame)์€ 'ํ‹€' ๋˜๋Š” '๋ผˆ๋Œ€'๋ฅผ ์˜๋ฏธํ•˜๊ณ , ์›Œํฌ(Work)๋Š” '์ผํ•˜๋‹ค'๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
  2. ์œ ์ถ”๋œ ์˜๋ฏธ: ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์–ด๋–ค ํ‹€ ์•ˆ์—์„œ ์ผํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์œ ์ถ”๋  ์ˆ˜ ์žˆ๋‹ค.
  3. ๊ณต์‹ ์ •์˜: ์†Œํ”„ํŠธ์›จ์–ด๋‚˜ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜ ๊ฐœ๋ฐœ์„ ์ˆ˜์›”ํ•˜๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด ์ œ๊ณต๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ™˜๊ฒฝ ํ‹€์ด๋‹ค.
  4. ๊ฐœ๋ฐœ์ž ์—ญํ• : ๊ฐœ๋ฐœ์ž๋Š” ์ด ํ™˜๊ฒฝ ํ‹€(ํ”„๋ ˆ์ž„์›Œํฌ) ๋‚ด์—์„œ ์ž์‹ ์ด ์›ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

4.2. ํ”„๋ ˆ์ž„์›Œํฌ ์˜ˆ์‹œ: ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๊ฒฝํ—˜ ๋น„๊ต

  1. ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์šฉ ๊ฒฝํ—˜ (๋ ˆ๋ฒจ 2):
    1. ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ–ˆ๋‹ค.
    2. ์ด ๊ฒฝํ—˜์—์„œ๋Š” ์ปจํŠธ๋กค๋Ÿฌ๋งŒ ์ž‘์„ฑํ•˜๋ฉด ์Šคํ”„๋ง์ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•ด ์ฃผ์—ˆ๋‹ค.
    3. ์ฒ˜๋ฆฌ ๊ณผ์ •: ๊ฐœ๋ฐœ์ž๊ฐ€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์š”์ฒญ์„ ์ „ํ–ฅํ•˜๊ณ , ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ์–ด๋…ธํ…Œ์ด์…˜์„ ๋ถ™์ธ ํ›„ ๋กœ์ง์„ ์ž‘์„ฑํ–ˆ๋‹ค.
    4. ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์—ญํ• : ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์™ธ๋ถ€ ์š”์ฒญ์„ ๋ฐ›์•„์„œ, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ฒ˜๋ฆฌ ๋กœ์ง์„ ๊ฐ€์ง„ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋งคํ•‘์‹œ์ผœ ์ฃผ๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์‹คํ–‰์‹œ์ผœ ์ฃผ์—ˆ๋‹ค.
  2. ํ”„๋ ˆ์ž„์›Œํฌ ๋ฏธ์‚ฌ์šฉ ๊ฒฝํ—˜ (ํ˜„์žฌ ๋ฏธ์…˜):
    1. ํ˜„์žฌ ๋ฏธ์…˜์—์„œ๋Š” ์„œ๋ฒ„๋ฅผ ์ง์ ‘ ๋งŒ๋“ค๊ณ  ์žˆ์œผ๋ฉฐ, ์„œ๋ธŒ ์‹œ์Šคํ…œ, ๋ธŒ๋žœ์น˜ ์ŠคํŠธ๋ฆผ์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” Request ๊ฐ์ฒด๋ฅผ ์ง์ ‘ ์ƒ์„ฑํ•˜์—ฌ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.
    2. ๋˜ํ•œ, ์ปจํŠธ๋กค๋Ÿฌ๋„ ์ง์ ‘ ๋งคํ•‘์‹œ์ผœ ์ค˜์•ผ ํ•˜๋ฉฐ, ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.
  3. ๋น„๊ต ๊ฒฐ๊ณผ: ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์—†์„ ๋•Œ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ•ด์•ผ ํ•  ์ผ์ด ํ›จ์”ฌ ๋งŽ๋‹ค.
  4. ๊ฒฐ๋ก : ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐœ๋ฐœ์ž๋“ค์ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋ฐ˜์„ ๋‹ค์ ธ๋†“์€ ๊ฒƒ์ด๋‹ค.

4.3. ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•ต์‹ฌ ํŠน์ง•: ์ˆ˜๋™์  ์‚ฌ์šฉ

  1. ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ตฌ์„ฑ: ์ƒํ˜ธ ํ˜‘๋ ฅํ•˜๋Š” ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์˜ ์ง‘ํ•ฉ์ด๋‹ค.
  2. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์‚ฌ์šฉ ์ฃผ๋„๊ถŒ: ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ˆ˜๋™์ ์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.
    1. ์ด๋Š” ์•ž์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์— ์˜ํ•ด ๋Šฅ๋™์ ์œผ๋กœ ํ˜ธ์ถœ๋˜๋Š” ๊ฒƒ๊ณผ ๋Œ€๋น„๋œ๋‹ค.
  3. ์ˆ˜๋™์  ์‚ฌ์šฉ ์˜ˆ์‹œ:
    1. ๊ฐœ๋ฐœ์ž๋Š” ํŠน์ • URL์„ ๊ฑฐ์ณ ์ˆ˜ํ–‰๋  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง(๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ)์„ ์ž‘์„ฑํ•œ๋‹ค.
    2. ํ๋ฆ„ ์ฃผ๋„๊ถŒ: ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํด๋ผ์ด์–ธํŠธ์˜ ์š”์ฒญ(๋ฆฌํ€˜์ŠคํŠธ)์„ ์ฒ˜๋ฆฌํ•˜๊ณ , ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋งคํ•‘ํ•œ ํ›„, ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž‘์„ฑํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ˜ธ์ถœํ•œ๋‹ค.
    3. ๊ด€์  ์ฐจ์ด: ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž ์ฝ”๋“œ๊ฐ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ˜ธ์ถœํ•˜์ง€๋งŒ, ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ•  ์ผ์„ ๋‹ค ํ•œ ํ›„์— ๊ฐœ๋ฐœ์ž ์ฝ”๋“œ๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
    4. ๊ฒฐ๋ก : ์ด๋Ÿฌํ•œ ๋งฅ๋ฝ์—์„œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ”„๋ ˆ์ž„์›Œํฌ์— ์˜ํ•ด ์ˆ˜๋™์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ํŠน์ง•์ด ๋‚˜ํƒ€๋‚œ๋‹ค.
  4. ํ”„๋ ˆ์ž„์›Œํฌ ์ข…๋ฅ˜ ์˜ˆ์‹œ: ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ, ์ฝ”๋“œ์ด๊ทธ๋‚˜์ดํ„ฐ, ๋ฃจ๋น„์˜จ ๋ ˆ์ผ์ฆˆ, ์žฅ๊ณ  ๋“ฑ์ด ์žˆ๋‹ค.

5. ํ•ต์‹ฌ ๊ฐœ๋… ๋น„๊ต ๋ฐ ๊ฒฐ๋ก 

  1. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ API ์ฐจ์ด์ : ๊ตฌํ˜„ ๋กœ์ง์˜ ์œ ๋ฌด์ด๋‹ค.
  2. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ ์ฐจ์ด์ : ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„ ์ฃผ๋„๊ถŒ์„ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋А๋ƒ, ์•„๋‹ˆ๋ฉด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋А๋ƒ์˜ ์ฐจ์ด์ด๋‹ค.
๊ตฌ๋ถ„๋ˆ„๊ฐ€ ํ˜ธ์ถœํ•˜๋Š”๊ฐ€? (์ฃผ๋„๊ถŒ)์—ญํ•  ๋น„์œ ๊ตฌํ˜„ ๋‚ด์šฉ
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์ด ํ•„์š”ํ•  ๋•Œ ๋Šฅ๋™์ ์œผ๋กœ ํ˜ธ์ถœ๋‚ด๊ฐ€ ๋ถ€๋ฅด๋Š” ์ „๋ฌธ ๋„๊ตฌ(Tool)๊ตฌํ˜„ ๋กœ์ง ํฌํ•จ (ํ•จ์ˆ˜ ์ง‘ํ•ฉ)
API์Œ๋ฐฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐ„์˜ ์—ฐ๊ฒฐ ๊ทœ์•ฝ์ •๋ณด๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š” ๋‹ค๋ฆฌ(Bridge)๊ตฌํ˜„ ๋‚ด์šฉ๊ณผ๋Š” ๋…๋ฆฝ์  (์‚ฌ์šฉ๋ฒ•๋งŒ ์ •์˜)
ํ”„๋ ˆ์ž„์›Œํฌํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ „์ฒด ํ๋ฆ„์„ ์ œ์–ดํ•˜๋ฉฐ ๊ฐœ๋ฐœ์ž ์ฝ”๋“œ๋ฅผ ์ˆ˜๋™์ ์œผ๋กœ ํ˜ธ์ถœ์ •ํ•ด์ง„ ์„ค๊ณ„๋„๋ฅผ ๊ฐ€์ง„ ๊ฑด์ถ• ๋ผˆ๋Œ€(Blueprint)์ „์ฒด ๊ตฌ์กฐ ๋ฐ ํ๋ฆ„ ๊ด€๋ฆฌ
profile
์œ ํŠœ๋ธŒ ๊ธฐ์ˆ  ์˜์ƒ์„ ๋ณด๋ฉด์„œ ์ž˜ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด... Lilys AI๋ฅผ ํ™œ์šฉํ•ด ๋ฐฐ๊ฒฝ์ง€์‹, ์˜์ƒ ์ „์ฒด ์š”์•ฝ ๋ฐ ํ•ต์‹ฌ ๋‚ด์šฉ ์„ค๋ช…๋“ค์„ ๋ธ”๋กœ๊น… ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์„ฑํ•œ ๋‚ด์šฉ๋“ค์— ๋Œ€ํ•ด์„œ ์–ธ์ œ๊ณ  ๋‹ค์‹œ "๋‚ด๊ฐ€" ์ฐพ์•„ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊น๋‹ˆ๋‹ค!

0๊ฐœ์˜ ๋Œ“๊ธ€