arşiv

yazılar buna göre etiketlendi; ‘Tkinter’

Yeni Python3 Belgeleri

Pazartesi, 02 Oca 2012

Uzun süredir üzerinde çalıştığım yeni Python3 belgelerinin bir kısmını bugün yayımladım. Bu belgelere http://www.istihza.com/beta/py3/icindekiler_python.html adresinden ulaşabilirsiniz.

Aslında elimde sitede gördüğünüzden daha fazla belge var, ama bu belgeleri yayımlayabilmek için, içeriğin hazır olması yetmiyor ne yazık ki. Belgelerin sunumu ile de epey uğraşmak lazım. O yüzden, bu belgeleri yayımlanabilir hale getirebilmek için bunların üzerinde biraz daha çalışmam gerekiyor. Belgeler hazır oldukça sunucuya yükleyeceğim.

http://www.istihza.com/py3/icindekiler_python.html adresinde bulunan eski belgelerde Python3′ün 3.0 sürümünü ele almıştık. Yeni belgelerin eski belgelerden farkı ise, yeni belgelerde Python3′ün daha yeni bir sürümünün (Python 3.2.2), çok daha ayrıntılı bir şekilde anlatılıyor olması.

Yeni Python3 belgelerinin başka bir önemli özelliği de Python ve Tkinter’in birlikte anlatılmış olması. Bu belgelerde öğrenci komut satırı ve grafik arayüz tasarımını birlikte öğrenecek. Bu sistemin öğrencinin motivasyonunu artıracağını düşünüyorum. Bu kararın gerekçelerini belgelerde şu şekilde açıklamaya çalıştım:

Bir programlama dilini öğrenirken, öğrencinin karşısındaki en büyük engel öğrenilmesi gereken şeylerin çokluğu veya zorluğu değildir. Aslında öğrencinin öğrenme motivasyonunu kırabilecek, onu yolundan alıkoyabilecek en önemli etken, öğrendiği bilgileri kafasında bir yere oturtamamasıdır. Yani öğrenci bir programlama dilini öğrenirken, özellikle de henüz yolun başındaysa ve daha önce de herhangi bir programlama dili deneyimi olmamışsa, öğretilen şeyler ona gereksizmiş gibi gelebilir. Hatta öyle ki, zaman zaman anlamsız ayrıntılarla vakit kaybettiği hissine dahi kapılabilir.

Bu kitapta şimdiye kadar öğrendiğimiz bilgilerden örnek vermemiz gerekirse, kapkara bir ekrana “Merhaba Zalim Dünya!” yazdırmanın son derece gereksiz ve aslında hiçbir işe yarayamayan bir çaba olduğunu düşünebilir. Öğrenci (doğal olarak) her zaman sabırsızdır. Bir an önce sonuca varmak, emeklemeyi öğrenmeden koşmak ister.

Bu kitaptaki konuları okurken siz de yukarıda anlatılan sabırsızlık ve manasızlık duygusuna kapılmış olabilirsiniz. Ama aslında bunun çok doğal bir his olduğunu asla aklınızdan çıkarmayın ve bir an da olsa kafanızdan geçen bu hislerin sizi yolunuzdan döndürmesine, motivasyonunuzu kırmasına izin vermeyin. Unutmayın ki, bütün büyük programlar, minicik ayrıntıların programcı tarafından ustaca bir araya getirilmesi sonucu ortaya çıkar. Hatta şöyle diyebiliriz: Programlama, bir yap-bozun parçalarını birleştirmek gibidir. Yap-bozun parçalarına tek tek baktığınızda bu parçalar bütüne dair bir anlam ifade etmeyebilir. Asıl manzara bu anlamsız görünen küçük parçaları birleştirdiğinizde ortaya çıkar…

