(๋ฒˆ์—ญ) ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฏธ๋ž˜ ํƒ์ƒ‰ํ•˜๊ธฐ

์›๋ฌธ : Navigating the future of frontend

์ตœ์‹  ํ”„๋ŸฐํŠธ์—”๋“œ ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๊ณผ๊ฑฐ์™€ ํ˜„์žฌ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์„ ์—ฐ๊ฒฐํ•ด ๋ณด์„ธ์š”.

ํ”„๋ŸฐํŠธ์—”๋“œ ์ƒํƒœ๊ณ„๋Š” ์ „ํ™˜๊ธฐ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋– ์˜ค๋ฅด๋Š” ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๋“ค์€ ๊ฒฝ์Ÿํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฐœ๋…๋“ค, ์ง€์ง€์ž๋“ค, ๋‹ค์–‘ํ•œ ์„ ํ˜ธ๋„ ๋ฐ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋กœ ์ด๋ฃจ์–ด์ง„ ๋ณต์žกํ•œ ํ™˜๊ฒฝ์„ ํƒ์ƒ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚ , ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋งŽ์€ ๋ถ€๋ถ„์ด ์›น๊ณผ ์›น ๊ธฐ์ˆ ์„ ์ด์šฉํ•˜์—ฌ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ž๋ฐ” ์• ํ”Œ๋ฆฟ๋ถ€ํ„ฐ ํ”Œ๋ž˜์‹œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๊ธ‰์†ํ•œ ๋ฐœ์ „์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๋ธŒ๋ผ์šฐ์ €, ํ™”๋ฉด ํฌ๊ธฐ, ๋””๋ฐ”์ด์Šค ๊ธฐ๋Šฅ, ๋„คํŠธ์›Œํฌ ์ƒํƒœ, ๋†’์•„์ง€๋Š” ์‚ฌ์šฉ์ž ๊ธฐ๋Œ€์น˜๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋งŽ์€ ๋„๊ตฌ๊ฐ€ ๊ฐœ๋ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ณธ๊ฒฉ์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ ํ”Œ๋žซํผ์„ ์ถ”๊ตฌํ•˜๋Š” ๊ณผ์ •์—์„œ ์›น์˜ ๊ทผ๋ณธ์ ์ธ ์ œ์•ฝ ์กฐ๊ฑด์€ ๋ณ€ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

์ด ๊ธ€์—์„œ๋Š” ์ตœ์‹  ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ด๋Ÿฌํ•œ ์ œ์•ฝ์„ ์–ด๋–ป๊ฒŒ ๊ทน๋ณตํ•˜๋Š”์ง€ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

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

์„ธ๋ถ€ ์‚ฌํ•ญ์—๋Š” ํ•ญ์ƒ ๋ณต์žกํ•˜๊ณ  ์–ด๋ ค์šด ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ, ํ”„๋ ˆ์ž„์›Œํฌ ์‚ฌ์ด์—์„œ ๋ˆˆ์— ๋ณด์ด๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ์œตํ•ฉ์„ ๋ณด๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋งˆ์ง€๋ง‰์—๋Š” ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํฅ๋ง์„ฑ์‡ ๋ฅผ ๋„˜์–ด ์ง€์†๋˜๋Š” ๊ธฐ๋ณธ์ ์ธ ๊ฐœ๋…๊ณผ ํ‘œ๋ฉด์ ์ธ API๋ฅผ ๊ฐ–์ถ”๊ณ , ํ”„๋ŸฐํŠธ์—”๋“œ ์ƒํƒœ๊ณ„๊ฐ€ ๋‚˜์•„๊ฐˆ ๋ฐฉํ–ฅ์„ ๋” ์ž˜ ์ดํ•ดํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํฅ๋ง์„ฑ์‡ 

์›น ํ”Œ๋žซํผ์€ ์ƒ์œ„ ๋„๊ตฌ๋“ค์ด ๊ตฌ์ถ•๋˜๋Š” ํฌ๊ด„์ ์ธ ๊ณ„์ธต์ด๋ฉฐ ๋ณ€ํ™” ์†๋„๊ฐ€ ๋Š๋ฆฝ๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ํ”Œ๋žซํผ์ด ๊ฐœ์„ ๋˜๋ฉด์„œ ๋” ๋†’์€ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ”Œ๋žซํผ์ด ํ•ญ์ƒ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ํ”Œ๋ž˜์‹œ๊ฐ€ ์‚ฌ๋ผ์ง€๋ฉด์„œ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„๊ฐ€ ํ’๋ถ€ํ•œ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๊ฒฝํ—˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ์ˆ ๋กœ ๊ทธ ๊ณต๋ฐฑ์„ ๋ฉ”์šฐ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€๋‚œ 10๋…„๊ฐ„์˜ ๊ธฐ์ˆ  ๋ถ์€ ๋งŽ์€ ์กฐ์ง์ด ์›น์„ ๊ณ ๊ฐ๊ณผ ์ง์ ‘ ๋งˆ์ฃผํ•˜๋Š” ํ†ต๋กœ๋กœ ํ™œ์šฉํ•จ์— ๋”ฐ๋ผ, ์ด์ „ ์„ธ๋Œ€์˜ ์›น ๊ฐœ๋ฐœ์ž์™€๋Š” ๋Œ€์กฐ์ ์œผ๋กœ ๋‘๊บผ์šด ํด๋ผ์ด์–ธํŠธ ๋ฐ์Šคํฌํ†ฑ ๊ฐœ๋ฐœ๊ณผ ์œ ์‚ฌํ•œ ํ”„๋ŸฐํŠธ์—”๋“œ ์ „๋ฌธํ™”(specialization)๊ฐ€ ์ด๋ฃจ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

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

์„ธ๋ถ€ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์žฅ๋‹จ์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์ „ํžˆ ๋…ผ์Ÿ์˜ ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐ˜์‘์„ฑ์„ ๋‹ค๋ฃจ๋Š” ์ตœ์ƒ์˜ ๋ฐฉ๋ฒ•, ๊ธฐ๋Šฅ๋ณด๋‹ค ํ…œํ”Œ๋ฆฟ์— ๋Œ€ํ•œ ์„ ํ˜ธ๋„, ๋ณต์žก์„ฑ์— ๋Œ€ํ•œ ์„ ํ˜ธ๋„ ๋“ฑ์ด ๊ทธ ์˜ˆ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํฐ ํ‹€์—์„œ๋Š” ์œ ์‚ฌํ•œ ๊ฐœ๋…์œผ๋กœ ์ˆ˜๋ ด๋˜๋ฉฐ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

ํฐ ์ฃผ์ œ ์ค‘ ํ•˜๋‚˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋‘ ๊ฐœ์˜ ๋ณดํŽธ์ ์ธ ์ฃผ๊ธฐ๋ฅผ ์ดํ•ดํ•จ์œผ๋กœ์จ ์šฐ๋ฆฌ์˜ ์กฐ์‚ฌ๋ฅผ ์‹œ์ž‘ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋Šฅ์„ฑ vs ์ ํ•ฉ์„ฑ

๋„๊ตฌ์˜ ๊ธฐ๋Šฅ์€ ์•„์ด๋””์–ด๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด ๋„๊ตฌ๋Š” ๋”์šฑ ๋ณต์žกํ•ด์ง‘๋‹ˆ๋‹ค.

๋„๊ตฌ์˜ ์ ํ•ฉ์„ฑ์€ ๋„๊ตฌ๊ฐ€ ์ฃผ์–ด์ง„ ์ƒํ™ฉ์— ์ ํ•ฉํ•œ์ง€ ์—ฌ๋ถ€์ž…๋‹ˆ๋‹ค. ์กฐ์ง์  ๋งฅ๋ฝ์—์„œ ์ด๋Š” ์ž์ฃผ ํ•จ์ •์— ๋น ์ง€๊ฑฐ๋‚˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด์„œ, ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๋งŒ์กฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

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

๋ฒˆ๋“ค๋˜์ง€ ์•Š์€ ๊ฒƒ์˜ ๋ฒˆ๋“ค๋ง

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”ผ๋กœ(fatigue) ํ˜„์ƒ์€ ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๊ธฐ๋Šฅ ์‚ฌ์ด์—์„œ ์„ ํƒํ•˜๊ณ  ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋„๋ก ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋น„๋กฏ๋ฉ๋‹ˆ๋‹ค.

