Yazılım Mimarileri ve Tasarım Desenleri Üzerine Blog


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...
0

Angular 18 – Zoneless Change Detection

Merhaba, Geçmişten bu güne takip eden okuyucularım bilir… Bir zamanlar C# programlama dilinin her yeni sürümü için eşsiz bir heyecan duyuyordum. Artık bu heyecana Angular mimarisinin yetişemediğimiz evrimsel sürecindeki yenilikler de eklenmiş bulunmaktadır. Evet…...

0

Asp.NET Core Web API Uygulamasını Amazon EC2’de Host Etme

Merhaba, Amazon EC2(Elastic Compute Cloud), Amazon Web Service’leri tarafından sunulan yüksek oranda ölçeklenebilir ve esnek bir cloud servisidir. Bu servis üzerinde kendi uygulamalarımızı çalıştırabileceğimiz, uygulamanın bellek veya CPU gibi gereksinimlerine uygun çeşitli türler üzerinden...

Load Balancing(Yük Dengeleme) ve Load Balancer(Yük Dengeleyici) Nedir? 0

YARP Load Balancing İle Yatay Ölçeklendirme(Horizontally Scaling-Scaling Out)

Merhaba, Biliyorsunuz ki, bir yazılımdan beklenen mühim davranışlardan biri sürdürülebilirliktir. Tek bir sunucuda çalıştırılan yazılımlar artan sayıda kullanıcılara hizmet verirken kaynakların yetenek sınırlarına ulaşıldığında istemsizce performans düşmesi, yavaş yanıt süreleri, trafikte dalgalanmalar ve hatta...

YARP İle Microservice'ler de API Gateway Implementasyonu 1

YARP İle Microservice’ler de API Gateway Implementasyonu

Merhaba, Microserve mimarisinde yapılan çalışmalarda client’lar açısından en önemli konulardan biri servislere istekte bulunabilmek için tüm servislerin bilgilerine sahip olması gerekliliğidir ki böylece hedef servis odaklı bir istek süreci yürütebilsin. Amma velakin microservice gibi...

1

Asp.NET Core’da Current User’ı Elde Etmek

Merhaba, Asp.NET Core ile geliştirdiğimiz uygulamaların çoğunda authentication ve authorization yaygın olarak kullandığımız güvenlik protokolleridir. Genellikle, bu protokoller neticesinde doğrulanan kullanıcıların bilgilerine erişim gösterebildikleri noktalarda bizler tarafından ihtiyaç duyulabilmektedir. Bu konuya dair kaynakları taradığımızda...

0

Asp.NET Core Uygulamaları İçin URL Ayarlamanın 7 Yolu

Merhaba, Malumunuz, Asp.NET Core uygulamalarını geliştirirken lalettayin bir URL kullanamamakta, IPv4 ve IPv6 için loopback adresi eşliğinde http://localhost:5000, http://127.0.0.1:5000 veya http://[::1]:5000 formatlarında url’ler kullanılabilmekte ya da geliştirmenin yapıldığı makinede bulunan belirli bir IP adresi...

0

Asp.NET Core – SignalR’da Streaming

Merhaba, Önceki yazılarımızda klavyeye aldığımız Asp.NET Core – SignalR yazı serisinde SignalR teknolojisini sürekli tekil mesajların iletimi üzerine ele almıştık. Halbuki SignalR aynı zamanda message streaming’i destekleyen bir yapıya sahiptir. Evet, iki konum arasındaki...

0

Angular 17.2 – Model Inputs

Merhaba, Bu içeriğimizde Angular 17.2 versiyonuyla gelen ve bir diğer Signal API’si olan Model Inputs özelliğini inceleyecek ve Angular 17.1 ile gelmiş olan önceki yazılarımızda değerlendirmiş olduğumuz Input Signals özelliğiyle karşılaştırmasını yapıyor olacağız. İlk...

0

Angular 17.1 – New Router info Parameter

Merhaba, Bu içeriğimizde router navigation özelliğiyle ilgili bilgileri depolamak için kullanabileceğimiz, Angular 17.1 ile gelmiş olan info parametresini inceliyor olacağız. info parametresinin kullanımı yönlendirici linkler üzerine aşağıdaki gibi oldukça basittir; Bu şekilde info parametresiyle...

