Göktuğ ÖZTÜRK
29Mar/100

window.onhashchange Event

Javascript framework'lerinin ve Ajax ile çalışan dinamik sayfaların sayısı arttıkça adreslerin anchor kullanarak çalışan uygulamaların sayısı artmaya başladı. Bu uygulamalara en büyük örnekler olarak gmail ve facebook verilebilir.

Çoğunuz gmailde gezinirken sadece sayfa adresinin sonundaki # işaretinden sonraki kısımın değiştiğini ve tarayıcının ileri/geri okları ile gezildiğinde sayfanın da buna göre değiştiğini farketmiştir.

4Mar/100

Perfect (Golden) Numbers

Mükemmel (Altın) sayılar dün gittiğim bir iş görüşmesinde karşıma çıkan bir mülakat sorusuydu. Görüşmede, verilen sayı mükemmel sayı ise true, değilse false döndüren bir fonksiyon yazmam istenmişti.

Öncelikle mükemmel sayıların ne olduğundan bahsetmek gerekiyor sanırım. Altın sayılar kendisi haricindeki pozitif bölenlerinin toplamı kendisine eşit olan sayılara denir. Örnek vermek gerekirse 6'nın pozitif bölenlerinin (1,2,3) toplamı yine 6 olduğu için 6 bir altın sayıdır. Aynı şekilde 28'in bölenleri (1,2,4,7,14) toplamı da kendisine eşit olduğundan 28'de bir altın sayıdır. Daha detaylı bilgi için Wikipedia: Perfect Number konusunu inceleyebilirsiniz.

Birçok kişi "çok kolay" 1'den o sayıya kadar döner, tam bölenlerin toplamına bakarız diyecektir. Fakat bu method 999.999 gibi bir sayıyı kontrol ediyorsanız fonksiyona 1 milyon döngü yaptırmanız anlamına geliyor. Ben görüşme esnasında 250.000 döngü ile bu sayıyı doğrulayabilecek bir çözüm sundum.

Aşağıda mülakat sırasında aklıma gelmeyen fakat eve giderken "neden daha önce düşünemedim" dediğim bir altın sayı doğrulama yöntemini sizlerle paylaşmak istiyorum.

Kategori: PHP Okumaya devam et
2Mar/100

Prototype javascript framework’ü için geliştirdiğim radio group eklentisi

Biliyorsunuz ki Prototype genel yapı itibariyle radio group'ların seçili olan değişkenin değerini getirmiyor.
Bu sorunun çözümü dom nesne bütünlüğüne uygun görülmediği için maalesef gelecek sürümlerde eklenecekler arasında bulunmuyor.

Prototype javascript framework'ünün Form.Element.Serializers sınıfını extend eden aşağıdaki kod sayesinde $F() ve $() fonksiyonlarını radio group'ları içinde sorunsuz şekilde kullanabilirsiniz.