Spiga

10 madde ile blog sitelerinden gelir elde etmek



Google'ın başlattığı kökten yenilikler arama ile sınırlı kalmadı. İnternetteki potansiyelin nakite çevrilmesi konusunda ve dolayısı ile reklam metodları alanında hem büyük değişiklikler yaptı hem de bu değişikliklerle pazardaki en büyük paya sahip oldu.

Şüphesiz ki kurumsal bazda içerik üreten siteler reklam çözümlerini ajanslara havale etmiş oldukları için bu yazımız içeriğini kendi üreten blog sitesi sahiplerine hitap edecektir. Liste kolaydan zora doğru sıralanmaktadır. Fakat kazanç miktarının listeye doğru orantılı olmayacağını söylemek gerekir.

1- Google Adsense

En popüler ve en kolay yöntem olarak Google Adsense uygulamasını ilk sıraya koyabiliriz. Blog sahibi başvuru sonrası kabul edilen sitelere Adsense kodları konularak kazanmaya başlayabilir. İçerik bazlı reklam metodu olarak anıldığı için, içeriğe göre farklı tıklama başı ücretler söz konusudur. Örneğin flash oyun sitesinde alınan tıklamaların değeri ile bir finans sitesinde alınacak tık başı ücret aynı olmayacaktır.

2- Reklam alanı satışları

Ağırlıklı olarak hit ile orantılı bir satış yöntemi olsada aracı firmalara (Affiliate Network) üye olarak her düzeyde blog'a reklam yerleştirilebilir. En yaygın yöntemi banner reklamdır. Ayrıca Google Adsense dışında kalan lokal oyuncularıda bu alan koyabiliriz. Her ne kadar içerik bazlı oldukları söylensede reklamveren pörtföyleri geniş olmadığı için isteselerde içerik bazlı reklam sunamayacaklardır. Banner reklamlarını blog sahibi kendiside satışa çıkarabilir. Wordpress kullanan blogger'lar için birçok plugin mevcuttur. Blogger'da ise yerleşim bölümünden Gadget ekle linkini takip ederek en basit şekilde çözebilirler. Link satışlarıda bu kategoriye dahildir.

3- Dijital ürünler

Dijital ürünler yelpazesi geniş bir alandır. Fiziksel olarak satılamayan herşeyi bu alana dahil edebiliriz. Temalar, scriptler, tasarımlar, ipuçları gibi kendi ürettiğiniz yada satış yetkisi aldığınız diğer ürünler.. Ayrıca içerik yada metod olarak blogger sahibinin insiyatifine kalmış bir kategoriye girsede, kontör ve kontör bazlı abonelik/download servisi sunan şirketlere üye olup bu ürünlerin satışına/aboneliğine aracılık ederek komisyon bazlı para kazanabilirsiniz.

4- Sponsorluk

Özellikle son dönemde her alanda artan rekabet sonucu şirketler popüler blog sayfalarına sponsor oluyorlar. Hosting sponsorluğu, kategori sponsorluğu ile açılan yelpaze tanıtım yazısı gibi spesifik yöntemleri de içine alarak genişliyor.

5- Fiziksel ürünler

Daha çok blog sahibi bayanların gerçekleştirdiği yöntem olarak tanımlayabiliriz. Ayrıca kendi yaptığınız her türlü ürünü tanıtarak bu alanda para kazanabilirsiniz. Örnekle pekiştirmek gerekirse, İtalya'ya evlenen bir arkadaşım boncuk işlerini Türkiyedeki ziyaretçilerine satıyor. Bursadaki bir blogger arkadaşım ise amatör grupların CD'lerini internet üzerinden talep gelen yerlere gönderiyor. Ayrıca girişimci ruha sahip blogger'lar içeriklerine uygun ürünler satan küçük işletmelerle anlaşarak bu kategoride para kazanmaya başlayabilirler.