0

Angular 17.1 – Input Signals

Merhaba, Bu içeriğimizde, Angular mimarisinin 17.1 sürümünde gelmiş olan ve Input decorator’ının davranışını signal olarak da uygulamamızı sağlayacak olan Input Signals özelliğini kısaca inceliyor olacağız. Input Signals, geleneksel decorator yaklaşımına nazaran yeni bir signal...

.NET 8 0

.NET 8 | Short-Circuit Routing

Merhaba, Bu içeriğimizde .NET 8 ile Asp.NET Core’a gelen ve short-circuit routing olarak nitelendirilen küçük bir yeniliği inceliyor olacak, bu yeniliğin normal routing’den ne kadar farklı olduğuna ve hangi durumlarda kullanılması gerektiğine dair istişarede...

.NET 8 2

Asp.NET Core 8 – Global Error Handling

Merhaba, Geliştirdiğimiz uygulamalarımızı her ne kadar hassas ve güvenilir bir şekilde tasarlıyor olsak da, genellikle yazılımların çalışma sürecinin doğal bir parçası olan hata durumları ister istemez meydana gelecektirler ve özellikle bu durumlar web uygulamaları...

0

.NET’te Rebus Kütüphanesiyle Saga Orchestration Yaklaşımının Uygulanması

Merhaba, Malumunuz, microservice mimarisiyle tasarlanmış yazılımlarımızda kullanıcılar tarafından başlatılan işlem ya da görevlerin, bir servis tarafından alınıp ardından belirli servisler üzerinde mantıksal bir tetikleme silsilesiyle işlenme ve koordine edilme süreçlerini yürütmemize ve biryandan da...

1

Angular 17 – View Transitions API

Merhaba, Bu içeriğimizde Angular 17 ile gelmiş olan tarayıcıların View Transitions API özelliğini yapılandırma davranışının nasıl kullanılabileceğini inceliyor olacağız. View Transitions API Nedir? View Transitions API, web uygulamalarında kullanıcıların bilişsel yükünü azaltmak, bağlamda kalmalarına...

NServiceBus 0

.NET’te NServiceBus Nedir? Nasıl Kullanılır?

Merhaba, Bu içeriğimizde Microsoft platformlarında çalışan bir mesajlaşma altyapısı olan NServiceBus üzerine odaklanacak ve Asp.NET Core mimarisinde nasıl yapılandırılabildiğini pratiksel olarak inceliyor olacağız. NServiceBus Nedir? NServiceBus, giriş satırında da belirtildiği gibi bir mesajlaşma altyapısı...

.NET 8 6

.NET 8 – Identity API Endpoints

Merhaba, Bu içeriğimizde kanaatim odur ki Asp.NET Core açısından .NET 8 ile gelen en güzel özelliklerden birini, Identity API Endpoints özelliğini inceleyeceğiz. Bu özellik sayesinde uygulamalarımızdaki temel kullanıcı işlemlerini gerçekleştirdiğimiz Identity mekanizmasının artık daha...

.NET 8 0

.NET 8 – Minimal API’lar da Form Binding İşlemi

Merhaba, Bu içeriğimizde .NET 8 ile Asp.NET Core mimarisinde minimal api’ler de form binding’e yönelik gelen yeniliğe dair odaklanacak ve bu destekle birlikte form kullanımı açısından MVC controller’larına olan bağımlılığın ortadan kaldırılması temellerinin nasıl...

0

.NET WebAPI – Amazon Cognito ile Güvenliğin Sağlanması: Serverless Authentication | Client Credentials | Password Flows | JWT

Merhaba, Bu içeriğimizde, Amazon Cognito ile .NET WebAPI’ın güvenliğini sağlama konusunda kapsamlı bir inceleme çalışması gerçekleştiriyor olacağız. Odak noktamız, OAUth ve Amazon Cognito eşliğinde Serverless Authentication sistemi oluşturabilme üzerine olacaktır. Bu içeriğin sonunda .NET...

2

Angular 17 – @defer Deferrable Views

