Angular

์„ฑ๋Šฅ ์ตœ์ ํ™”

OnPush strategy, trackBy, virtual scrolling, lazy loading, preloading, bundle size, Core Web Vitals, profiling

22 ๋ฉด์ ‘ ์งˆ๋ฌธยท
Senior
1

Angular์˜ OnPush ์ „๋žต์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

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

2

ngFor ๋””๋ ‰ํ‹ฐ๋ธŒ์—์„œ trackBy์˜ ์ฃผ์š” ์—ญํ• ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

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

3

Angular ๋ผ์šฐํŒ…์˜ ๋งฅ๋ฝ์—์„œ lazy loading์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

๋‹ต๋ณ€

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

4

OnPush๋กœ ๊ฒ€์‚ฌ๋ฅผ ๊ฐ•์ œํ•˜๋ ค๋ฉด ์–ด๋–ค ๋ฉ”์„œ๋“œ๋ฅผ ํŠธ๋ฆฌ๊ฑฐํ•ฉ๋‹ˆ๊นŒ?

5

๋Œ€๊ทœ๋ชจ ๋ฆฌ์ŠคํŠธ์— ๋Œ€ํ•œ virtual scrolling์˜ ์ฃผ์š” ์žฅ์ ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

+19 ๋ฉด์ ‘ ์งˆ๋ฌธ

๊ธฐํƒ€ Angular ๋ฉด์ ‘ ์ฃผ์ œ

TypeScript ๊ธฐ์ดˆ

Junior
25๊ฐœ ์งˆ๋ฌธ

TypeScript ๊ณ ๊ธ‰

Junior
20๊ฐœ ์งˆ๋ฌธ

Angular ๊ธฐ์ดˆ

Junior
20๊ฐœ ์งˆ๋ฌธ

์ปดํฌ๋„ŒํŠธ์™€ ๋ผ์ดํ”„์‚ฌ์ดํด

Junior
20๊ฐœ ์งˆ๋ฌธ

Services & Dependency Injection

Junior
20๊ฐœ ์งˆ๋ฌธ

Angular ๋ชจ๋“ˆ ๊ตฌ์„ฑ

Mid-Level
22๊ฐœ ์งˆ๋ฌธ

Angular CLI

Junior
18๊ฐœ ์งˆ๋ฌธ

๋””๋ ‰ํ‹ฐ๋ธŒ์™€ Pipe

Mid-Level
22๊ฐœ ์งˆ๋ฌธ

๋ผ์šฐํŒ…๊ณผ ๋‚ด๋น„๊ฒŒ์ด์…˜

Mid-Level
24๊ฐœ ์งˆ๋ฌธ

๋ฆฌ์•กํ‹ฐ๋ธŒ ํผ

Mid-Level
26๊ฐœ ์งˆ๋ฌธ

ํ…œํ”Œ๋ฆฟ ๊ธฐ๋ฐ˜ ํผ

Mid-Level
16๊ฐœ ์งˆ๋ฌธ

RxJS ๊ธฐ์ดˆ

Mid-Level
22๊ฐœ ์งˆ๋ฌธ

RxJS ์—ฐ์‚ฐ์ž

Mid-Level
24๊ฐœ ์งˆ๋ฌธ

HttpClient ๋ฐ API ํ˜ธ์ถœ

Mid-Level
22๊ฐœ ์งˆ๋ฌธ

๊ธฐ๋ณธ ์ƒํƒœ ๊ด€๋ฆฌ

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Change Detection

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Angular Signals

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

Standalone Components

Mid-Level
18๊ฐœ ์งˆ๋ฌธ

Angular ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

Mid-Level
22๊ฐœ ์งˆ๋ฌธ

์—”๋“œํˆฌ์—”๋“œ ํ…Œ์ŠคํŒ…

Mid-Level
18๊ฐœ ์งˆ๋ฌธ

๋นŒ๋“œ ๋ฐ ์ตœ์ ํ™”

Mid-Level
20๊ฐœ ์งˆ๋ฌธ

NgRx ๊ธฐ์ดˆ

Senior
24๊ฐœ ์งˆ๋ฌธ

NgRx ๊ณ ๊ธ‰

Senior
24๊ฐœ ์งˆ๋ฌธ

Angular ์•„ํ‚คํ…์ฒ˜

Senior
22๊ฐœ ์งˆ๋ฌธ

๋ณด์•ˆ ๋ฐ ๋ชจ๋ฒ” ์‚ฌ๋ก€

Senior
20๊ฐœ ์งˆ๋ฌธ

๊ณ ๊ธ‰ RxJS ํŒจํ„ด

Senior
22๊ฐœ ์งˆ๋ฌธ

Angular Universal ๋ฐ SSR

Senior
20๊ฐœ ์งˆ๋ฌธ

Angular ๋งˆ์ดํฌ๋กœ ํ”„๋ก ํŠธ์—”๋“œ

Senior
20๊ฐœ ์งˆ๋ฌธ

๋‹ค์Œ ๋ฉด์ ‘์„ ์œ„ํ•ด Angular์„ ๋งˆ์Šคํ„ฐํ•˜์„ธ์š”

๋ชจ๋“  ์งˆ๋ฌธ, flashcards, ๊ธฐ์ˆ  ํ…Œ์ŠคํŠธ, ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์—ฐ์Šต, ๋ฉด์ ‘ ์‹œ๋ฎฌ๋ ˆ์ดํ„ฐ์— ์ ‘๊ทผํ•˜์„ธ์š”.

๋ฌด๋ฃŒ๋กœ ์‹œ์ž‘ํ•˜๊ธฐ