Borland Kodlama Standartları

Bu doküman Delphi kod yazma standartlarını anlatmaktadır. Borland tarafından oluşturulan ve birçok Delphi programcısı tarafından benimsenen standartlar. Object Pascal çok güzel dizayn edilmiş bir dildir, bu standartların temel amacı da kodu daha okunabilir kılmaktır. Daha sonra yazdığınız bir koda baktığınız zaman kolayca okuyabilmelisiniz veya birlikte proje geliştirdiğiniz bir takım arkadaşınız kodlarınızı kolayca anlayabilmelidir.

Bu doküman Delphi kod yazma standartlarını anlatmaktadır. Borland tarafından oluşturulan ve birçok Delphi programcısı tarafından benimsenen standartlar. Object Pascal çok güzel dizayn edilmiş bir dildir, bu standartların temel amacı da kodu daha okunabilir kılmaktır. Daha sonra yazdığınız bir koda baktığınız zaman kolayca okuyabilmelisiniz veya birlikte proje geliştirdiğiniz bir takım arkadaşınız kodlarınızı kolayca anlayabilmelidir.
Continue reading “Borland Kodlama Standartları”

Tankado.com’dan haberdar olun

Bir süredir sitenin sağ tarafında, site ile ilgili feedburner anonslarına üye olmak için bir bölüm yer alıyor. Buraya eposta adresinizi yazarak üye olabilirsiniz. Yeni bir içerik eklendiğinde bir kopyası da size gönderiliyor. Böylece sitedeki yeniliklerden anında haberdar olabiliyorsunuz.

Üye olmak için ;

  1. Kutuya adresinizi yazıp katıl düğmesine tıklayın.
  2. Açılacak olan küçük  penceredeki onay kodunu girin.
  3. Birkaç dakika sonra, confirmations@emailenfuego.net adresinden gelecek olan epostadaki bağlantıyı tıklayın.
  4. Artık üyesiniz.

get_string_between: İki ifadenin arasındaki ifadeyi getirmek

Aşağıdaki basit PHP fonksiyonu iki ifade arasında yer alan başka bir string ifadeyi getirmek için kullanılıyor. Dikkat edilirse fonksiyon her zaman doğru çalışmasını strpos fonksiyonunun üçüncü parametresi olan offset ‘e borçlu.

function get_string_between($string, $start, $end){
$string = ” “.$string
;
$ini = strpos($string,$start
);
if (
$ini == 0) return “”
;
$ini += strlen($start
);
$len = strpos($string,$end,$ini) – $ini
;
return
substr($string,$ini,$len
);
}$string = “this [custom] function is useless!!”;
echo
get_string_between($string,“[“,“]”
);
// must return “custom”;Kaynak: http://php.oregonstate.edu/manual/en/ref.strings.php

Adsense Optimized WordPress Themes

Adsense getirisinde reklamların türü, rengi ve yerleşimi önemli bir fark sağlıyor. Sayfa tasarımında gözü ısırmayacak, tam olarak sayfayla bütünleşmiş reklam yerleşimi tıklama oranını ciddi oranda arttırabiliyor. WordPress blog altyapısı olarak en çok tercih edilen scriplerden biri. Bu adreste adsense’in ustaca monte edildiği wordpress temaları yer alıyor.

Reklamlar yerleştirilirken uygulanan ve tıklanma oranını önemli oranda artıran bazı numaralar var. Yatay ve dikey navigasyon menülerine paralel veya menünün devamıymış gibi bağlantı reklamı yerleştirmek. Adsense poliçesinde yasaklanmasına rağmen sütün reklamların üstüne veya hemen yakınına reklamla alakalı izlenimini yaratan ilgi çekici simgeler koymak. Hatta bazen, reklama tıklanmasını telkin eden rica veya emir kipli ifadeler.

Adsense’den getiri sağlayan bir siteye sahip olmanın birçok ön kriteri var. Kişisel fikrime göre, teknik ayrıntıları geçersek bir sitenin hit sağlaması için; öncelikle özgün bir içeriğe sahip olması gerekiyor. Mümkünse belirli bir konuda olmalı. Bu kısım şu yazıda daha iyi anlatılıyor. Sitenin yaşı da önemli. Domain yaşı az olan bir sitenin kısa sürede yüksek ziyaretçi çekmesi pek alışıldık bir durum değil. Site isminin yayılması için uzunca bir süreye ihtiyaç var. Kaliteli bir site, arama sonuçlarında benzerlerinden daha üstlerde listelenir. Kaliteyi sitenin içeriği kadar o siteye diğer kaliteli siteler tarafından verilen bağlantılar da etkiliyor. Kaliteli bir site içi boş ve sıradan bir siteye bağlantı vermez. Teknik detaylarla birlikte arama motorlarının kullandığı yüzlerce bilinen ve bilinmeyen kriter var. Özellikle google bu konuda teşhis yeteneği ve kullandığı yazılımıyla öne çıkıyor. Bilinmeyen kriterleri tahmin etmek için Google’ı indeksleme işini elle yapan gerçek bir insan gibi düşünmek gerekiyor. Yapay zeka tekniklerinin kullanıldığı Google yazılımını anlamanın ve kısa vadede bu anlamdan fayda sağlamanın kolay bir yolu yok. Bugün Google, yazılımını geliştiren ve destekleyen için en az sizin kadar IQ&EQ seviyesine sahip seçkin çalışanlara sahip.

Yazan: Tankado