Aslında bu anlattıklarımız sadece programlama öğrenen öğrenciler için değil, her konunun öğrencileri için geçerlidir. Örneğin okullarda İngilizce öğretilirken ilk verilen bilgilerden biri “This is an apple!” (Bu bir elmadır) cümlesidir. Belki bu cümleyi hayatınız boyunca hiçbir zaman kullanmayacaksınız. Ama bu cümlede geçen ve ilk bakışta dikkatinizi çekmemiş olabilecek ayrıntılar aslında İngilizce’nin yapısı ve mantığı hakkında son derece önemli bilgiler içeriyor. Böyle bir cümle kurmadan, daha karmaşık cümleler kuramazsınız. Aynı şekilde, bizim bu kitapta size öğrettiğimiz print("Merhaba Zalim Dünya!") komutunu da yazdığınız programlarda muhtemelen hiçbir zaman kullanmayacaksınız. Ama tıpkı “This is an apple!” cümlesinde olduğu gibi, print("Merhaba Zalim Dünya!") ifadesi de Python programlama diline dair çok önemli ayrıntıları içinde barındırır. Aynı şekilde, bu komutu yazabilmek de önemli ve büyük programlar üretebilmenin ilk adımıdır.

Öğrencinin yaşadığı bu ikilem sadece kendisini değil, herhangi bir konu üzerine öğretici belge hazırlayanları da bir hayli zorlar. Çünkü herhangi bir konu üzerine öğretici belge hazırlayanların aşması gereken en büyük zorluk, anlatılacak konuları düzgün bir şekilde hazırlamaktan ziyade, yukarıda söz edilen heves kırıcı etkenleri bertaraf edip, okurun ilgisini sürekli ayakta tutabilmektir.

Konuyu programlama açısından ele alacak olursak, aslında öğrencinin hevesini kıran şey biraz da komut satırının kasvetli havasıdır. Bir programlama dilini öğrenmeye çalışan kişi günlük yaşamında sürekli olarak modern grafik arayüzlere sahip programlarla karşılaşırken, kendi öğrenme deneyimi sırasında siyah bir ekranla uğraşmak zorunda kalmak pek hoşuna gitmeyebilir. Öğrencinin komut satırıyla birlikteliği uzadıkça, sabırsızlığı da artacak, bir an önce pencereli-düğmeli programlar yazabilme arzusu yüzünden öğrenmesi gereken temel bilgilere odaklanmakta dahi zorluk çekebilecektir.

Bu kitapta, yukarıda sözü edilen sıkıntıları en hafife indirmek için biz öğrenciyi grafik arayüz programlama ile erkenden tanıştırma yoluna gideceğiz.

Elbette Python programlama dilini bu kitap aracılığıyla öğrenmek isteyenler arasında, Tkinter’e (veya genel olarak grafik arayüz programlamaya) hiç bulaşmadan sadece Python öğrenmek isteyenler de olabilir. İşte biz onları da düşünerek grafik arayüz konusunu ayrı bir bölüm olarak tasarladık. Bundan sonraki her dersin sonunda “Tkinter” adlı bir bölüm de yer alacak. Eğer grafik arayüz konusunu öğrenmek istemeyenlerdenseniz ders sonlarındaki Tkinter adlı bölümleri es geçebilirsiniz. Bu bölümleri görmezden gelmeniz Python’ın kendisine ilişkin bölümlerdeki konuları anlamanızı zorlaştırmaz veya herhangi bir şekilde etkilemez.

Grafik arayüz programlama ile komut satırı programlama konularının bir arada anlatılmasının gerekçesi, bir an önce pencereli-düğmeli programlarla tanışmak isteyenlerin ihtiyacına cevap verebilmektir. Eğer “benim böyle bir ihtiyacım yok!” diyorsanız alnınız dik, başınız ileride yolunuza devam edebilirsiniz.

Esasında her öğretme biçiminin kendine has artı ve eksi yönleri vardır. Bu açıdan, dezavantajsız bir öğretme biçiminden söz etmek pek mümkün olmayacaktır.

