Otomatik Mühendis

C# 7.0 ile Gelen Yeni Yetenekler

C# 7.0 ile programlama diline; veri yönetimine, kod sadeleştirmeye ve performansa yönelik yeni yetenekler katıldı. Bunlardan en önemlileri çoklu sonuç döndürmemizi sağlayan tuples ve verinin şekillendirilmesini kolaylaştıran pattern matching. Daha temiz ve verimli kodlar yazmamız artık daha kolay.

Out variables

Parametrelerde verilen out anahtarı artık satıriçi değişken tanımlamaya da izin veriyor. Tanımlama yapmak istemiyorsanız _ yazmanız yeterli.

Patterns “is”

Constant, Type veya Var pattern ile koşul yazılabilir hatta out anahtarında olduğu gibi nesnenin tipi uygunsa doğrudan koşuldaki tipte bir değişken üretilebilir.

Switch statements

Artık switch case koşullarında eşitlikten daha fazlası istenebiliyor. Koşullar için when kelimesi kullanılıyor.

Okumaya devam »


Hackathon - 2002’den 2017’ye Türkiye’de Güç Konsolidasyonu

140journos, Graph Commons ve ATÖLYE bu hafta sonunda (14-15 Nisan 2017) ilgi çekici bir konuyla 24 saat sürecek veri haritalama hackathon’u düzenliyorlar. Siyaset bilimi ve teknolojiyi odak noktasına alan etkinliğin konusu; 2002’deb 2017’deki 16 Nisan referandumuna kadar olan süreçte siyasi anlamda gücün nasıl konsolide olduğudur. Bu konuyu kapsamlı bir veri derlemesi ve düzenlenecek mini-panellerle ele alıyorlar.

Katılımcılar için not: Fiziksel katılım yalnızca davet usulüyle gerçekleşmektedir. Etkinliğin canlı yayını 14-15 Nisan 2017 tarihlerinde 140journos sosyal medya hesaplarından yapılacaktır.

Okumaya devam »


Yeni Octopus Deploy Step

Octopus Deploy kütüphanesine yaptığım pull request (PR) kabul edildi.

Deployment aracı olarak kullandığımız Octopus üzerinde, MVC projesinin yayına alınması sonrasında, Statik İçerik Hızlandırma (CDN) sistemindeki statik dosyaların da yenilenmesi için Medianova CDN hizmetinin Purge (içeriğin temizlenmesi) methodunu tetiklememiz gerekiyordu.

Okumaya devam »


TransactionScope ile Test Verilerini İzole Etmek

Entegrasyon testlerini yazarken yapmamız gereken ama canlı veritabanında çalışmadıkça aksattığımız o minik konu (veritabanını bulduğumuz gibi bırakmak) var ya işte bu yazıda onun kolay yolundan bahsedeceğiz.

Kodun en ufak scope’larına kadar giren unit testlerimizi yazdıktan sonra, happy path’i kontrol ettiğimiz entegrasyon testlerine sıra geldiğinde özellikle veritabanı entegrasyonunda eklediğimiz, güncellediğimiz hatta sildiğimiz verileri, test ortamını eski durumuna getirebilmek için silmemiz, güncellememiz hatta eklememiz gerekir. Bu rollback işlemlerini yazmak yerine System kütüphanesi içerisinde ki TransactionScope‘u kullanabiliriz.

Okumaya devam »


ASP.NET Web API'de JSON Formatını Güzelleştirmek

ASP.NET Web API uygulamalarında oluşan JSON formatlı yanıtları bazen okumakta zorlanıyoruz ve bu yanıtları JSONLint gibi sitelerle okunabilir hale getiriyoruz. Bunun önüne geçmek için API ayarlarında ufak bir düzenleme ile göze hitap eden sonuçlar elde edebiliriz.

Newtonsoft.Json kütüphanesinin yardımı ile WebApiConfig’e aşağıdaki ayarları uygularsak JSON response body’ler indented gözükecek ve property isimleri camelCase formatına çevrilecektir.

Okumaya devam »