Mayıs, 2007 için Arşiv|Aylık arşiv sayfası

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.

0.gif
1.gif
2.gif
3.gif
4.gif
5.gif
6.gif
7.gif
8.gif
9.gif
10.gif

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.

ekran1.jpg

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.

ekran2.jpg

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ı?.