İçeriğe geç →

Gökhan Gökalp Yazılar

Asp.Net Web API – Token Based Authentication Refresh Token Kullanımı

Merhaba arkadaşlar. Biraz aradan sonra tekrar bir Asp.Net Web API makalesi ile karşınızdayım. Daha önceki makalemde Asp.Net Web API’da Token Based Authentication nasıl gerçekleştirilir ve implemente edilir konusunu ele almıştım. Bu makale kapsamında ise sizlerden gelen feedback’ler doğrultusunda ilerleyerek, Token Based Authentication kullanırken Refresh Token nasıl implemente…

25 Yorum

Monolithic ve MicroService Architecture’a Genel Bir Bakış

Merhaba arkadaşlar. Bu blog yazımdaki konum, her ne kadar yeni bir şey olmasada, son dönemlerde Martin Fowler ile gündeme gelen ve git gide önemini arttıran MicroService mimarisi üzerine genel bir bakış olacak. Ayrıca bu doğrultuda doğru bilinen yanlışlar, MicroService mimarisinin artıları ve eksileri gibi yönlerine…

2 Yorum

Asp.Net Web API’da Cross-Site Request Forgery (CSRF) Saldırı Güvenliği

Merhaba arkadaşlar. Gelen sorular üzerine bu yazımda sizlerle Asp.Net Web API’da Cross-Site Request Forgery(CSRF) saldırılarına karşı güvenliği nasıl ele alabiliriz’i küçük çapta anlatmaya çalışacağım. Zaten bir çoğumuzun Asp.Net MVC‘den AntiForgeryToken ile aşina olduğu bir konu olabilir. AntiForgeryToken implementasyonunu Web API bacağında ise custom olarak…

10 Yorum

Kodlama Yaparken Dikkat Edilmesi Gereken Bazı Performans ve Optimizasyon Teknikleri

