Günlük Arşivi

Günlük girdilerini RSS ile takip edin.
"Yil 20XX olmuş hala IE ile uğraşıyoruz" diyeceğiz herhalde yıllar sonra da. Bu süreçte ie'ye tekmeyle de olsa html5'i en azından etiketleri tanıması için en basit çözüm olarak iki şey yapmanız gerekiyor.

Birincisi IE'nin dom ağacında html5 etiketlerine ait hiçbir initialization yok. Bunu tetiklemek için kullandığınız her html5 etiketi için en az bir tane element üretmeniz yetiyor. Sonrasında IE dökümandaki tüm elementleri dom ağacınızda tanımaya başlıyor. Bunun için:

<script type="text/javascript">
	elements = "article footer header nav sidebar section".split(' ');
	for (i in elements) { document.createElement(elements[i]); }
</script>

Tamam etiketler tanınır hale geldi ama daha büyük problem ise IE görsel olarak bu etiketlerle ne yapacağını bilemediği için default stillerini uyguluyor. Anlam veremeyeceğiniz marginler, değişik element türleri olarak bütün etiketler birbirine girmiş oluyor arayüzde. CSS ile tüm html5 etiketlerini blok element ayarlayıp basitçe resetlemek için:

section, header, nav, footer, article {
    display: block;
    padding: 0;
    margin: 0;
}

yapabilirsiniz. Bu sayede IEnin eski sürümleri 6,7,8 (emin değilim belki 9 da) html5i bir parça olsun tanır ve insan gibi gösterir hale gelebiliyor. Ama unutmayın daha birçok sorunu düzeltmeye çalışmak uğraşmak zorunda kalabilirsiniz.
Bir ay oncesinde siteyi duzeltme calismalarina girmistim biliyorsunuz, su an yapilan sey varolan koddan PEAR'i cikarip basit bir MVC yapisina sokmak. Baslangic olarak yaptigim sey tum on yuzu viewlara donusturup bir yandan controllerlar icin altyapi hazirlamakti ve son deployment ile bitirdim bu kismi. Su an tum site PHPTAL template yapisiyla PHPTAL motoru ustunde render ediliyor. Tabi ki gorsel hicbir farklilik yok kullanici acisindan fakat cok daha kolay yonetilebilir hale gelmis durumda onyuz.

Sirada eski modulleri kontrollere cevirmek var. Tabi bunu yaparken muhtemelen modellerimi de olusturmaya baslayacagim yavastan. Cunku kontroller duzgun bir dizin yapisina kavustuktan sonra modelleri duzeltmem adma etmem gerekecek. Tabi son asamada da veritabani manipulasyonu var, ki modeller bittikten sonra bunu yapmak cok kolaylasacak.

Sonuc olarak phptal template motorunu incelemenizi tavsiye ederim. Kesinlikle valid xhtml sintaksi yazmaya zorluyor programciyi, aksi halde sadece hata ciktilari alirsiniz. Sonda ortaya cikan htmller ise php kodu bulunmayan, tertemiz xml dokumanlari oluyor.

http://phptal.org/
CSS3 Table

Yeşil kolonlar her tarayıcının son sürümündeki css3 property desteği, kırmızı bölge değişmemekte ısrar eden ie'nin css3 property destek tablosu.

Yukarıdaki tabloda açıkça görülen şu ki, ie15 de çıksa adam olmayacağı.

Artık son dakika teknolojileriyle yaşayan hatta yaşam tarzı bunun üstüne yani anlık tüketim üzerine kurulu internet popülasyonunun bu tarayıcıya hala nasıl tahammül ettiğine şaşırmamak elde değil. Bunu bırakın microsoft gibi kapitalist bir şirketin bu şekilde aksiyon alamaması nasıl oluyor anlamış değilim.
Website optimizasyonu konusu büyüyen startupların artık başta düşünmeye ve endişe duymaya başladığı bir konu. Bir web sayfasının optimizasyonu konusunda birçok detaycı yaklaşım var, bunlardan birisinden bahsedeceğim şimdi.

