Web sitelerinizde hangi sayfaların daha fazla ziyaret aldığı, hangi tarz içeriklerin ilgi çektiği, bu sayfalarda ne kadar süre geçirildiği gibi veriler oldukça önemlidir. Analiz ve istatistik araçları ile web sitenize girenlerin hareketlerini takip edebilir ve anlamlı sonuçlar çıkarabilirsiniz. Bu yazıda en popüler web sitesi analiz ve istatistik araçlarından bahsedeceğiz.
Regex bir string ifadenin (metin) belirli kurallara uyumluluğunu kontrol etmeye ve düzenlemeye yarar.
Açılımı Regular Expressions, Türkçesi ise Düzenli İfadeler olarak geçer.
Regex ile bir alana sadece harf mi girilmiş, rakam mı girilmiş ya da eposta adresi mi girilmiş kontrol edebilirsiniz.
Günümüzde popüler olarak kullanılan Font Awesome, Glyphicons kütüphaneleri gibi bir çok font tabanlı ikon kütüphanesi vardır. Sizde kendi hazırladığınız ya da internetten edindiğiniz ikonları font’a çevirerek bir kütüphane oluşturabilir, paket halinde kullanabilirsiniz. İkonlarınızı font haline (yazı tipine) çevirmek için IcoMoon, Fontello, Fontastic, Glyphter gibi servislerden birini tercih edebilirsiniz. Bu yazıda IcoMoon servisini kullanarak kendi fontumuzu oluşturacağız. İhtiyacınız olan en önemli şey .SVG uzantılı vektör ikonlar. Bu ikonları internetten edinebilir, Illustrator vb. vektörel bir çizim programı ile de oluşturabilirsiniz.
BilgeAdam için hazırladığım C# ile Nesne Yönelimli Programlama sunumudur.
Sunum içerisinde
- Nesne yönelimli programlama ne işe yarar.
- Metotlar
- Sınıflar (Class)
- Instance (Türetmek)
- Erişim Belirleyiciler (Access Modifiers)
- Yapıcı Methodlar (Constructor)
- Kapsülleme (Encapsulation)
- Miras/Katılım (Inheritance)
- Çok Biçimlilik (Polymorphism)
- Struct
- Enum
- Statik Yapılar
- Soyut Nesneler (Abstract)
- Interface
yapılarından kısaca bahsedilmiştir.
Yazılım geliştirme ve test aşamasında Google Chrome ile birlikte kullanabileceğiniz 25 farklı Google Chrome eklentisinden bahsedeceğiz. Yeni nesil Microsoft Edge ve Opera tarayıcısı da Chromium tabanlı olduğundan bu tarayıcılar üzerine de bu eklentileri kurabilirsiniz.
Varsayılan olarak tarayıcılarda eğer bir input üzerinde değilseniz backspace (geri silme) tuşuna bastığınız da bir önceki sayfaya gider. Eğer bir sayfa üzerinde çalışıyorsanız yanlışlıkla backspace tuşuna basmak verilerinizin kaybolmasına sebep olabiliyor. Bu durumu engellemek için aşağıdaki jquery kodunu layout (master) sayfanıza ekleyebilirsiniz.
[javascript]
$(document).on("keydown", function (e) {
if (e.which === 8 && !$(e.target).is("input, textarea")) {
e.preventDefault();
}
});
[/javascript]
tr-TR Culture tabanlı bir sistemde jQuery Validation ile NumericTextbox lar üzerinden ondalıklı sayı (double veya decimal) almak istediğinizde ayırma işlemini virgül ile yapmaya çalışırsanız input validation’a takılıyor ve sayfanın post etmesini engelliyor. Eğer virgül yerine nokta kullanırsanız bu sefer post işlemi gerçekleşiyor ancak tr-TR culture yapısına uygun olmadığından değeriniz 0 (sıfır) olarak gelebiliyor.
Telerik MVC Kendo UI DatePicker ile Jquery Validation kullandığınız da eğer ilgili input’ a default (varsayılan) bir değer atıyorsanız Jquery Validation bunu algılamıyor ve hata fırlatıyor.
Aşağıdaki kodu layout (master) sayfanıza ekleyerek tüm projenizde bu sorundan kurtulabilirsiniz.
[javascript]
<script type="text/javascript">
// Kendo UI ile Jquery Validation arasında yaşanan sorunu çözer.
// Ör: DatePicker default value atanmasına rağmen boş görmesi…
$(document).ready(function () {
jQuery.validator.addMethod(
‘date’,
function (value, element, params) {
if (this.optional(element)) {
return true;
};
var result = false;
try {
var date = kendo.parseDate(value, "dd.MM.yyyy");
result = true;
if (!date) {
result = false;
}
} catch (err) {
result = false;
}
return result;
},
”
);
});
</script>
[/javascript]
.NET Framework 4.0 ile gelen Tuple ile bir method üzerinden birden fazla değer döndürmemiz sağlanıyor. Aslında bu işlem Tuple öncesinde de out parametresini kullanarak veya içerisinde birden fazla değer barındıran bir model kullanılarak da yapılabiliyordu.
Peki Tuple kullanmanın avantajı ne ?
Bana göre en büyük avantajı basit bir şekilde (ayrı bir model veya taşıyıcı kullanmadan) birden fazla değer döndürmek istediğinizde size hız kazandırması.
Kullanımıyla ilgili kısa bir örnek göstereceğim.