๋ฒˆ๋“ค๋ง์€ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ์ œํ’ˆ์œผ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฒˆ๋“ค๋ง ์ถ”์ƒํ™”๋Š” ํ•œ ๋ฒˆ์— ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ทœ๋ชจ๊ฐ€ ์ปค์ง€๊ณ  ์ถ”์ƒํ™” ์ˆ˜์ค€์ด ๋†’์•„์ ธ ๊ฐœ๋ฐœ์ž๋ฅผ ๋ถˆํŽธํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฒƒ๋“ค์ด ๋„ˆ๋ฌด ๋Š๋ฆฌ๊ฑฐ๋‚˜ ์ œํ•œ์ ์ด๋ผ๊ณ  ์ธ์‹๋˜๋ฉด, ๊ฐ ๋ถ€๋ถ„์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋…๋ฆฝ์ ์œผ๋กœ ํ˜์‹ ํ•˜๋Š” ์ƒˆ๋กœ์šด ์ฃผ๊ธฐ๊ฐ€ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค.

์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ์ด๋Ÿฌํ•œ ์ง€์†์ ์ธ ๋ฐ˜๋ณต๊ณผ ํ•จ์ •์˜ ๊ณ ํ†ต์„ ๊ฒฝํ—˜ํ•จ์œผ๋กœ์จ ์šฐ๋ฆฌ๋Š” ๋ฌด์—‡์ด ์ค‘์š”ํ•˜๊ณ  ๋ฌด์—‡์ด ์ค‘์š”ํ•˜์ง€ ์•Š์€์ง€ ์•Œ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ธก ์ปดํฌ๋„ŒํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ˆ˜๋…„๊ฐ„์˜ ๋ฐ˜๋ณต์„ ํ†ตํ•ด ๊ฐ๊ธฐ ๋‹ค๋ฅธ ๋„๊ตฌ์™€ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ๋ฌถ๋Š” ์ž์ฒด์ ์ธ โ€œ๋ฉ”ํƒ€โ€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋ฆฌ์•กํŠธ์˜ ๋งŽ๊ณ  ์ƒˆ๋กœ์šด API๋Š” ์ด๋Ÿฌํ•œ ์ƒ์œ„ ์ˆ˜์ค€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ ์ค‘ ํ•˜๋‚˜์— ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„๋ฆฌ๋œ ๊ธฐ๋Šฅ์„ ์˜๋„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์œผ๋กœ ๋Œ์•„๊ฐ€๊ธฐ

โ€œํญ ๋„“๊ฒŒ ๊ธธ์„ ์ดํ•ดํ•œ๋‹ค๋ฉด, ๋ชจ๋“  ๊ฒƒ์—์„œ ๊ทธ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹คโ€ - ๋ฏธ์•ผ๋ชจํ†  ๋ฌด์‚ฌ์‹œ

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๋‘ ๊ฐ€์ง€ ์ฃผ์š” ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์—ฐ์‚ฐ๊ณผ ์ €์žฅ์ž…๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ์˜ ์„ฑ๋Šฅ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์—ฐ์‚ฐ๊ณผ ์Šคํ† ๋ฆฌ์ง€์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋“ฑ์˜ ์ž…์ถœ๋ ฅ(I/O) ์ž‘์—…์— ์˜ํ•ด ์ œ์•ฝ๋ฉ๋‹ˆ๋‹ค.

์›น์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ทผ๋ณธ์ ์ธ ์ œ์•ฝ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋‹จ์ผ ์Šค๋ ˆ๋“œ, ์‚ฌ์šฉ์ž์™€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋„คํŠธ์›Œํฌ ์ง€์—ฐ ์‹œ๊ฐ„์œผ๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์›น์˜ ๋ชจ๋“  ์—ฐ๊ฒฐ์—๋Š” ์š”์ฒญ-์‘๋‹ต ํŒจํ„ด์„ ๋”ฐ๋ฅด๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋Š” ํ•ญ์ƒ ์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ ํฌํŠธ์ž…๋‹ˆ๋‹ค(CDN์—์„œ ์ •์  ํŒŒ์ผ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค). ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ์„œ๋ฒ„์™€ ํด๋ผ์ด์–ธํŠธ ๊ฐ„์— ์–ด๋–ป๊ฒŒ ๋ถ„์‚ฐํ•˜๋Š” ๋ฐฉ์‹์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์žฅ๋‹จ์ ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

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

์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ

๋˜ ๋‹ค๋ฅธ ํ•„์ˆ˜ ์š”์†Œ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ์ž…๋‹ˆ๋‹ค.

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

์ด ๋ชจ๋ธ์—์„œ๋Š” ํด๋ผ์ด์–ธํŠธ์—์„œ์˜ ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ์ด ๋™๊ธฐ์‹ HTTP ์š”์ฒญ์œผ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ํ›„ ๊ฒฝํ—˜์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๋Š” ์„œ๋ฒ„๊ฐ€ ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ๋ฌธ์„œ๋กœ ์‘๋‹ตํ•จ์— ๋”ฐ๋ผ ๋Œ€๋žต์ ์œผ๋กœ ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค(coarse-grained). ๋ธŒ๋ผ์šฐ์ €๋Š” ์ด๋ฅผ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•ด ์ž์ฒด์ ์œผ๋กœ ๋‹ค์‹œ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๊ตญ, ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” XMLHttpRequest๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์‚ฌ์šฉ์ž ์ž‘์—…์€ ํŽ˜์ด์ง€์˜ ๊ด€๋ จ ๋ถ€๋ถ„๋งŒ ์—…๋ฐ์ดํŠธ๋˜๋Š” ์„ธ๋ถ„ํ™”๋œ ๋น„๋™๊ธฐ์‹ ์—…๋ฐ์ดํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ์Šต๋‹ˆ๋‹ค.

์ด ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ ๋ชจ๋‘, ๋ Œ๋”๋ง๋˜๋Š” ๋‚ด์šฉ์˜ ๋ฐ์ดํ„ฐ ์ถœ์ฒ˜๋Š” ์„œ๋ฒ„์— ์˜ํ•ด ๊ตฌ๋™๋˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

์ด์ œ ์šฐ๋ฆฌ๋Š” ์ด ์ด์•ผ๊ธฐ๋ฅผ ์ž˜ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ํ…œํ”Œ๋ฆฟ๊ณผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋Š” ์ ์  ๋” ํด๋ผ์ด์–ธํŠธ ์ธก์œผ๋กœ ์ด๋™ํ–ˆ๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋Š” ํด๋ผ์ด์–ธํŠธ ์ฃผ๋„๋กœ ๋ฐ”๋€Œ๋ฉด์„œ ๋น ๋ฅธ ๋‚™๊ด€์  ์“ฐ๊ธฐ๊ฐ€ ๊ฐ€๋Šฅํ•ด์กŒ๊ณ , ์ด๋กœ ์ธํ•ด ๊ธฐ์ € ๋„คํŠธ์›Œํฌ๋ฅผ ์ˆจ๊ธฐ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ์ง€๋‚œ 10๋…„๊ฐ„ ์—…๊ณ„์— ์ง„์ž…ํ•œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด ๋ชจ๋ธ์„ ์ฑ„ํƒํ•œ ์ฃผ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ์†๋„๊ฐ€ ์ƒ๋ช…์ธ ์—…๊ณ„์—์„œ ๊ธฐ๋Šฅ์ด ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ์ €์žฅํ•  ๊ณณ์€ ๋‹จ ํ•œ ๊ณณ๋ฟ์ž…๋‹ˆ๋‹ค.

๋‹จ์ผ ๋จธ์‹ ์„ ์‚ฌ์šฉํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์ด ์„ฑ๋Šฅ์— ์ œ์•ฝ์ด ์ƒ๊ธฐ๋ฉด ์ด๋ฅผ ํฌ๊ธฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ์˜์—ญ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋ถ„์‚ฐ๋œ ์‹œ์Šคํ…œ ํ”„๋ŸฐํŠธ์—”๋“œ

ํด๋ผ์ด์–ธํŠธ ์ „์šฉ ์ ‘๊ทผ ๋ฐฉ์‹์˜ ๋ฉ˜ํƒˆ ๋ชจ๋ธ์€ ๋ฐฑ์—”๋“œ์™€ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋™๊ธฐํ™”๋˜๋Š” ์žฅ๊ธฐ ์‹คํ–‰(long-running) ๋ฐ์Šคํฌํ†ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ๋กœ์˜ ์ „ํ™˜์€ ๋Œ€๋ถ€๋ถ„์˜ โ€œํ”„๋ŸฐํŠธ์—”๋“œ ๋’ค์ชฝโ€ ์ฝ”๋“œ๊ฐ€ ์„œ๋ฒ„๋กœ ๋‹ค์‹œ ์ด๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ฉ˜ํƒˆ ๋ชจ๋ธ ๋ณ€ํ™” ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

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

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

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

๋‹ค๋ฅธ ์–ธ์–ด ์ƒํƒœ๊ณ„์—์„œ๋„ ๋น„์Šทํ•œ ๊ฐœ๋…์„ ๋ชจ์ƒ‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด C#์˜ Blazor, Clojure์˜ Electric, Rust์˜ Leptos๋„ ๋น„์Šทํ•œ ์•„์ด๋””์–ด๋ฅผ ์ถ”๊ตฌํ•ฉ๋‹ˆ๋‹ค.

