Murphy Kuralı: "Bir olayda kötü gidebilecek dört ihtimal sezersen, ve bunları atlatırsan, beşinci bir ihtimal, sen hazırlıksızken gelişebilir."

PHP Hata Arama/Kontrol Listesi

2000 senesinde Michael M. Krznaric php temellerini anlattığı dokümanın sonunda bir liste vermiş, söylediğine göre mail listelerine gönderilen sorulardan derlemiş, doküman basit temel şeyleri anlatıyor fakat bu sondaki listeyi çevireyim istedim, hataların nerelerde olabileceğini, ne kadar iyi bilirseniz o kadar rahat edersiniz.

Şahsi bir giriş notu, eğer bulamıyorsanız, biraz dinlenin, sonra bir arkadaşınızı çağırın, kodu anlatın, anlatırken büyük ihtimal bulabileceksiniz…

Parantez içlerindekiler benim notlarım, belge 2000 senesinde yazılmış, artık çoğu şeyi editörler yapabiliyor.

  • (),[] and {} ayraçlarını kontrol edin.
  • “” içindeki “‘ları kontrol edin, “‘lar \ ile kaçılmazsa çalışmaz.
  • Fonksiyon adları gibi ayrılmış kelimeleri kontrol edin, myslq_num_rows() çalışmaz mysql_num_rows() çalışır. (Editörler yapabiliyor)
  • Yazdığınız kodun sözdizimini www.php.net/manual ya da lokal manual dokümanlarınızdan kontrol edin. (Editörler yapabiliyor)
  • Eğer fonksiyon içinde global değişkenler kullanırsanız global deyimini kullanın, (Global kullanımını hiç tavsiye etmem)
  • setCookie() fonksiyonu kullanıyorsanız, fonksiyonu çağırmadan önce herhangi bir output vermediğinizden emin olun.include/require edilen dosyalarda <? or <?php açılış etiketlerinden önce/sonra boşluk olmadığını kontrol edin.
  • Eğer SQL sorgunuz başarısız olursa, onu print edip, sözdizimini kontrol edin.
  • Eğer SQL sözdizimini doğru görünüyorsa, komut satırı, phpmyadmin veya herhangi bir db query aracı ile çalıştırın.
  • Eğer halen çalışmıyorsa, db kullanıcısının doğru yetkilere sahip olduğunu kontrol edin.
  • Eğer bir fonksiyonun yeniden tanımlanamamasi ile ilgili bir hata alıyorsanız, dosyanız 2 kez include ediliyordur. include_once() kullanmayı deneyin (Ç.N. include_once’ın performansı normal include’dan düşüktür, includelarınızı kontrol edip düzene sokmanız daha iyi olur).
  • PHP değişken isimlerinde büyüklük duyarlıdır, yani $Foo ile $FOO ayni değişken değildir (Ç.N:Fonksiyon isimleri tarihsel nedenlerle büyüklük duyarlı değildir).
  • Sınıf metod ve özelliklerine $this->$foo() ve $this->$variable şeklinde erişilmez. $this->foo() ve $this->variable şeklindedir. (bunu yazan eleman dinamik değişken kullanırsa çalışır)
  • İşin içinden çıkamıyorsanız, forumlarda, mail, irc listelerinde çözüm arayın. Soru sorarken olabildiğince fazla bilgi vermeye çalışın, yapmak istediğiniz şeyleri, o zamana kadar yaptıklarınızı, takıldığınız bölümleri ne kadar iyi anlatırsanız yanıt alma ihtimaliniz o kadar artar, bir de lütfen “Acil yardım, help me” türü mesajlar atmayın, pek hoş karşılanmaz, eğer işiniz o kadar acil ve önemli ise bu işi bilen birileri ile çalışın.

Garanti Bankasında Havale Ücreti Ödememek

Garanti internet şubesini kullanıyorsanız, havale ve eft için ücret ödemeyebilirsiniz, nasıl olduğunu buradan paylaşmak istemiyorum, Google’da arama yaparak bulabilirsiniz, zaten bu bilgiler piyasaya düştüğüne göre Garanti gibi uyanık bir firma yakında buna önlem alacaktır…

Arka kapı bulmak konusunda sınır tanımayan bir millete mensup olduğum için gurur duydum. Aynı zamanda utandım, fakat işlemlerimizi tamamen kendimiz yapıyorken yine de bizi düdüklemeleri, (alacaksan al yine de, miktara biraz dikkat et, her işlemde bunun masrafı 2 TL’midir?) yüzünden suçluluk duymadım.

Karışık duygular içindeyim anneciğim…

10 Az Bilinen İşletim Sistemi

four-operating-systems

Zamanında windows üzerinden çalışan bir BeOS ile karşılaşmıştım fakat fazla kullanamamıştım, ikonlarının güzelliği halen aklımdan çıkmış değil BeOS’un.

Qnx diye de tek disketlik bir işletim sistemi karşısında ağzım açık kalmıştı, bu Qnx tek diskete sığıyordu, üzerinde görsel yazılımları vardı, ayar falan yapmadan internete çıkabiliyordunuz…

(daha fazla…)

CD’den çalışan Apache, MySQL, PHP

