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


Derinlemesine yazılım eğitimleri için kanalımı takip edebilirsiniz...
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...

2

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 2

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...

0

Entity Framework Core – Global Query Filters

Merhaba, Entity Framework Core ile şartlı sorgu deyince akla direkt Where komutu gelmektedir. Where, yapısal olarak bool mantıkta aldığı şart ifadesini sorgu diline çevirmekte ve hedef verileri bizlere getirmekte olan bir LINQ sorgusudur. Lakin...

0

Entity Framework Core – Connection Resiliency

Merhaba, Uygulamalarımızda veritabanı diyaloglarını hızlı bir şekilde gerçekleştirebilmek için kullandığımız ORM yapılanmaları bazen istemsiz durumlarla karşılaşabilmektedirler. Tabi ki de bir yazılımın çalışma süresince istemsiz durumlarla karşılaşması oldukça olağan bir durumdur lakin burada mühim olan...

C# Decorator Design Pattern(Decorator Tasarım Deseni) 0

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

Merhaba, Bu içeriğimizde mevcudiyette var olan bir class’a mimarisel yeni bir nitelik kazandırmamızı sağlayacak olan, Structural Pattern(Yapısal Desenler)’lerden Decorator Design Pattern(Decorator Tasarım Deseni) üzerine konuşuyor olacağız. Yazılım mimarilerinde temel esas, mümkün mertebe birbirlerinden soyutlanmış...

3

Özel Ders Formatında A’dan Z’ye C# 9.0 Programlama Eğitimi

Son radikal kararla eğitimlerin ücretsiz yayınlanmasına karar verilmiştir.  Merhaba, Son yıllarda hem yazılım projelerine, hem bloğumdaki makalelere hem de bireysel yahut kurumsal yazılım eğitimlerine ciddi bir zaman harcamaktayım. Bu süreçte kâh öğrencilerimden kâh...

0

C# 9.0 – Pattern Matching Enhancements

Merhaba, Pattern Matching’ler ilk olarak C# 6.0’da tanıtıldılar ve ardından C# 7.0’da(bknz : C# 7.0 – Pattern Matching) daha da geliştirildiler ve C# 8.0’da(bknz : C# 8.0 – Switch Expression(Property – Tuple – Positional...

0

Entity Framework Core – Query Tags

Merhaba, Bir önceki Entity Framework Core – Query Log başlığıyla kaleme aldığımız makalemizde Entity Framework Core ile oluşturulan sorguların loglanarak nasıl takip edilebildiğini incelemiştik. Bu içeriğimizde ise karmaşık uygulamalar üzerinden canlı ortamlarda gelen onlarca...

1

Entity Framework Core – Query Log

Merhaba, Entity Framework Core mimarisinde yazılan LINQ sorguları neticesinde generate edilen sorguları izleyebilmek ve olası teknik hataları ayıklayabilmek amacıyla loglama mekanizmasını çalıştırmamız gerekebilmektedir. Bu ihtiyaca istinaden, .NET Core’da dahili olarak gelen log mekanizması Entity...