Archive for June 2008

Jun 13

CakePHP

1 comment - Post a comment

Haziran başında CakePHP 1.2 RC1 çıkmıştı. Yeni versiyonda dokümantasyonu da oldukça toparlamışlar. CakePHP’yi ilk denediğimde birşeyler yakalayabilmek için epey aranmak gerekiyordu.

Özellikle “Common tasks” kısmı çok başarılı olmuş zira framework’lerle oynarken birşeyler kapıyorsunuz yine ama iş uygulamaya gelince insan aptallaşıp kalıyor.

Otomatikleştirme ve pratiklik konusunda CakePHP Rails’e iyice yaklaşmış ama debugger’da kodu incelemeye başladım az önce, insanın kullanası gelmiyor wallahi. CakePHP’nin yavaş olduğunu duymuştum, bu kodun yavaş olmasına hiç şaşırmadım.

Zend Framework’ü ise çalışır hale getirmek bir eziyet, çalışır hale getirdikten sonra da etkin olarak kullanmak için yine üzerinde epey bir çalışmak lazım.

Ruby on Rails’in hayranıyım halen ama ne yazık ki gerçek hayatta Rails’i kullanmak hiç akıllıca değil: Toplum desteği (community support) zayıf, işe almak için yazılımcı bulmak zor, ileri seviye çözümler gerektiğinde ve yüksek yük altında Rails’in ölçeklendirmesiyle uğraşmak getirdiği avantajları geri götürüyor. Bazen şüpheleniyorum, Signal37 hakkaten KISS (Keep it Simple Stupid) felsefesinden mi yoksa işi karmaşıklaştırmamak için mi özellikleri kısıyor…

Zend Framework on Rails isterim!!!

Bir web projesinin yedekleme prosedürü en sıkıcı işlerden biridir. Muhtemelen hayatınız boyunca hiç ihtiyacınız olmayan birşey için bir sürü uğraşmanız gerekir.

Yedek alma işlemi öyle ya da böyle sistemlere yük bindirir, yedeğin doğru çalıştığını kontrol etmek vakit alır, yedeklerin kapladığı yer ve transferi sorundur ayrıca felaketlere karşı tam koruma için farklı sunucularda, farklı medyalarda ve hatta farklı şehirlerde kopyalarının bulunması gerekir…

…ve bütün bunları organize etmek onca yetişmesi gereken iş arasında çok değerli vaktimizi alır…

O yüzden özellikle biz Türklerin en çok ihmal ettiği konulardan biri… Aynı emniyet kemerini koltuğa bağlayıp üstüne oturmak, doğalgaz kaçağını çakmakla kontrol etmek, 150km/s’le öndeki arabayı 10 metreden takip etmek gibi…

Konu nerden geldi aklıma?

National Geographic’te şu uçak kazalarını araştıran bugünkü programda bir Türk firmasını işlemişler ismini kaçırdım. Özetle uçağın hız ve irtifa bilgilerini ölçen cihazlardan birinde bir hata meydana geliyor ve uçak çok yavaş gittiği halde göstergelerden biri hızlı gittiğini söylediği için pilot şaşırıp uçağın kontrolünü kaybediyor…

Kalkış sırasında hız göstergelerinden biri artarken diğeri düşüyor ama pilot uçuşu iptal etmiyor. Uzmanlar nedenini çok bilimsel bir şekilde araştırıp bulamamış ama ben biliyorum galiba:

- “Bişey olmaz kaç yıllık gaptan pilotuz şurda”

Uçak hatalı ölçümlerden dolayı arıza veriyor ve bizimkiler çözümü hemen üretiyolar:

- “Sigortaları çıkarıp geri takın!”

Tabii arıza sinyalleri kesiliyo sigorta çıkarılıp takılınca…

Dümen bozulsaydı da kağıt sıkıştıracaklardı heralde…

Türkiye’deki arızaların %90′ı kağıt sıkıştırılarak çözülürmüş ya…

Sonuç

Artizlik yaptığıma bakmayın bir kere yedek almaya üşendiğim, bir kere de aldığım yedekleri kontrol etmediğim için başım yandı.
Bir kere de hosting firmasında yangın var haberi aldığımda kafamdan aşağı kaynar sular dökülmüştü zira yedekleme sunucusu da oradaydı ama allahtan hatalı istihbaratmış…

Türküz ama bize bişeyler olup olup duruyo sadece kadere kısmete bağlamaya alışmışız…

Zend Framework‘ün dokümanlarını okuyarak hızlı bir başlangıç yapmanız (quickstart) neredeyse imkansız. Bu nedenle Zend Framework’e başlamak isteyenler için örnek bir proje hazırlamaya karar verdim.

Hazırladığım sıkıştırılmış dosyayı açıp web sunucusu ayarlarında yaptıktan sonra çalışan, basit bir örneğe sahip olacaksınız. Kodlar bir sürü yorumumla dolu, dolayısıyla kodları okuyarak birçok şeyi anlayabilirsiniz.

Baştan şunu belirtmeliyim ki Zend Framework bana göre kesinlikle acemiler için bir framework değil. Otomasyon özellikleri de çok zayıf. Eğer Ruby on Rails (RoR) ayarında bir framework arıyorsanız CakePHP ya da CodeIgniter‘ı (CI) takip etmelisiniz.

Zend Framework’ün avantajı tamamen bağımsız kullanılabilen modülleri sayesinde kendi kurallarını koymak isteyen ustalar için sağlam ve hızlı bir altyapı sunması. Dolayısıyla ZF kullanılarak Rails, CI ya da CakePHP ayarında bir alt-framework yaratılabilir.

Örnek Zend Framework Projesi

zf_ornek_proje.zip 18 kB (ZF ayrıca indirilip lib altına konmalı)
zf_ornek_proje_full.zip 3.05 MB (ZF 1.5.2 içerir)

» Read more after the jump →