6- Tavsiye sistemleri
Yurtiçi ve yurtdışında birçok firma servislerini yada ürünlerini pazarlama konusunda tavsiye sistemini kullanıyor. Örneğin son dönemde Hostgator'un aktif olarak kullandığı kazanç sistemini inceleyebilirsiniz. Tatilvitrini'nin tavsiye sistemini de bu bağlamda kullanabilirsiniz.

7- Üyelik
Eğer insanların talep edeceği tarzda bir servisiniz yada içeriğiniz varsa bunu ücretli olarak sunabilirsiniz. "Üyelere Özel" bir alan oluşturmak Wordpress kullanıcıları için zor değil. Blogger'da ise genele açık blogda ziyaretçi edinip, kendinizi ve blogunuzu yazıp, ücretli içeriğinizi tanıtabilirsiniz. Ücretli içerik ise ikinci bir blogda tutularak erişim izni ile giriş sağlanır.

8- Hizmet Satışı
Veri girmekten tercümeye, Link değişimi takibinden ücretli yorum eklemeye kadar gayet amatör ruhla yapılan işler olduğu gibi SEO danışmanlığı gibi deneyim gerektiren konularda da hizmet yada servis ücret mukabili verilebilir.

Alt kategorilere inildikçe seçenekler artacaktır. Blogunuzda içeriğe önem verin. Yeni bloglarda yorum sıkıntısı olacaktır. Bu sıkıntıyı blogunuzu güncel tutmakla aşabilirsiniz. İçeriğiniz özgün olması kazançlarınızın artması konusunda önemli etkenlerden biri olduğunuda unutmamalı


Yazının Devamı..

İyinet.com satışı gerçekleşti


İyinet.com satışı erken sayılabilecek bir süreçte sonlandırıldı. Satış ilanının açıklandığı ilk bildiride son teklif tarihi 15 Şubat 2010 olarak bildirilmişti. Takip eden günlerde teklifler için son gün 17 Ocak 2010 olduğu açıklandı. Daha önce iki kez satışa çıkan iyinet.com bu kez satıldı.

Satış ile ilgili başlıkta, fiyat ve satışa dahil olan başlıklar şöyle sıralanmıştı;

Satış başlangıç değeri: 5.000 USD
Hemen al değeri: 30.000 USD

Satışa dahil ürünler:

- iyi.net domain
- iyinet.com domain
- forum.iyinet.com iyinet webmaster forumu veritabanı ve kullanılmakta olan vbulletin yazılımı.
- vbulletin 4.0 yazılımı (kurulu değildir)


Buna karşın iyinet.com'un rakiplerine karşı en büyük avantajı olan tracker sistemi ise satış dışında kalmıştı. Yapılan teklifler sonucu site $8000 bedel ile yeni sahibini buldu. Bu fiyatın üstünde de teklif gelmişti. Tartışmalara neden olsa da, sonuç değişmedi.

Böylelikle 2010 yılının ilk ayı içinde iki webmaster forumu el değiştirmiş oldu. Satışın yankıları ve iyinet.com'un bundan sonraki durumunu ise zaman gösterecek.

Yazının Devamı..

Fuub.net el değiştirdi


Son bir yıldır Turkwm.com'u takip ediyorum. Ve bu dönemde web camiası ile ilgili çeşitli satış haberlerine şahit olmuştum. Bunlardan iki tanesini de ben kaleme alacağım.

Turkwm.com'u ilk keşfettiğimde iyinet.com'un satış başlığını okumuştum. O dönemden beri satış süreçleri ya düşük teklifler yüzünden yarıda kaldı, yada teklif sahiplerinin ödeme sorunları yüzünden tamamlanamadı.

Fuub.net isimli siteye üye değilim fakat satışla ilgili haberleri alınca üye olup konuyla ilgili yazıları okudum. Fuub.net eski sahibinin veda yazısı'nda görüldüğü üzere yeni sahibine devredilmiş.
Diğer bir satış haberi de iyinet.com cephesinde devam ediyor. Satış başlığı'nda teklifler alınmaya başlanmış. Bu kez satış tamamlanacak gibi görünüyor.

