Python Programlama Dili
Bir belgelendirme projesi...
Bu sayfa pygtk etiketini taşıyan makaleleri içerir.

Windows, Python 2.7 ve PyGTK

6 Aralık 2010

Bildiğiniz gibi, yakın bir zamanda Python'ın 2.7 sürümü piyasaya çıktı. Şu anda Python 2.x serisindeki en yeni sürüm 2.7.1.

Peki bu durumun PyGTK programcılarını ilgilendiren yönü nedir? Eğer Python 2.7 altında PyGTK ile programlama yapacaksanız elbette Python 2.6 üzerine kurduğunuz PyGTK paketlerini kullanamazsınız.

Bu yazıda size Python 2.7 üzerinde PyGTK uygulamalarını nasıl çalıştırabileceğinizi adım adım anlatacağım:

Yapmamız gereken ilk iş tabii ki Python programlama dilinin en yeni sürümünü bilgisayarımıza kurmak olacak. Bunun için http://python.org/ftp/python/2.7.1/python-2.7.1.msi adresine gidip python-2.7.1 kurulum betiğini bilgisayarımıza indirdikten sonra Python'ı kuruyoruz.

Sırada GTK+-runtime paketini bilgisayarımıza kurmak var. Bu paketi şu adresten indirip kurmalısınız: http://sourceforge.net/projects/gtk-win/

GTK+-runtime paketini kurarken, eğer aksi için özel bir nedeniniz yoksa, hiç bir ilave ayar yapmadan sadece "next" tuşlarına basıp ilerlemenizi tavsiye ederim.

PyGTK kurulumunun önemli aşamalarını geride bıraktık. Şimdi sırasıyla şu adreslerden şu üç paketi indirip kuruyoruz:

a- PyCairo: http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.8/pycairo-1.8.10.win32-py2.7.exe

b - PyGobject: http://ftp.acc.umu.se/pub/gnome/binaries/win32/pygobject/2.26/pygobject-2.26.0.win32-py2.7.exe

c - PyGTK: http://ftp.se.debian.org/pub/gnome/binaries/win32/pygtk/2.22/pygtk-2.22.0.win32-py2.7.exe

Bütün bu işlemleri tamamladıktan sonra artık Python 2.7 altında PyGTK uygulamaları yazmaya başlayabilirsiniz.

Python Programları: Şifre Yap

20 Ocak 2010

Python Programları bölümümüze bugün yeni bir Python programı daha eklendi. Bu programımızın adı "Şifre Yap". Eren Usturalı tarafından PyGtk arayüz takımı kullanılarak yazılan bu program, kullanıcılarına farklı biçimlerde parolalar üretme imkanı sağlıyor.

Program şöyle bir arayüze sahip:

http://www.istihza.com/images/sy1.jpeg

Ekranın sol tarafında görünen "sayılar", "harfler" ve "özel karakterler" seçenekleri, belirleyeceğimiz parolada sayı, harf veya özel karakter olup olmayacağını gösteriyor. Ne tür bir parola oluşturmak istediğinize bağlı olarak bu seçeneklerin birini veya hepsini birden seçebilirsiniz.

Uygun seçenekleri işaretledikten sonra ekranın sağ tarafında görünen kutucuğa bir sayı yazıyoruz. Bu kutucuğa yazdığımız sayı, üretilecek parolanın kaç karakterden oluşacağını belirliyor. Parolanın karakter sayısını da belirledikten sonra alt taraftaki "Oluştur" düğmesine basıyoruz. Oluşan parola "şifre alanı"nda görüntülenecektir.

Bu program Python'un 2.x sürümlerine uyumlu. Ayrıca program hem GNU/Linux'ta hem de Windows'ta çalışabiliyor.

Programı indirmek veya incelemek isterseniz http://www.istihza.com/programlar/icindekiler_programlar.html adresini ziyaret edebilirsiniz.

Bu programı yazıp bize gönderdiği için Eren Usturalı'ya teşekkür ederim.

İyi çalışmalar,

istihza

Direnç Hesaplama Programı

14 Ocak 2010

Eğer elektrik konusu ilginizi çekiyorsa, tam size göre bir program dahil oldu bugün istihza.com'daki Python Programları bölümüne...

Programımızın adı "Direnç Hesapla". PyGTK arayüz takımı kullanılarak Eren Usturalı tarafından yazılmış olan bu program yardımıyla 4 şeritli elektronik dirençlerin değerlerini hesaplayabiliyoruz.

Oldukça sade ve anlaşılır bir arayüze sahip olan bu program hem GNU/Linux'ta hem de Windows'ta çalışabiliyor. "Direnç Hesapla" adlı bu program şöyle bir arayüze sahip:

http://www.istihza.com/images/dh1.jpeg

