View Post

SQL Server Lock Tipleri

Shared Locks Okuma işlemi sırasında oluşturulan lock biçimidir. Exclusive Locks Ekleme, güncelleme veya silme işlemler sırasında oluşturulur. Başka bir oturum tarafından değiştirilmesini engeller. İşlem bitinceye kadar aktif olurlar Update locks Exclusive lock öncesi çalışan locktur. Güncelleme yada silme işlemi için gerekli satırları ararken aktif hale gelir. Doğru satırı bulursa lock biçimini exclusive olarak değiştirir Intent locks Exclusive lock yapılan bir …

View Post

String vs StringBuilder

  String StringBuilder Değiştirilemez Bir kere oluşunca RAM’deki değeri asla değiştirilemez Yapılan herhangi bir değişiklik, eski değerinin iptal edilmesine ve yeni değeriyle tekrardan oluşturulmasına sebep olur   Multi-Thread uygulamalarda sorun çıkarmaz Özelliği çoktur Kullanımı klaydır Değiştirilebilir Oluşturduktan sonra yapılan değişiklikler nesnenin tekrardan oluşturulmasına sebep olmaz Döngü içerisinde performansı çok iyidir   Oluşturma performansı kötüdür Metod ve özellikleri daha azdır   …

View Post

Value Type vs Reference Type

  Value Type Reference Type int, bool ve char gibi tiplerdir null değeri alamazlar struct’a benzerler System.ValueType sınıfından türemişlerdir new ile oluşturulamaz RAM’de stack denen yerde direk değerleri tutulur sınıf veya nesnedir null değeri alabilirler class ve inerface’e benzerler System.Object sınıfından türemişlerdir new ile oluşturulabilirler RAM’de stack zerinde tutulur, ayrıca heap denen yerde gerçek datanın referans değeri tutulur  

View Post

Sitenizi Genel Veri Koruma Yönetmeliğine Uygun Hale Getirin

25 Mayıs 2018’den itibaren Avrupa Birliği’nin GDPR olarak bilinen “Genel Veri Koruma Yönetmeliği” yasalaşıyor. Bu yasa tüm dünyayı etkileyecek bir yasa, çünkü AB vatandaşlarının haklarını koruma altına alıyor. Eğer sitenizin her hangi bir yerinde bir AB vatandaşının bilgilerini alıyorsanız siz de bu yasaya tabi oluyorsunuz. Yok ben uymam derseniz ise 20 milyon Euro ceza ile karşılaşabilirsiniz (veya yıllık gelirinizin yüzde 4’ü …

View Post

Yazılım Ekibinin Kalitesi Nasıl Değerlendirilir?

Yazılım ekibinin kalitesi basit bir test ile hemen anlaşılabilir. Aşağıdaki test Joel Spolsky’nin yıllar önce kendi başına koymuş olduğu bir dizi kural. 12de 12 yapan firmaların başında Microsoft olduğunu söyleyerek kendi çalıştığımız firmamızı karşılaştırmamızı istiyor. Mükemmel yazılım için olmazsa olmaz değil ama disiplinli ve düzenli çalışan bir ekip için şart. Testi çözmek için günde kaç satır kod yazdığınızı hesaplamanız yada işinizin …

View Post

MDF dosyasından SQL Server versiyonunu öğrenme

MDF dosyasından SQL Server versiyonunu öğrenmek için Powershell açılır ve aşağıdaki kod  yazılır: Sonuçta aşağıdaki gibi iki tane sayı dönecek: Doğru versiyonu bulmak için alttaki sayıyı 256 ile çarpıp üstteki sayıyı eklemeniz gerekiyor: Cevap size mdf dosyasının versiyonunu verecek:

View Post

Programlamanın En Önemli Sırrı

Ekiple ilgili bir problemim var. Projeye ilk başladığımızda her şey çok güzel gidiyordu. İlk haftalarda herkes o kadar çok çalışıyordu ki çalışan bir prototip yapmaları bile çok kısa sürmüştü. Ama o zamandan beri işler yavaşlamış gibi. Artık kimse eskisi gibi çalışmıyor. İşler ilerlemiyor. Belki bir iki kişiyi kovarsam belki ekip eski hızına kavuşur. Eminim sizin hayatınızdan da böyle bir patron …

View Post

ASP.Net MVC için İpuçları

Burada ASP.Net MVC ile alakalı boş beleş şeyler yazacağım. Sadece aklımda tutmak için başlıları yeter diye düşünüyorum, detaylarını yazmaya kalksam sayfalar yetmez. Genel Tavsiyeler Test yaz, hatta önce testi sonra kodu yaz SOLID prensiplerini unutma ActionFilterAttribute kullan Parital page güncellemeleri kullan ASP.Net’in Resource klasörünü kullan Session’ı aşırı kullanmak yerine TempData’yı kullanmaya çalış OutputCache kullan, özellikle statik sayfalarda Async kullanmaktan çekinme …

View Post

Visual Studio için build events yazdım – 2

Aslında bunu da aynı zamanda yazdım ama farklı konu ve mantığa sahip olduğu için farklı bir yazıda ekliyorum. Bu sefer ki yazdığım script bir powershell scripti ve post-build event olarak çalışıyor. Bu scriptin amacı masaüstü programlarını “Release” olarak build ettiğimizde build edilen yerdeki exe ve dll dosyalarını alıp bir zip dosyasına atıyor. Dosya adı proje adı, tarih, saat ve kullanıcı …

View Post

Visual Studio için build events yazdım

Bizim şirkette program versiyonları için tarih kullanıyorlardı. Ama standart program versiyonu şeklinde değil de yazı biçimindeydi. “2018.02.28” gibi  yazıyorlardı. Semantic versiyonlamaya uymuyor ama olsun bu da güzel olabilir dedim ve bu tarih formatını biraz değiştirdim: “1.80.228” gibi. Noktaları yer değiştirip bakarsanız “18.02.28” çıkıyor yani yine aynı tarih formatı geliyor sadece daha gerçekçi oldu. Bu formatı uygulatmak için çok uğraştım. En sonunda da …