๋ณต์žกํ•œ ์„ธ๋ถ€์‚ฌํ•ญ์„ ์‚ดํŽด๋ณด๊ธฐ ์ „์—, ์™œ ์ง€๊ธˆ ์ด๋Ÿฐ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š”์ง€ ์ดํ•ดํ•ด ๋ด…์‹œ๋‹ค.

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

- ํ•˜๋‚˜์˜ ์–ธ์–ด๋กœ ๋ชจ๋“  ๊ฒƒ์„ ๋‹ค๋ฃจ๊ธฐ

์›น์˜ ๊ณต์šฉ์–ด๋กœ์„œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋งŒํผ ๋ณดํŽธ์ ์ธ ์–ธ์–ด๋Š” ์—†์Šต๋‹ˆ๋‹ค.

Node.js๊ฐ€ ๋“ฑ์žฅํ–ˆ์„ ๋•Œ ์šฐ๋ฆฌ๋Š” ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ๋ชจ๋‘์—์„œ ์‹คํ–‰๋˜๋Š” ๋™ํ˜•(isomorphic) ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. Meteor์™€ ๊ฐ™์€ ์„ ๊ตฌ์ ์ธ ์ดˆ๊ธฐ ํ’€์Šคํƒ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ ๊ทน์ ์œผ๋กœ ์ˆ˜์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

Meteor๋Š” ๋ธŒ๋ผ์šฐ์ €์™€ ์„œ๋ฒ„๊ฐ€ ๋งค์šฐ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์ด๋ผ๋Š” ์‚ฌ์‹ค์„ ์ถ”์ƒํ™”ํ•˜์—ฌ ํ’€์Šคํƒ ๋ฐ˜์‘์„ฑ๊ณผ RPC๋ฅผ ๊ฐ–์ถ˜ ๋™ํ˜• ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์ดˆ๊ธฐ ์˜ˆ์‹œ์˜€์Šต๋‹ˆ๋‹ค.

๋‹น์‹œ ์ด ์˜ฌ์ธ์› ์ ‘๊ทผ ๋ฐฉ์‹์€ ์ตœ์†Œํ•œ์˜ ๋ทฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ ๋ฆฌ์•กํŠธ์™€ ๊ฐ™์ด ๊ฐœ์ž…์ด ์ ๊ณ  ์œ ์—ฐํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์— ๋ฐ€๋ ค ์—…๊ณ„์—์„œ ์ ์œ ์œจ์„ ์žƒ์—ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ ์ดํ›„๋กœ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋Š” ์—„์ฒญ๋‚œ ์˜ํ–ฅ๋ ฅ์„ ๋ฐœํœ˜ํ•˜์—ฌ ๋งŽ์€ ๊ฐœ๋ฐœ์ž์™€ ์กฐ์ง์—์„œ ์‚ฌ์‹ค์ƒ ํ‘œ์ค€์œผ๋กœ ์ž๋ฆฌ ์žก์•˜์Šต๋‹ˆ๋‹ค.

tPRC ๋ฐ T3 ์Šคํƒ๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋Š” ๋™ํ˜• ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋“œ, ํƒ€์ž…, ์Šคํ‚ค๋งˆ ๋ฐ ์‹คํ–‰ ๋ชจ๋ธ์„ ๋™์ผํ•œ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ํ†ตํ•ฉํ•จ์œผ๋กœ์จ ์—”๋“œํˆฌ์—”๋“œ ํƒ€์ž… ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

- ์ฐจ์„ธ๋Œ€ ์ปดํŒŒ์ผ๋Ÿฌ ๋ฐ ๋ฒˆ๋“ค๋Ÿฌ

์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋ฅผ ๋‚˜์ค‘์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ณ€ํ™˜, ์ค€๋น„ ๋ฐ ์ตœ์ ํ™”ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ทœ๋ชจ ํ”„๋ŸฐํŠธ์—”๋“œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์ œ๊ณตํ•˜๊ธฐ์—์„œ ์›น์—์„œ ์ด๋Ÿฌํ•œ ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

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

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ๋Ÿฐํƒ€์ž„์— ์‹คํ–‰๋˜๋Š” ํด๋ผ์ด์–ธํŠธ ๋ฐ ์„œ๋ฒ„์šฉ ๋ชจ๋“ˆ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ฝ”๋“œ ์ถ”์ถœ ์•„์ด๋””์–ด๋Š” ํ†ตํ•ฉ๋œ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ์ €์ž‘ ํ™˜๊ฒฝ์˜ ์›๋™๋ ฅ์ด ๋˜๋ฉฐ, ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์ผ์–ด๋‚˜๋Š” ๋งŽ์€ ๋งˆ๋ฒ•๊ณผ๋„ ๊ฐ™์Šต๋‹ˆ๋‹ค.

- Suspense๋Š” ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

Suspense๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์€ ๋ฆฌ์•กํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๋– ์˜ค๋ฅด๋Š” ์„œ๋ฒ„ ์šฐ์„  ๋ฉ˜ํƒˆ ๋ชจ๋ธ์„ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ์†”๋ฆฌ๋“œ, ๋ทฐ, ํ”„๋ฆฌ์•กํŠธ, ์•„์ŠคํŠธ๋กœ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋„ ์ด์™€ ์œ ์‚ฌํ•œ ๋ณ€ํ˜•์ด ๋ชจ์ƒ‰๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ด€์ ์—์„œ์˜ ํ•ต์‹ฌ ์ธ์‚ฌ์ดํŠธ๋Š” ๋ฐ์ดํ„ฐ ์ง‘์•ฝ์ ์ธ ๊ฒฝํ—˜์˜ ๋กœ๋”ฉ ๋‹จ๊ณ„๋ฅผ ๋ณด๋‹ค ์˜๋„์ ์œผ๋กœ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ๊ด€์ ์—์„œ์˜ ํ•ต์‹ฌ ์ธ์‚ฌ์ดํŠธ๋Š” Suspense๊ฐ€ ๋ฆฌ์†Œ์Šค ๋กœ๋”ฉ๊ณผ ๋ Œ๋”๋ง์˜ ๋ณ‘๋ ฌํ™”๋ฅผ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ ์ž…๋‹ˆ๋‹ค.

Facebook์˜ BigPipe ๊ฐœ๋…์—์„œ ์˜๊ฐ์„ ์–ป์€ ์ด ๊ธฐ๋Šฅ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์œ ํœด ์ƒํƒœ์ธ ๋™์•ˆ ์„œ๋ฒ„๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  HTML์„ ๋ Œ๋”๋งํ•˜๋Š” ๋™๊ธฐ์‹ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ์ค„์—ฌ์ค๋‹ˆ๋‹ค.

๋Œ€์‹  ํด๋ผ์ด์–ธํŠธ๋Š” ๋ธŒ๋ผ์šฐ์ €์—์„œ HTML์„ ํŒŒ์‹ฑํ•  ๋•Œ ํ•ด๋‹น ํƒœ๊ทธ๋ฅผ ๋ฐœ๊ฒฌํ•˜๋ฉด ๊ธ€๊ผด, CSS, JS์™€ ๊ฐ™์€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์šด๋กœ๋“œํ•˜๊ธฐ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณผ์ •์€ ์„œ๋ฒ„๊ฐ€ ๋ณ‘๋ ฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•˜๋Š” ๋™์•ˆ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ˆœ์ˆ˜ ์„œ๋ฒ„ ์ค‘์‹ฌ์˜ โ€˜ํŽ˜์น˜ ํ›„ ๋ Œ๋”๋งโ€™ ๋ชจ๋ธ์—์„œ TTFB(Time to first byte)์— ๋Œ€ํ•œ ์˜ํ–ฅ์„ ์ค„์ด๊ณ  ๊ฐ€์žฅ ํฐ ์ฝ˜ํ…์ธ  ํŽ˜์ธํŠธ(Largest Contentful Paint, LCP)์˜ ์†๋„๊ฐ€ ๋Š๋ ค์ง‘๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋‹จ์ˆœํžˆ <head>๋ฅผ ๋น ๋ฅด๊ฒŒ ๋น„์›Œ์„œ ๋ชจ๋“  ๊ฒƒ์„ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋น„๋™๊ธฐ ๋กœ๋”ฉํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ•˜์—ฌ, ๋‹จ๊ณ„์  ๋กœ๋”ฉ ๋‹จ๊ณ„๋ฅผ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ์™€ ์ฝ”๋“œ๊ฐ€ ํญํฌ์ฒ˜๋Ÿผ ๋กœ๋“œ๋˜๋ฉด์„œ ํŽ˜์ด์ง€ ์•ˆํŒŽ์œผ๋กœ ์›์น˜ ์•Š๋Š” ๋กœ๋”ฉ ์•„์ด์ฝ˜(Throbber)์ด โ€˜ํŒ์ฝ˜์ฒ˜๋Ÿผโ€™ ํ™•์‚ฐ๋˜์–ด ๋ˆ„์  ๋ ˆ์ด์•„์›ƒ ๋ณ€ํ™”(Cumulative Layout Shift, CLS)๋ฅผ ์ดˆ๋ž˜ํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ๋Œ€์กฐ์ ์ž…๋‹ˆ๋‹ค.