Burada, arayüz üzerinde görünen dört adet kutunun her biri için listeden birer renk seçiyoruz. Bu renkler, değer ve toleranslarını göstermek için dirençlerin üzerine çekilen renk şeritlerini temsil ediyor.  Renkleri belirledikten sonra arayüzün alt tarafındaki "Hesapla" düğmesine basarak direncin değer ve toleransını hesaplayabilirsiniz.

Bu programı yazıp bize gönderen Eren Usturalı'ya teşekkür ederim.

Her zamanki gibi, programı indirmek için http://www.istihza.com/programlar/icindekiler_programlar.html adresinde bulunan "Python Programları" adlı bölümümüzü ziyaret edebilirsiniz.

Eğer siz de Python programlama dilini kullanarak yazdığınız programların istihza.com'da yer almasını isterseniz, aşağıdaki bilgileri doldurarak kistihza[at]yahoo[nokta]com adresine gönderebilirsiniz:

Geliştiricisi
Tanımı
Arayüzü
Python Sürümü
Platform:
Ekran Görüntüleri
İndirme Adresi

PyGtk ve Windows

3 Ocak 2010

Windows’ta bir PyGtk Hatası başlıklı yazıda PyGtk'nın Windows'ta hata verdiğinden bahsetmiş, bu sorunun nasıl çözülebileceğini anlatmıştık. O yazıda PyGtk'nın Windows'ta çalışabilmesi için indirilip kurulması gereken programların bağlantılarını da vermiştik.  O bağlantıları bugün kontrol ettiğimde bazılarının kaldırılmış olduğunu gördüm. Dolayısıyla Windows'lu bilgisayarlara PyGtk'yi şimdi kuracak olanlar için o yazıdaki bilgileri ve bağlantıları güncellemek gerekiyor... Ancak hatırlatayım, şimdi vereceğim bilgileri, o yazıdaki bilgilerle birlikte değerlendirmelisiniz...

Windows'ta PyGtk'yi kullanabilmek için sisteminizde Python'un 2.6.4 sürümünün kurulu olması gerekiyor. Bu sürümü http://www.python.org/ftp/python/2.6.4/python-2.6.4.msi adresinden indirip kurabilirsiniz.

Python'u kurduktan sonra Python'u Windows PATH değişkenine eklemeyi unutmayın.  Python'u PATH değişkenine nasıl ekleyeceğinizi öğrenmek için http://www.istihza.com/py2/windows-path.html adresindeki makalemizden yararlanabilirsiniz.

Daha sonra http://ftp.acc.umu.se/pub/gnome/binaries/win32/gtk+/2.18/gtk+-bundle_2.18.5-20091215_win32.zip adresinden "GTK Bundle" paketini indiriyoruz. Bu paketi, eski yazıda anlattığımız şekilde C:/GTK dizini içine açıp, C:/GTK/bin dizinini PATH değişkenine ekliyoruz.

Pycairo, Pygobject ve PyGtk paketlerini ise sırayla şu adreslerden indiriyoruz:

Pycairo: http://ftp.acc.umu.se/pub/GNOME/binaries/win32/pycairo/1.4/pycairo-1.4.12-2.win32-py2.6.exe

Pygobject: http://ftp.acc.umu.se/pub/GNOME/binaries/win32/pygobject/2.14/pygobject-2.14.2-2.win32-py2.6.exe

PyGtk: http://ftp.acc.umu.se/pub/GNOME/binaries/win32/pygtk/2.12/pygtk-2.12.1-3.win32-py2.6.exe

Bunların dışında, dilerseniz http://downloads.sourceforge.net/gtk-win/gtk2_prefs-0.4.1.bin-gtk2.10-win32.zip?download< adresinden "GTK Preference Tool" adlı uygulamayı da indirebilirsiniz. Bu uygulama, GTK programlarının temalarını değiştirmenizi sağlar.

İyi çalışmalar,

istihza

Yeni Harman

27 Kasım 2009

Hatırlarsanız PDF dosyaları üzerinde kesme ve birleştirme gibi işlemleri yapabilmek için HARMAN adlı bir program yazmıştım. HARMAN'ı kullanarak şu işlemleri yapabilirsiniz:

  • Birden fazla PDF dosyasını uç uca birleştirebilirsiniz.
  • Bir PDF dosyasının herhangi bir yerine başka bir pdf dosyası ekleyebilirsiniz.
  • Bir PDF dosyasının herhangi bir yerinden tek veya daha fazla sayfayı silebilirsiniz.
  • Bir PDF dosyasının herhangi bir yerinden tek veya daha fazla sayfayı kesip alabilirsiniz.

