๐Ÿš€ Angular v20์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ: ์ฆ๋ถ„ ์ˆ˜ํ™”(hydration), Zoneless ๋ชจ๋“œ ๋ฐ ๊ฐœ๋ฐœ์ž ๋„๊ตฌ

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

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

๊ทธ๋ ‡๋‹ค๋ฉด ์ด๋Š” ๊ตฌ์ฒด์ ์œผ๋กœ ๋ฌด์—‡์„ ์˜๋ฏธํ• ๊นŒ์š”?

Angular v20์—์„œ ์ฃผ๋ชฉํ•  ๋งŒํ•œ ์„ฑ๋Šฅ ์ค‘์‹ฌ์˜ ์ฃผ์š” ๊ธฐ๋Šฅ๋“ค์„ ํ•จ๊ป˜ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง: ๋Œ€๊ทœ๋ชจ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ์˜ ๊ณ ์„ฑ๋Šฅ ์ œ๊ณต

์„œ๋ฒ„ ์‚ฌ์ด๋“œ ๋ Œ๋”๋ง(Server-Side Rendering)์€ ์ดˆ๊ธฐ ๋กœ๋”ฉ ์†๋„ ํ–ฅ์ƒ๊ณผ SEO ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ์—ฌ์ „ํžˆ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. Angular๋Š” ์„œ๋ฒ„ ์ธก์—์„œ ํŽ˜์ด์ง€ ๋‚ด์šฉ์„ ์ƒ์„ฑํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋น ๋ฅด๊ฒŒ ์ฝ˜ํ…์ธ ๋ฅผ ํ‘œ์‹œํ•˜๊ณ  ๊ฒ€์ƒ‰ ์—”์ง„ ์ตœ์ ํ™”์—๋„ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค.

Angular v16์—์„œ๋Š” ์ „์ฒด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜ํ™”(Full-Application Hydration) ๊ธฐ๋Šฅ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ๋Š” ์„œ๋ฒ„ ์ธก์—์„œ ์ƒ์„ฑ๋œ DOM ๊ตฌ์กฐ๋ฅผ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒํƒœ์™€ ์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋„ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ์ˆ˜ํ™” ๊ณผ์ •์ด ์—†๋‹ค๋ฉด, ์ „์ฒด DOM์ด ํ๊ธฐ๋˜๊ณ  ๋‹ค์‹œ ์ƒ์„ฑ๋˜์–ด ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์‹œ๊ฐ„์ด ์ง€์—ฐ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์•ˆ์ •์ ์ธ ๊ธฐ๋ฐ˜ ์œ„์—์„œ Angular v19์—์„œ๋Š” ์ฆ๋ถ„ ์ˆ˜ํ™”(Incremental Hydration) ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœ์ž ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ˜•ํƒœ๋กœ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ํŠน์ • ์ปดํฌ๋„ŒํŠธ์˜ ์ˆ˜ํ™”๋ฅผ ํ•ด๋‹น ์š”์†Œ๊ฐ€ ํ•„์š”ํ•  ๋•Œ๊นŒ์ง€ ์—ฐ๊ธฐํ•  ์ˆ˜ ์žˆ์–ด ๋ฒˆ๋“ค ํฌ๊ธฐ๋ฅผ ์ค„์ด๊ณ  ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์‹œ๊ฐ„(Time-to-Interactive)์„ ๊ฐœ์„ ํ•˜๋Š” ๋™์‹œ์—, ์ „์ฒด ์ˆ˜ํ™”์™€ ์œ ์‚ฌํ•œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•: - ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์„ฑ์—์„œ provideClientHydration๊ณผ withIncrementalHydration()์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์„ธ์š”. - hydrate on, hydrate when, ๋˜๋Š” hydrate never ๊ฐ™์€ ์ˆ˜ํ™” ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ํ™œ์šฉํ•˜๋Š” defer ๋ธ”๋ก์„ ์‚ฌ์šฉํ•˜์„ธ์š”.

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

