Archive for May, 2011

isteyenin bir yüzü :)

Posted: 30.05.2011 in Uncategorized

Evet, gün benim için heyecanlı başladı. Erkenden kalktım bi acelem varmış gibi. (Akşam 5 te gidecektik de .. )

Efendime söyliyim hazırlandım, ettim, sonra baktım vakit daha çok erken, dedim biraz kod yazim kafam dağılsın…

Sonra vakit geldi ablamlar geldi falan evden çıktık.
Gittik çukulatamızı çiçeğimizi yaptırdık.
Efendime söyliyim, sonra yola çıktık 2 araba. Öndeki araçtaki navigasyon aleti sayesinde girmediğimiz delik kalmadı zeytinburnu civarında.. Bir de kaza atlattık bu arada.

Sonra birazcık geç kalsak da gittik babamın heyecanı benden çoktu anladığım kadarıyla. Yine de Bizleri çok güzel ağırladılar, misafir ettiler. Allahın emriyle peygamberin kavliyle istedi babam aycanı bana 🙂
Aycanın babası da (anladığım kadarıyla formalite icabı 🙂 ) düşüneceklerini felan söyledi.

Kahvelerimiz de çok güzeldi (tuzsuz bal gibi 🙂 ) .. Yemeklerimiz de çok güzeldi.. Döktürmüşler resmen.. Bir sürü zahmet verdik onlara… Ellerine kollarına sağlık tekrardan…
Biz de 2 hafta sonra bekliyoruz onları bize. İnşallah aynı şekilde ağırlayabiliriz onları.

Allah’ın izniyle de alıcam aycanımı, ömrümün sonuna kadar hep en güzel şekilde bakıcam 🙂

çalıştığm bir projede 2 kişi olarak, cache mantığının nasıl çalışması üzerine araştırmalar yapıyorduk.

Derken bu php classını yazıverdim.

http://sourceforge.net/projects/emcache/

Genel olarak bu class, diğer cachelerdeki gibi herhangi bir dosyaya serialize edip yazmıyor. Bu cache’in mantığı bir php dosyası oluşturup, sanki kodu elle yazmış gibi, kodu oraya kendisinin yazması. Böylece Object olmayan tipler için serialize-unserialize maliyetinden de kurtarılmış olunuyor.

Birkaç değişkeni bir grupta toplayıp, cache dosyası sayısındaki artıştan, ve gruplamanın getirilerinden faydalanılabilir.

2-3 tane arrayiniz var ise ve bunlar çalışan kodunuzda genel olarak hep aynı anda çağrılması (oluşturulması) gerekiyorsa, burada grup özellikleri işinizi kolaylaştıracaktır. Kullanım olarak da çok bir farkı yoktur.

Genel olarak

$emc = new EmCache(“path_to_my_cache_directory”);

//simple caching

if(!$var = $emc->load(“name_of_my_data”)){

$emc->save($var,”name_of_my_data”);

}

//group caching

$commit=false;

if(!$var2 = $emc->loadFromGroup(“name_of_my_data”)){

$emc->collect($var2,”name_of_my_data”);

$commit=true;

}

if(!$var3 = $emc->loadFromGroup(“another_name_of_my_data”)){

$emc->collect($var3,”another_name_of_my_data”);

$commit=true;

}

if($commit){

$emc->commitGroup();

}