Stryker Mutator ile Mutation Testing ve Azure Pipelines Entegrasyonu

Yazmış olduğumuz bir unit testin kalitesini anlamak için, testi yazılan kod parçacığı üzerinde değişiklikler yaptığımızda, unit testin sonucuna bir etkisi olup olmadığını analiz ederek kalitesini ve kapsamını kontrol edebiliriz. Bu şekilde yapmış olduğumuz işleme bir nevi “testin testini yapmak” diyebiliriz. Bu yapılan işleme Mutation Testing denilmektedir. Kod parçacıklarının mutasyona uğratılması sonucunda kalite ve kapsam analizi yapılmaktadır. Yeni unit testler yazmak ve mevcut unit testlerin kalitesini değerlendirmek için Mutation Testing yapılmalıdır.

Blockchain — Interoperability

Blockchain Nedir?

Basit bir ifadeyle; şifrelenmiş bir şekilde işlem takibi sağlayan ve merkezi olmayan büyük bir veritabanı olarak tanımlayabiliriz. Bu büyük veritabanında veriler bloklar halinde tutulur. Hiçbir şekilde verilerin değiştirilmesi söz konusu değildir. Sadece okuma ve yazma işlemleri yapılır. Eğer hatalı bir işlem yapıldıysa, bu hatalı işlem de bloklara eklenir. Çeşitli verilerin barındırıldığı bloklar bir araya geldiğinde block zinciri meydana gelir. Örneğin, para transfer işlemlerinde her adım bir bloğu karşılık gelir. Bu adımlar takip edilerek paranın alıcılar arasında nasıl bir yol izlediği görülür. Blockchain sayesinde, bir aracıya ihtiyaç duyulmayan ve güvenin maksimum edildiği bir ortam sağlanmış olur.

Yapay Zeka’ya Güvenebilir miyim? — Explainable AI

Asıl konumuza giriş yapmadan önce kısaca Yapay Zekanın ne demek olduğunu hatırlayalım; Yapay Zeka, bir çıktı elde etmek için insan zekası gibi davranan ve elde ettiği bilgilere göre yinelemeli olarak kendisini sürekli geliştirebilen sistem veya makinedir. Tekrarlanan öğrenme ve verisel keşif süreci ile birçok gizli katmana sahip sinir ağlarını kullanarak daha fazla ve daha derin verileri analiz eder. Bu noktada, Yapay Zekanın en önemli özelliği bağımsız öğrenme yeteneğidir diyebiliriz.

WebAssembly - Bize Hızın Anlamını Göster

WebAssembly, kısaca WASM ile web tarayıcılarda C,C++ ve Rust gibi yüksek seviyeli diller ile yazılımış programları derleyebilir, çalıştırabilir ve taşıyabiliriz. Javascript’in performans olarak yetersiz kaldığı noktalarda WASM ile 20 kat daha performanslı işler yapabiliriz.

EF6 DbContext Unit Test Mock

Merhaba, çok uzun zamandır bir şeyler yazmıyordum. Tam anlamıyla bir yazı olmasa da bir başlangıç yapmak adına bu küçük paylaşımı yapmak istedim. Bu paylaşımımda EF6 DbContext Mock işlemi için hazırladığım kodu göreceksiniz.

8 Vezir Probleminin Genetik Algoritma ile Çözümü

Merhaba arkadaşlar, bu yazımda algoritma severlerin mutlaka bildiği 8 vezir probleminin genetik algoritma ile çözümünden bahsedeceğim.

Her ne kadar 8 vezir desek de asıl amacımız n adet vezirin nxn’lik satranç tahtasına uygun bir şekilde yerleştirilmesini sağlamaktır. Bu yüzden 8 vezir yerine, n vezir problemi demek daha doğru olacaktır.

n Vezir Problemi Amacı

Satranç oynayanlar bilir, bir vezir yatay, dikey ve çapraz hamleler yapabilir. Amacımız n adet veziri, nxn’lik bir satranç tahtasına birbirini kesmeyecek şekilde yerleştirmek.

TypeItJs – Harf Harf Animasyonlu Yazım Kütüphanesi

Az önce internette dolaşırken karşıma çıkan, hoşuma giden webmaster araçlarını, kütüphanelerini, hem unutmamak hem de sizlerle paylaşmak için fazla açıklama yapmadan paylaşmaya karar verdim. Bu kategorinin ilk kütüphanesi TypeItJs. Harf harf animasyonlu yazı yazmamızı sağlayan güzel bir kütüphane.

jQuery Video Extend

Videolara logo ve duraklama noktaları ekleyebileceğiniz, youtube üzerinden veya flv dosyalarında video oynatmamızı sağlayan bir jQuery eklentisi.

EntityFramework AsNoTracking Nedir?

Merhaba arkadaşlar, bugün .Net Core projem için Generic Repository örneği yapıyordum. Github üzerinden örnek kodlara bakarken Entity sorgularındaki AsNoTracking ifadesini gördüm. Yaklaşık 4 yıldır MVC projelerinde görev alıyorum. AsNoTracking ifadesini şimdiye kadar fark edemediğim için üzüldüm, şimdi bunu keşfettiğim için de mutluyum. 🙂 Sizin de bundan faydalanmanızı istediğim için çok geciktirmeden blogumda paylaşmak istedim.

Bildiğiniz üzere EntityFramework ile bir select işlemi yaptığınızda, gelen data içeriğini güncelleyip SaveChanges yaparsak değişiklikler veritabanına yansır. Bu işlemi her zaman istemiyor olabilirsiniz. Bu durumda AsNoTracking ifadesi yardımımıza koşuyor. Bu ifade ile yaptığımız entity sorgusu sadece okumalıktır. Üzerinde değişiklik yapıp SaveChanges yaptığımızda veritabanında hiçbir değişiklik olmaz. Bu da bize minimum bellek kullanımı ve optimum performans sağlayacaktır. Çok hoj 🙂

Evrimsel Sürecin Simülasyonu – Genetik Algoritmalar – 1

Selam arkadaşlar, bu makalemde birkaç aydır üzerinde araştırmalar yaptığım genetik algoritmalar hakkında edindiğim bilgileri sizlerle paylaşmak istedim.

Genetik algoritamlar konusuna giriş yapmadan önce işi biraz daha temelden alarak “Algoritamanın” ne olduğu konusuna değinmek istiyorum. Bilgisayar bilimleri veya matematik bilimleri ile ilgilensek de ilgilenmesek de aslında algoritmalar hayatımız her yerinde. Günlük hayatımızda bilinçli veya bilinçsiz bir çok algoritmayı yerine getiririz. Bu algoritmalara en güzel örneği “yemek yapmak” eylemini gösterebiliriz. Yemek yaparken izlediğimiz tüm adımlar daha önceden belirlenmiş kurallar çerçevesinde ilerletilir. Bu bağlamda algoritma, en basit tanımıyla, bir problemin çözümünde izlenecek yol anlamına gelir.

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×