Skip to content

pardus ve mod_python

apache ve mod_python u pisi deposundan kurduktan sonra

/etc/apache2/modules.d/16_mod_python.conf

dosyasının içeriğini aşağıdaki şekilde değiştirelim

  LoadModule python_module modules/mod_python.so
    
      AddHandler mod_python .py
      PythonHandler mod_python.publisher
      PythonDebug On
    
  DirectoryIndex index.py

bundan sonra
/var/www/localhost/htdocs/

dizini altına python isimli bir dizin oluşturalım ve eğer apache çalışıyorsa

#sudo service apache restart

komutunu verelim. çalışmıyor ise

#sudo service apache start

ile apache yi başlatalım.

Şimdi sıra test etmeye geldim.

hello.py isimli bir dosya oluşturalım ve dosya içine aşağıdaki kodu yazarak bu yeni dosyayı oluşturduğumuz python klasörü altına kaydedelim.

def hello(name=None):
if name:
return 'Hello, %s!' % name.capitalize()
else:
return 'Hello there!'

şimdi gezinti aracımızı açarak adres satırına
http://localhost/python/hello.py/hello

yazalım.

Hello there!
yazısını görüyorsak sorun yoktur. :)

python ile kredi kartı no kontrolü

Daha önce kredi kartı numarasının kontrolü için luhn algoritmasından bahsetmiştim. Luhn algoritmasını python ile yazacak olursak aşağıdaki şekilde yapabiliriz.

def kontrol(kartno):
toplam = 0
hanesayisi = len(kartno)
tekcift = hanesayisi & 1
for sira in range(0, hanesayisi):
hane = int(kartno[sira])
if not (( sira & 1 ) ^ tekcift ):
hane = hane * 2
if hane < 9:
hane = hane - 9
toplam = toplam + hane
# return toplam
return ( (toplam % 10) == 0 )

kartno=raw_input("Kredi kartı numarasını gir  :")
if  kontrol(kartno) :
print kartno, 'nosu geçerli'
else:
print kartno, 'nosu geçerli değil'

python ile mysql’e bağlanma

Python ile MySQL e bağlanmak için sistemizde MySQLdb kütüphanesi olmalı. Bu kütüphane ile mysql veritabanı üzerinde işlem yapmak oldukça kolaylaşıyor. Aşağıda basit mysql örneği gözükmektedir.

try:
import MySQLdb
except ImportError:
sys.exit( "MySQLdb modulu gerekli - bulunamadi" )
''' MySQLdb nin sistemde varlığını kontrol ederek bağlıyoruz'''
db_hostname="benim_sunucum"
db_database="benim_veritabanım"
db_username="benim_veritabani_kullanici_adim"
''' vertabanı tanımlamalarını yapıyoruz'''
dbcon=MySQLdb.connect(host=db_hostname,user=db_username,db=db_database )
'''veritabanına bağlantı kuruyoruz'''
cursor=dbcon.cursor()
sql = """SELECT * FROM benim_tablom"""
cursor.execute(sql)
'''sql soruusunu işletiyoruz'''
data = cursor.fetchone()
field = cursor.description
'''sql sorgusu sonucu donen verinin ilk satirini aliyoruz'''
cursor.close()
dbcon.close()
'''veritabanı bağlantısını sonlandırıyoruz'''
print data
'''veriyi yazdırıyoruz'''

Kredi kartı numara doğrulama

Gelen bir epostada kredi kartı numarası nasıl doğrulanır şeklinde bir soru vardı.

Cevap : Luhn algoritmasıdır. Bir çok kişiye bu anlamsız gelebilir. Bunu basit bir örnekle açıklamayalım

16 Haneli bir kredi kartı numaramız olsun

6 7 6 2 0 5 0 1 2 1 5 2 6 3 8 4
Kart No 6 7 6 2 0 5 0 1 2 1 5 2 6 3 8 4
adım 1 6×2 6×2 0x2 0x2 2×2 5×2 6×2 8×2
12 12 0 0 4 10 12 16
adım 2 1+2 1+2 0 0 4 1+0 1+2 1+6
3 7 3 2 0 5 0 1 4 1 1 2 3 3 7 4
adım 3 3+7+3+2+0+5+0+1+4+1+1+2+3+3+7+4
46
adım 4 mod10(46) = 6

Adım 1 : Sağ taraftan başlayarak çift haneli sayıları iki ile çarpıyoruz

Adım 2 : Adım birde bulduğumuz yeni sayının haneler toplamını buluyoruz

Adım 3 : Yeniden oluşmuş olan 16 haneli sayımızın haneler toplamını buluyoruz

Adım 4 : Adım 3 de bulunan sayının mod 10 değerini buluyoruz

Adım 4 sonucunda bulunan değer 0 ise bu sayı Luhn algoritmasını
gerçekliyordur. Yani elimizdeki kredi kartı numarası
geçerli bir kredi kartı numarasıdır diyebiliriz.

Bunun için basit bir php script ise aşağıdaki şekilde yazılabilir.

< ?php