์ดˆ๊ธฐ ํŽ˜์ด์ง€ ๋กœ๋”ฉ ์™ธ์—๋„ RSC๋Š” ์ง๋ ฌํ™”๋œ ๊ฐ€์ƒ DOM์„ ๋‹ค์šด๋กœ๋“œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์  ๊ด€์ ์—์„œ ๋ณผ ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๋Š” Suspense๊ฐ€ ๋ Œ๋”๋ง์ด ๋น„๋™๊ธฐ์‹์ด๊ณ  ์ˆœ์„œ๊ฐ€ ์—†์ด ์ŠคํŠธ๋ฆฌ๋ฐ๋  ๋•Œ, ์ผ๊ด€๋œ ๋ Œ๋”๋ง ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

* ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ธฐ
ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋ฐ˜์‘์„ฑ ์‹œ์Šคํ…œ์ด ํ•ด๊ฒฐํ•˜๋Š” ํ•ต์‹ฌ ๋ฌธ์ œ๋Š” ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์ผ๊ด€๋˜๊ฒŒ ๋ Œ๋”๋ง๋˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์ผ๊ด€์„ฑ(Consistency)์ด๋ž€ ํ‘œ์‹œ๋˜๋Š” ๋‚ด์šฉ์ด ํ˜„์žฌ ์†Œ์Šค๋ฅผ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ˜์˜ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ์š”์†Œ์—์„œ UI๊ฐ€ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์ƒ DOM๊ณผ ์‹œ๊ทธ๋„(signals)์€ ์ด๋ฅผ ์œ„ํ•œ ๋‘ ๊ฐ€์ง€ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ์ฐจ์ด์ ์„ ๊ฐ„๋‹จํžˆ ์„ค๋ช…ํ•˜์ž๋ฉด, ๊ฐ€์ƒ DOM์€ โ€œ๋ทฐ๋ฅผ ๋ณ€๊ฒฝโ€ํ•˜๋ฏ€๋กœ ๋Œ€๋žต์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋ฐ˜๋ฉด, ์‹œ๊ทธ๋„์€ โ€œ๋ชจ๋ธ์„ ๋ณ€๊ฒฝโ€ํ•˜๋ฏ€๋กœ ์„ธ๋ถ„ํ™”๋˜์–ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ ์ ‘๊ทผ ๋ฐฉ์‹์—๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์žฅ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Suspense๋Š” ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๊ฐ€ ๋กœ๋“œ๋  ๋•Œ ๋ฆฌ์†Œ์Šค๊ฐ€ I/O ๋ฐ”์šด๋“œ ์ž‘์—…์œผ๋กœ ๋น„๋™๊ธฐ์ ์œผ๋กœ ๋กœ๋“œ๋  ๋•Œ ๋ Œ๋”๋ง ์ผ๊ด€์„ฑ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฅธ ๊ฐ๋„์—์„œ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

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

๋˜ํ•œ ๋นŒ๋“œ ํƒ€์ž„ ์ปดํŒŒ์ผ๋Ÿฌ์™€ ์˜๋ฆฌํ•˜๊ฒŒ ๊ฒฐํ•ฉํ•˜์—ฌ ๋ถ€๋ถ„ ์‚ฌ์ „ ๋ Œ๋”๋ง๊ณผ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๋ Œ๋”๋ง ๋ฐฉ๋ฒ•์„ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

- ์ธํ”„๋ผ์˜ ๋ฐœ์ „

์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ƒํƒœ๊ณ„์—์„œ ๋ฐœ์ „ํ•˜๋Š” ๋™์•ˆ ์›น์„ ๊ตฌ๋™ํ•˜๋Š” ํด๋ผ์šฐ๋“œ ์ธํ”„๋ผ๋„ ๋น ๋ฅด๊ฒŒ ์ง„ํ™”ํ–ˆ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ๋Ÿฐํƒ€์ž„์—์„œ ๋ธŒ๋ผ์šฐ์ €๋กœ์˜ ์ŠคํŠธ๋ฆฌ๋ฐ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ด๋ฅผ ์ง€์›ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฑ์—”๋“œ ์ธํ”„๋ผ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋งŽ์€ ์„œ๋ฒ„ ์ธํ”„๋ผ ์ œ๊ณต์—…์ฒด๊ฐ€ ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฆฌ์Šค ๋ฐ ์—ฃ์ง€ ์ปดํ“จํŒ…์˜ ์ธ๊ธฐ์™€ ํ•จ๊ป˜ ์—ฃ์ง€ ๋ฐ ์„œ๋ฒ„๋ฆฌ์Šค ํ™˜๊ฒฝ์—์„œ ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์ถ•๋œ Deno, Bun, txki.js, LLRT์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ๋Ÿฐํƒ€์ž„์ด ๋“ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  fetch ๋ฐ ReadableStream๊ณผ ๊ฐ™์€ ์›น ํ‘œ์ค€ API๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ธฐ๋ณธ ์ธํ”„๋ผ์˜ ๋ณต์žก์„ฑ์„ ์ถ”์ƒํ™”ํ•˜๋Š” ์†”๋ฃจ์…˜์„ ๊ฐ–์ถ˜ โ€˜ํ”„๋ŸฐํŠธ์—”๋“œ ํด๋ผ์šฐ๋“œโ€™ ์ œ๊ณต์—…์ฒด๊ฐ€ ๋“ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ณ„์ธต์—์„œ์˜ ๋ผ์šฐํŒ…

โ€œ์‚ฐ ์ •์ƒ์œผ๋กœ ๊ฐ€๋Š” ๊ธธ์€ ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ๊ฒƒ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.โ€ - ๋ฏธ์•ผ๋ชจํ†  ๋ฌด์‚ฌ์‹œ

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

URL(๋ฐ QR์ฝ”๋“œ)์˜ ํŽธ์˜์„ฑ๊ณผ ๊ณต์œ  ๊ฐ€๋Šฅ์„ฑ์€ ์†Œํ”„ํŠธ์›จ์–ด ๋ฐฐํฌ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ์„œ ์›น์˜ ์„ฑ๊ณต์— ์žˆ์–ด ๊ธฐ๋ณธ์ด ๋ฉ๋‹ˆ๋‹ค. ๋ผ์šฐํ„ฐ๋Š” ๋กœ๋“œํ•ด์•ผ ํ•˜๋Š” ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ URL์„ ์—ฐ๊ฒฐํ•˜๋Š” ์—ฐ๊ฒฐ๊ณ ๋ฆฌ์ž…๋‹ˆ๋‹ค.

๋ผ์šฐํ„ฐ๋ฅผ URL์˜ ์ƒํƒœ ๊ด€๋ฆฌ์ž๋กœ, ๋ผ์šฐํŠธ๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ๊ณต์œ  ๊ฐ€๋Šฅํ•œ ๋Œ€์ƒ์œผ๋กœ ์ƒ๊ฐํ•˜๋Š” ๊ฒƒ๋„ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. URL์€ ํ‘œ์‹œํ•  ๋ ˆ์ด์•„์›ƒ๊ณผ ๋กœ๋“œํ•ด์•ผ ํ•  ์ฝ”๋“œ ๋ฐ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ž…๋ ฅ์ด๋ฏ€๋กœ ๋ผ์šฐํ„ฐ๋Š” ํ•„์ˆ˜์ ์ธ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๋ผ์šฐํ„ฐ๋Š” ๋ฐ์ดํ„ฐ ํŽ˜์นญ ๋ฐ ์บ์‹ฑ, ๋ณ€๊ฒฝ ๋ฐ ์žฌ๊ฒ€์ฆ๊ณผ ๊ฐ™์€ ์ค‘์š”ํ•œ ์ž‘์—…๊ณผ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ผ์šฐํ„ฐ์˜ ์œ„์น˜์™€ ์ž‘์—… ์ˆ˜ํ–‰ ์œ„์น˜๋Š” ํ”„๋ŸฐํŠธ์—”๋“œ ์•„ํ‚คํ…์ฒ˜์˜ ๊ธฐ๋ณธ์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ vs ์„œ๋ฒ„