Merhaba, Bu içeriğimizde Angular 17 ile component lazy loading davranışına karşın yeni bir yol olarak gelmiş olan @defer syntax’ı ile birlikte Deferrable Views özelliğini inceliyor olacağız. @defer Nedir? Nasıl Bir İşleve Sahiptir? @defer syntax’ı...

4

Angular 17 – Control Flow Syntax

Merhaba, Bu içeriğimizde Angular 17 ile gelen ve built-in olarak mimaride varlık gösteren *ngIf, *ngFor ve *ngSwitch gibi direktifler yerine daha programatik bir üslupla if/else, for ve switch yapılarını kullanmamızı sağlayan Control Flow Syntax...

.NET 8 1

.NET 8 – Keyed Service | Dependency Injection

Merhaba, Bu içeriğimizde .NET 8 ile IoC container’a gelen keyed service özelliğini inceleyecek, nasıl ve ne zaman kullanılmaları gerektiğini, olayın perde arkasını masaya yatırarak bol istişare eşliğinde değerlendireceğiz. O halde buyurun başlayalım… Keyed Service...

angular signals 0

Angular 16 Signals – State Management

Merhaba, Bu içeriğimizde, Angular 16 ile gelmiş olan Signals yapılanmasını kullanarak state management’ın nasıl uygulanabileceğini inceliyor olacağız. Angular mimarisi, yapısal olarak fazlasıyla kurallı bir anatomiye sahip olsa da, esasında temel mantığı anlaşıldığı taktirde oldukça...

Microservice Mimarisinde Two-Phase Commit(2PC) Pattern İle Transaction Yönetimi - Nedir Nasıl Uygulanır Sagadan Farkı Nedir 0

Microservice Mimarisinde Two-Phase Commit(2PC) Pattern İle Transaction Yönetimi – Nedir? Nasıl Uygulanır? Saga’dan Farkı Nedir?

Merhaba, Bu içeriğimizde microservice yaklaşımını uyguladığımız mimarilerde veri tutarlılığını sağlamanın davranışlarından biri olan Two-Phase Commit(2PC) modelini ele alacak, nasıl ve hangi durumlarda kullanıldığını değerlendiriyor olacağız. Ayrıca neden Saga pattern’ına nazaran daha az tercih edilmesi...

.NET 8 0

.NET 8 – Method Çağrılarını Interceptor’larla Değiştirme

Merhaba, Bu içeriğimizde .NET 8’de C# 12 ile birlikte gelen Interceptor özelliğini inceliyor olacağız. Interceptor Nedir? Neden Bu Yapılanmaya İhtiyacımız Vardır? Interceptor, uygulamadaki herhangi bir metoda yapılan çağrıyı alternatif başka bir metotla değiştirmemize ya...

0

.NET Uygulamaları İçin Detaylı AWS Credentials Konfigürasyonu

Merhaba, Depolama, bilgi işlem ve veritabanları gibi AWS servislerine erişim maksatlı authentication yapabilmek için kullandığımız ve AWS’nin güvenlik modelinin temel bir parçası olan AWS Credentials, korumalı hizmetlere erişim için geliştiricilerin .NET uygulamalarını/ortamlarını gerekli kimlik...

.NET 8 1

.NET 8 – Minimap API Source Generator’ı İnceleyelim

Merhaba, Bu içeriğimizde .NET 8 ile gelmesi beklenen, AOT iş yüklerini(workloads) desteklemek için tanıtılmış olan Minimal API Source Generator‘ı inceliyor olacağız. O halde hiç vakit kaybetmeden buyurun başlayalım… Minimal API’lar Nasıl Çalışırlar? Malumunuz, Asp.NET...

.NET 8 0

.NET 8 – WebApplication.CreateBuilder() Metodunun Yeni CreateSlimBuilder() Metoduyla Karşılaştırılması

Merhaba, Bu içeriğimizde, bir önceki klavyeye almış olduğumuz .NET 8 – Minimal API Ahead of Time(AOT) Compilation Template başlıklı makalemizde incelediğimiz AOT Compilation senaryolarını desteklemek için .NET 8’de tanıtılmış olan WebApplication.CreateSlimBuilder(args) metodunu derinlemesine inceliyor...