Bir programlama dilini sadece komut satırı üzerinden öğretmeye çalışmanın dezavantajlarından yukarıda bahsetmiştik. Grafik arayüz programlama, özü itibariyle ileri düzey bir konu olduğu ve kavramlar açısından komut satırı programlamaya göre önemli farklılıklar içerdiği için öğrenciyi erkenden grafik arayüz programlama ile tanıştırmanın da bazı dezavantajları olabilir. Ancak Python programlama dili özelinde düşünürsek, bir Python programcısı, örneğin bir C programcısına kıyasla programlama macerası boyunca grafik arayüze sahip programlarla çok daha fazla haşır neşir olacaktır. Çünkü Python programlama dili, yapısı itibariyle grafik arayüz geliştirmeye, C programlama diline göre çok daha uygundur. Üstelik biz bu öğretme biçiminin olası dezavantajlarını en aza indirmek için elimizden geleni de yapacağız.

Yeni Python3 belgelerini beğeneceğinizi umuyorum. Her zaman olduğu gibi, bu belgeleri hazırlarken de amacım kaliteli, anlaşılır ve modern bir Türkçe kaynak ortaya çıkarmaktı. Bu amaca ulaşmak için elimden gelen çabayı gösteriyorum. Ancak elbette bu belgelerde bazı hatalar ve eksiklikler de olacaktır. Belgelerde bulduğunuz hataları ve eksiklikleri kistihza [at] yahoo [nokta] com adresinden bana iletebileceğiniz gibi, http://www.istihza.com/forum adresinde de dile getirebilirsiniz.

Python programlama dili ile ilgilenen herkese faydalı olması ümidiyle…

istihza.com, Python , ,

Python Programları: Çalar Saat

Salı, 14 Eyl 2010

istihza.com takipçilerinin Python programlama dilini kullanarak geliştirdikleri uygulamaları tanıttığımız Python Programları bölümümüze bugunü “Çalar Saat” adlı yeni bir uygulama daha eklendi.

Feyyaz Özen tarafından geliştirilen “Çalar Saat” bir Tkinter uygulaması. Hem GNU/Linux hem de Windows’ta çalışan bu program, adından da anlaşılacağı gibi, sizin girdiğiniz bir tarihte, yine sizin belirlediğiniz bir uyarı notu ile sizi uyarabiliyor.

Programın Windows işletim sisteminden alınmış ekran görüntüsü şöyle:

Çalar Saat’in indirme adresine, her zaman olduğu gibi http://istihza.com/programlar/icindekiler_programlar.html adresinden ulaşabilirsiniz.

Programı yazıp bize gönderen Feyyaz Özen’e teşekkür ederim.

istihza.com, Python, Yazılım , , ,

MD5 Kaydedici

Pazartesi, 11 Oca 2010

Uzun bir aradan sonra Python Programları bölümümüzün yeni bir konuğu var. Bu bölüme eklenen son program Demren Güner tarafından yazılmış, “MD5 Kaydedici” adlı bir uygulama. Demren Güner bu uygulamayı Tkinter arayüz takımını kullanarak hazırlamış. Peki bu uygulama ne işe yarıyor?

Adından da anlaşılacağı gibi bu uygulamanın işi MD5 özetleriyle… Program şöyle bir arayüze sahip:

MD5 Kaydedici

Burada “Giri” adıyla gösterilen kutucuğa md5′e dönüştürmek istediğimiz herhangi bir değer giriyoruz. Ardından “Bu şifre nereye ait?” sorusuyla gösterilen kutucuğa da, girdiğimiz değerin ne ile ilgili olduğunu yazıyoruz. Mesela ilk kutucuğa Gmail parolamızı yazmışsak, ikinci kutucuğa, girilen değerin Gmail’le ilgili olduğunu göstermek için “Gmail parolası” yazabiliriz. Ancak bu kutucuğu doldurmak zorunda değiliz. Program bu kutucuk boş bırakılsa da çalışacaktır.

Bu kutucukları doldurduktan sonra yapmamız gereken şey, alt taraftaki “çıktı ver” adlı düğmeye basmak. Bu düğmeye bastığımızda, ilk kutuya girdiğimiz değerin MD5 özeti “Çıktı” adlı kutucuğa işlenecektir. Bundan sonra “Kaydet” düğmesine basarak bu MD5 özetini kaydedebiliriz. “MD5 Kaydedici” adlı uygulama, bulduğu MD5 özetlerini otomatik olarak “md5list.txt” adlı bir dosyaya kaydedecektir.

