İmkansız denen şeyler çoğunlukla denenmemiş olanlardır.
Jim Goodvin
Delicious StumbleUpon Digg Twitter Facebook

Yeni Bir İş, Puanın Sırasını Bulma

Yazan : admin Tarih : October 27, 2008-11:31 pm Etiketler : , ,

16 Ekim'den beri istcall'da çalışıyorum. Bu süre zarfında projelerle ve diğer uğraşılarımla pek ilgilenemedim. Ama yavaş yavaş adapte oluyorum bu düzene. İşin sevindirici tarafı Linux ve Python'dan uzak kalmamam olsa gerek. Diğer bir sevindirici tarafı ise artık tasarımla uğraşmam gerekmiyor.

Bazen lazım oluyorlar, listelemekte fayda var unutmamak için.

  • Bir dizinin boyutunu öğrenebiliriz : du -hs /home/
  • rm -f * ile silinemeyecek kadar çok dosya varsa kullanabiliriz : find . -name '*' | xargs rm
  • Linux sunucu üzerinde ms access veritabanı dosyasından veri çekmek için kullanabiliriz : mdbtools (PHP'de exec, Python'da os.system() ile işe yarayabilir web uygulamaları için. Yanız bu paket Pardus'da yok ya da ben bulamadım)
  • n tane işlem için işleri çok kolaylaştırabilir : imacros for firefox.
  • Pdf dosyasından veri almak için kullanılabilir: pdftotext (PHP'de exec ile işe yarayabilir.)
Aşağıda puanlara göre bir liste oluşturup, id değerine göre kullanıcı puanının kaçıncı sırada olduğunu bulmaya yarayan bir sınıf mevcut. Bir arkadaşın işine yarayacak sanırım.
 
< ?php
class sirala{
    var $db = null;
 
    function sirala(){
        $this->db = mysql_connect('localhost','root','vertrigo');
        mysql_select_db('test');
    }
 
    function kapat(){
        mysql_close($this->db);
    }
 
    function veriEkle($veriSayisi){
        for($count=0;$count< $veriSayisi;$count++){
            $point = rand(0,$veriSayisi);
            mysql_query(sprintf('insert into tablo(isim,puan) values("%s",%d)',
                'isim-'.$count,
                $point
            ));
        }
    }
 
    function veriSirala(){
        $result = mysql_query('select * from siralama');
        if (mysql_numrows($result)==0){
            mysql_query('insert into siralama(liste) values("")');
        }
        $puan_listesi = array();
        $result = mysql_query('select * from tablo order by puan desc ');
        $count = 1;
        while ($row = mysql_fetch_object($result)){
            $puan_listesi[$row->id] = $count;
            $count++;
        }
 
        mysql_query(sprintf('update siralama set liste="%s"',
            serialize($puan_listesi)
        ));
    }
 
    function sirayiAl($id){
        $result = mysql_query('select * from siralama ');
        $data = mysql_fetch_array($result);
        $data = unserialize($data[0]);
 
        return $data[$id];
    }
}
 
$sirala = new sirala();
 
// Test amaçlı 100 veri ekle.
$sirala->veriEkle(100);
// Eklenen verileri sırala ve siralama adındaki tabloya oluşan listeyi aktar
$sirala->veriSirala();
// ID değerine göre kişinin sırasını ekrana yaz.
echo $sirala->sirayiAl(90);
 
$sirala->kapat();
?>
 

[...] Şöyle bir girdi yayınlamıştım. PHP kodları ile uzunca kodlar yazmanın hiç bir gereği yokmuş. Postgresql’den Mysql’e geçiş işlemlerinde fonksiyonlarında taşınması gerekiyordu. Bu sırada Mysql üzerinde fonksiyon işlemlerine göz atma fırsatım oldu (daha önce duyumlarım olsada bilgim yoktu). [...]

Yorumlayan Ömer Ücel » Unutulanlar Tarih February 2, 2009 1:36 am

Kolay, GAE ve Django kullanarak yazılan uygulamaların grafiksel ortamda çalıştırılabilmesini ve yönetilebilmesini sağlar.

http://kolay.googlecode.com
Günümüzde bir çok site ya da e-posta servisine üye olmamız gerekebiliyor. Tüm bu üyeliklerde aynı şifreyi kullanmak güvenlik açısından ne yazık ki bir risk oluşturmakta. Ayrıca tüm bu şifreleri akılda tutmak büyük çaba gerektirirken, bunları bir yere not etmekte birilerinin eline geçmesine fırsat vermektedir.

Hatırlat programı ile şifrelerinizi kategorilendirerek kayıt altında tutabilirsiniz. Verileriniz kaydedilirken sizin belirlediğiniz bir anahtar vasıtasıyla gizlendiği için birileri veritabanına erişse bile bunu çözmesi epey güç olacak.

İşletim sistemi değişikliklerinde ya da yeni sistem kurulumunda, programdaki yedekleme/geri yükleme özelliğini kullanarak bilgilerinizi taşıyabileceksiniz (Bu özellik henüz projeye dahil edilmemiştir).

http://hatirlat.googlecode.com
Yapılacak işlerle ilgili küçük notlar almanızı sağlar.

http://notal.googlecode.com