Birkaç yıl öncesine kadar webmaster forumlarında bilgi ve ipuçları aranıyordu. Bu yüzden en çok bilgi ve ipucu üreten forumlar, en popüler forum olma şansını yakalıyordu. Fakat artan webmaster sayısı ve gizli kalmış bilgilerin azlığı sebebiyle webmaster forumları artık reklam/ticaret ağı olarak işliyor. Bu bağlamda reklam ve ticaret akışını artıran forumlar bugünün ve geleceğin popüler forumları olacaktır. El değiştiren ve hali hazırda yayına devam eden webmaster forumlarının yöneticileri bunu göz ardı etmemelidirler.

Yazının Devamı..

SEO: Sıralamanıza etki edecek 3 tavsiye

Her alanda olduğu gibi internetde de planlı hareket etmek hem zamandan hemde ekonomik açıdan yararlı olacaktır. Aşağıdaki 3 başlık bir site yayın hayatına başlamadan önce arama motorlarında başarı için planlayacağınız stratejilere yardımcı olacak maddelerdir.

1-) Anahtar kelime araştırması:

Siteniz hangi alanda faaliyet gösterecekse ilgili anahtar kelimeleri etraflıca listeleyin. Rekabetin yoğun olduğu "jenerik" anahtar kelimeler için bilinçli yada bilinçsiz bir çok kişi olduğunu düşünürsek, alternatif kelimeleri seçerek sitenizin kısa vade hedeflerini oluşturabilirsiniz.

2-) Doğru domain, doğru yazılım:

İlk madde de kısa vadede sitenizin arama motorlarında yer edinmesi için alternatif anahtar kelimeleri önermiştim. Domain seçiminde ise rekabetin yoğun olduğu asıl kelimeyi almanız size avantaj sağlayacaktır. Yan kelimeler için yaptığınız tüm çalışmalar dolaylıda olsa domain isminden ötürü hedef kelimede de fayda sağlayacaktır.

Ve yazılım. Web uygulamaları yazma konusunda (Asp,php,python..vs)tecrübeli iseniz, CSS'de kullanilan class isimlerinden, html'deki "name" ve "alt" parametlerine kadar bir çok kullanıcı tarafında yer alan ayrıntıya dikkat ederek yazacağınız scriptinizle bir adım önde başlayabilirsiniz. Fakat hazır uygulamaları kullanacaksanız Wordpress'i seçmenizi öneririm. Tema seçiminde ise yaygın olmayan temalardan birini kullanın. Bugün birçok hosting firmasında tek tıklama ile wordpress kurulması mümkün olduğu için hemen içerik kısmına geçebilirsiniz.

3-) Özgün içerik, Anahtar kelime yoğunluğu:

Forumlarda bolca geçen bir klişedir.. "Özgün içerik!
Aslında en gerekli konu başlığı olan özgün içerik'i yanlış değerlendiren ve hatta değerlendirmeyenlerin başarısızlık hikayeleri ile doludur forumlar. İlk madde de planlamasını yaptığınız alternatif anahtar kelimeleri, ikinci maddede domain alırken kullandığınız asıl hedef kelimeyi içeriğinizde kullanmadığınız sürece içeriğiniz özgün olsa da emeğinizin hakettiği yere asla gelemezsiniz. Planlı çalışmanın gereği burda ortaya çıkıyor. Hedeflediğiniz kelimeleri içeriğinizde kullanmaya özen gösterin.

Yazının Devamı..

Turkwm.com Domain Ücretleri


Turkwm.com'da aktif durumda olan indirimli domain ücretleri;

.MOBI uzantısı
Ücret: $6.99
Bitiş tarihi: 26 Şubat 2010
Minimum 3 yıllık alımlarda geçerlidir.

.IN uzantısı
Ücret: $1.89
Bitiş tarihi: 29 Ocak 2010
Minimum 1 yıllık alımlarda geçerlidir.

.BIZ uzantısı
Ücret: $3.99
Bitiş tarihi: 12 Şubat 2010
Minimum 1 yıllık alımlarda geçerlidir.