Bu uygulama hem GNU/Linux, hem de Windows üzerinde çalışabiliyor. Uygulamayı çalıştırmak için, uygulamanın bulunduğu dizin içinde “python Md5Saver.py” komutunu vermemiz yeterli olacaktır…

Uygulamayı http://www.istihza.com/programlar/icindekiler_programlar.html adresindeki bağlantısından indirebilirsiniz.

Bu uygulamayı bize gönderen Demren Güner’e teşekkür ederim.

Python, Yazılım , , ,

Tkinter’de Saydam Pencereler Oluşturmak

Pazar, 18 Eki 2009

Tkinter’de “wm_attributes()” adlı bir metot var. Bu metodun help() dosyasında şu bilgi veriliyor:

>>> from Tkinter import *
>>> help(Tk().wm_attributes)
 
On Unix, there are currently no special attribute values

Bu metot, aslında Tkinter’de pencereleri şeffaf yapmamızı sağlayacak bir parametreye sahip. Windows ve MacOs sistemlerinde şöyle bir komut yazarak pencereleri şeffaf hale getirebiliyoruz:

>>> pencere.wm_attributes("-alpha", 0.5)

“-alpha” değeri 0 ile 1 arasında değerler alabiliyor ve bu değer pencerenin şeffaflık düzeyini gösteriyor.

Yukarıdaki komut Windows ve MacOs’ta doğrudan çalışabiliyor. Ancak GNU/Linux sistemlerinde “-alpha” değerinin pencere şeffaflığı üzerinde herhangi bir etkisi bulunmuyor.

Tkinter belgeleri de bu bilgiyi doğruluyor… Hatta http://www.tcl.tk/man/tcl8.4/TkCmd/wm.htm#M6 adresinde “wm attributes” metodunun “-alpha” parametresi için şu bilgi verilmiş:

Specifies the alpha transparency level of the toplevel. It accepts a value from 0.0 (fully transparent) to 1.0 (opaque). Values outside that range will be constrained. This is supported on Windows 2000/XP+. Where not supported, the -alpha value remains at 1.0.

Burada da bu metodun sadece Windows 2000/XP sistemlerinde desteklendiği yazılmış. Ancak bugün bilgisayarı kurcalarken tesadüfen, aslında Tkinter ile şeffaf pencere oluşturmanın GNU/Linux’ta da mümkün olabileceğini farkettim. Eğer sistemde Compiz Fusion çalışıyorsa veya Ubuntu’da “Sistem > Tercihler > Görünüm > Görsel Efektler” içinde “Extra” seçeneği seçili ise şöyle bir kod Tkinter penceresini şeffaflaştırıyor:

#-*-coding:utf-8-*-
from Tkinter import *
 
pencere= Tk()
pencere.geometry("200×200")
 
def saydamlastir():
    pencere.wm_attributes("-alpha",0.5)
 
btn = Button(text="saydamlaştır", command=saydamlastir)
btn.pack(side=BOTTOM)
 
pencere.mainloop()

Tabii yine de her makinede Compiz Fusion’un çalışmayacağını hesaba katarsak, bu yöntemin çok sağlıklı olduğunu söylemek zor…

GNU/Linux , , , , , , ,

Altyapı Çalışmaları…

Pazar, 13 Eyl 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

Uncategorized , , , , , ,

Ekran Yakala — Tkinter ile Yazılmış bir Ekran Görüntüsü Alma Uygulaması

Çarşamba, 19 Ağu 2009

Bir kaç gün önce kullanıma sunduğumuz Python Programları bölümü ilgi görmeye devam ediyor… Bu bölüme bu sabah eklediğimiz, Sayın Samet Aras’a ait “Hatırlatıcı” adlı programın ardından, şimdi de Sayın Yüksel Onay’ın geliştirmiş olduğu “Ekran Yakala” adlı uygulama ile karşınızdayız.