Merhaba arkadaşlar. Bu makale konumda sizlerle kodlama yaparken dikkat edilmesi gereken bazı performans ve optimizasyon tekniklerinden bahsedip, bunları nasıl ele almamız gerektiğini ve best practice’lerine değineceğiz. Sizlerde biliyorsunuz ki sürdürülebilir bir uygulama geliştirebilmek, hem biz yazılımcılar açısından (ileride gelecek olan…

18 Yorum

ElasticSearch Serisi 03 – C# ile Genişletilebilir Temel Search ve Filter Yapısı

Yeni bir ElasticSearch seri ile tekrar merhaba arkadaşlar. Bir önceki seriden hatırlarsak oluşturmuş olduğumuz index içerisine, hem tek olarak hem de bulk olarak product’lar eklemiştik. Bu noktaya kadar artık her şeyimiz mevcut. Bir adet “product_search” alias’ına sahip indeximiz ve içerisinde…

10 Yorum

ElasticSearch Serisi 02 – C# ile Document Indexing ve Bulk Indexing

  Yeni bir ElasticSearch serisi ile merhaba arkadaşlar. Bu serimizde sizlerle, Document Indexing ve Bulk Indexing gibi işlemleri gerçekleştireceğiz. Bir önceki serimiz olan “ElasticSearch Serisi 01 – C# ile Index Oluşturmak” adlı makalede, type bazlı nasıl index oluşturulduğunu inceledik ve bir…

2 Yorum

ElasticSearch Serisi 01 – C# ile Index Oluşturmak

Merhaba arkadaşlar. Hatırlarsak bir önceki makalem olan “ElasticSearch’e Başlarken (Kurulum, Kibana, Marvel ve Sense)” ile aslında ElasticSearch dünyasına bir adım atmıştık. Bu makale kapsamında ise C# üzerinde ElasticSearch için kullanacak olduğumuz NEST kütüphanesini tanıyacağız ve hemen ardından bir index oluşturacağız. Dilerseniz öncelikle…

6 Yorum

ElasticSearch’e Başlarken (Kurulum, Kibana, Marvel ve Sense)

Merhaba arkadaşlar, bir başka makale konusu ile karşınızdayım. Search Engine konusuna daha önceki makalelerimden birisi olan Lucene.Net Search Engine Kütüphanesi Kullanımı konusu ile bir giriş yapmıştım. Lucene’in özellikle distributed indexleme ve search işlemlerinde pure hali ile yetersiz kaldığını ve daha kompleks işlemler için…

16 Yorum

C# ile RabbitMQ Client’ı kullanarak Publisher ve Consumer Yapısı

Merhaba arkadaşlar. Bir önceki makalem olan “RabbitMQ Nedir ve Windows’a Kurulumu” isimli makale ile, RabbitMQ konusuna bir giriş yapmış idik. Bu makale kapsamında ise RabbitMQ’nun C# provider’ını kullanarak en sık kullanılan Messaging Pattern‘lerinden birisi olan “Publish / Subscribe” pattern’i mantığında, basit bir şekilde nasıl mesaj gönderilir ve…

11 Yorum

Unit Test Yazarken Pratik Mocklama

Merhaba arkadaşlar. Bir süredir architectural düzeyde devam ettirmeye çalıştığım yazı serilerimi, bu aralar vakit buldukça biraz daha test ağırlıklı konulara kaydırmaya karar vermedim. Çünkü birisi henüz yazılım projesi inşa aşamasında iken kaliteli bir şekilde altyapı üzerine kurulması ile ilgilenirken, bir diğeri ise hızla…

5 Yorum

WinDBG ile Dump Analizi Yaparak Performans Sorunlarını Çözümleme

Uzun bir aradan sonra tekrardan merhaba arkadaşlar. Bir süredir şirkette yoğun geçirdiğim bir çalışma temposundan sonra, bir makale daha yazabilmeye fırsat bulabildim. 🙂 Bu makaleyi yazma ihtiyacım ise, bir kaç haftadan bu yana mevcut bir sistemin üzerine yerleştirmiş olduğum Asp.NET…

Yorum Bırak

Asp.NET Web API Response’larında Tutarlılığı (Consistency) Sağlamak

Merhaba arkadaşlar, bir süredir bloğuma çok fazla vakit ayıramıyorum. Gerek iş yerimdeki yoğunluğumdan, gerek hazırlanıyor olduğum sertifikasyon sınavlarından, gereksede üzerinde çalışıyor olduğumuz Asp.NET Web API kitabından dolayı fazla vakit bulamamaktayım. Konusu küçük fakat etkisi büyük olan bu konuyu paylaşmak istedim. Evet…

11 Yorum

Remote Facade Pattern ile Network Verimliliğini Arttırmak

Merhaba arkadaşlar. Bu makalemde sizlere distributed architecture design pattern’leri arasında bulunan Remote Facade pattern’i hakkındaki bilgilerimi aktarmaya çalışacağım. Bu pattern’i anladığımızda her ne kadar basit ve kolay gelecek olsa da, aslında yaptığı iş ve sağlayacağı fayda açısından asla küçümsememeliyiz. Günümüzde mobil uygulamalar sayesinde RESTful tabanlı mimarilerin git gide…

Yorum Bırak

RabbitMQ Nedir ve Windows’a Kurulumu

Merhaba arkadaşlar. Bu makale konumda sizlere son zamanlarda üzerinde çalışmış olduğum, server to server bir mesaj kuyruğu sistemi olan RabbitMQ hakkında edindiğim deneyimlerimi aktarmaya çalışacağım. 🙂 RabbitMQ Nedir? RabbitMQ en öz tabiri ile mesaj kuyruğu sistemidir. Publish ve Subscribe mantığı altında çalışmaktadır. Yani bir…

9 Yorum

Asp.NET Web API’da IHttpRouteConstraint Implementasyonu ile Versiyonlama

Merhaba arkadaşlar. Bu makale konumda ise Asp.NET Web API’da nasıl versiyonlama yapılabileceğini görürken bir yandan da action method’lar üzerinde nasıl custom constraint’ler ekleyebileceğimizi göreceğiz. Dilerseniz fazla uzatmadan hemen konuya girelim. 🙂 Asp.NET Web API içerisinde IHttpRouteConstraint interface’ini implemente ederek, custom constraint oluşturabilmek mümkündür. “System.Web.Http.Routing”…

3 Yorum