Merhaba, Bu içeriğimizde, programlama süreçlerinde verilerimizi binary olarak kat be kat fazla performansla serileştirmemizi sağlayacak olan MessagePack kütüphanesini .NET Core eşliğinde inceliyor olacağız. İçeriğimiz boyunca MessagePack kütüphanesi nedir? hangi teknolojiler tarafından tercih edilmektedir? ne...
Merhaba, Bu içeriğimizde Davranışsal Tasarım Kalıplarından(Behavioral Patterns) olan State Tasarım Desenini(State Design Pattern) tam teferruatlı inceliyor olacağız. State pattern nedir? Genellikle hangi tarz senaryolarda ne amaçla kullanılmaktadır? Hangi tasarım desenleriyle benzerlik göstermektedir? vs. gibi...
Merhaba, Önceki içeriklerimizden Microservice – Saga – Events/Choreography Implemantasyonu İle Transaction Yönetimi başlıklı yazımızda Saga pattern’ının iki implemantasyonundan biri olan choreography yöntemini tüm detaylarıyla ve pratik olarak incelemiştik. Bu içeriğimizde ise yine Saga pattern’ının...
Merhaba, Bu içeriğimizde Finite-State Machine kavramı üzerine duruyor olacağız. Özünde bu kavram, bir sonraki kaleme alacağımız microservice yapılanmalarında distributed transaction’ı sağlayabilmek için Saga pattern’ın Orchestrator implemantasyonunu ele alırken istifade edeceğimiz bir yapılanmaya karşılık gelmektedir....
Merhaba, Bir önceki Microservice Mimarilerde Saga Pattern İle Transaction Yönetimi başlıklı makalemizde Saga pattern üzerine detaylıca teorik incelemede bulunmuştuk. Bu içeriğimizde ise Saga pattern’ını Events/Choreography implemantasyonu çerçevesinde ele alacak ve pratikte nasıl bir inşanın...
Merhaba, Biliyorsunuz ki, yazılımsal operasyonlarda belirli senaryolarla baş edebilmek için tecrübevi birikim olarak yazılımcılar tarafından tatiksel tanımlanmış design pattern stratejilerinden istifade etmekteyiz. Design pattern uyarlılığı microservice yapılanmalarında da varlığını göstermekte ve yaşanılan problemlerde çözüm...
Merhaba, Bu içeriğimizde C# 9.0’ın son sürümünde göze çarpan bir özellik olan Module Initializer’ı inceliyor olacağız. Hiç vakit kaybetmeden gelin direkt konuya sorularla giriş yapalım.. Module Initializer Nedir? Module Initializer, esasında .NET için yeni...
Merhaba, Yeni bir projeye başlanacağı vakit projenin toplam net süresini öngörebilmek için kâh sezgisel kâh tahmine dayalı alt kırılımlar oluşturmaya çalışırız. Bu kırılımlar eşliğinde projenin anatomisini periyodik olarak daha hesaplanabilir hale getirerek, izafi açıdan...
Merhaba, gRPC kütüphanesi, client yapılanmasını merkezi hale getirip tasarımı kolaylaştırabilmek ve geleneksel gRPC client tasarımlarına alternatif olarak daha efektif geliştirmeler yapabilmek için gRPC Factory Integration özelliği sunmaktadır. Yukarıdaki geleneksel yapılanma, gRPC client tasarımlarında yönetilebilirlik...
Merhaba, Önceki Asp.NET Core + Event Store İle Event Sourcing Uygulaması(Örneklendirme) başlıklı yazımda bir veri üzerinde yapılan tüm işlemleri Event Store tool’u ile kayıt altına almış ve böylece Event Sourcing’in Write Data Store kanadını...
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...
Merhaba, Bir önceki Load Balancing(Yük Dengeleme) ve Load Balancer(Yük Dengeleyici) Nedir? başlıklı makalemizde Load Balancing ve Load Balancer konularına açıklık getirmiştik. Bu içeriğimizde ise pratikte load balancing’i örneklendirebilmek için load balancer olarak Ocelot kütüphanesini...
Merhaba, Bu içeriğimizde, bundan sonraki içeriklerimiz için teorik temel olarak kullanacağımız Load Balancing(Yük Dengeleme) ve Load Balancer(Yük Dengeleyici) üzerine duruyor olacağız. Load Balancing’in ne olduğu, ne amaçla kullanıldığı, ne tarz algoritmaları olduğu vs. gibi...
Merhaba, Önceki, .NET Core Ortamında ‘Event Store’ İle Event Sourcing Yapılanması başlıklı makalemde Event Sourcing yapılanması için Event Store ile yapılması gereken temel ayarlardan ve bağlantı konfigürasyonlarından bahsetmiştik. Bu içeriğimizde ise bir Asp.NET Core...
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...
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...
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...
Merhaba, Asp.NET Core’da API geliştiriyorsanız eğer aşağıdaki yapılanmanın size oldukça tanıdık geldiğinden eminim: Bu koda şöyle bir göz attığınızda yanlış bir şey görebiliyor musunuz? Pek değil dimi? Sadece id bazında bir product’ı sorgulayan ve...
Merhaba, Malum, bir uygulamada, uygulamanın genel kod standardının sınırlarını çizebilmek ve gelişim sürecinde istenilen doğrultuda bir seyr halinde olup olmadığını değerlendirebilmek için süreci kontrol edecek bir akla ve o aklın mukayese için baz alacağı...
Merhaba, Önceki yazılarımızdan Nedir Bu Onion Architecture? Tam Teferruatlı İnceleyelim başlıklı makalemizde incelediğimiz Onion Architecture üzerinde yaşanabilecek bir takım problemleri ele alacak ve bunlara CQRS Pattern ile çözüm getirmeye çalışacağız. Problemleri Tanıyalım İlgili makaleye...
Merhaba, Bu içeriğimizde son zamanlarda sıkça konuşulan CQRS Pattern üzerine istişare eyliyor olacağız. CQRS nedir, nasıl uygulanır? sorularının yanında ayrıca MediatR kütüphanesi ile de nasıl uyum sağladığını ve uygulandığını değerlendiriyor olacağız. Haydi gelin vakit...
Merhaba, Bu içeriğimizde, bir uygulamanın test edilebilirliğini, sürdürülebilirliğini ve güvenirliliğini daha da iyi inşa edebilmemiz için 2008 yılında Jeffrey Palermo tarafından tasarlanmış olan Onion Architecture üzerine istişare eyliyor olacağız. Onion Architecture, klasik bilinen 3...
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...
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ı...
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ı...
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...
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?...
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...
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...
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...
Bir insanın yardım etme hissiyatı, diğerinin acizliği ya da ezikliğinden değildir. Bilakis onu kendinden çok insan sıfatıyla görmesindendir. Çünkü, insana hizmet etmek insana yakışır.
Bu alanda veya başka bir alanda, benim ve diğer yardımcı insanların paylaşımlarına lütfen acizliğiniz ve ezikliğinizle yaklaşmayınız. İzin istemek, benim hükmüm altına girmeniz anlamına gelmemektedir.