์ž์„ธํ•œ ์ •๋ณด๋Š” Angular.dev์˜ ์ฆ๋ถ„ ์ˆ˜ํ™” ๊ฐ€์ด๋“œ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์•ž์œผ๋กœ์˜ ์—…๋ฐ์ดํŠธ ์†Œ์‹์€ Angular ๊ณต์‹ YouTube ์ฑ„๋„์—์„œ ๋งŒ๋‚˜๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์„ธ๋ถ€ ๋ ˆ๋ฒจ์—์„œ์˜ ๋ Œ๋”๋ง ์ „๋žต ์ œ์–ด

์ฆ๋ถ„ ์ˆ˜ํ™”๋Š” Angular v20์—์„œ SSR ๊ฐœ์„ ์˜ ์ผ๋ถ€์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

Angular v19์—์„œ๋Š” ๋ผ์šฐํŠธ ๋‹จ์œ„๋กœ ๋ Œ๋”๋ง ๋ชจ๋“œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” API๋ฅผ ๊ฐœ๋ฐœ์ž ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ˜•ํƒœ๋กœ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐ ๋ผ์šฐํŠธ์— ๋Œ€ํ•ด ํ•ด๋‹น ์ปดํฌ๋„ŒํŠธ๊ฐ€ ์„œ๋ฒ„์—์„œ ๋ Œ๋”๋ง๋ ์ง€, ์ •์ ์œผ๋กœ ์ƒ์„ฑ๋ ์ง€, ํ˜น์€ ํด๋ผ์ด์–ธํŠธ์—์„œ ๋ Œ๋”๋ง๋ ์ง€๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ œ์–ด๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: - ์„ ํƒ์  ๋ Œ๋”๋ง์„ ํ†ตํ•œ ์„ฑ๋Šฅ ํ–ฅ์ƒ - ๊ฐœ์„ ๋œ SEO ๊ฒฐ๊ณผ - ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ํ–ฅ์ƒ - ๋‚ด์žฅ๋œ ๊ตญ์ œํ™” ์ง€์› - ๊ฐœ๋ฐœ ์„œ๋ฒ„์™€์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ

์ด์ œ Angular v20์—์„œ๋Š” ์ด ๋ผ์šฐํŠธ ๋‹จ์œ„ ๋ Œ๋”๋ง ๋ชจ๋“œ ์„ค์ • API๋“ค์ด ์•ˆ์ •ํ™”๋˜์—ˆ์œผ๋ฉฐ, ๊ฐœ๋ฐœ์ž๋Š” ์ด ๊ธฐ๋Šฅ์„ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์—์„œ๋„ ์ž์‹  ์žˆ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฆ‰, ์ง€๊ธˆ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜์—ฌ Angular์˜ ์œ ์—ฐํ•œ ๋ Œ๋”๋ง ํŒŒ์ดํ”„๋ผ์ธ์„ ๋งˆ์Œ๊ป ํ™œ์šฉํ•ด ๋ณด์„ธ์š”.

Zoneless ๋ชจ๋“œ: ๋ณ€ํ™” ๊ฐ์ง€์˜ ์ •๋ฐ€์„ฑ์œผ๋กœ ๋‚˜์•„๊ฐ€๋Š” ์‹œ๋Œ€

Angular v20์—์„œ ๊ฐ€์žฅ ๊ธฐ๋Œ€๋˜๋Š” ๊ธฐ๋Šฅ ์ค‘ ํ•˜๋‚˜๋Š” Zoneless Angular๊ฐ€ ๊ฐœ๋ฐœ์ž ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋‹จ๊ณ„๋กœ ์ง„์ž…ํ•œ ์ ์ž…๋‹ˆ๋‹ค.

Angular๋Š” ์˜ค๋žซ๋™์•ˆ ZoneJS์— ์˜์กดํ•ด ์™”์Šต๋‹ˆ๋‹ค. ZoneJS๋Š” ๊ฑฐ์˜ ๋ชจ๋“  ๋ธŒ๋ผ์šฐ์ € ์ด๋ฒคํŠธ ํ›„์— ๋ณ€๊ฒฝ ๊ฐ์ง€๋ฅผ ์‹คํ–‰ํ•˜๋ฏ€๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ…œํ”Œ๋ฆฟ์— ์‹ค์ œ๋กœ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์€ ์ด๋ฒคํŠธ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ถˆํ•„์š”ํ•œ ์ฒดํฌ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