$sayi="12231231131";

$odd = !strlen($sayi)%2;

$toplam = 0;

for($i=0;$i<strlen($sayi);++$i) {

$n=0+$sayi[$i];

$odd=!$odd;

if($odd) {

$toplam+=$n;

} else {

$x=2*$n;

$toplam+=$x>9?$x-9:$x;

}

}

if (($toplam%10)==0){  echo $sayi." için luhn algoritmasi geçerli";}

else {echo $sayi." için luhn algoritmasi geçerli değil";}

?>

Wget : basit kullanım

Son günlerde windows dan linux işletim sistemine geçişlerde azda olsa ufak bir kıpırdanma var. Bunda Pardus un rolü büyük. Bu geçiş sonrası bir çok kişiden bazı sorular gelmekte. Bu soruların cevaplarına elimden geldiği kadar burada cevap vereceğim. İlk konu dosya indirme.

Wget bugüne kadar gördüğüm en iyi yükleme araçlarından birisi. Tek kötü tarafı (benim için aksine iyi) konsoldan çalışıyor olması. Wget ile ftp, http, https gibi protokollerden yükleme yapabilirsiniz. Wget kullanımı.

# wget “parametreler” yükleme_adresi &

şeklindedir.

herhangi bir parametre girilmezse belirilen adresteki dosya indirilecektir. Kullanışlı bir kaç parametre ;

-c : yarım kalmış dosyaların yüklenmesine kaldığınız yerden devam etmesini sağlar. Bu parametreyi sürekli kullanın mevcut bağlantı sorunlarından vb. etkilenmemek için.

-o log_dosya_adi : yükleme kayıtları log_dosya_adi ile belirtilen dosyaya kaydedilir. Ekranda yüklemelere ait bilgiler gözükmez.

-i dosya_adi : dosya_adi ile belirtilen dosya içindeki bağlantıları sırasıyla indirmenizi sağlar. Bir yükleme bitmeden diğerine geçmez.

-r : verilen adres ve içindeki bağlantılar recursive olarak indirilir. Bir sitenin çevrimdışı halini makinenize kopyalamak için kullanabilirsiniz.

-N : yeni dosya var ise kontrol ederek yenisinin indirilmesini sağlar

– P dizin_adi : indirilecek dosyanın belirtilen konuma kaydedilmesini sağlar.

-b : yükleme işleminin arka planda yapılmasını sağlar.

Bu parametreler fazlasıyla iş görecektir. Ancak parametreler bununla bitmiyor tabiki.

# man wget

komutu kullanarak wget hakkında ayrıntılı bilgi alınabilir.

Webmail : Thunderbird ile Hotmail, Yahoo v.b. epostaları okumak

Eposta istemci programı olarak thunderbird kullanmaya başlayan bir çok kişi hotmail, yahoo epostalarını okuyamamaktan şikayet etmekte, bir çok kişi yine aynı nedenden dolayı thunderbird kullanmamaktadır.

Bu şekilde düşünen ve davrananlar unutmamalıdırki açık kaynak dünyasında çözüm tükenmez.

Benim bu konuda sıkıntı çekenlere önerim webmail olacaktır. Webmail web site tabanlı eposta hizmetlerini kullananlar için bir thunderbird eklentisidir.

Pardus 2007 – Eagle Kurulumu

Tüm kurulum işlemini komut satırından yapacağız. Bunun için öncelikle root yetkisine sahip bir komut satırı açınız. Root olup olmadığınızı ögrenmek icin

# whoami

komutunu kullanabilirsiniz. Eğer root değilseniz

# su

komutunu kullanarak root olunuz.
Kurulum için gerekli paketi “free EAGLE Light Edition” Cadsoft sitesinden edinelim.

http://www.cadsoft.de/cgi-bin/download.pl
?page=/home/cadsoft/html_public/download.htm.en&dir=eagle/program/4.1

adresinde yer alan ingilizce tar.gz paketini indirelim. (yabancı diliniz almanca ise almanca sürümüde mevcuttur)

# wget ftp://ftp.cadsoft.de/eagle/program/4.16r2/eagle-lin-eng-4.16r2.tgz

dosyamız indikten sonra

# tar -zxxvf eagle-lin-eng-4.16r2.tgz

paket içerigi eagle-lin-eng-4.16r2 isimli dizine açıldı.

# cd eagle-lin-eng-4.16r2

README dosyası içinde kurulum anlatılmaktadır. Okumak istersek

# cat README | more

sıra kuruluma geldi. Kurulum için

# ./install

veya

# sh install

komutunu çalıştırın.

kurulum başarı ile tamamlandıktan sonra

EAGLE successfully installed to ‘/opt/eagle’

mesajı gelecektir. Mesajda yazdığı gibi eagle /opt/eagle dizinine başarıyla kurulmuştur. Kurulum dosyası /usr/bin altına eagle ın link dosyasını atmaktadır. Bundan sonra eagle ı komut satırından çalıştırmak istediğinizde

# eagle &

yazmanız yeterli olacaktır.

Back To Top