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


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

Docker + Nginx Sunucusu İle Load Balancing Operasyonu

Merhaba, Önceki Load Balancing(Yük Dengeleme) ve Load Balancer(Yük Dengeleyici) Nedir? ve Docker + Ocelot Kütüphanesi İle Load Balancing Operasyonu başlıklı yazılarımızda load balancing ve load balancer üzerine hasbelkader irdelemelerde bulunmuştuk. Bu içeriğimizde ise load...

event store 1

.NET Core Ortamında ‘Event Store’ İle Event Sourcing Yapılanması

Merhaba, Bir önceki Basit Bir Event Sourcing Uygulaması Geliştirelim başlıklı makalemizde Event Sourcing pattern’ının nasıl gerçekleştirilebildiğine pratiksel olarak bir örnek vermeye çalışmıştık. İlgili makalede ele alınan örnekten de görüldüğü üzere uygulamada gerçekleştirilen ‘event’lerin in-memory’de...

Basit Bir Event Sourcing Uygulaması Geliştirelim 1

Basit Bir Event Sourcing Uygulaması Geliştirelim

Merhaba, Bu içeriğimizde bir önceki kaleme aldığımız Event Sourcing Nedir? Haydi Gelin Hep Beraber İnceleyelim başlıklı makalemize basit bir somut örnek teşkil edecek şekilde çalışma gerçekleştireceğiz. Amacımız Event Sourcing’in pratikte ucundan kıyısından tadına bakmak...

Event Sourcing Nedir Haydi Gelin Hep Beraber İnceleyelim 2

Event Sourcing Nedir? Haydi Gelin Hep Beraber İnceleyelim

Merhaba, Bu içeriğimizde, bir veri üzerinde meydana gelen tüm değişiklikleri kayıt altında tutmamızı öneren ve böylece ilgili verinin sadece güncel ham vaziyettinden ibaret tutulmasından ziyade o verinin süreçte yaşadığı değişikliklerinde esasında ilgili verinin bir...

0

Asp.NET Core 5.0 – SqlTableDependency Kütüphanesi İle Veritabanındaki Değişikleri Anlık Yakalama

Merhaba, Yaklaşık 1 ay önce youtube kanalımda ‘Veritabanındaki Değişiklikleri Anlık Yakalama Uygulaması’ başlıklı aşağıdaki dersi yüklemiştim. Bu içeriğimizde ise ilgili videonun içeriğindeki SqlTableDependency kütüphanesi ile veritabanındaki değişiklerin yakalanmasını ele alacak ve konuya dair metinsel...

1

C# Mediator Design Pattern(Mediator Tasarım Deseni)

Merhaba, Bu makalemizde Davranışsal Tasarım Kalıplarından(Behavioral Patterns) olan Mediator Tasarım Desenini(Mediator Design Pattern) bol pratiksel senaryolar eşliğinde inceliyor olacağız. İçeriğe başlamadan önce şahsi fikrimi beyan ederek bir girizgâh eylemek isterim ki; bana sorarsanız doğası...

0

Deadlines ve Cancellation İle Güvenilir gRPC Servisleri Geliştirmek

Merhaba, gRPC kütüphanesi, client’lar tarafından yapılan istekleri kontrol edebilmek ve özellikle ihtiyaca istinaden iptal edebilmek için Deadlines ve Cancellation özelliklerini sunmaktadır. Bu içeriğimizde gRPC sistemlerde sunulan bu Deadlines ve Cancellation özelliklerinin neden önemli olduklarını...

3

Entity Framework Core İle In-Memory’de Çalışmak

Merhaba, Günlük hayatta yeni bir teknolojiyi, yapıyı, yöntemi vs. öğrenirken veya tatbik ederken yahut geliştireceğiniz herhangi bir ürünün promosyonunu oluştururken yapacağınız çalışmada veritabanına ihtiyacınız varsa ve ORM olarak Entity Framework Core’u kullanacaksanız, bunun için...

0

IdentityServer4 Yazı Serisi #23 – IdentityServer4 Entity Framework İle Konfigürasyon Ayarlarını Veritabanına Taşıma

Merhaba, IdentityServer4 Yazı Serisinin bu sonuncu makalesinde IdentityServer4 ile yaptığımız ve in-memory’de tuttuğumuz tüm client, scope, user vs. gibi konfigürasyonları Entity Framework ile fiziksel veritabanına taşımayı inceliyor olacağız. Neden konfigürasyon değerlerini fiziksel veritabanında tutmalıyız?...

2

C# 9.0 – Static Anonymous Functions

Merhaba, Nasıl ki, beşeri bir dilin keskinliği, o dilin belagat ve fesahata olan yatkınlığına, belagat ve fesahata olan yatkınlığı ise ilgili dilin tarihsel dokusuna yani bir başka deyişle temas ettiği insanlık tecrübesine bağlı, benzer...

0

.NET Core 5.0 – Retry Pattern, Timeout ve Circuit Breaker | Polly

Merhaba, Client ve server arasındaki haberleşmede request/response esasına dayanan bir proje düşleyelim… Client’ın, ihtiyacı doğrultusunda server’a request tabanlı isteklerde bulunabildiğini ve elde edilen response neticesinde gelen verileri işleyebildiğini… Evet, biliyorum. Bu durum günümüzün en...

