bildirgec.org

Site arşivi: kodaman

PHP ile Bot Yapımı ve Sitelerden Veri Çekmek

admin | 15 December 2008 11:51

İlk önce “nedir bu bot?” diye başlayalım.
Bot, bilgisayarların bazı işlemleri otomatik yapmasıdır. Counter’a bot eklersiniz, ileri gitme ateş etme gibi işlemleri yaptırırsınız. Bizim botumuz ise web sitelerine girip verileri alacak bizim veritabanımıza eklecek…
İlk önce şunu belirteyim ki, bu botu yaparken aklınızı iyi çalıştırmanız gerek çünkü her siteye farklı bir algoritma geliştirmeniz gerekebilir. Daha çok fonksiyon kullanarak yapmak işinize gelecektir. Birde fonksiyonlara açıklamalarını yazınki unutmayasınız.
Başlamadan önce sitenin başlığının,yazı yazan yer gibi yerleri dikkatlice inceleyin, onlarda sayfanın başka yerinde olmayan bir özellik bulmalısınız: Örneğin,

İlk başta siteden bütün linkleri almamız gerek bunun için şu fonksiyonu kullanabilirinsiniz (Amerika’yı bir daha keşfetmeye gerek yok) :

200.000’lik pilli artık daha da güçlü

xerre | 11 December 2008 18:07

Türkiye’nin önde gelen, üyelik esaslı ve içeriğini üyelerinin oluşturduğu siteleri bünyesine barındıran Pilli Network 200 bininci üyesini önümüzdeki günlerde kaydetmeye hazırlanıyor.

Pilli network, içeriğini üyelerinin belirlediği ve elde ettiği reklam gelirlerinin %70’ini, yazılarının tıklanma oranına göre, içeriği oluşturan üyeleri ile paylaşan siteler topluluğu.
2007 haziranda 100 bininci üyesini kaydeden pilli, aradan geçen yaklaşık bir buçuk yıl içinde daha büyük adımlar attı.
taze açılan ve çiçeği burnunda olan siteler:

sinepil.org
pilli ilan
kodaman.org

ve bunların yanında bildirgeç ağırlıklı olmak üzere birçok sitede kullanıcılardan gelen istek,şikayet ve öneriler doğrultusunda kullanıcıları düşünen, onların işini kolaylaştırmaya yönelik yapılan değişiklikler.

ikilik düzen ve veritabanı taktikleri

admin | 28 November 2008 10:31

bir çeşit denormalizasyon konusu anlatmak istiyorum aslında, belkide programlamaya giriş derslerinde – yada kitaplarında – genellikle üstü kapalı anlatılan bitwise işlemler.

muhtemelen ilk programlama kitabınızı aldığınızda, ilk sayfalarda anlatılan işlemler bit operatörleridir, 1 byte in 8 bit ettiği, ve

1
2
1 & 0 = 0 # 1 ve 1 = 1
1 | 0 = 1 # 1 veya 1 = 1

Memcache veya Memcached

admin | 22 November 2008 20:20

Memcache Danga.com tarafından livejournal için üretilmiş ama ciddi bir soruna çözüm olduğu için çok hızlı şekilde yayılmış bir program ve library’dir. Yapısındaki hız farkı genel olarak libevent aracılığı ile linux altında epoll kullanımından ve memory’i pahalı olan malloc ve free’lerden uzak şekilde slab allocation mantığında kullanmasından gelmektedir. Network üstünden çalışabiliyor olduğu için bir çok serverın aynı cache sistemini kullanabiliyor hale gelmesini sağlamış ve facebook gibi büyük projelerin düşük server maliyetleri ile ayakta kalmasını sağlar hale gelmiştir.

Cache, Proxy, Web üstünde yüksek verim, PHP, Memcache, APC, Eaccelerator, File Cache

admin | 22 November 2008 19:55

Webde yüksek verim nedir ve genel olarak kullanılan cache(ön bellek) sistemleri nelerdir biraz bakalım. Cache dediğimiz konu aslında temel olarak webdeki program, web server veya database’in üstüne düşen yükün azaltılarak kullanıcıya daha hızlı şekilde verilmesi esasına dayanır.

