Mert Özen Further With Every Line

Blog

Mert Özen's blog posts on software development, backend, frontend, and DevOps.

Series
7 posts found #signals
Authentication State in Angular: Functional Guards, Interceptors, Single-Flight Token Refresh and UI Authorization
Security PART 17

Authentication State in Angular: Functional Guards, Interceptors, Single-Flight Token Refresh and UI Authorization

Guards and hidden buttons in Angular are user experience, not a security boundary; the real decision is made in the API. We write a signal-based auth state service, canMatch guards, a permission directive, an interceptor that ties concurrent 401s to a single refresh, and cross-tab sign-out with BroadcastChannel, test them all with Vitest, and show that a request bypassing the guard gets a 403 from the API.

8 Nov 2026 12 min 1
Unidirectional Data Flow in Angular: Signals, input/output and State in Services
Software Architecture PART 07

Unidirectional Data Flow in Angular: Signals, input/output and State in Services

Unidirectional data flow in Angular means the state has a single owner, data goes down with input(), change requests go up with output(), and derived values are computed with computed(). With real tests we show how state written by an effect lags behind, how model() bypasses a business rule and why default OnPush misses an array changed in place, then move the state into a service that holds signals.

8 Nov 2026 15 min 3
Angular 20: Stable Signal APIs, httpResource and the New File Naming
Frontend PART 29

Angular 20: Stable Signal APIs, httpResource and the New File Naming

In Angular 20, effect, toSignal and linkedSignal become stable, resource swaps request for params, httpResource arrives, app.ts replaces app.component.ts and *ngIf gets deprecated.

31 Oct 2026 7 min 63
Angular 19: Standalone by Default, linkedSignal and Data Loading with resource()
Frontend PART 28

Angular 19: Standalone by Default, linkedSignal and Data Loading with resource()

In Angular 19 you no longer write standalone: true. We compare linkedSignal for dependent state and the experimental resource() and rxResource for data loading with the Angular 12 way.

31 Oct 2026 8 min 61
What's New in Angular 18: Zoneless Change Detection, @let and Stable Control Flow
Frontend PART 27

What's New in Angular 18: Zoneless Change Detection, @let and Stable Control Flow

Experimental zoneless change detection in Angular 18, control flow and @defer going stable, @let from 18.1, ng-content fallback content, unified form events and redirect functions.

31 Oct 2026 7 min 83
What's New in Angular 17.x: input(), model(), output() and Signal Queries
Frontend PART 26

What's New in Angular 17.x: input(), model(), output() and Signal Queries

input(), input.required(), model(), output() and the viewChild()/viewChildren() signal queries from Angular 17.1–17.3, side by side with their Angular 12 @Input, @Output and @ViewChild counterparts.

31 Oct 2026 7 min 85
What's New in Angular 16: Signals, Required Inputs and takeUntilDestroyed
Frontend PART 24

What's New in Angular 16: Signals, Required Inputs and takeUntilDestroyed

Signals, computed and effect, the toSignal/toObservable bridge, required inputs and transforms, and subscription cleanup with takeUntilDestroyed in Angular 16, compared with Angular 12.

31 Oct 2026 8 min 76
Blog Map