Skip to content

Gökhan Gökalp Posts

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 yeni fonksiyonlar ve bakım işlemleri)…

Asp.Net Web API and Architectural Features Book

Merhaba arkadaşlar. Uzun zamandır farklı makale konularım içerisinde de sizlere bahsetmekte olduğum, eski iş arkadaşım Burak TUNGUT ile beraber yazmış olduğumuz Asp.Net Web API ve Mimari Özellikleri kitabım sonunda yayına çıktı. Sizler için kitabı oldukça yalın ve gereksiz konu ve örneklerden uzak tutmaya çalıştık. Bunların yanında ek…

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 de bir kaç ürün var.…

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 ElasticSearch projesi oluşturmuştuk. Bu serimizde de…

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 biraz NEST kütüphanesinden bahsedelim. NEST: ElasticSearch’e…

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 ise “Scoring işlemleri, Facets’ler, Auto…

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 alınıra bakıyor olacağız. RabbitMQ’nun Procuder, Queue…

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 gelişen ve büyüyen projenin kod…

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 Web API’da, anlamsız bir şekilde…

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 konumuz Asp.NET Web API üzerindeki…

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 popülerleşmesi ile birlikte, yeni geliştirilen ve…

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 uygulamadan bir mesajı alıp, bir…

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” namespace’i altında bulunan IHttpRouteConstraint interface’i,…

Entity Framework için Profiler

Merhaba arkadaşlar. Bu makalemde sizlere Entity Framework kullanılarak geliştirilmiş olan projelerde, performans ölçümleri ve refactoring’ler yapabilmek adına Entity Framework için geliştirilmiş olan bir Profiler aracını tanıtacağım. Bu Profiler aracı her ne kadar ücretli olsa da, 30 günlük bir trial sürümü işimizi görmektedir. Makalenin ilerleyen kısımlarında neden free bir Profiler aracı…

Asp.Net Web API’da Accept-Language ile Localization

Merhaba arkadaşlar. Yine bir Web API makalesi ile buradayım. Bir süredir ocak ayı içerisinde çıkacak olan Web API kitabi üzerinde yoğun olarak çalışmaktayız. Bu süre zarfında bloğumuda boş bırakmamak adına, Web API içerisinde Localization işlemleri adına bir makale yayınlamak istedim. Haydi bir bakalım nasıl oluyormuş? Asp.NET Web API’da…

Asp.NET Web API’da Circular Reference Handling

Merhaba arkadaşlar. Yılbaşından sonra çıkacak olan Asp.Net Web API kitabımıza odaklandığım için bu aralar fazla makale yazamıyorum. Fakat e-mail aracılığı ile gelen sorular ve benimde bir kaç projede karşı karşıya gelmem nedeniyle “Self referencing loop detected” problemini nasıl handle edebileceğimizi kitabın bir bölümünden alarak makale olarak koymak istedim. :)…