포스트

[Angular 마스터하기] Day 17 - 성능 최적화, 빠른 앱 만들기

[Angular 마스터하기] Day 17 - 성능 최적화, 빠른 앱 만들기

이제와서 시작하는 Angular 마스터하기 - Day 17 “성능 최적화로 사용자 경험을 향상시키세요! 🚀”

오늘 배울 내용

  • OnPush 변경 감지 전략
  • trackBy 함수
  • Lazy Loading
  • 성능 측정

1. OnPush 변경 감지

1
2
3
4
5
6
7
8
9
10
11
12
13
import { ChangeDetectionStrategy } from '@angular/core';

@Component({
  selector: 'app-optimized',
  changeDetection: ChangeDetectionStrategy.OnPush,  // ← 성능 향상!
  template: `
    <div>{{ data() }}</div>
  `
})

export class OptimizedComponent {
  data = signal('Hello');
}

2. trackBy 함수

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Component({
  template: `
    <div *ngFor="let item of items; trackBy: trackById">
      {{ item.name }}
    </div>
  `
})

export class ListComponent {
  items = [
    { id: 1, name: 'Item 1' },
    { id: 2, name: 'Item 2' }
  ];

  trackById(index: number, item: any) {
    return item.id;  // ID로 추적
  }
}

3. Lazy Loading

1
2
3
4
5
6
7
8
// app.routes.ts
export const routes: Routes = [
  {
    path: 'admin',
    loadComponent: () => import('./admin/admin.component')
      .then(m => m.AdminComponent)
  }
];

📝 정리

최적화 체크리스트

  • OnPush 사용
  • trackBy 함수 사용
  • Lazy Loading 적용
  • 불필요한 구독 정리

📚 다음 학습


“최적화는 사용자 경험의 핵심입니다!” 🚀

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.