๊ธฐ์กด์˜ ์„œ๋ฒ„ ์ค‘์‹ฌ ์ ‘๊ทผ ๋ฐฉ์‹์—์„œ๋Š” ๋ผ์šฐํ„ฐ๊ฐ€ ์š”์ฒญ์„ URL์— ๋งคํ•‘ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  HTML ํ…œํ”Œ๋ฆฟ์„ ๋ Œ๋”๋งํ•ฉ๋‹ˆ๋‹ค. URL ๊ฐ„ ์ „ํ™˜ ์‹œ ์ƒˆ ๋ฌธ์„œ๊ฐ€ ์ƒ์„ฑ๋˜๋ฉฐ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ƒˆ๋กœ ๊ณ ์นจํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

์—ฌ๊ธฐ์—์„œ ์ƒˆ๋กœ์šด ๋ฌธ์„œ๋ฅผ ์š”์ฒญํ•˜๋Š” ๋Œ€์‹  URL์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ธฐ์กด ๋ฌธ์„œ์— ๋‹ค์‹œ ๋ Œ๋”๋งํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ์ปดํฌ๋„ŒํŠธ ์ฝ”๋“œ์— ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ ์ธก ๋ผ์šฐํŒ…์€ SPA ์•„ํ‚คํ…์ฒ˜์˜ ํ•ต์‹ฌ์ž…๋‹ˆ๋‹ค. ๋ผ์šฐํŒ… ์ „ํ™˜์€ ํด๋ผ์ด์–ธํŠธ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜๋ฏ€๋กœ ๊ธฐ์กด JS, CSS ๋ฐ ๊ธฐํƒ€ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‹ค์‹œ ํ‰๊ฐ€ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ „ํ™˜์ด ์ด๋ฃจ์–ด์ง€๊ธฐ ์ „์— ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ผ์šฐํŒ… ์ „ํ™˜ ์‚ฌ์ด์— ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ๊ฐ™์€ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์ด์ œ ์œ ์‚ฌํ•œ UX ํŒจํ„ด์ด ํ”Œ๋žซํผ์— ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค).

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

์›Œํ„ฐํด(waterfall)์˜ ์—ญ์‚ฌ

ํ•œ๋™์•ˆ ๋™์  ํด๋ผ์ด์–ธํŠธ ์ธก ๋ผ์šฐํŒ…์€ ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ผ์šฐํ„ฐ๊ฐ€ ํŠธ๋ฆฌ์˜ ์–ด๋Š ๊ณณ์—์„œ๋‚˜ ๋ผ์šฐํŠธ๋ฅผ ์ปดํฌ๋„ŒํŠธ๋กœ ๋ Œ๋”๋งํ•˜๋Š” ๋ฐฉ์‹์ด์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ์„ค๊ณ„๋Š” ๋Ÿฐํƒ€์ž„์— <Redirect /> ์ปดํฌ๋„ŒํŠธ ๋ Œ๋”๋ง๊ณผ ๊ฐ™์ด ๋งค์šฐ ์œ ์—ฐํ•˜๊ณ  ๋™์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–ด๋–ค ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ• ์ง€ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๋ฅผ ๋ Œ๋”๋งํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ๊ฒฐ์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์ด ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ๋งŽ์€ ํด๋ผ์ด์–ธํŠธ ์ค‘์‹ฌ ์ปดํฌ๋„ŒํŠธ ์•„ํ‚คํ…์ฒ˜๋Š” ์ƒ๋‹นํ•œ ์–‘์˜ ํด๋ผ์ด์–ธํŠธ-์„œ๋ฒ„ ๋„คํŠธ์›Œํฌ ์›Œํ„ฐํด์— ๋ถ€๋”ชํžˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์›Œํ„ฐํด์€ ์ผ๋ จ์˜ ์ˆœ์ฐจ์ ์ธ ๋„คํŠธ์›Œํฌ ์š”์ฒญ์œผ๋กœ, ๊ฐ ์š”์ฒญ์€ ์ด์ „ ์š”์ฒญ์˜ ์™„๋ฃŒ ์—ฌ๋ถ€์— ์˜์กด์ ์ž…๋‹ˆ๋‹ค. ์›Œํ„ฐํด์€ ๋„คํŠธ์›Œํฌ ํƒญ์— ์ˆจ์–ด ์žˆ๋Š” ์กฐ์šฉํ•œ ์„ฑ๋Šฅ ์ €ํ•˜ ์š”์ธ์ž…๋‹ˆ๋‹ค.

๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ ๋ผ์šฐํ„ฐ๋Š” ์ •์ ์œผ๋กœ ์ •์˜๋œ ๋ผ์šฐํŠธ ์ •์˜์— ์ˆ˜๋ ดํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ธฐ๋ฐ˜ ๋ผ์šฐํŒ…์€ ํด๋” ๊ตฌ์กฐ๋ฅผ URL์— ๋งคํ•‘ํ•œ ๋‹ค์Œ, URL์„ ํ•ด๋‹น ํด๋”์˜ ํŠน์ • ํŒŒ์ผ์— ๋งคํ•‘ํ•˜๋Š” ์ง๊ด€์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ํŒŒ์ผ ์‹œ์Šคํ…œ์„ ํƒ์ƒ‰ํ•˜์—ฌ ๋ผ์šฐํŠธ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ตฌ์„ฑ ํŒŒ์ผ์—์„œ ๋ชจ๋“  ๋ผ์šฐํŠธ๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๊ณ  ํƒ€์ž… ์•ˆ์ „์„ฑ์„ ๊ฐ–์ถ˜ ๋˜ ๋‹ค๋ฅธ ์ ‘๊ทผ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

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

ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ์ƒˆ๋กœ์šด ๋ฐฑ์—”๋“œ

URL์„ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ์— ๋งคํ•‘ํ•œ ํ›„์—๋Š” ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ์‚ดํŽด๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ ๋ฉ”ํƒ€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํฐ ์ฃผ์ œ๋Š” ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜์˜ ํ’๋ถ€ํ•œ ํด๋ผ์ด์–ธํŠธ ์ธก ์ ‘๊ทผ ๋ฐฉ์‹์˜ ๊ธฐ๋Šฅ์„ ํฌ๊ธฐํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์„œ๋ฒ„ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ์˜ ์„ฑ๋Šฅ ์ด์ ์„ ์กฐํ™”์‹œํ‚ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

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

์˜์›ํ•œ ๋ฒ ์ŠคํŠธ ํ”„๋ Œ๋“œ

ํ”„๋ŸฐํŠธ์—”๋“œ๋ฅผ ์œ„ํ•œ ๋ฐฑ์—”๋“œ(Backend For Frontend, BFF)๋Š” ์„œ๋น„์Šค ์ง€ํ–ฅ ๋ฐฑ์—”๋“œ ํ™˜๊ฒฝ์—์„œ ์ต์ˆ™ํ•œ ๋””์ž์ธ ํŒจํ„ด์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ์•„์ด๋””์–ด๋Š” ๋งž์ถคํ˜• ๋ฐฑ์—”๋“œ ์„œ๋น„์Šค๊ฐ€ ๊ฐ ํด๋ผ์ด์–ธํŠธ ํ”Œ๋žซํผ(์›น, ๋ชจ๋ฐ”์ผ, CLI ๋“ฑ) ๋ฐ”๋กœ ๋’ค์— ์œ„์น˜ํ•˜์—ฌ ํ•ด๋‹น ํ”„๋ŸฐํŠธ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํŠน์ • ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด HTMX์™€ ๊ฐ™์€ ์„œ๋ฒ„ ์ค‘์‹ฌ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฑ์—”๋“œ๋Š” AJAX ์Šคํƒ€์ผ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์–‡์€ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ HTML ๋ถ€๋ถ„์œผ๋กœ ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค.

RSC์˜ ๊ฒฝ์šฐ, ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์ง๋ ฌํ™”๋œ ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ๋ฅผ ์–‡์€ ํด๋ผ์ด์–ธํŠธ ๋˜๋Š” ๋‹ค์ด์–ดํŠธ ์ค‘์ธ ๋‘๊บผ์šด ํด๋ผ์ด์–ธํŠธ์— ๋ฐ˜ํ™˜ํ•˜๋Š” ๋งž์ถคํ˜• ๋ฐฑ์—”๋“œ์ž…๋‹ˆ๋‹ค.