HARMAN'ın son sürümü 0.5 numaralı idi ve bu sürüme kadar arayüz takımı olarak hep Tkinter'i kullanmıştım. Tabii Tkinter nedeniyle, "arayüzün çirkinliği" konusunda bazı eleştiriler aldım. Bu eleştirilerin en belirginleri sevgili dostlarım Burak ve Gürkan'dan geldi... :) Bu arkadaşlar ısrarla HARMAN'ın GTK arayüz takımı kullanılarak yazılması gerektiğini belirttiler... Ben de onları kıracağıma kafamı kırarım diyerek HARMAN'ı PyGTK ile yazmaya karar verdim. Sonunda ortaya "G-HARMAN 0.6" çıktı...

G-HARMAN GNU/Linux'ta şöyle görünüyor:

http://www.istihza.com/harman/resimler/gnulin_ekrgor_gnome_tr.png

G-Harman beni epey uğraştırdı, ama sanırım sonunda ortaya çıkan şey fena olmadı..

HARMAN bu sürümle birlikte bazı yeni yetenekler de kazandı. Mesela artık HARMAN "sürükle-bırak" özelliğine sahip. Yani artık bilgisayarınızdaki PDF dosyalarını arayüz üzerindeki liste kutusuna fare yardımıyla sürükleyip bırakabilirsiniz.

Ayrıca HARMAN artık yapılan bir işlemin ilerleme durumunu daha düzgün gösterebiliyor. Bu sürümle birlikte daha yetenekli bir ilerleme çubuğuna sahibiz...

Bunların dışında, HARMAN'ın işleyiş biçiminde de bazı değişiklikler yaptım. Artık bütün PDF dosyaları tek bir liste kutusundan çağrılıyor. Böylece dosya birleştirme, kesme ve ekleme işlemleri için ayrı ayrı yerlere dosya eklemek gibi bir zorunluluğumuz kalmadı. Bu şekilde arayüzün daha da basitleştiğini düşünüyorum.

HARMAN tabii ki GNU/GPL v3 ile lisanslanmış özgür bir yazılım. Bu programın kaynak dosyalarını http://www.istihza.com/harman/icindekiler_harman.html adresinden indirebilirsiniz. Ayrıca o adreste de göreceğiniz gibi, HARMAN'ın .deb ve .exe paketlerini de hazırladım. HARMAN'ın .exe dosyasını py2exe adlı programı kullanarak oluşturdum. Exe dosyası aslında boyut olarak epey büyük. Bu yüzden, en fazla sıkıştırma oranını elde etmek için .exe ile ilgili dosyaları barındıran klasörü 7zip adlı programı kullanarak sıkıştırdım.

HARMAN'ın bir özelliği de çift dilli bir program olmasıdır. Eğer kullandığınız sistem Türkçe ise HARMAN Türkçe bir arayüzle açılır, eğer sisteminiz Türkçe dışında bir dil ise HARMAN İngilizce bir arayüzle açılacaktır.

HARMAN'la ilgili daha ayrıntılı bilgiye http://www.istihza.com/harman/belgeler/harman_intro.html adresinden erişebilirsiniz.

HARMAN'ın, ihtiyacı olanların işine yaramasını ümit ediyorum.

Her zamanki gibi, programda bulacağınız hataları veya programla ilgili görüşlerinizi kistihza [at] yahoo [nokta] com adresine iletebilirsiniz.

Ubuntu'da Yeni bir Araç: Quickly

28 Ekim 2009

Yarın, yani 29 Ekim 2009 tarihinde Ubuntu'nun 9.10 numaralı yeni sürümü yayımlanacak. "Karmic Koala" kod adlı bu yeni Ubuntu sürümü pek çok yenilik ve iyileştirmeyle birlikte geliyor.

Ubuntu geliştiricileri Karmic Koala adlı bu sürümle birlikte, Ubuntu için uygulama geliştiren programcıları da düşünmüş.

Uygulama geliştirenlerin şık arayüzlere sahip programları çok daha hızlı bir şekilde geliştirebilmeleri ve bu uygulamaları birer Ubuntu .deb paketi haline kolayca getirebilmeleri için onlara yepyeni bir araç sunuyor Ubuntu geliştiricileri... Bu yeni aracın adı "Quickly".

Quickly, uygulama geliştirenlerin, yazacakları projelerin prototipini oluşturabilmesi için bir "proje şablonu" oluşturuyor. Bu şablon olgun bir projenin sahip olması gereken bütün temel özellikleri taşıyor.

Quickly'yi kullanabilmek için elbette öncelikle programı bilgisayarımıza kurmamız gerekiyor. Quickly'yi kurmak için şu komutu veriyoruz:

sudo aptitude install quickly

Quickly'yi kurduğumuza göre, isterseniz Quickly'nin tam olarak neye benzediğini anlamak için ufak bir çalışma yapalım.

Önce Uygulamalar > Donatılar > Uçbirim yolunu takip ederek bir konsol ekranı açıyoruz. İsterseniz ALT+F2 tuşlarına bastığınızda açılan pencereye "gnome-terminal" yazıp enter'e basarak da konsol ekranına ulaşabilirsiniz...

