Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
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.
Angular'da Component İletişimi: @Input, @Output, @ViewChild ve ng-content
Angular 12'de component'ler nasıl konuşur: @Input ile parent'tan child'a veri, @Output ve EventEmitter ile geri bildirim, kendi two-way binding'in, @ViewChild ve ng-content ile content projection.
Angular Built-in Directive'leri: *ngIf, *ngFor, ngSwitch, ngClass ve Kendi Directive'in
Angular 12'nin hazır directive'leri: *ngIf ve else, *ngFor ve trackBy, ngSwitch, ngClass, ngStyle, ng-container, yıldızın arkasındaki ng-template ve HostListener ile kendi attribute directive'in.
Angular'da Data Binding: Interpolation, Property, Event ve Two-Way Binding
Angular 12'de class ile template arasındaki bütün köprüler: interpolation, property, attribute, class ve style binding, event binding ve $event, template reference variable ve [(ngModel)].