Zaman zaman cd’den çalışan Apache, MySQL ve PHP’ye ihtiyaç duyabilirsiniz, demolar için ya da müşterinin web sitesine cd’den bakması için.

Bu yazılım gerekli ayarları yaparak bu üçlünün cd’den çalışmasını sağlıyor. Aslında herhangi birisi config dosyaları ile uğraşarak bunu yapabilir, bütün yapması gereken bu yazılımların çalışması için yazması gereken bazı dosyaları, loglar gibi, ayarlamak.

wmstcd

http://www.wmcreation.it/?action=wmstcd

Dell Optiplex GX270

Eski yedekleri aldığım bilgisayarım açılışta kendini kapatıyor, yeniden açmaya çalıştığımda “Previous shutdown due to thermal event” mesajını veriyor, başarılı bir şekilde açılırsa sorun yok çalışmaya devam ediyor.

Netde biraz aradım, Dell bu seride(Optiplex GX270) hatalı üretim kondansatör kullanmış ondan kaynaklanıyormuş. Anakart üzerindeki bu hatalı kondansatörleri değiştirmek gerekiyormuş.

Zamanında bu kondansatörlerden kullanan bazı firmalar, kondansatörlerin hatalı olduğu öğrenilince, değiştirmek için geri almış fakat Dell böyle bir uygulamaya gitmemiş. Ne haliniz varsa görün yani…, bu kondansatör olayında garanti süresi içinde arıza yaparsa şanlısınız, yoksa (garanti süresi biteli 3 yıl oldu şansa bak) paralarınız teknik servise doğru yola çıkacak.

Büyük firmadan bir sürü para sayarak aldım, sağlamdır, kalitelidir şeklindeki düşünce şeklinin yanlışlığını da öğrenmiş oldum. Zaman kötü kolla…

İlgili ayrıntılar için.
http://en.wikipedia.org/wiki/Capacitor_plague
http://forum.darkhardware.com/viewtopic.php?f=3&t=135461&st=0&sk=t&sd=a
http://www.badcaps.net/pages.php?vid=4

Arz ederim…

PHP5 autoload

PHP4′de ya bütün kullandığımız dış class dosyalarını o an kullanmasak bile çalışan betik içine include ile ekliyorduk, ya da kullandığımız yerde bu eklemeyi yapıyorduk, açıkçası ben kullandığım yerlerde tek tek eklememek için init.php gibi bir dosya içine yazıyordum hepsini ve bu dosyayı çalışan dosyaya ekliyordum.

Bu eklemeler azda olsa çalışmasını yavaşlatır ve fazladan cpu, bellek yer diye düşünmüş olacaklar ki, PHP5′de autoload mekanizması koymuşlar(günaydın), bu mekanızma ile eğer kullanılan class eklenmediyse include_path içinde o isimde bir class var mı diye bakıyor, varsa ekliyor.

Yapılmışı var

Hazır yönetim paneli teması alır mıydınız? Cem Yılmaz’ın oyunundaki gibi, yapılmışı var…

Gerçekten güzeller, yapanların eline sağlık.

bloganje

Kaynak: http://www.mostinspired.com/blog/2008/10/11/admin-templates/

Quickform

Quickform değerlerinin form iletildiğinde aynı sayfayı gösteriyorsanız, form elemanlarının dolu gelmesi gibi bir problemi var. Aynı sayfayı gösterme olayı da, devam eden veri girişleri için gerekli.

Quickform form değerlerini boşaltmak için bir metod sunmuyor. O kadar çok metod sunuyorki bunu yazmak çocuk oyuncağı zaten :), bu fonksiyonu extends ettiğiniz class’a eklersiniz, çağırdığınızda rahatça formun $default değerlerine geri dönebilirsiniz.

  function resetDefaults($defaults) {
    if (is_array($defaults)) {
      foreach($defaults as $name=>$value) {
        if ($this->elementExists($name)) {
            $element =& $this->getElement($name);
            if (!PEAR::isError($element)) {
              $element->setValue($value);
            }
        }
      }
    }
  }

umarım birilerinin işine yarar…

Linux Sistem Yöneticileri

Linux sistem yöneticilerinin ekranlarına baktığınızda, simsiyah ekranlar görürsünüz, bütün gün o siyah ekran karşısında zannedersiniz onları…

Gerçek ise bambaşkadır, sistemlerini o kadar çok sever ve kıskanırlar ki, kimse ile paylaşmak istemezler…

Ayrıca konsolun yerini ve gücünü hiçbir grafik ekran tutmaz/tutamaz.

http://www.linuxhaxor.net/2008/10/10/10-finger-licking-linux-desktopthemes/

Microsoft Reader Nerede?

Microsoft internet sitesinde reader download linkleri çalışmıyor, download.com’da da bulamadım, kendi arama motoru live search’in verdiği link dahi çalışmıyor, web sitesinin /reader/ klasörü uçmuş gibi.

Tedbir olsun diye sakladığım yazılım cdlerinin içinden eski bir sürüm buldum. Kırk yılda bir kitap okuyacağız onu da okutmadın microsoft…

« Önceki Yazılar  

Takvim

Temmuz 2009
Pts Sal Çar Per Cum Cts Paz
« Nis    
 12345
6789101112
13141516171819
20212223242526
2728293031