3B Linux çekirdek animayonu

Üstteki resimler Linux çekirdek kaynak kodlarının 3-boyutlu animasyonuna ait. Kaynak kod bağımlılıklarının hareketli bir animasyonla gösterildiği filmde çekirdeğin ne kadar kompleks olduğunu daha iyi görülebiliyor. Görüntüyü daha iyi anlamak için animayon hakkında şu açıklamaları yapmakta fayda var;

Yeşil kutular dosyaları temsil ediyor.
Yeşil ağaç, işletim sisteminin dizin yapısını temsil ediyor.
Mavi hatlar fonksiyonların bağımlılıklarını,
Kırmızı hatlar değişken bağımlılıklarını,
Sarı parlak kutular dosya boyut değişikliklerini,
Yeşil parlak kutular dizinler arasında taşınmış dosyaları,
Kırmısı parlark kutular yeni dosyaları temsil ediyor.

Animasyonlar:
http://www.pabr.org/kernel3d/245.mpg (384×288, 2000 frames)
http://www.pabr.org/kernel3d/120-241.mpg (384×288, 1400 frames)
http://www.pabr.org/kernel3d/120-241s.mpg (320×240, 1200 frames, low motion)

Kaynak: http://www.pabr.org/kernel3d/kernel3d.html

MySQL: INSERT DELAYED

MySQL’in birdiğer güzel özelliği de Insert delayed. Burada yazdığına göre; Insert delayed, bir insert sorgusunun tamamlanmasını beklemeye gerek bırakmıyor. Genellikle log’lama uygulamalarında diğer select ve update sorgularından oluşan iş akışını duraksatmamasından dolayı kullanılan bir MySQL özelliği. Insert delayed ile insert sorguları, tablonun uygun olduğu bir anda eklenmek üzere belleğe alınır.

Başka bir güzel özelliğide birçok istemciden gelen insert delayed isteklerinin topluca tabloya yazılması. Bu birçok bağımsız insert’den daha hızlı gerçekleşir.

Tablo kullanımda olmasa bile, insert delayed normal insert’den daha yavaştır. Sunucu insert delayed ‘lerin işlem yaptığı tablolarda kuyruk oluşturmak ve uygun zamanı kollamak için bir miktar işlem gücü sarfeder.

Related Blogs

Bir robots.txt numarası

Hemen hemen tüm arama motorları, robots.txt dosyasının ana dizinde olup olmadığına bakar. Robots.txt ile arama motorunun siteniz içinde nasıl hareket edeceğini bildiren yönergeler tanımlarsınız. Bunlar hangi dizinlerin arama indeksine dahil edileceği/edilmeyeceği, hangi arama motorunun sitenizi ne zaman veya ne sıklıkla ziyaret etmesi gerektiği (çünkü bazen arama motorları site trafiğinizin en yoğun olduğu zamanlarda daha da yük getirebiliyor) gibi yönergeler olabilir.

Robots.txt nin başka bir özelliği de “Sitemaps auto discovery” . Sitenizde bir sitemap sayfası yer alıyorsa, motorun sitenizi daha iyi indekslemesi için sitemap adresini de belirtebilirsiniz. Bunun yanında genellikle sitemaps adresleri arama motorunun kayıt sayfasından elle eklenir. Bu iş için robots.txt dosyasından yararlanmak oldukça kullanışlı.

Örnek robots.txt dosyanızın içeriği şöyle olabilir:


sitemap: http://www.example.com/sitemap.xml.gz


Sitemap özelliği Google, Yahoo!, MSN ve Ask gibi büyük arama motorları tarafından destekleniyor.

Script çalışırken çıktı vermek

Bir PHP script’inin çıktısı script’in çalışması tamamlandıktan sonra gönderilir. Scrip çalışmaya devam ederken sayfada/ekranda bir çıktı gözükmez. Script’in oluşturduğu tüm çıktılar Output Buffer (ob) adı verilen tamponda tutulur. Programcı isterse bu tamponu ob_ fonksiyonlarıyla kontrol edebilir. Tampondaki içeriği istenildiği anda çıktı vermek için için ob_flush() komutu kullanılabilir. ob_flush cağrıldığında o ana kadar çıktı tamponuna biriktirilen tüm içerik tarayıcıya bir header yardımıyla gönderilir ve görüntülenmiş olur.

Çıktının zamanlamasını ayarlayarak göze hoş gözüken sayfa yüklemeleri elde edilebilir. Yine ob_flush ile uzun bir işlemi yerine getiren script’in, kullanıcıyı  o anda yağtığı iş hakkında bilgilendirmesi için faydalıdır. Gerektiğinde bu özellik kullanılırsa ziyaretçinin sayfa izleme kalitesi artacaktır.

Aşağıdaki kodda  ob_imlicit_flush komutunun kullanımına örnek yer alıyor. Bu komut çıktı tamponunu devre dışı bırakır ve echo gibi her çıktı komutunun ardından çıktının anında tarayıcıya gönderilmesini sağlar. Aşağıdaki kodun çalışan halini buraya tıklayarak izleyebilirsiniz.

Dikkat edilmesi gereken bir nokta, ob_flush komutundan hemen sonra flush() komutunun da kullanılması gerektiğidir.

<?php
ob_implicit_flush(true);
for($i=0; $i<8; $i++)
{
  echo "<span style='width:8px; height:8px; background:blue'></span>&nbsp;";    
  for($k = 0; $k < 10000; $k++)  echo ' ';
}
?>