.TV uzantısı
Ücret: $19.99
Bitiş tarihi: 30 Mart 2010
Minimum 1 yıllık alımlarda geçerlidir.

.INFO uzantısı
Ücret: $5.99
Bitiş tarihi: 29 Haziran 2010
Minimum 1 yıllık alımlarda geçerlidir.

.ME uzantısı
Ücret: $14.99
Bitiş tarihi: 30 Mart 2010
Minimum 1 yıllık alımlarda geçerlidir.

Tüm domain alımlarında Dns yönetim servisi, mail yönlendirme servisi ve whois gizleme servisi ücretsiz olarak gelmektedir.


Web hosting taleplerini de değerlendiriyoruz. Ortak özellikler;
- Amerika lokasyonu
- Anlık, günlük ve haftalık yedekleme hizmeti
- 7 aşamalı güvenlik yapısı
- PHP5, Perl, Python, Ruby desteği (Linux hostingler için)
- .NET and ASP Support (Windows hostingler için)
- Tek tıkla kurulabilen hazır yazılımlar
- Virus koruması

Ayrıntılı bilgi almak için yonetim@turkwm.com adresini kullanabilirsiniz.


Yazının Devamı..

Prosedurel ve Nesne yönelimli programlama

Zend ekibinin etkileri php üzerinde hissedilmeye başlandıktan sonra nesne yönelimli programlamanın nimetleri yavaş yavaş php'de kullanılmaya başlandı. Bu aşamadan sonra yenilikçiler ve gelenekçiler şeklinde iki güruh oluştu. Özellikle sektörün popülist ortamları olan forumlarda sık sık kutuplaşmalar yaşandı.

Aslında şahıs siteleri yahut hiti makul seviyedeki web projeleri için illede oop(nesne yönelimli programlama) dahilin kod yazmak gerekmeyebilir. Inovasyon, planlama, kod yazım standartları, uyarlama gibi kavramlar daha çok ekip halinde çalışılan kurumsal projelerde önem kazanıyor. Tıpkı önbellek uygulamalarında olduğu gibi ihtiyaca göre seçim yapılabilir.

Sitenizde anlık 100 kişi vardır. xcache + fiziksel cache kullanabilirsiniz. Fakat memcached uyumlu kod yazarak yazıp cache işlemini ram'de de yapabilirsiniz. Kimse size neden? sorusunu sormaz. Fakat anlık binlerce kullanıcınız varsa sql'i rahatlatmak için kullandığınız fiziksel cache çözümleri diskinizi (I/O,bozulmalar) zora sokabilir. O aşama memcached ve türevi çözümler zaruret olacaktır.

Gelelim bu yazının sebebine;

Friendfeed ve bazı forumlarda oop bakış açısını yeni yeni kazandığı belli olan bazı görmemiş arkadaşların bilmişlik tasladıklarına şahit oldum. Zaman içinde tecrübe kazandıklarında yazdıkları mesajları okuyup kendilerini ne kadar komik duruma düşürdüklerini göreceklerdir. O yüzden şimdilik sadece gülmekle yetinip, prosedürel yada nesne yönelimli ayırmaksızın kendimce konuya yaklaşımımı dile getirmek istedim.

Projenizin ihtiyaçlarına göre çalışma planınızı yapın. Süreç dahilinde karşınıza çıkan sorunlar size tecrübe olarak geri dönecektir. OOP olsun, MVC olsun.. Yenilikleri mutlaka takip edin ve bilginiz olsun. Fakat her yeniliği her yerde kullanma gibi bir zorunluluğunuz olmadığını da unutmayın.

Yazının Devamı..

PHP: Zip dosya sıkıştırma sınıfı

Bu hafta yoğun bir şekilde çalıştığımız bir projede, kullanıcıların verilerini istedikleri takdirde yedekleyip download'a hazırlanması isteniyordu. Kullanıcıların web uygulamasına üye kişiler olduğunu varsayarsak ftp yada ssh yetkileri olmadığı için bu verilerin uygulama tarafından zip arşivi oluşturulup download'a sunulması gerekir.