์„œ๋ฒ„์—์„œ ์ด ๊ณ„์ธต์„ ์‹คํ–‰ํ•  ๋•Œ์™€ ๋น„๊ตํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ์ด์ ์„ ์ดํ•ดํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ํด๋ผ์ด์–ธํŠธ ๋ฒˆ๋“ค์„ ๊ฐ„์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด, ๋‚ ์งœ ์„œ์‹, ๊ตญ์ œํ™” ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฌด๊ฑฐ์šด ๋ณ€ํ™˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ•จ๊ป˜ ๋ธŒ๋ผ์šฐ์ €๋กœ ์ „์†ก๋˜๋Š” ์ฝ”๋“œ์˜ ํ† ํฐ ๋˜๋Š” ๋น„๋ฐ€์„ ํฌํ•จํ•˜์—ฌ ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ ํŽ˜์นญ ๋ฐ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜ ๋กœ์ง์„ ์„œ๋ฒ„์— ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๊ตฌ์„ฑํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ฆฌํ•˜์—ฌ ๊ณผ๋„ํ•œ ํŽ˜์นญ์„ ๋ฐฉ์ง€ํ•˜์„ธ์š”. Suspense์—์„œ ์‚ดํŽด๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ ๋Š๋ฆฐ API ํ˜ธ์ถœ์€ ๋ Œ๋”๋ง์„ ์ฐจ๋‹จํ•˜์ง€ ์•Š๊ณ  Suspense ๊ฒฝ๊ณ„๋กœ ์ŠคํŠธ๋ฆฌ๋ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ œํ’ˆ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ฒฝํ—˜์— ๋Œ€ํ•œ ์ •ํ™•ํ•œ ๋ฐ์ดํ„ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ GraphQL ์†”๋ฃจ์…˜๊ณผ ์œ ์‚ฌํ•œ DX๋ฅผ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • URL ์ƒํƒœ ํ™œ์šฉ - ๋ฐ˜์‘ํ˜• ์‹œ์Šคํ…œ์—์„œ ์ƒํƒœ ๊ด€๋ฆฌ์˜ ํ™ฉ๊ธˆ๋ฅ ์€ ์ตœ์†Œํ•œ์˜ ์ƒํƒœ ํ‘œํ˜„์„ ์ €์žฅํ•˜๊ณ  ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ถ”๊ฐ€ ์ƒํƒœ๋ฅผ ๋„์ถœํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

    ์„ฑ๋Šฅ ๊ด€์ ์—์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์ƒํƒœ๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉด ์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธต์ด ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์„œ๋ฒ„์™€ ๊ฐ€๊นŒ์šด ๊ณณ์—์„œ ๋ชจ๋“  ์ฝ”๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

    ์ด๋ฅผ ์—ผ๋‘์— ๋‘๊ณ  ์ฝ”๋“œ๋‚˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ, URL์€ ํŠน์ • ์ข…๋ฅ˜์˜ ํด๋ผ์ด์–ธํŠธ ์ƒํƒœ๋ฅผ ์ €์žฅํ•˜๊ธฐ์— ์ข‹์€ ์žฅ์†Œ์ž…๋‹ˆ๋‹ค.

์บ์‹œ๊ฐ€ ๋ชจ๋“  ๊ฒƒ์„ ์ง€๋ฐฐํ•ฉ๋‹ˆ๋‹ค

์ด๋Ÿฌํ•œ ๊ณ„์ธต์„ ํด๋ผ์ด์–ธํŠธ ๋ฐ–์œผ๋กœ ์˜ฎ๊ธฐ๋ฉด ๋” ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์„œ๋ฒ„์— ๋” ๋งŽ์€ ์บ์‹œ๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ฑ๋Šฅ์˜ ๊ธฐ๋ณธ ์›์น™์€ ๋œ ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•œ ํ•œ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์€ ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ์ž‘์—…์„ ๋ฏธ๋ฆฌ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ์บ์‹œ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์บ์‹œ์—๋Š” ์—ฌ๋Ÿฌ ์œ ํ˜•์ด ์žˆ์œผ๋ฉฐ ์บ์‹œ ๋‚ด์—๋Š” ๋” ๊นŠ์€ ๊ณ„์ธต์ด ์žˆ์œผ๋ฏ€๋กœ ๋†’์€ ์ˆ˜์ค€์—์„œ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

ํผ๋ธ”๋ฆญ ์บ์‹œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฏผ๊ฐํ•˜๊ฑฐ๋‚˜ ๊ฐœ์ธํ™”๋˜์ง€ ์•Š์€ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋ฒ„ ๋นŒ๋“œ์˜ HTML ์ถœ๋ ฅ์ด ์บ์‹œ๋˜๋Š” ํผ๋ธ”๋ฆญ CDN์„ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋ผ์ด๋น— ์บ์‹œ๋Š” ๊ฐœ๋ณ„ ์‚ฌ์šฉ์ž(๋˜๋Š” ๋ณ„๋„์˜ ์‚ฌ์šฉ์ž ๊ทธ๋ฃน)๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์›๊ฒฉ ๋ฐ์ดํ„ฐ์˜ ํด๋ผ์ด์–ธํŠธ ์ธก ์ธ๋ฉ”๋ชจ๋ฆฌ ์บ์‹œ ๋˜๋Š” ๋ธŒ๋ผ์šฐ์ €์˜ ๋„ค์ดํ‹ฐ๋ธŒ HTTP ์บ์‹œ๋ฅผ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ์‹œ์Šคํ…œ์—์„œ ๋ณต์žก์„ฑ์˜ ์ฃผ์š” ์›์ธ ์ค‘ ํ•˜๋‚˜๋Š” ์ƒํƒœ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ์—”๋“œ์—์„œ๋Š” ํ”„๋ŸฐํŠธ์—”๋“œ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋Š” ์›๊ฒฉ ๋ฐ์ดํ„ฐ์™€์˜ ๋™๊ธฐํ™”๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ, ์ด๋Š” ์‚ฌ์‹ค์ƒ ์ผ์ข…์˜ ์บ์‹œ ๊ด€๋ฆฌ์ž…๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์›๊ฒฉ ๋ฐ์ดํ„ฐ ์บ์‹œ

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

  • ์ˆ˜๋™ ์บ์‹œ ๊ด€๋ฆฌ: ์—ฌ๊ธฐ์—๋Š” Redux์™€ ๊ฐ™์€ ์ƒํƒœ ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ •๊ทœํ™”๋œ ์บ์‹œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์‘๋‹ต์ด ๋Œ์•„์˜ค๋ฉด ๋‹ค์‹œ ์—…๋ฐ์ดํŠธํ•˜๋Š” ๋‚™๊ด€์  ์—…๋ฐ์ดํŠธ๋ฅผ ์œ„ํ•ด ํ•„์ˆ˜์ ์œผ๋กœ ์ง์ ‘ ์บ์‹œ๋ฅผ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํ‚ค ๊ธฐ๋ฐ˜ ๋ฌดํšจํ™”๋Š” ์ˆ˜๋™ ๊ด€๋ฆฌ์˜ ํ•„์š”์„ฑ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•œ ์ตœ๊ณ ์˜ ๋„๊ตฌ์˜ ์˜ˆ๋กœ๋Š” ๊นŒ๋‹ค๋กœ์šด ์บ์‹œ ๊ด€๋ฆฌ ๋ฌธ์ œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” React Query๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Apollo๋‚˜ Relay๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๋‚ด๋ถ€์—์„œ ์ฒ˜๋ฆฌ๋œ๋‹ค๋Š” ์ ์—์„œ ๋น„์Šทํ•œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ทจํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ณ„์ธต์„ ์„œ๋ฒ„๋กœ ์˜ฎ๊ธด๋‹ค๋Š” ๊ฒƒ์€ ๋ทฐ(view)์˜ ๊ธฐ๋ณธ ์†Œ์Šค๋ฅผ ์˜ฎ๊ธด๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ํด๋ผ์ด์–ธํŠธ ๋ชจ๋ธ์—์„œ ์บ์‹œ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š”์ง€ ์‚ดํŽด๋ณด์•˜์œผ๋‹ˆ ์ด์ œ ์„œ๋ฒ„ ์šฐ์„  ๋ชจ๋ธ์—์„œ ์บ์‹œ ๊ด€๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ์ˆ˜ํ–‰๋˜๋Š”์ง€ ์ดํ•ดํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์บ์‹œ ๋ฌดํšจํ™” ๋ฐ ์„œ๋ฒ„ ์•ก์…˜

โ€œ์ „ํ†ต์ ์ธโ€ ์š”์ฒญ-์‘๋‹ต ๋ชจ๋ธ์—์„œ๋Š” ์—…๋ฐ์ดํŠธ ํ›„ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ƒˆ ๋ฌธ์„œ๋ฅผ ๋ Œ๋”๋งํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์—…๋ฐ์ดํŠธ ์„œ๋ฒ„ ์ƒํƒœ์˜ ์“ฐ๊ธฐ๊ฐ€ ํƒ์ƒ‰๊ณผ ์—ฐ๊ด€๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด์€ POST, redirect, GET ์š”์ฒญ ํ๋ฆ„์ž…๋‹ˆ๋‹ค.