Ekran görüntüsü almaya yarayan bir uygulama olan “Ekran Yakala”, Tkinter arayüz takımı kullanılarak Windows platformu için geliştirilmiş. Bu program yardımıyla jpg, png, bmp, tiff ve gif formatlarında ekran görüntüsü alabiliyoruz.

Bu programı geliştirdiği ve bunu bizimle paylaşma inceliğini gösterdiği için Sayın Yüksel Onay’a teşekkür ederim.

Her zamanki gibi, eğer siz de yazdığınız bir programın istihza.com’da tanıtılmasını isterseniz bana kistihza [at] yahoo [nokta] com adresinden ulaşabilirsiniz.

Sevgiler,

istihza

Python , , , , , , , ,

Hatırlatıcı — Tkinter tabanlı bir hatırlatma yazılımı

Salı, 18 Ağu 2009

Birkaç gün önce kullanıma sunduğumuz Python Programları bölümüne bugün sitemizin takipçilerinden Samet Aras’ın yazdığı “Hatırlatıcı” adlı yeni bir uygulama daha eklendi. Programın geliştiricisi Samet Aras “Hatırlatıcı” ile ilgili şu bilgileri veriyor:

Genel Bilgi:

- Bu programın gayesi sizlerin belirlediği bir içeriği (Bu: notlarınız, toplantılarınız, randevularınız, veyahut belirli bir saatte hatırlamak istediğiniz bir bilgi olabilir), yine sizlerin belirlediği bir zamanda size sunmaktır.

Gerekenler:

- Mümkünse UNIX/LINUX tabanlı bir işletim sistemi, lakin diğerleri de olabilir.
- Python 2.6.2 (ve Tkinter modülü)

Denendiği Platform:

- Ubuntu 9.04 Jaunty Jackalope  işletim sistemi, Python 2.6.2 sürümüyle denenmiştir.

Bu programı yazıp bize gönderen Sevgili Samet Aras’a teşekkür ederim. Eğer siz de yazdığınız programın istihza.com’da tanıtılmasını isterseniz kistihza [at] yahoo [nokta] com adresinden bana ulaşabilirsiniz.

İyi çalışmalar,

istihza

Yazılım , ,

istihza.com’a dair…

Cumartesi, 23 May 2009

Python programlama dili ile ilgili ilk yazıları Pardus-Linux.Org sitesinin vikisinde yazmaya başlamıştım. Oraya ilk yazıyı 18 Eylül 2007 tarihinde eklemişim. O zamandan bugüne amacım, Python Programlama Dili ve onun yarı-resmi arayüz takımı olan Tkinter’e ilişkin “okunaklı” bir Türkçe kaynak oluşturmaktı. Aradan geçen iki yıl içinde bu amaca ulaşmak için var gücümle çalıştım.

Python’a ilişkin bu bilgileri okurlara istediğim biçimde sunabilmek için PLO vikisinin yanısıra bu yazıları python.quotaless.com adresinde de yayımlamaya başladım. python.quotaless.com’daki ftp desteği sayesinde siteyi çok daha kolay bir şekilde düzenleyip elden geçirebiliyordum. Ama ne yazık ki python.quotaless.com maceram biraz sıkıntılı oldu. Quotaless sunucularının sürekli olarak DOS saldırılarına maruz kalmasından ötürü hazırladığım site sıklıkla ulaşılamaz duruma düşüyordu. Bunun üzerine sitedeki yazıları usturupsuz.googlepages.com adresine taşımaya karar verdim. Burası Google’ye ait bir hizmet olduğu için elbette erişim sorunları yaşanmıyordu pek, ama burada da ftp desteğinin olmaması işimi epey zorlaştırıyordu. Bütün bu aksilikler yüzünden bir ara hevesimi iyice kaybetmiştim. Tam “Yeter artık! Uğraşamayacağım bu siteyle!” dediğim anda bir e.posta düştü posta kutuma… Kutucuk.Net‘in sahibi Sayın Semih Masat, python.quotaless.com’da yaşadığım sıkıntının farkında olduğunu, eğer istersem Python ile ilgili bilgileri barındırmak üzere bana sponsor olabileceklerini söylüyordu. Elbette ben de bu teklifi memnuniyetle kabul ettim ve Bahri‘nin de önerisiyle gidip “istihza.com” alan adını aldım. 13 Ocak 2009 tarihinden itibaren de istihza.com’da yayına başladım. O günden bu yana siteyi barındıran Kutucuk.Net’e burada tekrar teşekkürlerimi sunmak isterim. Eğer Semih Bey’den böyle bir teklif almamış olsaydım bugün muhtemelen bu site ve içindeki bilgiler olmayacaktı…