Komut satırına ulaştığımızda şu komutu veriyoruz:

quickly create ubuntu-project yeni-proje

Bu komutu verdiğimizde karşımıza yeni bir pencere gelecek. İşte bu pencere, Quickly'nin sizin için oluşturduğu proje şablonunun arayüzü... Yolumuza devam edebilmek için bu arayüzü çarpı düğmesine basarak kapatalım.

Yukarıdaki komutu verdikten sonra, bu komutu hangi dizin altında vermişseniz o dizin altında "yeni-proje" adlı bir klasör oluştuğunu göreceksiniz. Yeni oluşan klasörün içine baktığınızda burada bazı dizin ve dosyalar bulacaksınız. "yeni-proje" klasörünün içindeki dizin ve dosyaları incelerseniz, bir uygulama paketinde bulunması gereken temel bileşenlerin tamamının elinizde olduğunu görürsünüz.

Şimdi "yeni-proje" klasörünün içinde şu komutu verin:

quickly glade

Bu komutu verdiğinizde, ilk aşamada karşınıza çıkan arayüz penceresini düzenleyebileceğiniz bir Glade sayfası açılacaktır. Burada PyGTK ve Glade bilginizi konuşturarak istediğiniz görünüme ve işleve sahip bir program üretebilir, aşağıdaki komutu kullanarak programınızı test edebilirsiniz:

quickly run

Quickly, oluşturduğunuz uygulamaları otomatik olarak Bazaar sürüm takip sistemine dahil edecektir. Çalışmanızı Bazaar sistemine uygun olarak yedeklemek için şu komutu kullanabilirsiniz:

quickly save "ilk sürüm"

Bu komut alttan alta``bzr add`` ve bzr commit -m 'mesaj' komutlarını işletecektir...

Quickly, yukarıda anlattığımın dışında daha pek çok özelliğe sahip, son derece kullanışlı bir araçtır.

Quickly ayrıca ayrıntılı bir kılavuza da sahiptir. Quickly kılavuzuna ulaşmak için oluşturduğunuz proje klasörü içinde şu komutu verebilirsiniz:

quickly tutorial

Bu komut, varsayılan internet tarayıcınız aracılığıyla Quickly kılavuzunu görüntüleyecektir.

Dediğim gibi, Quickly'nin daha pek çok özelliği var. Bu yazılım ve bu yazılımın kılavuzu geliştirilmeye devam ediyor. Bir gözünüz Quickly'nin üzerinde olsun!...

Pygtk 2.x Bölümü

23 Ekim 2009

istihza.com temel olarak Python ve Tkinter'e ilişkin bir Türkçe belgelendirme çalışması olsa da, burada Pygtk hakkında bilgiler de veriliyor. istihza.com'daki Pygtk bölümü şu an için "temel atma" aşamasındadır. Ancak bu bölümün de zamanla olgunlaşması için, fırsat buldukça bazı çalışmalar yapıyorum...

"Pygtk Bölümünü Adam Etme Projesi"nin bir parçası olarak bugün bu bölüme bazı yeni konular ekledim. Yeni konular eklemenin dışında, mevcut konuları da tekrar gözden geçirerek bazı yazıları genişlettim.  Ayrıca bu bölüme ait PDF dosyası da HTML belgeleriyle eşzamanlı olarak güncellendi.

Yenilenmiş Pygtk bölümünün HTML sürümüne http://www.istihza.com/gtk/icindekiler_pygtk.html adresinden; PDF sürümüne ise http://www.istihza.com/gtk/pdf/Pygtk2x.pdf adresinden ulaşabilirsiniz.

Yalnız bu aralar aklıma şöyle bir konu takılıyor: Bildiğiniz gibi, istihza.com'daki HTML dosyalarında ne zaman bir değişiklik yapsam, bu değişiklikleri hemen PDF dosyalarına da yansıtıp, yeni PDF dosyasını sunucuya yüklüyorum.  istihza.com'u takip edenler bu PDF belgelerini bilgisayarlarına indirdikleri için, acaba böyle yaparak "PDF kirliliğine" yol açıyor muyum, okurların bilgisayarlarındaki PDF sürümlerinin birbirine karışmasına sebep oluyor muyum diye de düşünmüyor değilim...

O yüzden bu konuda fikrinizi almak isterim.  istihza.com'da yapılan değişiklikler anında PDF olarak yayımlansın mı, yoksa HTML belgeleri belli aralıklarla mı PDF haline getirilsin?

PDF'leri hemen hazırlamak veya belli aralıklarla hazırlamak arasında benim için pek bir fark yok. Sonuçta ben PDF'leri sadece iki komutla oluşturup tek harekette sunucuya yüklüyorum. O yüzden işin "külfet" boyutunu rahatlıkla bir kenara atıp "düzenlilik" boyutuna odaklanabiliriz...

