‘Programlama’ Kategorisi için Arşiv
Python IRC
Bir irc uygulaması yazmayı düşünüyorum. Biraz göz attım, araştırdım ne nasıl oluyor diye. Şimdilik aşağıdaki kodları oluşturdum. Bir kanala mesajı yazıp kaçıyorsunuz sadece
import socket
network =’irc.zurna.net’
kanal = ‘#harakiri’
rumuz = ‘omer__’
port = 6667
irc = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print irc.connect((network,port))
print irc.send(‘NICK %s\r\n’ %(rumuz))
print irc.send(‘USER %s %s %s : Python\r\n’ %(rumuz,rumuz,rumuz))
print irc.send(‘JOIN %s\r\n’ %(kanal))
print irc.send(‘PRIVMSG %s :Merhaba omer\r\n’ %(kanal))
print irc.send(‘PART %s\r\n’ %(kanal))
print irc.send(‘QUIT\r\n’)
irc.close()
Php ve Javascript ile Yildizli Oylama Sistemi
Bir süredir yapmayı planlıyordum. Bir sitede farklı bir yöntem buldum. Onu geliştirmeye çalıştım. Tek sayfalık bir şey çıktı ortaya şimdilik. Sadece temel işlemler yapılıyor. Oylama vs gibi kısmını başka bir zamana bıraktım düzenlemek için.
Php dosyasının bulunduğu yerde resim klasörü açılıp içine konacak olan resim dosyaları aşağıdadır. Yukarıdan aşağıya doğru sıfır dan başlayarak numaralandırmanız gerekiyor.