istihza.com’da yayına başladıktan bir süre sonra benim açımdan güzel bir gelişme daha oldu… Sitemizin takipçilerinden Sayın Aycan Özcan bana bir e.posta gönderdi ve sitedeki çalışmaları ilgiyle takip ettiğini, bu sitenin gelişimine katkıda bulunmak istediğini söyledi. Özellikle Tkinter bölümünün iyileştirilmesini rica eden Sayın Aycan Özcan istihza.com’a önemli miktarda maddi destekte bulundu… Sayın Aycan Özcan’ın yazdığı e.postadan sonra, zannettiğimin aksine Tkinter’le ilgilenenlerin olduğunu görmüş oldum… Çünkü Python bölümüyle ilgili olarak, okurların bu bölümün varlığından memnun olduklarını bildiren e.postalar alsam da Tkinter bölümüyle ilgili pek geri dönüş olmadığı için Tkinter bölümünün ilgi çekmediğini düşünerek o bölümü geliştirmeyi bırakmıştım aslında… Sayın Aycan Özcan’a, bilgiye değer verdiği için tekrar teşekkür ederim…

istihza.com; sunucu desteği ve maddi destek dışında, takipçilerinden belge desteği de aldı. Örneğin Canvas ve PIL belgesini hazırlayan Sayın Yasin Meydan ve Math Modülü belgesini hazırlayan Sayın Kürşat Örsel, hazırlayıp bana gönderdikleri belgeler sayesinde sitedeki çok önemli iki açığın kapanmasını sağladılar. Kendilerine katlandıkları zahmetten ötürü bir kez daha teşekkürlerimi sunarım.

Yukarıda ismini saydıklarım dışında pek çok kişi de sitedeki yazım hatalarını ve önerilerini bana bildirerek, sitenin kalite ve doğruluk düzeyinin artmasını sağladı. Üşenmeyip sitedeki hataları bana haber veren bütün o değerli arkadaşlarıma tekrar teşekkür ederim.

Elbette Pardus-Linux.Org yöneticisi Erdem Artan, buraxezer.wordpress.com adresinde ikamet eden Burak Sezer ve Gentoo geliştiricisi Serkan Kaba‘nın adlarını burada anmazsam olmaz… Python ve Tkinter’i kullanarak yazdığım HARMAN adlı programın farklı sistemlere ait paketlerini hazırlayarak HARMAN’ın daha çok kişiye ulaşmasını sağladıkları için bu üç arkadaşıma saygılarımı ve sevgilerimi sunuyorum…

istihza.com’da yayına başladığım günden bu yana elimden geldiğince sık bir şekilde siteye eklemeler yapıyorum. Mutlaka dikkatinizi çekmiştir, sitenin görüntüsünü de elimden geldiğince güzelleştirmeye çalışıyorum (Başarılı oluyor muyum bilmiyorum!… :) ) Bu arada, siteyi HTML+CSS ile yazıyorum ve mümkün olduğunca farklı tarayıcılarda sorunsuz çalışmasına özen gösteriyorum. Bunun için sık sık http://validator.w3.org/check adresine uğrayıp sitenin sağlamasını yapıyorum. HTML doğrulamasında bir problem yok gibi duruyor, ama ne yazık ki IE’nin standart tanımaz tavırları nedeniyle css doğrulamasını bozmak zorunda kalıyorum…