Bu aşamada php ile bir zip oluşturan bir ek yazıldı. Kodu yazan arkadaşın onayı olmadığı için bu tarz bir çözüme ihtiyaç duyabilecek arkadaşlar için dosya sıkıştırma sınıflarını gözden geçirdim. Tavsiye edeceğim sınıfın yazarı bir hintli. Download edeceğiniz dosya içinde anlaşılır bir örnek kullanım yer almaktadır.

Örnek kodlar:


<?php
// Tekli sıkıştırma için değişken kullanımı
$fileToZip="License.txt";
$fileToZip1="CreateZipFileMac.inc.php";
$fileToZip2="CreateZipFile.inc.php";

// Dosyanın bulunduğu dizindeki tüm dosyaları arşivler
$directoryToZip="./";
$outputDir="/"; // Çıktı dizini.
$zipName="test.zip";

include_once("CreateZipFile.inc.php");
$createZipFile=new CreateZipFile;

/*
// Tekil zip dosyası oluşturmak için kullanılacak kodlar
$createZipFile->addDirectory($outputDir);
$fileContents=file_get_contents($fileToZip);
$createZipFile->addFile($fileContents, $outputDir.$fileToZip);
*/

//Dizindeki tum alt dizinleri ve dosyaları arşivlemek için kod
$createZipFile->zipDirectory($directoryToZip,$outputDir);

$rand=md5(microtime().rand(0,999999));
$zipName=$rand."_".$zipName;
$fd=fopen($zipName, "wb");
$out=fwrite($fd,$createZipFile->getZippedfile());
fclose($fd);
$createZipFile->forceDownload($zipName);
@unlink($zipName);
?>


Sınıfa ait adresler:
Download | Demo | Bilgi

Yazının Devamı..

Php: Sayi yuvarlama

Web uygulamaları geliştirirken en basit uygulamalarda bile küsüratlı matematik işlemlerine rastlarız. Birir ankette oy ortalaması gösterimi için oy toplamının, oy veren sayısına bölümü gerektiğinde tam sayı yerine virgülden sonra bolca rakama sahip bir ondalık sayı gelebilir. Bu durumda php'nin sayı yuvarlama ile alakalı matematik fonksiyonlarından faydalanılır.

Örnek sayı olarak 7.45'i alırsak;

1- ceil:
Ceil fonksiyonu bir üst sayıya tamamlar.

echo ceil(7.45); // Ekrana 8 bastırır.

2- floor:
Floor ise ceil'in aksine virgulden sonrası ne olursa olsun tam sayı hanesine tamamlar.

echo floor(7.45); // Ekrana 7 bastırır.

3- round:
Round fonksiyonu ceil ve floorun birleşimi gibidir. Referans olarak tam sayı ile bir sonraki tam sayının tam ortasını alır. Buçuk tam orta noktadır.

echo round(7.45); // Ekrana 7 bastırır.
echo round(7.55); // Ekrana 8 bastırır.

Yazının Devamı..

Php: Botlara karşı linkleri gizlemek

Php'nin daha çok kişi tarafından öğrenilmesi için açılan forumların ve sitelerin yan etkilerinden biride ilk iş olarak botların yaygınlaşmasıdır. Bu yazıda yer vereceğim kodlarla botlara karşı kesin bir önlem alınamaz. Zira botlara karşı kesin bir önlem henüz yoktur. Fakat bot yazanların en az %95'i düz bir mantıkla yaklaştığı için onları durdurmanıza yardımcı olacaktır.

Hepimizin (icerik.php?id=343) gibi numerik degerlerle çalışan php uygulamalara sahip siteleri vardır. Yukarıda bahsi geçen düz mantıkla çalışan grup ardışık sayıları baz aldığı için, sayıları şifreleyerek adreslemeyi değiştirebiliriz.