Php:
<?php
function Goster($durum){
return “<img src=\”resim/”.$durum.”.gif\” alt=\”\” id=\”yildizoysistemi\” usemap=\”#yildizoysistemi\” style=\”border:0px;\” />”;
}
$sonuc=1;
$durum=0;
$s1=0;
$s2=0.5;
for ($i=1;$i<11;$i++){
if ($sonuc==0){
echo Goster(0);
$durum=0;
break;
};
if ($sonuc>$s1 && $sonuc<=$s2){
$durum=$i;
echo Goster($i);
};
$s1+=0.5;
$s2+=0.5;
};
echo ‘<script type=”text/javascript” language=”javascript”>’;
echo ‘function Duzenle(numara){‘;
echo “document.getElementById(‘yildizoysistemi’).src=’resim/’ + numara + ‘.gif’;”;
echo ‘}’;
echo ‘</script>’;
echo ‘<map name=”yildizoysistemi”>’;
echo ‘<!– #$-:Image Map file created by GIMP Imagemap Plugin –>’;
echo ‘<!– #$-:GIMP Imagemap Plugin by Maurits Rijk –>’;
echo ‘<!– #$-:Please do not edit lines starting with “#$” –>’;
echo ‘<!– #$VERSION:2.0 –>’;
$x1=7;
for ($i=0;$i<10;$i++){
$a=$i+1;
echo “<area shape=\”rect\” coords=\”0,0,”.$x1.”,18\” OnMouseOut=\”Duzenle(‘”.$durum.”‘);\”; OnMouseOver=\”Duzenle(‘”.$a.”‘);\” />”;
$x1+=7;
}
echo ‘</map>’;
?>
Php İle Kelime Ezber Uygulaması
Kendim için Python kullanarak bir ezber programı yapacaktım. Ancak php ile daha kolay olacağı için onla başladım işe. Şimdilik bir küçük uygulama hazır. Aşağıda kodları mevcut. Bazen bir kelime ard arda tekrar ediyor. O sorunu aşarsam hoş bir uygulama olacak.
index.php:
<?php
$liste=simplexml_load_file(‘en_tr_1.xml’);
$toplam=count($liste);
$kelime=”";
$cevap=”";
$islem=”";
if (isset($_GET["cevap"])) $cevap=$_GET["cevap"];
if (isset($_GET["islem"])) $islem=$_GET["islem"];
if (isset($_GET["kelime"])){
$kelime=$_GET["kelime"];
settype($kelime,”integer”);
};
if ($kelime>=0 && $cevap<>”" && $islem==”Biliyorum”){
if ($liste->kelime[$kelime]->tr==$cevap){
echo “Tebrikler <strong>”.$cevap.”</strong> cevabınız doğru.<br /><br />”;
}else{
echo “Yanlış cevap. “;
echo “<strong>”.$liste->kelime[$kelime]->en.”</strong> kelimesinin anlamı “;
echo “<strong>”.$liste->kelime[$kelime]->tr.”</strong> olmalıydı.<br /><br />”;
}
}
if ($islem==”Bilmiyorum”){
echo “<strong>”.$liste->kelime[$kelime]->en.”</strong> kelimesinin anlamı “;
echo “<strong>”.$liste->kelime[$kelime]->tr.”</strong> olmalıydı.<br /><br />”;
}
$rastgele = rand(0,$toplam-1);
echo “<strong>Kelime : </strong>”.$liste->kelime[$rastgele]->en.”<br /><br />”;
?>
<form method=”get” action=”index.php”>
<input type=”hidden” name=”kelime” value=”<?php echo $rastgele; ?>” />
<input type=”text” id=”cevap” name=”cevap” />
<input type=”submit” name=”islem” value=”Biliyorum” />
<input type=”button” onclick=”window.location=’index.php?islem=Bilmiyorum&kelime=<?php echo $rastgele; ?>’;” value=”Bilmiyorum” />
</form>
<script type=”text/javascript”>
document.getElementById(“cevap”).focus();
</script>
en_tr_1.xml :
<?xml version=”1.0″ encoding=”iso-8859-9″?>
<kelimeler>
<kelime>
<en>car</en>
<tr>araba</tr>
</kelime>
<kelime>
<en>book</en>
<tr>kitap</tr>
</kelime>
<kelime>
<en>computer</en>
<tr>bilgisayar</tr>
</kelime>
<kelime>
<en>coffee</en>
<tr>kahve</tr>
</kelime>
</kelimeler>
Güncelleme:
Projeyi geliştirmeye başladım. Yakında bununla ilgili bir internet sitesi yapmayı düşünüyorum. Şimdilik sistemi kullanılabilir ve özelleştirilebilir bir hale getirmekle meşgulüm. Son yapılan düzenlemelerden sonra site aşağıdaki gibi bir şeye benzedi.
Her kelime için iki seçenek sunuluyor. Onlar arasından yapılan seçim sonucunda doğru veya yanlış cevabı verdiğini belirtiyor. Yanlış ise doğru cevabı iletiyor. Burada amaç cevap sayısını arttırıp işi zorlaştırmak değil zorluk çıkarmadan kelimenin hafızaya yerleşmesini sağlamak.
Cevap sayısı iki olunca insan ister istemez hangisi doğru olabilir şeklinde bir düşünceye kapılıyor. Eğer verdiği cevap doğru ise o doğruluğu düşünürken üretilen fikirler kelimenin hafızadaki kalıcığını biraz daha arttırıyor. Tabi bu benim tezim
. Kendi üzerimde bir süre test edip sonuçları göreceğim. Bakalım işe yarayacak mı?.
Mysql Tablo Karakter Seti Değiştirme
Bir proje için Drupal içerik yönetim sistemi ile uğraşıyordum. Türkçe karakterler kayıt sırasında sorun çıkartmazken görünümde bozulmalara sebebiyet veriyordu. Biraz araştırma ile bunun veritabanı, tablo ve hücre karakter setlerinden kaynaklandığını öğrendim. Ancak çok sayıda tablo olunca bunu -phpmyadmin ile- yapmanın epey süreceğini anladım bir kaç denemeden sonra. Ardından aşağıdaki kodları buldum.
Bir tablo içerisindeki tüm elemanların ve tablonun karakter setini değiştirmek için:
ALTER TABLE `tablo` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
sql kodunu kullanabilirsiniz(Ben utf8 e ayarlamaya çalıştım).
Solaris 10 DVD leri , PHP5 Yazı Dizisi
Bugün aslında python ile py2exe kullanımına dair bir kaç örnek vermeyi düşünüyordum ancak biraz can sıkıntısından dolayı bir şeylerle uğraşamadım. Bende bari bir iki tane, ziyaret edilip faydalanılabilecek adres verip günü kurtarayım
Şu sayfa ile php5 hakkında biraz fikir sahibi olabilirsiniz. Bu sayfa ilede bir kaç Solaris 10 dvdsine sahip olabilirsiniz.
PIL ile resim üstüne resim
Python PIL kullanarak bir resmin üstüne başka bir resim eklemek istiyorsanız aşağıdaki basit kod işinizi görecektir
import Image
resim1=Image.open(“test1.jpg”)
resim2=Image.open(“test2.jpg”)
resim1.paste(resim2,(0,0))
resim1.save(“son.jpg”)
Burada (0,0) olan kısımda resim1 in üstüne yapıştırılacak olan resim2 nin nerede duracağını ayarlıyorsunuz. Buradaki ilk sıfır sola olan uzaklığı ikinci sıfır ise üste olan uzaklığı belirtiyor. Siz bunu isteğinize göre düzenleyebilirsiniz.
Yanlız bu kodlar ile şeffaf resimler eklemeniz biraz zor. GIF ve PNG de ne yazıkki arkada bir siyahlık oluşuyor. Bunu önlemenin çaresi var elbette.
İlk olarak GIF için aşağıdaki şekilde kodlarımızı oluşturuyoruz. Yanlız gif resminin şeffaf kısımlarını siyaha boyamanız gerekmekte.
import Image
import ImageEnhance
resim1=Image.open(“test1.jpg”)
resim2=Image.open(“test2.gif”)
colorTable=[256]*256
colorTable[0]=0
mask =resim2.point(colorTable, ‘1′)
resim1.paste(resim2,(0,0),mask)
resim1.save(“son.jpg”)
PNG içinse şu aşağıdaki kodları kullanabilirsiniz.
import Image
import ImageEnhance
resim1=Image.open(“test1.jpg”)
resim2=Image.open(“test2.png”)
resim1.paste(resim2,(0,0),resim2)
resim1.save(“son.jpg”)
Ajax için Örnekler – 1
Ajax ile ilgili bundan sonra basit (ilerde karmaşık) örnekler yayınlamaya karar verdim. Aslında sitemi yenileyip orada bu tür örnekleri artık yayınlayacaktım ancak buna şu an vaktim yok şimdilik buradan.
Örneğe göz atmak için tıklayınız.
Dosyayı indirmek için tıklayınız.
Access Tablo İsimleri
Aşağıdaki asp kodları ile bir veritabanına bağlanıp hangi tabloların bulunduğuna göz atabilirsiniz. Bunu ben bir yönetici panelinde kullandım. Eğer o tablo yoksa o tablonun oluşturulmasını sağlıyorum bu kodun verdiği sonuca göre.
<%
Set baglan=server.CreateObject(“adodb.Connection”)
baglan.Provider=”Microsoft.Jet.OLEDB.4.0″
baglan.open server.Mappath(“1234567890.mdb”)
set Tablo= Server.CreateObject(“ADOX.Catalog”)
set Tablo.ActiveConnection = baglan
for each i in Tablo.Tables
if i.Type = “TABLE” then
Response.Write(i.Name & “<br />”)
end if
next
set Tablo= nothing
%>
Python – Dosya boyutu öğrenme
import urllib2
f = urllib2.urlopen(‘http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi’)
print f.info().items().__getitem__(0)[1]
>>>
9688576
Python – Döviz Kuru Alma
http://www.tcmb.gov.tr/kurlar/today.html sayfasından döviz kurunu alan ufak bir çalışma. Sadece ABD Doları Dolar Alış kısmını yazıyor ekrana. Ancak siz isteğinize göre bunu değiştirebilirsiniz.
import urllib2
f = urllib2.urlopen('http://www.tcmb.gov.tr/kurlar/today.html')
veri=f.read()
veri=veri[veri.find("ABD DOLARI"):veri.find("ABD DOLARI")+40].replace(" ","")
print veri.replace("ABDDOLARI","")
Yorumlar (1)
Yorum Yapın
Yorumlar (4)