Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Angular Build ve Deploy: ng build, Environment Dosyaları, Budgets ve SPA Routing
Angular 12'de ng build ile production paketi: dist çıktısı, fileReplacements ile environment dosyaları, budgets, base href, Nginx/IIS'te SPA routing 404 sorunu, source map ve bundle analizi.
Angular'da Test'e Giriş: Karma, Jasmine, TestBed ve HttpClientTestingModule
Angular 12'de ng test ile Karma ve Jasmine, spec dosyasının yapısı, TestBed ve ComponentFixture ile component testi, sahte bağımlılıkla service testi ve HttpClientTestingModule ile HTTP mock.
Angular'da Change Detection ve Zone.js: OnPush, ChangeDetectorRef ve NgZone
Angular ekranı nasıl güncelliyor? Zone.js'in yakaladığı event'ler, component ağacında change detection, OnPush stratejisi, immutable veri, ChangeDetectorRef ve NgZone.runOutsideAngular.
Angular Reactive Forms: FormGroup, FormBuilder, FormArray ve Validator'lar
Angular 12'de reactive forms: FormControl, FormGroup ve FormBuilder ile formu class'ta kurmak, custom ve async validator yazmak, FormArray ile dinamik alanlar, valueChanges ve patchValue.
Angular Template-driven Forms: ngModel, ngForm ve Form Doğrulama
Angular 12'de template-driven form kuruyoruz: FormsModule, ngModel ve name, ngForm ile ngSubmit, required/email/pattern validator'ları, touched/dirty durumları, CSS class'ları ve ngModelGroup.
Angular Guard'lar ve Lazy Loading: CanActivate, CanDeactivate, CanLoad ve Resolve
Angular 12'de class-based guard'larla route'ları koruyoruz: CanActivate, CanDeactivate, CanLoad ve Resolve. Feature module'ü loadChildren ile lazy yükleyip PreloadAllModules ile önceden indiriyoruz.
Angular Routing Rehberi: RouterModule, Route Parametreleri ve Child Route'lar
Angular 12'de routing: app-routing.module.ts, router-outlet, routerLink, ActivatedRoute ile route parametreleri, query params, Router.navigate, child route'lar, redirectTo ve 404 için wildcard.
Angular HttpClient ile API İstekleri: GET, POST, Hata Yönetimi ve Interceptor
Angular 12'de HttpClient ile API'ye GET, POST, PUT ve DELETE istekleri atıyoruz. Tipli response, HttpParams, catchError ve retry ile hata yönetimi, class-based interceptor ve environment ayarı.
Angular'da RxJS'e Giriş: Observable, Operatörler, BehaviorSubject ve async Pipe
Observable ile Promise farkı, of/from/interval/fromEvent, map, filter, debounceTime ve switchMap ile arama kutusu, BehaviorSubject ile service'te state, async pipe ve takeUntil ile memory leak önleme.
Angular Service ve Dependency Injection: providedIn, Injector Ağacı ve Provider'lar
Service neden var, providedIn: 'root' ile singleton, constructor injection, component seviyesinde providers ve hiyerarşik injector, useClass/useValue/useFactory ve InjectionToken ile config sağlamak.
Angular Pipe'ları: Tarih, Para Birimi, Türkçe Locale ve Custom Pipe Yazmak
date, currency, number ve titlecase gibi hazır pipe'lar, parametre ve zincirleme kullanım, registerLocaleData ile Türkçe format, custom pipe yazmak ve pure/impure farkının performansa etkisi.
Angular Lifecycle Hook'ları: ngOnInit'ten ngOnDestroy'a Bir Component'in Hayatı
Constructor ile ngOnInit farkı, SimpleChanges ile ngOnChanges, ViewChild'ın hazır olduğu ngAfterViewInit ve interval temizleyen ngOnDestroy. Tüm hook'ların sırasını loglarla görüyoruz.