Php'nin bize sunduğu şifreleme metodlarından bir veya birkaçını kullanabilirsiniz. Örnek olarak base64 ile yapalım.

Link verirken;
<a href="icerik.php?id=<?php echo $id; ?>">Makale</a>

yerine

<a href="icerik.php?id=<?php echo base64_encode($id); ?>">Makale</a>

yazarak icerik.php?id=345 şeklindeki adresi icerik.php?id=MzQ1 haline getirebiliriz.

icerik.php sayfasındaki sorgu satırında da $id değerini normal değerine çevirmek için,

$id=base64_decode($_GET['id']);

satırını ekleyebiliriz.

Kullandığı dile hakim olan programcılar için pek engel teşkil etmese de, forumlarda dolaşan içerik hırsızlarına karşı küçükte olsa bir önlem olarak kullanabilirsiniz.

Yazının Devamı..

Php ile Kod Performansi

Bir program yada betiğin başarısı sadece işini tam yapmasıyla ölçülmez. Gerektiği kadar zaman kullanması, sistem kaynaklarını gerektiği kadar kullanması ve verimli çalışması da işin başarılı kabul edilmesinde etkilidir. Bahsettiklerimiz çoğu zaman işin doğru yapılması kadar önemlidir.

PHP gibi ağ tabanlı çok kullanıcılı sistemler için kullanılan programlama dillerinde bu ölçülere daha çok dikkat edilmelidir. Ağ tabanlı uygulamaların masaüstü uygulamalarından en önemli farkı aynı anda farklı yerlerden bir çok kullanıcı tarafından çalıştırılacak olmalarıdır. Bu durumda yapılan bir fazla zaman yada sistem kaynağı kullanımı daha çok etkisini gösterecektir.

Bu yazıda PHP ile program/betik yazarken daha iyi bir performans için dikkat edilebilecek bazı ayrıntılardan bahsedeceğim.
Yazdığınız kodları performans açısından değerlendirirken dikkat etmeniz gereken üç temel konu vardır;
1) Kullandığınız dilin (Yazıda PHP kullanılacaktır) araçları
2) Sistem kaynaklarının kullanımı (hafıza (memory) kullanımı, sabit diskten okuma)
3) Veritabanı kullanımı


Şimdi sırayla bu başlıklara değinelim.
1) Kullandığınız dilin araçları : Programlama dilleri program yazarken kullanmanız için bir sürü fonksiyon (echo(), substr() ) ve araçlar (if,while, for) sağlarlar. Bu araçların kullanım amaçları farklı farklıdır. Aynı işi farklı araçlar kullanarak farklı yollarla yapabilirsiniz. Her farklı yolun harcadığı zaman farklıdır. Burada zamandan kastımız kodun çalıştırılırken (PHP motoru tarafından) harcadığı zamandır. İki farklı yolun ne kadar zaman harcadığını basitce basinda ve sonunda zamanı microtime() kullanarak yazdırıp görebilirsiniz. Daha ayrıntılı ve detaylı bilgiyi Benchmark (PEAR), DBG, Xdebug veya Advanced PHPDebugger kullanarak elde edebilirsiniz. Bu konumuzun biraz dışında :-) .

Şimdi PHP araçları kullanırken dikkat edebileceğimiz ufak ayrıntıları listelemeye başlayalım.

Aynı işi birkaç defa yapmamak : Aynı işlemi aynı sonucu verecekse tekrar yapmak zaman kaybıdır. Kod yazarken örneğin bugünün tarihi betiğin birkaç yerinde yazdırmamız gerekiyorsa hesaplamayı en başta yapıp bir değişkene atıp sonra bunu kullanmak işlem sayısını azaltacaktır.

Karar mekanizmaları (if) gerektiği kadar kullanmak : Kara mekanizmaları normal işlemlerden (toplama,çıkarma,eşitleme gibi) daha çok zaman aldığı için çok fazla kullanmak doğru değildir. Örneğin aynı şarta bağlı işlemleri bir araya toplamanız daha doğru olacaktır.