Sevgiler,

istihza

Windows'ta bir PyGtk Hatası

6 Ekim 2009

Not

Bu yazıdaki bazı bağlantılar eskimiştir. Bağlantıların yeni adresleri için http://www.istihza.com/blog/pygtk-ve-windows.html/ sayfasındaki yazımızı inceleyiniz...

Bir-iki gün önce bir arkadaş bana e.posta göndererek, Windows'ta PyGtk'yi kullanamadığını, herhangi bir PyGtk programını çalıştırmaya çalıştığında şöyle bir hata aldığını söyledi:

from _gobject import type_from_name
ImportError: DLL load failed: Belirtilen modül bulunamadı.

Bunun üzerine deneme yapmak için ben de daha önce PyGtk kurduğum ve düzgün bir şekilde çalışan Windows'lu bir bilgisayardaki PyGtk ve PyGtk'ye ilişkin bütün paketleri önce kaldırıp daha sonra PyGtk ve ilgili paketleri yeniden kurdum bu bilgisayara...

Dediğim gibi, eski kurulumda bir sorun yoktu, ancak bu kez PyGtk'yi kurup herhangi bir PyGtk programını çalıştırmaya çalıştığımda ben de hemen hemen aynı hatayı aldım.

Benim aldığım hata da şöyleydi:

ImportError: DLL load failed: The specified module could not be found.

Sanırım son GTK paketlerinden birinde bir uyumsuzluk var... Eğer siz de Windows üzerine PyGtk kurarken yukarıdakine benzer bir hata alıyorsanız, sorunu şu şekilde çözebilirsiniz:

  1. Önce PyGtk ile ilgili kurduğunuz bütün programları kaldırın.
  2. Daha sonra sırasıyla şu programları indirin:

http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.16/gtk+-bundle_2.16.6-20090911_win32.zip

http://ftp.gnome.org/pub/GNOME/binaries/win32/pycairo/1.4/pycairo-1.4.12-2.win32-py2.6.exe

http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.14/pygobject-2.14.2-2.win32-py2.6.exe

http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.12/pygtk-2.12.1-3.win32-py2.6.exe

  1. İlk paket hariç ötekilerin kurulum betikleri var. Bunları çift tıklayarak kurabilirsiniz. Yalnız bu paketleri kurarken listeden Python 2.6 sürümünü seçmeyi unutmayın...
  2. İlk "bundle" paketini C dizini içinde GTK adlı bir klasörün içine açın. Daha sonra C:\GTK\bin klasörünü "PATH" değişkeninize ekleyin.

Eğer bu dizini "PATH" değişkenine nasıl ekleyeceğinizi bilmiyorsanız şu makalemizden yararlanabilirsiniz: http://www.istihza.com/py2/windows-path.html

Bir Metin Şifreleme Programı: Şifreci

4 Ekim 2009

Bugün Python Programları bölümünün iki yeni konuğu var. Ali Rasim Koçal'ın yazdığı "Şifreleyici" ve Samet Aras'ın yazdığı "Feed Lancer -- PyQt"

Ali Rasim Koçal tarafından yazılan "Şifreleyici", bir metin şifreleme ve metin şifresi çözme programı. Tkinter arayüz takımı kullanılarak yazılan bu uygulama yardımıyla arayüz üzerinden girilen bir metni şifreleyebiliyor ve daha sonra bu şifreyi çözebiliyoruz. Program şifre olarak bir sayı dizisi veriyor.

Ali Rasim Koçal, bu programı nasıl kullanacağımız konusunda şu bilgiyi veriyor:

İlk olarak şifreli mesaj göndereceğiniz ve alacağınız kişiyle ortak olarak iki anahtar belirlemeniz gerekiyor. Bu iki anahtar istediğiniz uzunlukta olabilir ancak sayı olmalı. Daha sonra aşağıdaki uzun girdi alanına şifreleyeceğiniz metni yazdıktan sonra şifrele butonuna basmalısınız. Bu butona bastığınızda program metni bir sayıya çevirecek ve şifrelenmiş halini gene bir sayı olarak verecek Bu şifreli sayıyı muhatabınıza gönderebilir, bir metni saklamak için kullanabilir ya da ne için şifreleme ihtiyacı duyduysanız o amaçla kullanabilirsiniz. Elinizdeki bir şifreyi çözerken ise gene benzer bir yol izleyeceksiniz. Aynı anahtarları aynı sırayla üstteki girdi alanlarına girip, şifre olan sayıyı da aşağıdaki uzun girdi alanına ekledikten sonra şifre çöz butonuna basın. Program aynı şekilde şifrenizin çözülmüş halini verecektir.

Bu programın ekran görüntülerine ve indirme adresine Python Programları bölümünden erişebilirsiniz.

