My C# Extension Methods

My C# Extension Methods

Extensions allow us to extend funcitonality of an existing type without modifying original type. C# extensions method is a static method of a static class where ‘this’ modifier is applied to the first parameter. The type of first parameter will be the type of extension. https://github.com/SekmenDev/Sekmen.Core

Serialization

Serialization: class => string/stream Deserialization: string/stream => class Types: Binary Serialization converts to binary / byte array [Serializable] attribute is used SOAP Serialization converts to XML for SOAP transfer JSON Serialization converts to string as json format

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   …

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  

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

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 …

Programlamanın En Önemli Sırrı

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 …

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

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 …

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

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ı …

Visual Studio için build events yazdım

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 …

İşin Bitirme Tarihi Yaklaştıysa Size 15 Öneri

İşin Bitirme Tarihi Yaklaştıysa Size 15 Öneri

Bir fikre ihtiyacınız olup da bir tane bile aklınıza gelmemesinden kötü bir şey yoktur. Geçimini fikirler üreterek sağlayan biri olarak, bu hissi iyi biliyorum. Yine de bir fikir bulabilmemiz için iyi bir pozisyonda olduğumuzdan emin olmamıza yarayacak teknikler var. İ̇şte büyük bir fikir üretmeye hazır olduğunuzdan emin olmanız için 15 teknik. Çevrenizi temizlemekle başlayın Temizlemek bir çok şekilde yardımcı olur. …