Döngüleri (for, while ...) doğru kullanmak : Döngüler de karar mekanizmaları gibi normal işlemlerden daha çok vakit alırlar çünkü her işlem sırasında döngü şartını kontrol ederler. Basit bir örnek vermek gerekirse 3 defa çalışacağını bildiğimiz bir döngü gereksizdir. Onun yerine direk olarak işlemi üç defa yazmamız daha doğrudur. Eğer bir döngünün kesin olarak kaç defa çalışacağını biliyorsak direk olarak işlemeleri yazmamız bize hız kazandıracaktır. Dögüleri kullanırken sık yapılan hatalardan biri de kontrol şartlarında aynı işlemi sürekli yaptırmaktır. Genel olarak döngülerde dizi (array) kullanırken döngüyü dizi sayısı kadar döndürürüz (for($i=0;$i

Echo veya print kullanmak: PHP geliştiricileri echo 'nun print ten daha hızlı olduğunu belirtiyorlar (bakınız Kaynak 1). Sonuç yazdırken echo kullanmak daha doğru olacaktır.

String türünde değişkenleri tek yada çift tırnak kullanmak : Tek tırnak kullandığınız zaman PHP motoru değişkeni formatsız olarak kabul eder ve hiçbir kontrol yapmaz. Yani tek tırnak kullandığınız değişkenlerde n gibi özel karakterler ve değişkenler kullanamazsınız. Tek tırnaklı string'de kontrol yapılmadığı için hızlı çalıştığından eğer başka değişken kulllanmayacaksanız ve özel karakter kullanmayacaksanız tek tırnak kullanmanız daha doğrudur.

Dosya çağırmak (include) : Program yazarken dosya çağırmaya ihtiyaç duyduğunuzda include,require,include_once veya require_once kullanırsınız. Require ile include fonksiyonlarinin tek farkı dosya bulunumayınca include uyarı require hata verir. '_once' li fonksiyonlar ise dosyanin daha once çağırılıp çağırılmadığını kontrol eder. Çağrılmışsa yeniden çağırmaz. Eğer bir dosyayı birden fazla çağırma ihtimali yoksa '_once' olmayan fonksiyonları kullanmanız daha doğrudur.

2)Sistem kaynaklarının kullanımı (hafıza (memory) kullanımı, sabit diskten okuma) : Bütün programlamlar çalışırken kullandığınız değişkenleri hafızada tutar. Hafızayı mümkün olduğu kadar az kullanmak için gereksiz değişkenler kullanılmamalıdır.

Bir başka dikkat edilmesi gereken konu ise dosya okuma işlemleridir. Dosya okumanız gerektiğinde fscanf gibi paramatre alan fonksiyonların yerine dosyayı satır satır okuyup PHP string parçalama fonksiyonlarını kullanmanız daha doğrudur.

Dosya okuma işi sırasında dikkat edilmesi gereken başka bir konu ise dosyaların okuma işlemi bittikten sonra kapatılmasıdır (fclose() ).

3)Veritabanı kullanımı : Veritabanı kullanan uygulamalar yaparken yaptığınız bağlantı ve sorgu sayısı uygulamanın hızını doğrudan etkiler. Dikkat edilmesi gereken noktaları şöyle sıralayabiliriz.

Bağlantı : Gerektiğinde veritabanına bağlanılmalı ve işlem bittikten sonra bağlantı kapatılmalıdır.

Tasarım : Uygulamanız için veritabanı oluştururken yapacağınız tasarım hataları uygulamınızın hızını etkiler. (Bu konu başlı başına bir makale konusu olabileceğinden ve bu makalenin konu sınırını aşacağından burda biraz kısa anlatılacaktır.).

Tablo oluştururken alanların birbirinden bağımsız olamsına dikkat edilmelidir (normalization). Yani eğer bir tablonun bir özelliği başka bir özellik kullanırak bulunabiliyorsa yani bağımlı ise bu özelliği alan olarak tabloda belirtmeye gerek yoktur.
Aynı özellikte bilgiler için tek tablo oluşturulmalıdır.

