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.

Python ile Nokia S60 için adım adım uygulama geliştirme – II

Bir önceki yazıda S60 cihazımız için python ile uygulama geliştirmek için gerekli dosyaları nereden bulacığımızı ve S60 cihazımıza python yüklemeyi ve çalıştırmayı anlatmıştım.

Bu yazımızda ise işi kişisel bilgisayarımızda python ile kod yazmak için yapmamız gerekenlerden ve bunları S60 cihazımıza yükleyerek yorumlayıcı tarafından çalıştırılması üzerinde duracağız.

Öncelikle forum.nokia sitesinden S60 cihazımıza uygun python SDK ları indirelim ve bilgisayarımıza kuralım. Bununla birlikte python.org sitesinden python un en son sürümünü bilgisayarınıza indirip kurmanızı öneririm. forum.nokia sitesinden indirdiginiz SDK yi bilgisayarınıza kurdugunuz zaman içerisinde işinize yarabilecek oldukça kullanışlı kılavuzlar bulacaksınız.

Şimdi sıra python kodlarını yazacagımız bir editöre ehtiyacımız var. Ben editplus ve ultraedit tercih ediyorum ancak bu yazılımlar paralı oldugu için isterseniz notepad, wordpad v.b. bir editor kullabilir veya context.cx adresinden oldukça başarılı ve bedava bir yazılım olan context i edinebilirsiniz. Tercih sizindir.

Artık kodlama kısmıan geldik. Eğer Python hakkında hiç bir bilginiz yok ise burdan sonrasına devam etmeden önce python.org sitesinden python hakkındaki kılavuzları edinmenizi öneririm. Çünkü bundan sonrası python programlama bilgisine dayanmaktadır.

Bir klasik olarak ilk kodumuzu yazalım..

import appuifw
appuifw.app.title = u”Hello World”
appuifw.note(u”Hello World!”, ‘info’)

İ.T.Ü. ilk 500 de

İTÜ bünyesinde kurulan 560 işlemcili süperbilgisayar 1993 yılından bugüne kadar düzenli olarak dünyadaki süperbilgisayarların listesini tutan top500.org da 353 sırada kendine yer buldu.
İşlem gücü üst sıralarla karşılaştırıldıgında, kıyaslama açısından söyle bir örnek verirsek pekte yanlış olmaz sanırım. Üst sıralardaki süperbilgisayarları p4 core duo 2 işlemcili bir bilgisayara benzetirsek bizim süperbilgisayarımız 386 tabanlı bir bilgisayar oluyor. Bu konudada diger teknik konularda oldugu gibi daha alacak çok yolumuz var. Ancak böyle bir projenin hayata geçirilmiş olması oldukça güzel. Altı ay sonra yeniden yapılacak olan listede Türkiye adının yer olması zor gibi gözüküyor.
Umarım ülkemizdeki süper bilgisayarların sayısı gerek kamu gerekse özel kuruluşlarda artar ve bilimsel bilimsel araştırmalarda kullanılır ve bu listede her geçen yıl daha fazla süperbilgisayar yer alır. Gönül isterki proje kapsamında maksimum derecede Türk kaynaklarından faydalanılır, paramız yurt dışına çıkmaz.

Top500.org da yer alan süper bilgisayar hakkında bilgiler aşagıdaki gibi. Top500 Linkpark test sonuçlarına bakmaktadır.

System Family HP Cluster Platform 3000
System Model HP DL360 G5 Cluster
Computer DL360 G5 Cluster, Xeon 2.33 Ghz, Infiniband
Vendor Hewlett-Packard
Application area Not Specified
Installation Year 2006

Processors 560
Rmax(GFlops) 3288.1
Rpeak(GFlops) 5219.2
Nmax 0
Nhalf 0

live.com uzantılı eposta adresi

Bir çok kişi kendi adını içeren sağlam bir servisten eposta hesabı olmak istiyor. Bunlardan biriside MS in live.com uzantılı eposta adres. Bir çok kişi tarafından kullanılan yahoo.com, hotmail.com, msn.com, gmail.com gibi yerlerde adınız ve soyadınızdan veya istediginiz kelimelerde eposta adresi bulmak imkansız. Live.com henüz çok fazla kullanılmaması ve alma yöntemlerinin bilinmemesi nedeniyle bu yönden tercih edilebilir.

Öncelikli olarak http://get.live.com/getlive/overview adresine girdikten sonra kaydol diyoruz ve adres cubuguna

javascript: var p = ‘live.’; var ds = new Array(‘com’, ‘de’); for (var i = 0; i < ds.length; i ++){document.getElementById('idomain').options[i] = new Option(p + ds[i], p + ds[i])} alert('live.com domain adi eklendi'); javascript kodunu yapıştırıyor ve işletiyoruz. eposta uzantısı seçme kısmında live.com un gelmiş oldugunu göreceksiniz. İyi günlerde kullanın.

Back To Top