0

gRPC – File Streaming Nasıl Gerçekleştirilir?

Merhaba, Son zamanlarda gRPC kütüphanesi üzerine derinlemesine incelemelerde bulunmaya çabalamakta ve gerektiği taktirde önemli noktaları bloğumda ilgili konuya odaklı makaleyle yer edindirmeye çalışmaktayım. Hal böyleyken, gRPC kütüphanesinin Http/2 protokolü üzerinden binary formatta veri iletimi...

gRPC Nedir? Ne Amaçla ve Nasıl Kullanılır? 0

gRPC – Bi-directional Streaming Yöntemiyle Client ve Server İletişimi

Merhaba, Bu içeriğimizde, iki uygulama arasında iletişimin gRPC üzerinden Bi-directional yöntemiyle nasıl sağlandığını pratikte inceliyor olacağız. İlk olarak Bi-directional yönteminin ne olduğunu hatırlayarak başlayalım. Bi-directional Streaming, önceden ele aldığımız Client Streaming ile Server Streaming‘in...

gRPC Nedir? Ne Amaçla ve Nasıl Kullanılır? 3

gRPC – Client Streaming Yöntemiyle Client ve Server İletişimi

Merhaba, Bu içeriğimizde, iki uygulama arasında iletişimin gRPC üzerinden Client Streaming yöntemiyle nasıl sağlandığını pratikte inceliyor olacağız. İlk olarak Client Streaming yönteminin ne olduğunu hatırlayarak başlayalım. Evet, Server Streaming‘de incelediğimiz akışın tam tersi Client...

gRPC Nedir? Ne Amaçla ve Nasıl Kullanılır? 2

gRPC – Server Streaming Yöntemiyle Client ve Server İletişimi

Merhaba, Bu içeriğimizde, iki uygulama arasında iletişimin gRPC üzerinden Server Streaming yöntemiyle nasıl sağlandığını pratikte inceliyor olacağız. İlk olarak Server Streaming yönteminin ne olduğunu hatırlayarak başlayalım. Bu yöntemde server tek bir request’e karşılık birden...

gRPC Nedir? Ne Amaçla ve Nasıl Kullanılır? 0

gRPC – Unary Yöntemiyle Client ve Server İletişimi

Merhaba, Bir önceki gRPC’de Client ve Server Uygulamaları, Proto Dosyası ve Servislerin Oluşturulması başlıklı makalemizde gRPC üzerine pratikte uzun ve detaylı bir incelemede bulunmuştuk. Bu içeriğimizde ise iki uygulama arasında iletişimin gRPC üzerinden Unary...

4

gRPC Nedir? Ne Amaçla ve Nasıl Kullanılır?

Merhaba, Gün, dağınık mimarilerin günü. Koca dev yazılımların, tek bir bütünden ziyade, onlarca parçanın(servis) bir araya gelmesiyle oluştuğu gün. İhtiyaçların değil, yaklaşımların değişikliğe uğradığı, bu değişikliklerden meydana gelen yeni şartların getirdiği zaruriyetlerin yaşandığı gün....

Asp.NET Core 5.0 - Angular'da JWT Eşliğinde Microsoft&Google Authenticator İle Two Factor Authentication 0

Asp.NET Core 5.0 – Angular’da JWT Eşliğinde Microsoft&Google Authenticator İle Two Factor Authentication

Merhaba, Hatırlarsanız eğer Two Factor Authentication Nedir? başlıklı makalemizde Two Factor Authentication’ın ne olduğundan bahsetmiştik ve Google & Microsoft Authenticator İle Two Factor Authentication başlıklı makalemizde ise Asp.NET Core MVC mimarisine özel çift aşamalı...

.NET Core - MassTransit Kullanarak RabbitMQ İle Messaging 3

Asp.NET Core – MassTransit & RabbitMQ İle Birlikte Messaging Uygulaması

Merhaba, Bir önceki .NET Core – MassTransit Kullanarak RabbitMQ İle Messaging başlıklı makalemizde MassTransit ESB kütüphanesini RabbitMQ ile birlikte ele almış ve birçok detayıyla birlikte incelemiştik. Bu içeriğimizde ise bir senaryo dahilinde MassTransit kütüphanesi...

.NET Core - MassTransit Kullanarak RabbitMQ İle Messaging 1

.NET Core – MassTransit Kullanarak RabbitMQ İle Messaging

Merhaba, Günümüzde geliştirilen birçok enterprise uygulama, ihtiyaçlar doğrultusunda birbirinden bağımsız platformlarda, distributed bir şekilde çalışmaktadır. Bu yapıların birbirleriyle olan iletişimleri genellikle Messaging yapıları sayesinde gevşek bağlılıkla(loosely coupled) ve asenkron bir şekilde gerçekleştirilmekte ve böylece...

Entity Framework Core - Owned Entities and Table Splitting 0

Entity Framework Core – Owned Entities and Table Splitting

Merhaba, Entity Framework Core tasarımlarında bir entity’nin olması gereken inşa kurallarının dışına çıkarak parçalamak ve grupsal olarak property’lerini farklı class’lar da tutmak isteyebiliriz. Bu class’lar, yapısal olarak entity type’a benzeyebilirler lakin davranışsal olarak, ana...