Sorgu: Sorgu cümlesi iyi oluşturulmalı ve istenilen sonuçların her zaman doğru olarak döndürüldüğü kontrol edilmelidir.

Veritabanının kolayca yaptığı (count,rand,limit,date,order vb) işlemler veritabanına yaptırılmalıdır. Sorgu sayısı mümkün olduğu kadar azaltılmalıdır. Bunun için sorgu işlemleri farklı modüllere bölünebilir.
Sorguda sadece gerekli alanlar çekilmelidir ve 'select *' kullanımından kaçınılmalıdır.

Veritabanına veri girişi yaparken yapılan kontrolleri mümkün olduğu kadar veri tabanına yapmasını sağlamak. Veri tutarlığını çok özel durumlar olmadığı sürece veritabanı araçlarıyla sağlamak (trigger). Veritabanları bu işlemleri yapmak için tasarlandığı için sizin yazacağınız programlardan çok daha hızlı ve kolayca bu işlemleri hallederler. Unutmayalımki veritabanları sadece veri depolamak için değil veriyi kolay işlemek için kullanılmak içindir.

Yazının Devamı..

SEO uyumlu adresleme için htaccess aracı

SEO amacıyla mod-rewrite modülü sayesinde düzenlenen adreslere ilişkin kurallar .htaccess dosyasına yazılmaktadır. Bugün birçok web sitesi sahibi mod-rewrite'i kullanmaktadır. Bu konuda yeni olan arkadaşlar aşağıdaki yer alan adresi kullanarak denemeler yapabilirler.

http://www.webmaster-toolkit.com/mod_rewrite-rewriterule-generator.shtml
Yazının Devamı..

Php: Site içi ödüllü etkinlikler için çekiliş kodu

Çekiliş kodu için iki dosya gerekiyor. İlki, her satıra bir üye gelecek şekilde katılımcı isimlerinin yer aldığı katilimcilar.txt dosyası. İkincisi ise çekilişi icra edecek olan cekilis.php dosyasıdır.

Örnek katilimcilar.txt içeriği;

Daky
Segate
Serkan
Adem
Admin


Cekilis.php kodları:

<? $liste = file("katilimcilar.tx");
srand((double)microtime()*1000000);
echo $liste[rand(0,count(liste))];
?>
Yazının Devamı..

Php: Çarpım Tablosu

Php ile çarpım tablosu yapmak

<?php
for ($i=1;$i<10;$i++)
{
$j=1;
for ($j=1;$j<10;$j++)
{
$t = $k[$j] = $i * $j;
echo "$i X $j = ".$t;
echo "<br>";

if (!($j<9))
{
echo "-------";
echo "<br>";
echo "Toplam :". (array_sum($k))."<br>";
echo "-------";
echo "<br>";
}
}
}
?>
Yazının Devamı..

PHP: Türkçe tarih gösterimi

Timestamp çevirici olarakta kullanılabilir. time() değerini baz alarak ekrana Türkçe tarihi yazdırır. setlocale fonksiyonu kullanılarak bu fonksiyona gerek duymadan da Türkçe tarih kullanılabilir.


function turkce_tarih($zaman) {
$gunler = array("Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi");
$aylar =array(NULL, "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık" );
$tarih = date("d",$zaman)." ".$aylar[date("n",$zaman)]." ".date("Y",$zaman)." ".$gunler[date("w",$zaman)]." ".date("H:i",$zaman);
return $tarih;
}

Örnek time verisi: 1239637431
echo turkce_tarih(1239637431);

Yazının Devamı..

Php: Referans site adresini gostermek

Öntanımlı değişkenler arasında yer alan $_SERVER ile referans adresleri gösterebilirsiniz.

<?php
$ref = $_SERVER['HTTP_REFERER'];
echo "Referans sayfa: $ref";
?>
Yazının Devamı..

 
Turkwm.com yazılarını günlük olarak almak ister misiniz? Email aboneliği için lütfen tıklayın.