Yazıyı normalde üç veya dört parçaya bölmeyi düşünmeme rağmen konunun bütünlüğünün bozulmaması için çok fazla bölmemek gerektiğini düşünüyorum. Basitten gelişmiş anlatıma doğru giderek, sadece memcache konusunun detayı fazla olduğu için memcache konusunu farklı bir başlık altında anlattım. Bu yazıda ise biraz daha özet olarak memcache’den bahsedeceğim. Yazıda her dile uygun olabilmesi için, code örnekleri yerine genel olarak yapıyı sorunları ve cözümleri anlatmaya çalıştım. Genede PHP ağırlıklı bir yazı olduğunuda kabul etmek gerekiyor.

spam e-posta koruması

admin | 22 November 2008 17:00

e-posta adresimizi web sitemize yazar yazmaz yükselen bir grafikle posta kutumuza spam postalar yağıyor. e-posta adresimizi resme çevirip sitemize koyarsak bu seferde ziyaretçiler yada site sahibi bu durumdan hoşlamıyor.

e-posta adreslerimizi bir php sayfanın içine yazabiliriz;
adresler.php

1
2
3
4
5
<?php
$ali = "[email protected]";
$veli = "[email protected]";
$kirdokuzelli = "[email protected]";
?>

güvenlik için bu kadar mı kasılır?

admin | 20 November 2008 10:40

online oyunları hilelerden koruma amaçlı bir güvenlik yazılımı yapıyorum. neyse şöyle böyle istediğim korumaları sağladım, fakat bi baktım kendi programımı koruyamamışım. adamlar bir şekilde çalışmasını durdurup hile yapıyorlarmış.

sonra ürettiğim çözüme gülsem de işe yaradı 🙂
çözüm mü?

veritabanı programlayamama yazıları (nested setler)

admin | 18 November 2008 09:46

veritabanı programlayamama konusunda en önemli örneklerden biri, hiyerarşik datalar ve veritabanları. bahsetmek istediğim konu, iç içe geçmiş yorumlar, ağaç şeklindeki menüler vs. gibi basamaklı uygulamalar ve bunların datasının veritabanında saklanması. sırayla kullanılabilecek modelleri inceleyip, örnekle gidip daha sonra kaynakların ekonomik kullanımı konusuna geçelim.

örneğin şöyle bir sayfa oluşturmak istiyoruz :

1
2
3
4
5
6
7
8
yorumlar :
yorum 1
yorum 1 cevap
yorum 2
yorum 3
yorum 4
yorum 4 cevap
yorum 4 cevapa cevap

bunu yapmak için temelde 2 farklı veritabanı modeli kullanabilirsiniz, Adjacency List Model ve Nested Set Model ( çok üzgünüm bunların türkçe isimlerini bilemiyorum, ve bulamıyorum, umarım yorumlarda türkçe karşılıkları verilir, bende yazıyı güncellerim )

Apache mod_rewrite ile üşengeç seo

admin | 13 November 2008 21:05

Merhaba, internet siteleri para kazandırmaya başladığından beri, site sahipleri daha çok para kazanmak için daha çok ziyaretçi kazanmaya çalışıyor. Bunun en kolay yöntemi ise arama motorlarının huyuna gitmek.

Apache web sunucusunun özelliği olan mod_rewrite ile adres satırlarımızı kodlama dilinin değişkenlerinden arındırıp siteadı.com/yazi/Yazi_Basligi şeklinde yayınlayabiliyoruz. Tabi bunu yapmak için popüler olan yol regex değerleri ile enteresan bir htaccess dosyası oluşturmak. Örnek:

1
RewriteRule ^blog/([A-Za-z0-9_)(:!-',-]+)/?$ blog.php?yazi=$1 [L]

T-SQL : ‘Kayıt varsa güncelle, yoksa ekle’ durumu için iki farklı yöntem

admin | 13 November 2008 19:25

İlk Yöntem

Öncelikle update işlemi gerçekleştirilir, bu işlem sonucunda etkilenen kayıt sayısı kontrol edilir, eğer @@ROWCOUNT = 0 ise güncellenebilecek bir kayıt bulunmuyor demektir, bu durumda kayıt eklenir.

1
2
3
4
5
6
7
UPDATE Tablo1 SET Kolon1 = @Kolon1_Degeri WHERE
ID = @ID
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Tablo1 (Kolon1)
VALUES (@Kolon1_Degeri)
END