Python Programları bölümümüzün ikinci konuğu ise Samet Aras'ın daha önce geliştirip bize gönderdiği "Feed Security" adlı yazılımın PyQt sürümü. Yine Samet Aras tarafından geliştirilen bu "Feed Security -- PyQt sürümü" daha önceden PyGtk arayüz takımı kullanılarak yazılmıştı. Bu programın hem PyGtk hem de PyQt sürümüne Python Programları bölümünden ulaşabilirsiniz.

Bu programları yazıp bize gönderen Ali Rasim Koçal ve Samet Aras'a teşekkür ederim.

Sevgiler,

istihza

Altyapı Çalışmaları...

13 Eylül 2009

Bir süredir istihza.com'u tamamen Sphinx altyapısına geçirmek için uğraşıyordum. Nihayet bugün istihza.com tamamen Sphinx'le hazırlanır hale geldi... Bugünkü düzenlemelerden sonra Python 2.x, Python 3.x, Tkinter 2.x ve PyGtk 2.x bölümleri birbirleriyle uyumlu bir görünüm kazandı.

Bu bölümlerde konu edilen derslerin güncel PDF sürümlerine şu bağlantılardan ulaşabilirsiniz:

Python 2.x'i PDF olarak indirmek için: http://www.istihza.com/py2/pdf/Python2x.pdf

Python 3.x'i PDF olarak indirmek için: http://www.istihza.com/py3/pdf/Python3x.pdf

Tkinter 2.x'i PDF olarak indirmek için: http://www.istihza.com/tk2/pdf/Tkinter2x.pdf

PyGtk 2.x'i PDF olarak indirmek için: http://www.istihza.com/gtk/pdf/Pygtk2x.pdf

Bunların dışında, istihza.com'da bulunan "Makaleler" bölümünde de bazı değişiklikler yaptım. Artık tek başına, ayrı bir "makaleler" bölümü yok. Buradaki konuları doğrudan Python 2.x bölümüne özel konular başlığı ile taşıdım. Kendi yazdığım makalelerle birlikte, istihza.com takipçilerinden gelen makaleler de bu bölümde yayımlanacak. Örneğin Sevgili Kürşat Örsel'in istihza.com için hazırlamış olduğu math modülü yazısı da özel konular bölümü içinde yer alıyor...

istihza.com içinde yer alan Python Programları ve Harman adlı bölümlere dokunmadım. Bu bölümler sadece tek sayfadan oluştuğu için bunlar bu şekilde kalacak. Ayrıca ana sayfamızı da elle düzenlemeye devam edeceğim.

Her zaman olduğu gibi, sitede bulduğunuz hataları kistihza [at] yahoo [nokta] com adresine iletebilirsiniz...

Sevgiler,

istihza

Sözlüğüm: Bir Kelime Sorma Yazılımı

4 Eylül 2009

Python Programları bölümüne bugün yeni bir program daha eklendi. Bu programın adı "Sözlüğüm".

Sevgili Ramazan Utku tarafından PyGTK arayüz takımı kullanılarak Python Programlama Dili ile yazılan bu program bir "kelime sorma yazılımı"dır. Bu program, sizin  eklediğiniz kelimeleri, sizin belirlediğiniz sıklıkta size sorar. Program aynı zamanda kullanıcıya, doğru cevap istatistiklerini de gösteriyor.

Programı kullanabilmek için, sisteminizde şu yazılımların da kurulu olması gerek:

  1. Pysqlite
  2. PyGtk
  3. PyNotify (python-notify)

Bu programı yazıp bize gönderdiği için Ramazan Utku'ya teşekkür ederim.

Eğer siz de Python ile yazdığınız bir programın istihza.com'da Python Programları bölümünde tanıtılmasını isterseniz kistihza [at] yahoo [nokta] com adresinden bana ulaşabilirsiniz.

Huzurlarınızda CIMBIZ.py

26 Haziran 2009

Not

Güncelleme: Bu yazıda adı geçen CIMBIZ uygulamasının son sürümüne http://istihza.com/programlar/icindekiler_programlar.html adresinden ulaşabilirsiniz.

Bildiğiniz gibi istihza.com'da bir süredir PYGTK için Türkçe kaynak oluşturmaya çalışıyorum... Daha önce de söylediğim gibi, ben bu Pygtk işine sevgili Burak ve Gürkan'ın kışkırtmaları sonucu başladım... :)

istihza.com'daki Pygtk bölümünde, kendi öğrenme sürecim sırasında edindiğim bilgileri paylaşıyorum. Yani ben de okurla birlikte öğrenmeye çalışıyorum bu Pygtk denen arayüz takımını...