<!-- ๋ธŒ๋ผ์šฐ์ €๋Š” "action"์— ์ „๋‹ฌ๋œ URL๋กœ ์–‘์‹ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. -->
<form action="form_action.php" method="post">
  <!-- ํ•„๋“œ -->
</form>

๋Œ€๋ถ€๋ถ„์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ด ํŒจํ„ด์„ ๊ธฐ๋ณธ์œผ๋กœ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ˆ˜๋ ดํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด SPA(PESPA)๋ฅผ ์ ์ง„์ ์œผ๋กœ ํ–ฅ์ƒ๋˜๊ธฐ ์‰ฝ๋„๋ก ๋งŒ๋“ญ๋‹ˆ๋‹ค.

ํผ์˜ ์•ก์…˜(action) ์†์„ฑ์€ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ „์†กํ•œ ํผ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š” ์—”๋“œํฌ์ธํŠธ์˜ URL์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Remix ๋ฐ Sveltekit๊ณผ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ผ์šฐํŒ… ์ˆ˜์ค€ ์„œ๋ฒ„ ์•ก์…˜์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด Next์™€ SolidStart๋Š” ์ปดํฌ๋„ŒํŠธ ํŠธ๋ฆฌ์˜ ์–ด๋Š ๊ณณ์—์„œ๋‚˜ ์„œ๋ฒ„ ์•ก์…˜์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ RPC์™€ ๋” ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์ƒํƒœ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ๋ชจ๋“  ์„œ๋ฒ„ ์บ์‹œ)์— ์“ฐ๊ธฐ๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ํด๋ผ์ด์–ธํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ƒˆ ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋Œ€์‹  ๋ฐ˜์‘์„ฑ ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘๋‹ต์„ ๋‹ค๋ฅด๊ฒŒ ํ•˜๊ณ  ํŽ˜์ด์ง€๋ฅผ ๊ทธ ์ž๋ฆฌ์—์„œ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•œ ๋ฐ์ดํ„ฐ ๋Œ€์‹  ๋ทฐ๋กœ ์ธ์ฝ”๋”ฉ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜ํ™˜ํ•  ๋•Œ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ํ•œ ๊ฐ€์ง€ ์ด์ ์€ ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ๋ทฐ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ๋ฆฌ๋””๋ ‰์…˜์„ ๋ฐ›์€ ํ›„ ๋˜ ๋‹ค๋ฅธ GET์„ ์ˆ˜ํ–‰ํ•  ํ•„์š” ์—†์ด, ๋‹จ์ผ ์„œ๋ฒ„ ์™•๋ณต์œผ๋กœ ์—…๋ฐ์ดํŠธ๋œ UI๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ์— ์‚ดํŽด๋ณด๊ฒŒ ๋  ๋ฆฌ์•กํŠธ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ๊ฐ€์ง„ ์ด์ ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ํด๋ผ์ด์–ธํŠธ ์ธก ์บ์‹œ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•ด ํ›จ์”ฌ ๊ฐ„๋‹จํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ ํŽ˜์นญ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ฒˆ๋“ค๋งํ•  ํ•„์š”๋„ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•ž์„œ ์‚ดํŽด๋ณธ ๊ฒƒ์ฒ˜๋Ÿผ ์š”์ฒญ-์‘๋‹ต ๋ชจ๋ธ์€ ๋ผ์šฐํŠธ(๋˜๋Š” ์ค‘์ฒฉ๋œ ๋ผ์šฐํŠธ) ์ˆ˜์ค€์—์„œ ๋Œ€๋žต์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝํ—˜์— ์ ํ•ฉํ•œ ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํŠน์ • ๊ธฐ๋Šฅ์˜ ๊ฒฝ์šฐ ์„ธ๋ถ„ํ™”๋œ ์บ์‹œ ๊ด€๋ฆฌ ๋ฐ ํด๋ผ์ด์–ธํŠธ ์ธก ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ์˜ ์ด์ ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ํด๋ง์„ ํ•˜๊ฑฐ๋‚˜ ๋Œ€๋žต์ ์ธ ์š”์ฒญ-์‘๋‹ต ํ๋ฆ„์ด ๋นŒ๋“œ ์ค‘์ธ ๋‚ด์šฉ๊ณผ ์ž˜ ๋งคํ•‘๋˜์ง€ ์•Š์•„, ์“ฐ๊ธฐ ์‹œ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋‚˜ loader ํ•จ์ˆ˜๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ•˜์ง€ ์•Š์œผ๋ ค๋Š” ๊ฒฝ์šฐ ๋“ฑ์ด ์ด์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“ˆ ๊ทธ๋ž˜ํ”„์—์„œ ์–ด๋””์„œ๋“  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋ฒ„ ์•ก์…˜์˜ ์žฅ์ ์€ ์˜๋ฏธ ์žˆ๋Š” ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ˜ผํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์„œ๋ฒ„ ์•ก์…˜์˜ ๊ฒฐ๊ณผ๋กœ ํด๋ผ์ด์–ธํŠธ ์ธก ์บ์‹œ๋ฅผ ํ•˜์ด๋“œ๋ ˆ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

// RPC ์Šคํƒ€์ผ ์„œ๋ฒ„ ์•ก์…˜์„ ์‚ฌ์šฉํ•œ ํด๋ผ์ด์–ธํŠธ ํŽ˜์นญ ๋ฐ ์บ์‹ฑ
useQuery({
  queryKey: ['cool-beans'],
  // ํ”„๋กœ๋ฏธ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์–ด๋– ํ•œ ํ•จ์ˆ˜
  queryFn: () => myServerActionThatReturnsJson(),
});

์ด ์˜์—ญ์—๋Š” ํ›จ์”ฌ ๋” ๋งŽ์€ ๋ฏธ๋ฌ˜ํ•œ ์ฐจ์ด๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ๋” ๋งŽ์€ ์‹œ๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ์•ก์…˜๊ณผ ๊ฒฐํ•ฉ๋œ ๋ฆฌ์•กํŠธ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ๋‹ค๋ฅธ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ๊ณผ์˜ ๊ต์ฐจ์ ์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋งˆ๋ฌด๋ฆฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์ฐจ์› ์ปดํฌ๋„ŒํŠธ

๋ฆฌ์•กํŠธ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” ์ค‘์š”ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„์˜ ์ „ํ™˜์ž…๋‹ˆ๋‹ค. ์ดˆ๊ธฐ ๋‹จ๊ณ„์—์„œ๋Š” ๊ฐœ๋…ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋‹ค์–‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋ผ๊ฐ€๊ธฐ ์–ด๋ ค์› ์Šต๋‹ˆ๋‹ค.

์•„์ผ๋žœ๋“œ ์•„ํ‚คํ…์ฒ˜์˜ ๊ด€์ ์—์„œ ๋ณด๋ฉด, Nuxt๋‚˜ Deno์˜ Fresh์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ”„๋ ˆ์ž„์›Œํฌ ์ƒํƒœ๊ณ„์—์„œ๋„ ๋ฆฌ์•กํŠธ์™€๋Š” ๋‹ค๋ฅธ ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๊ฐ€ ํƒ๊ตฌ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์•กํŠธ์˜ ๋ชจ๋“  ํŠธ๋ ˆ์ด๋“œ ์˜คํ”„๋Š” ์ปดํฌ๋„ŒํŠธ ๋ชจ๋ธ๊ณผ ๊ทธ์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜๋Š” ์ปดํฌ๋„ŒํŠธ์˜ ๊ตฌ์„ฑ ๋Šฅ๋ ฅ์„ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์•„ํ‚คํ…์ฒ˜ ์ˆ˜์ค€์—์„œ ์ด๋ฅผ ์ดํ•ดํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์€ ์ปดํฌ๋„ŒํŠธํ™”๋œ BFF๋กœ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์˜ ๊ด€์ ์—์„œ RSC๋Š” ์ •์  ๋นŒ๋“œ ์ค‘ ๋˜๋Š” ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์ „์— ์„œ๋ฒ„์—์„œ ๋ฏธ๋ฆฌ ์‹คํ–‰๋˜๋Š” ์ปดํฌ๋„ŒํŠธ์ž…๋‹ˆ๋‹ค.

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

