Bir önceki yazımda sizlere css hiyerarşisi ile ilgili bilgiler vermiştim. Bu yazımda da bu yazının devamı niteliğinde css hiyerarşisi hakkında bilgi vermeye devam edeceğim.
Yazımızın temel konusu bir tage birden fazla css class atanırsa neler gerçekleşeceği.
11 Şubat 2016 Perşembe
CSS Gösterim Hiyerarşisi
Ne demiş atalarımız? Her gördüğün sakallıyı deden zannetme. CSS kullanırken de bu kural bir nebze
geçerli. Her gördüğünüz css kodu sizin kodunuzu etkileyen bir kod olmayabilir :) Bunu en basit şekilde bu yazıda göstermeye çalışacağım.
geçerli. Her gördüğünüz css kodu sizin kodunuzu etkileyen bir kod olmayabilir :) Bunu en basit şekilde bu yazıda göstermeye çalışacağım.
9 Şubat 2016 Salı
Jquery Get Post Çalışma Mantığı
Daha önce karşıma çıkan ama blogu yazarken aklıma gelmeyen bir durum geçen gün karşıma çıktı. Bende hazır görmüşken bu durumu sizlerle paylaşayım dedim. Web projelerinde ekrandan codebehind'a giderken jquery kullanıyorsanız dikkat etmeniz gereken durum şudur diyerek örnek koda geçelim.
Etiketler:
Burak Karatatar,
Hiyerarşi,
jquery,
mvc
25 Ocak 2016 Pazartesi
Factory Design Pattern
Bir sınıf veya bir interfaceten türeyen ve aynı metotlara sahip birden çok sınıfınız varsa ne yaparsınız.
Örnek olarak bir Personel interface'imiz olsun ve içinde maaş bilgisini ve personelin ünvanını getiren metotlarımız olsun. Böylece bütün sınıflarımızı buradan kontrol edebiliyoruz. Bir değişiklik gerektiğinde tüm projede teker teker sınıflarımızı arayacağımıza buradan gerekli değişiklikleri yapıp tüm projeye entegre edebileceğiz. Aslında bir nevi kontrol merkezi kurmuş olacağız :)
Bu iki metot her sınıfta olacaktır. Elimizde de uzman yardımcısı, uzman, kıdemli uzman, teknik müdür ve müdür sınıflarımız olsun. Kullanacağımız patter factory pattern'dir. Peki bu pattern'i nasıl kullanacağız?
Örnek olarak bir Personel interface'imiz olsun ve içinde maaş bilgisini ve personelin ünvanını getiren metotlarımız olsun. Böylece bütün sınıflarımızı buradan kontrol edebiliyoruz. Bir değişiklik gerektiğinde tüm projede teker teker sınıflarımızı arayacağımıza buradan gerekli değişiklikleri yapıp tüm projeye entegre edebileceğiz. Aslında bir nevi kontrol merkezi kurmuş olacağız :)
Bu iki metot her sınıfta olacaktır. Elimizde de uzman yardımcısı, uzman, kıdemli uzman, teknik müdür ve müdür sınıflarımız olsun. Kullanacağımız patter factory pattern'dir. Peki bu pattern'i nasıl kullanacağız?
MVC Angular Kullanımı : Listeleme, Filtre ve Sıralama İşlemleri
Daha önceki angular yazımda sizlere listeleme, filtreleme ve sıralama işlemlerini yazacağımı söylemiştim. Gün bugündür diyerek yazımı yazmaya başlıyorum :)
Bir önceki yazımda tek bir nesne üzerinden işlem gerçekleştirmiştim. Artık birden çok veriyle çalışmamızın zamanı geldi. Bunun için daha önceki yazımda kullandığım gibi yine bir Personel sınıfı kullanacağım.
Bir önceki yazımda tek bir nesne üzerinden işlem gerçekleştirmiştim. Artık birden çok veriyle çalışmamızın zamanı geldi. Bunun için daha önceki yazımda kullandığım gibi yine bir Personel sınıfı kullanacağım.
24 Ocak 2016 Pazar
C# Composite Design Pattern Kullanımı
Geçenlerde design pattern'ları araştırırken daha önce bilmediğim ama projelerimde bilinçsizce de olsa kullandığım bir pattern olduğunu öğrendim. Bu yapıyı bir ay önce bir MVC projesinde dinamik menü yapımı için kullanmıştım. Demekki insanlar bunu daha önce çok kullanmış ve pattern haline getirmiş :)
Bende biraz daha detaylı inceledikten sonra bu yapıyı size bir örnek ile göstermek istedim. Oldukça kullanışlı ve hiyerarşi işlemlerinde kullanılan bu pattern'e hep beraber bakalım. Tabi ben bu örneği genelde olduğu gibi MVC'de gösteriyor olacağım.
Bende biraz daha detaylı inceledikten sonra bu yapıyı size bir örnek ile göstermek istedim. Oldukça kullanışlı ve hiyerarşi işlemlerinde kullanılan bu pattern'e hep beraber bakalım. Tabi ben bu örneği genelde olduğu gibi MVC'de gösteriyor olacağım.
Etiketler:
Burak Karatatar,
C#,
composite,
design pattern,
mvc
22 Ocak 2016 Cuma
Hangi Browser'dasınız?
Konu başlıkta açıkladığım gibi çok net. Bir uygulamanız var ve bu uygulamanızı kullanıcının açtığı browser'a göre özelleştireceksiniz. Bunun için de kullanıcının hangi browserdan giriş yaptığını bilmeniz gerekiyor. O zaman kısa ve net bir şekilde aşağıdaki kodları kullanmanız yeterli olacaktır.
var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera; // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode; // At least IE6
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
document.body.innerHTML = output;
Kaynak : https://jsfiddle.net/wvbdnb8o/
var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera; // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode; // At least IE6
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
document.body.innerHTML = output;
Kaynak : https://jsfiddle.net/wvbdnb8o/
Kaydol:
Kayıtlar (Atom)