Herhangi bir şeyi öğrenmenin en iyi yolu; öğrendiklerinizi uygulamaya geçirmek, bol bol pratik yapmaktır. Bir konuyu öğrenirken kendinize ufak tefek projeler belirlerseniz, o projenin yapımı aşamasında, hiç bir yazılı belgenin size öğretemeyeceği kadar çok şeyi kısa süre içinde öğrenebilirsiniz... İşte ben de bu şiarla yola çıkarak, Pygtk'yi daha kolay ve hızlı bir şekilde öğrenebilmek için kendime küçük bir proje belirledim. Bu projenin adını da "CIMBIZ" koydum...

CIMBIZ; Dolar ve Avro'ya ilişkin alış ve satış bilgilerini gösteren basit bir Pygtk uygulaması... Bu uygulama, döviz bilgilerini http://www.tcmb.gov.tr/ adresinden alıyor. CIMBIZ'ı kullanarak bugünkü ve geçmiş kur bilgilerini alabilirsiniz (Dolar ve Avro).

CIMBIZ 1996 - 2009 yılları arasındaki TCMB döviz bilgilerini kapsıyor. Eğer geçmiş kur bilgilerini öğrenmek için girdiğiniz tarih resmi tatillere denk geliyorsa, "Veri Yok" şeklinde bir uyarı alacaksınız. Ayrıca Avro'nun henüz piyasaya çıkmadığı dönemlere ait bir tarih girmeniz durumunda da "Avro" kısmında "Veri Yok" uyarısı görüntülenecektir (Avro para birimi piyasaya 2002'den sonra çıktı... Ondan önce Mark vardı!... :))

Eğer bugünkü Dolar ve Avro kurunu öğrenmek isterseniz, herhangi bir tarih bilgisi girmeksizin, doğrudan arayüz üzerindeki "Bugünkü Kur" düğmesine basmanız yeterli olacaktır.

Ben Tkinter'i daha yeni yeni öğrenmeye başladığım sıralarda da buna benzer bir çalışma yapmıştım. O zaman, bu proje benim Tkinter hakkında epey bilgi sahibi olmamı sağlamıştı... Aynı şeyin Pygtk için de olmasını ümit ederek böyle bir çalışmaya giriştim. CIMBIZ bana Pygtk'ye ilişkin yeni şeyler öğretmenin yanısıra günlük döviz bilgisi alma ihtiyacımı da karşılıyor... Bu uygulamanın sizin de işinize yaramasını umuyorum...

CIMBIZ'ın tar.gz ve zip dosyalarını şu adreslerden indirebilirsiniz:

  1. http://www.istihza.com/cimbiz/cimbiz-0.1/anakaynak/cimbiz-0.1.tar.gz
  2. http://www.istihza.com/cimbiz/cimbiz-0.1/anakaynak/cimbiz-0.1.tar.gz

CIMBIZ'ı çalıştırmak için, uygulamanın bulunduğu dizin içinde şu komutu vermek yeterli olacaktır:

python cimbiz.py

Pygtk'nin henüz Python 3.x ile uyumlu bir sürümü olmadığı için CIMBIZ'ı ancak Python'un 2.x sürümlerinden biriyle kullanabiliyoruz...

Bu uygulamayı, "Ubuntu Karmic Koala" üzerinde hazırladım ve test ettim. Henüz Windows kurulu bir bilgisayarda deneme şansım olmadı bu uygulamayı... Ama eğer öteki GNU/Linux dağıtımlarını veya Windows'u kullanan arkadaşlar CIMBIZ'ı kendi sistemlerinde denerse, bununla ilgili geridönüş almaktan memnuniyet duyarım.

Bu arada, bu uygulamayı çalıştırabilmek için sisteminizde Pygtk ve GTK2 paketlerinin kurulu olması gerekiyor. Bu paketlerin kurulumuyla ilgili bilgiye http://www.istihza.com/pygtk/pygtk_temel.html adresinden erişebilirsiniz...

Son olarak, CIMBIZ, (tıpkı HARMAN gibi) GPL v3 ile lisanslanmış bir özgür yazılımdır

İyi çalışmalar dilerim,

Fırat

Bazı Yenilikler...

11 Haziran 2009

Bildiğiniz gibi birkaç gün önce istihza.com'da bir "Pygtk Notları" bölümü açarak, Pygtk için Türkçe kaynak oluşturma çalışmalarına başlamıştım. Bugün bu bölüme birkaç yeni konu daha ekledim ve bu yeni bilgileri de sunucuya yükledim. Ayrıca Pygtk için gezinti çubuğu üzerinde yer de açtım. Böylece Pygtk da ana menüdeki yerini almış oldu... Bu şekilde Pygtk bölümüne ulaşmak biraz daha kolaylaşacak.

Bu arada, Pygtk'nin henüz Python 3.x ile uyumlu bir sürümünün olmadığını tekrar hatırlatmak isterim. Bu yüzden, istihza.com'daki Pygtk derslerini takip edebilmek için Python'un 2.x numaralı sürümlerinden birini kullanmanız gerekiyor. Pygtk'nin Python 3.x ile uyumlu sürümü çıktığında "Pygtk Notları" bölümünü yeni sürüme göre düzenleyeceğim.