์ด ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋ฆฌ์•กํŠธ๋Š” ๋‹ค์–‘ํ•œ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

  • ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•œ ํ•ฉ์„ฑ(Composition)

    ์„œ๋ฒ„ ์ปดํฌ๋„ŒํŠธ๋Š” ์ „์ฒด ์Šคํƒ ๊ธฐ๋Šฅ์˜ ๊ณต์œ ์™€ ํ•ฉ์„ฑ ๋ฐ ์ƒˆ๋กœ์šด ์ข…๋ฅ˜์˜ ํ”„๋ŸฐํŠธ์—”๋“œ ์ž‘์„ฑ ๊ฒฝํ—˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    ์ด๋Š” ์กฐ์ง ๋‚ด์—์„œ ํ”„๋ŸฐํŠธ์—”๋“œ ํŒ€๊ณผ ๋ฐฑ์—”๋“œ ํŒ€์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ชจ๋ธ์„ ํ’€์Šคํƒ ์ˆ˜์ง ์Šฌ๋ผ์ด์Šค ๋˜๋Š” ์Šคํ‹ธ ์Šค๋ ˆ๋“œ๋กœ ์ž‘์—…ํ•˜๋Š” ํŒ€์— ๋งž๊ฒŒ ์กฐ์ •ํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

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

    ์ด๊ฒƒ์ด ์—์ฝ”์‹œ์Šคํ…œ ์ˆ˜์ค€์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ• ์ง€๋Š” ๋ช…ํ™•ํ•˜์ง€ ์•Š์ง€๋งŒ, ์ปดํฌ๋„ŒํŠธ API ๋””์ž์ธ์— ํฅ๋ฏธ๋กœ์šด ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒจํ‚ค์ง€๋Š” ์„œ๋ฒ„ ์›Œํ„ฐํด์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋ผ์šฐํŠธ ์ˆ˜์ค€๊นŒ์ง€ ๋Œ์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ”„๋ฆฌ๋กœ๋“œ ํ•จ์ˆ˜๋ฅผ ๋‚ด๋ณด๋‚ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ƒˆ๋กœ์šด ํŒจ๋Ÿฌ๋‹ค์ž„์ด๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง ๋งŽ์€ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ํƒ๊ตฌํ•ด์•ผ ํ•˜๋ฉฐ, ํ•จ์ •์„ ์ฐพ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ UI

    ์ด ๊ฐœ๋…์€ AirBnb ๋ฐ Uber์™€ ๊ฐ™์€ ์ผ๋ถ€ ๋Œ€ํ˜• ์กฐ์ง์—์„œ ๋„ค์ดํ‹ฐ๋ธŒ ๋ชจ๋ฐ”์ผ ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ์„œ๋ฒ„ ๊ธฐ๋ฐ˜ ๋ Œ๋”๋ง์„ ๋ณด๋‹ค ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ œ์–ดํ•˜๊ธฐ ์œ„ํ•ด ํ™œ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

    react-strict-dom์˜ ๋„์ž…์€ ๋ฆฌ์•กํŠธ ๋„ค์ดํ‹ฐ๋ธŒ์™€ RSC๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ด๋Ÿฌํ•œ ์•„์ด๋””์–ด๋ฅผ ์›น์„ ๋„˜์–ด AR ๋ฐ ๊ณต๊ฐ„ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์™€ ๊ฐ™์€ ์ƒˆ๋กœ์šด ํ”Œ๋žซํผ์„ ํฌํ•จํ•œ ํ”Œ๋žซํผ ์ „๋ฐ˜์— ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ƒ์„ฑํ˜• AI UI

    ์ƒ์„ฑํ˜• AI์˜ ๋ฏธ๋ž˜๊ฐ€ ์ด ๋ถ„์•ผ์—์„œ ์–ด๋–ป๊ฒŒ ์ „๊ฐœ๋ ์ง€ ์˜ˆ์ธกํ•˜๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด ๊ธฐ์ˆ ์€ ์•ž์œผ๋กœ ๊ณ„์† ๋ฐœ์ „ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ๋ชจ๋ธ์—์„œ ์ƒˆ๋กญ๊ฒŒ ๋– ์˜ค๋ฅด๋Š” ๊ธฐ๋Šฅ์€ ๊ณ ๋„๋กœ ๊ฐœ์ธํ™”๋˜๊ณ  ํ’๋ถ€ํ•œ ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒ ๊ฒฝํ—˜์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

    ๋ณด๋‹ค ํ˜„์‹ค์ ์ธ ์˜ˆ๋กœ ๋ Œ๋”๋งํ•  ์ปดํฌ๋„ŒํŠธ๋ฅผ ํŒŒ์•…ํ•˜๊ธฐ ์ „์— ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ์„ ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋ฏธ๋ฆฌ ๋ฒˆ๋“ค๋กœ ๋ฌถ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ UI ์ปดํฌ๋„ŒํŠธ์˜ ์ˆ˜๋Š” ๋ฌดํ•œ์ • ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—(์˜ˆ: CMS ์ฝ˜ํ…์ธ  ์œ ํ˜•), ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ๋™์  ๋ Œ๋”๋ง์€ ๋ชจ๋“  ์ฝ”๋“œ๋ฅผ ํด๋ผ์ด์–ธํŠธ๋กœ ๋ณด๋‚ด์•ผ ํ•˜๊ฑฐ๋‚˜ ํด๋ผ์ด์–ธํŠธ์—์„œ ์—ฌ๋Ÿฌ ์ปดํฌ๋„ŒํŠธ ์œ ํ˜•์„ ์ง€์—ฐ ๋กœ๋“œํ•  ๋•Œ ์ง€์—ฐ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํ”„๋ŸฐํŠธ์—”๋“œ์˜ ๋ฏธ๋ž˜

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

์ด๋Ÿฌํ•œ ๋ชจ๋“  ๊ธฐ์ˆ ์˜ ์ตœ์ „์„ ์— ์žˆ๋‹ค๋Š” ๊ฒƒ์€ ๋งค์šฐ ํฅ๋ฏธ๋กœ์šด ์ผ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์••๋„๋‹นํ•˜๊ธฐ ์‰ฝ๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์— ํ•„์ˆ˜์ ์ธ ๊ธฐ์ˆ ์€ ๋ฌธ์ œ์˜ ๋‚ด์žฌ์  ๋ณต์žก์„ฑ๊ณผ ๊ทธ ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ•ด๊ฒฐ์ฑ…์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ถ€์ˆ˜์ ์ธ ๋ณต์žก์„ฑ์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ”„๋ŸฐํŠธ์—”๋“œ ์‹ ์ž…๋“ค์—๊ฒŒ๋Š” ๊ธฐ๋ณธ์ ์ด๊ณ  ๋ณ€ํ•˜์ง€ ์•Š๋Š” ๊ฐœ๋…์— ์ดˆ์ ์„ ๋‘๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์—”์ง€๋‹ˆ์–ด๋ง(๊ทธ๋ฆฌ๊ณ  ์ธ์ƒ)์˜ ํฐ ๋ถ€๋ถ„์€ ๊ฒฐ์ •์„ ๋‚ด๋ฆฌ๊ณ  ํ•œ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์™€ ํŒ€์˜ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ๋” ๋งŽ์ด ์•Œ์ˆ˜๋ก ๋” ๋‚˜์€ ์ ˆ์ถฉ์•ˆ์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ๊ณ  ๊ฒฐ์ •์— ๋Œ€ํ•œ ํ™•์‹ ์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์ˆ ์˜ ๋ฐœ์ „์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ์žˆ์–ด ์ค‘์š”ํ•œ ์ธ์‚ฌ์ดํŠธ๋Š” ๊ธฐ์ˆ ์˜ ๋ฐœ์ „์ด ํ•ญ์ƒ ๋ชจ๋“  ๊ฒƒ์— ๋Œ€ํ•œ ์ง„๋ณด๋ฅผ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํ˜์‹ ์˜ ํ•œ ๋‹จ๊ณ„์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‚˜ ์ ‘๊ทผ ๋ฐฉ์‹์ด ์—ฌ๋Ÿฌ๋ถ„์ด ๋งŒ๋“ค๊ณ ์ž ํ•˜๋Š” ๊ฒƒ์— ๋”ฑ ๋งž์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ๋ ‡๋‹ค๋ฉด ๊ณ„์† ๊ตฌ์ถ•ํ•ด ๋‚˜๊ฐ€๋ฉฐ, ํ–‰์šด์ด ์—ฌ๋Ÿฌ๋ถ„๊ณผ ํ•จ๊ป˜ ํ•˜๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค.

์ฐธ์กฐ ๋ฐ ๋ฆฌ์†Œ์Šค


๐Ÿš€ ํ•œ๊ตญ์–ด๋กœ ๋œ ํ”„๋ŸฐํŠธ์—”๋“œ ์•„ํ‹ฐํด์„ ๋น ๋ฅด๊ฒŒ ๋ฐ›์•„๋ณด๊ณ  ์‹ถ๋‹ค๋ฉด Korean FE Article(https://kofearticle.substack.com/)์„ ๊ตฌ๋…ํ•ด์ฃผ์„ธ์š”!


[Ykss]
Written by@[Ykss]
๊ณ ์ด๊ฒŒ ๋‘์ง€ ์•Š๊ณ  ํ˜๋ ค๋ณด๋‚ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜์ž.

GitHubInstagramLinkedIn