Web sayfanızda sayfa dışında yüklediğiniz bir çok dosya var. Bunlar genellikle imajlar, css ve javascript dosyaları. Tabi bunun dışında flash nesneleri, activex nesneleri, java nesneleri gibi başka dosyalar da olabilir. Bu dosyaları tarayıcı sunucudan isterken eğer domain cookie açık bir domain ise her istekte sunucunuza, istemcinizdeki cookie içerikleriniz gönderilir. Aynı şekilde sunucu da size gönderir.

Eğer o domainde çalıştırdığınız uygulamanız çok cookie set etmemişse bu konunun çok önemi olmaz ancak uygulama geliştiricinin ne yaptığını bilemezsiniz ve uygulama geliştirici de bu konuyu düşünerek "daha az cookie set etmeliyim" yaklaşımı ile uygulama geliştirmez. Yani eğer çok cookie barındırıyorsanız veya cookie içerikleriniz büyükse (mesela bir formun state'inin encode edip büyük bir text olarak saklıyor olabilirsiniz) bu imaj (js, css) transerlerinde bir de bu cookieler gönderilip alınacağından belli sayıda dosyadan kayda değer bir yavaşlama hissedilecektir.

Özellikle .NET'deki authentication cookie'leri gibi büyük boyutlu cookie saklayan uygulamalarda, eğer http request sayınız çok ise bu yavaşlama hissedilir derecede olabilir.

Bunu engellemek için uygulamanızı sunduğunuz domain ile bu statik dosyaları sunduğunuz sunucuyu ayırmalısınız. Sunucuyu ayırmaktan kastım fiziksel olarak ayırmak değil. Mesela mfyz.com domaini için konuşursam, uygulama mfyz.com üzerinde çalışıyor ve kullanıcı bu domainden girip burada kalıyor. Ama bununla beraber gelen birçok statik dosya cookie disabled bir subdomainden sunulabilir. Mesela statik.mfyz.com gibi bir subdomainden sunulurken, uygulamada header'da include ettiğim bir js dosyası için
<script type="text/javascript" src="http://mfyz.com/js/main.js"></script>
yerine
<script type="text/javascript" src="http://statik.mfyz.com/js/main.js"></script>
kullanmam yeterli olacaktır.

Gelen giden trafikte cookie'ler gönderilmeyeceğinden ve alınmayacağından transfer boyutları azalacaktır. Bu değişim birkaç dosyada bir anlam taşımayacaktır ama çok dosyada anlamlı olabilir.

Dediğim gibi çok detay bir konu ama yapmasanız da böyle bir faktör olduğunu bilmelisiniz.
SosyalMedya

"Sosyal medya", "Sosyal medya" diyip duruyorlar. Her yer sosyal medya, her yer sosyal medya uzmanı! Bu günlerde, özellikle bu yıl bunu o kadar çok duyuyoruz ki, yazılımın içinde, dışında, kampanyaların içinde dışında, her yerde.

Evet duymak güzel birşey ama sanki salgın gibi gelmeye başladı bana. Hani 2000lerde fln MMOPRG'dan dolayı fln insanlar ölürdü ya, onun gibi. Enfekte içinde ben de varım. Büyük bir vaktimi friendfeed'de geçiriyorum. Tamam belki bazı şeylere, bilgilere, etkinliklere daha yakınım saniyesinde haberdar oluyorum fakat bir yandan gizlilik (privacy) paranoyasını depreştiriyor.

Yani herşeyimizi paylaşmaya başladık.
  • Facebook ve Flickr'da fotograflarımızı,
  • Friendfeed ve twitter'da o an ne yaptığımızı,
  • Google reader'da neleri takip edip neleri okuduÄŸumuzu,
  • Last.fm ve grooveshark'da ne tür müzik dinlediÄŸimizi,
  • Tumblr, soupio, postreous gibi microblogging servislerinde anlık bloglama ile deneyimlerimizi

Paylaştıkça herşeyimizi ortaya seriyoruz. Bazı insanların çok hoşuna gidiyor, ben de rahatsız değilim.

Sanki birşeyler yanlış gidiyor, bir gün biryerlerden patlayacak bunlar, ama ne zaman ve nasıl?

Belki bir gün psikologların literatürüne bir tür bağımlılık, bir rahatsızlık olarak geçecek.