Zoneless + Signals์˜ ์กฐํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค: - ๋ถˆํ•„์š”ํ•œ ๋ณ€๊ฒฝ ๊ฐ์ง€ ์‚ฌ์ดํด ๊ฐ์†Œ - JavaScript ํŽ˜์ด๋กœ๋“œ ์ถ•์†Œ - ๋””๋ฒ„๊น… ๊ฒฝํ—˜ ๊ฐœ์„  - ์„œ๋“œํŒŒํ‹ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€์˜ ํ˜ธํ™˜์„ฑ ํ–ฅ์ƒ

Zoneless ๋ชจ๋“œ ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•: 1. Angular v20์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์„ธ์š”. 2. ํ”„๋กœ์ ํŠธ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ •์— provideZonelessChangeDetection()์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”. 3. zone.js ์ข…์†์„ฑ์„ ์ œ๊ฑฐํ•˜์„ธ์š”.

์ด๋ ‡๊ฒŒ ๊ฐ„๋‹จํ•œ ๋‹จ๊ณ„๋งŒ ๊ฑฐ์น˜๋ฉด Zoneless Angular ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ด๋Š” ๋” ๋‚˜์€ ์„ฑ๋Šฅ๊ณผ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ž์„ธํ•œ ์ •๋ณด๋Š” Angular.dev ๊ณต์‹ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Angular ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์„ฑ๋Šฅ ๋ถ„์„ ๋„๊ตฌ

๋ฌผ๋ก , ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์„ฑ๋Šฅ ๊ฐœ์„  ์‚ฌํ•ญ๋“ค์€ ์ด๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋””๋ฒ„๊น…ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ์—†๋‹ค๋ฉด ์˜๋ฏธ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

Chrome DevTools๋Š” ํ”Œ๋ ˆ์ž„ ์ฐจํŠธ์™€ ๊ฐ™์€ ํ”„๋กœํŒŒ์ผ๋ง ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•˜์ง€๋งŒ, ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ์ •๋ณด ์†์—์„œ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ๊ธฐ๋Š” ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด AngularํŒ€์€ Chrome๊ณผ ํ˜‘๋ ฅํ•˜์—ฌ Angular ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋งž์ถคํ˜• ์„ฑ๋Šฅ ์ถ”์  ํŒจ๋„์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŒจ๋„์€ Angular ๊ด€๋ จ ์šด์˜ ๋ฐ์ดํ„ฐ๋งŒ์„ ํ‘œ์‹œํ•˜์—ฌ, ์‚ฌ์šฉ์ž์˜ ์ฝ”๋“œ์™€ ๋‹ค๋ฅธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋ฐ ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๋ฐฉ๋ฒ•: - Angular v20๊ณผ Chrome 136 ์ด์ƒ์„ ์‚ฌ์šฉํ•˜์„ธ์š”. - Chrome DevTools์—์„œ Performance ํƒญ์„ ์—ด๊ณ  ๊ธฐ๋ก์„ ์‹œ์ž‘ํ•˜์„ธ์š”. - ๊ธฐ๋ก์ด ๋๋‚˜๋ฉด ์ƒˆ๋กœ์šด Angular ํƒญ์—์„œ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜์„ธ์š”.

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


๊ธฐ๋ณธ๊ฐ’์œผ๋กœ ์„ค์ •๋œ ์„ฑ๋Šฅ

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

๊ทธ๋Ÿผ, ๋‹น์‹ ์€ ๋ฌด์—‡์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ๊ณ„์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๋ฐ”๋กœ Angular์˜ ์ตœ์‹  ๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ ์‚ฌ๋ž‘ํ•  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”.


๋” ๋งŽ์€ ์ •๋ณด๋Š” angular.dev์—์„œ ํ™•์ธํ•˜์‹œ๊ฑฐ๋‚˜ Angular ๊ณต์‹ YouTube ์ฑ„๋„์„ ๊ตฌ๋…ํ•ด ์ฃผ์„ธ์š”.