Açıkçası, Pygtk konusunda Türkçe olarak yazılmış pek kaynak yok etrafta. Benim amacım, bu arayüz takımını olabildiğince basit ve ayrıntılı şekilde anlatan bir Türkçe kaynak oluşturmak. Okuru teknik ayrıntılarla boğmayan ve rahat okunan bir belge ortaya koymayı amaçlıyorum. Bu amaca ulaşmak için elimden geleni yapacağım... Ben de bu arayüz takımını yeni yeni öğrenmeye başladığım için, şu aşamada "Allah utandırmasın!" demekten başka çarem yok!... :)

Pygtk dışında, istihza.com'da bir başka yenilik daha var. Sitedeki "günlük" bölümünü hazırlamak için kullandığım Wordpress yazılımı bugün 2.8 sürümüne yükseltildi. Ben de gecikmeden yazılım sürümünü yükseltmeye karar verdim. Bir arıza çıkmasından korktuğum için, açıkçası sürüm yükseltmekten biraz çekiniyordum. Ama neyse ki herhangi bir aksilik çıkmadan Wordpress sürümünü 2.8'e yükselttik... Hayırlı olsun!... :)

Not

Bugün uzun bir aradan sonra Makaleler bölümüne yeni bir makale de eklenmiştir: Python'da PDF İşlemleri -- pyPdf Kütüphanesi

Pygtk için Türkçe Kaynak

1 Haziran 2009

Geçen gün Burak ve Gürkan'ı, Burak'ın günlüğünde beni ve HARMAN'ı çekiştirirlerken yakaladım... Neymiş efendim, HARMAN GTK ile yazılsa olmaz mıymış... Bu arkadaşlar yakışıklı arayüzü olan bir program kullanmak isterlermiş... Peh! Gentoo kullanan, konsolcu adamlardan bu lafları da duydum ya, artık gözüm açık gitmem!

Neyse... Baktım ki bu arkadaşlar GTK konusunda ısrarcı, o halde ben de Pygtk çalışmaya başlarım dedim kendi kendime... Ama açıkçası internet üzerinde bulduğum öğretici belgeler bana pek tatmin edici gelmedi. Elimizdeki en iyi Pygtk kılavuzu http://www.pygtk.org/pygtk2tutorial/index.html adresinde bulunuyor. Ancak bu belgedeki bazı bilgiler epey eskimiş. Belgede gösterilen bazı özellikleri kullanmaya çalışırken Pygtk "deprecation warning" (eskimiş özellik uyarısı) atıyor... Bunun üzerine ben de kendi öğretici belgemi kendim yazmaya karar verdim ve ortaya şöyle bir şeyler çıktı:

http://www.istihza.com/pygtk/icindekiler_pygtk.html

Pygtk'yi öğrendikçe, buraya yeni konular ekleyeceğim ve öğrendiklerim doğrultusunda belgedeki olası hatalarımı düzelteceğim. Orta vadede amacım HARMAN'ı Pygtk'ya aktarmak.

Beni böyle bir maceraya iten Burak ve Gürkan'a sevgiler... :)

Hakkında

7 Şubat 2009

istihza.com, Python programlama dili için bir Türkçe kaynak oluşturma projesidir. Bu proje 2007 yılında Fırat Özgül tarafından başlatılmıştır. istihza.com'da Python'a ilişkin şu konular hakkında bilgilere ulaşabilirsiniz:

istihza.com projesinin aynı zamanda bir wiki'si ve forum'u da bulunmaktadır.

Kullanım Koşulları

istihza.com Creative Commons lisansı altındadır. Buna göre, buradaki bütün belgelerden herkes ücretsiz olarak yararlanabilir. Eğer isterseniz burada gördüğünüz belgelerin çıktısını alabilir, arkadaşlarınızla gönül rahatlığıyla paylaşabilirsiniz. Ancak bu belgeleri başka bir yerde kullanacaksanız, http://www.istihza.com adresini kaynak olarak göstermeli ve bu belgeleri kesinlikle satmamalısınız. Arzu ederseniz belgeleri çoğaltıp ücretsiz olarak dağıtabilirsiniz.

Destek

'Kullanım Koşulları' başlığında da söz edildiği gibi, buradaki bütün belgeleri ücretsiz olarak okuyabilir veya bilgisayarınıza indirebilirsiniz. Eğer buradaki bilgilere kağıt üzerine basılı olarak da ulaşmak veya projeye destek olmak isterseniz, KODLAB Yayınları'ndan çıkan "Her Yönüyle Python" adlı kitabımızı satın alabilirsiniz.

İletişim

Site ile ilgili yorum ve sorularınızı istihza [at] yahoo [nokta] com adresine gönderebilirsiniz.