Bugün itibariyle istihza.com’un repertuvarında Python ve Tkinter’e ilişkin epeyce belge var. Bu sitede Python 2.x, Python 3.x ve Tkinter‘e ilişkin pek çok yararlı bilgi bulacağınıza inanıyorum.

İlgilenen ve destek veren herkese tekrar teşekkür ederim.

Fırat

Python , ,

Harman

Salı, 24 Mar 2009

Geçenlerde, çalıştığım işyerindeki bir arkadaşım, başlarında bir “pdf belası” olduğunu anlattı bana… Bu arkadaşımın çalıştığı bölümde PDF belgeleriyle epey haşır neşir olunuyor… Bu bölümdeki arkadaşların yüzlerce sayfalık kaşeli ve imzalı belgeyi pdf haline getirmesi gerekiyor. Üstelik bu belgelerin mümkün olduğunca “tek belge” halinde pdf’lenmesi isteniyor… Ama o yüzlerce sayfayı tarayıcıdan geçirip pdf haline getirirken, çoğunlukla işin tam ortasında bir aksilik oluyor, makine arıza veriyor ve ister istemez pdf belgesi bölünüyor… İşte arkadaşım gelip bana bu sıkıntısını anlatınca, “Ne diye bu kadar uğraşıyorsunuz. Siz pdf belgelerini kafanıza göre tarayın, sonradan bunları birleştiririz,” dedim ona… Böylece kolları sıvadık.

Python’da temel pdf işlemlerini yapmamızı sağlayan pyPdf adlı bir kütüphane bulunur. Ben böyle bir kütüphane olduğunu uzun zamandır biliyordum, ama o güne kadar bu kütüphaneyi kullanmam gerekmemişti. Bu proje sayesinde, adını duyduğum, nasıl kullanılacağını çat pat bildiğim pyPdf kütüphanesini daha yakından tanıma imkanım oldu. Üstelik pyPdf sayesinde arkadaşıma yardım etmiş olmanın yanısıra, işyerindeki bir soruna düşük maliyetli (aslında sıfır maliyetli!) bir çözüm de bulmuş olduk… Projenin sonunda hoş bir Python programı çıktı ortaya. Adını da, yaptığı işten esinlenerek “HARMAN” koydum. HARMAN, bir süredir işyerinde kullanılıyor. Ben özgür bir yazılım olan HARMAN’ı sizlerle de paylaşmak istedim. Programla ilgili bilgiye, indirme adresine ve kullanma kılavuzuna http://www.istihza.com/harman/icindekiler_harman.html adresinden erişebilirsiniz.

Programın işinize yaraması dileğiyle…

HARMAN’da bulacağınız hataları kistihza [at] yahoo [nokta] com adresine bildirebilirsiniz.

Yazılım , , , , , ,

Tkinter Arayüz Takımı

Çarşamba, 25 Şub 2009

Çok uzun zamandır sitedeki Tkinter bölümüyle ilgilenmiyordum. Geçenlerde siteyi takip eden bir arkadaş bana bu durumu hatırlatınca, aslında ne zamandır Tkinter’in yüzüne bakmadığımı ben de farketmiş oldum… Bunun üzerine harekete geçip Tkinter bölümüne müdahale etmeye karar verdim. Ama bölümü biraz inceleyince yapılması gereken şeyin basit bir müdahaleden ziyade baştan aşağı bir yenileme çalışmasına girişmek olduğunu gördüm ve kolları sıvadım. Başta bahsettiğim o arkadaşın bana Tkinter’in durumunu hatırlattığı günden bu yana Tkinter ile ilgili bölümler üzerinde çalışıyordum. Sonunda bugün itibariyle ortaya bir şeyler çıktı. Ben de bu yenilikleri sizinle paylaşayım dedim…

Tkinter bölümü yoğun bir şekilde elden geçirilmeye devam edecektir. Yakın zamanda bu bölümün de tıpkı Python bölümü gibi genişleyeceğini söyleyebilirim.

Her zamanki gibi, siteyle ilgili hataları ve görüşlerinizi kistihza [at] yahoo [nokta] com adresine iletebilirsiniz.

İyi çalışmalar

Python