10 Mayıs 2010 gönderen pythonturk.
Python ile web uygulamaları geliştirirken webpy framework’ünü kullandığımdan bahsetmiştim. Ne zamandan beri webpy ile ilgili bir şeyler yazayım diyordum kısmet bugüneymiş. Neden webpy kullandığımı kişisel nedenlerimle birlikte açıklamanın framework seçiminde insanlara bir nebze de olsa yol göstermesi açısından faydalı olacağını umuyorum. Devamı için tıklayın »
2 Mayıs 2010 gönderen pythonturk.

Görüntü yeterince açıklıyor aslında. String bir değişken ile aynı isimdeki fonksiyonu nasıl çağırabileceğinizi gösteriyor.
İpucu babında bulunsun burada.
#edit:
Bir class içinde kullanıyorsanız getattr daha güzel bir kullanım, şöyle ki:

16 Nisan 2010 gönderen pythonturk.
Güzel hata değil mi? Bu hatayı Firebird 2.5 RC2′yi Türkçe yerelde kaynak koddan derlerken alıyorsunuz.
Peki sebebi nedir?
Sebebi çok basit. Firebird-2.5.0.25920-ReleaseCandidate2/extern/editline/src içerisindeki fcns.h dosyasında tanımlanmış olan ED_UNASSIGNED değişkeni (#define ED_UNASSiGNED 34). Dikkat ederseniz değişken i ile tanımlanmış, sorun upper fonksyionundan geçirilirken oluşan i > I problemi (ne kadar tanıdık değil mi?). Çözümü ise basit, aşağıda verdiğim patch’i aynı path’teki makellist scriptine uygulayın ve derleme işlemine kaldığınız yerden devam edin. Patch’i aynı zamanda geliştiricilerine de ilettim umarım en kısa zamanda eklerler.
Yazmak istediğim birkaç konu var umarım en kısa zamanda onlar için de uygun zamanı bulabilirim. O zamana dek kalın sağlıcakla.
Patch:
— makelist.old 2010-04-16 15:54:05.850985189 +0300
+++ makelist 2010-04-16 15:55:06.474927539 +0300
@@ -34,6 +34,10 @@
# @(#)makelist 5.3 (Berkeley) 6/4/93
# makelist.sh: Automatically generate header files…
+# Avoid locale dependent case conversions and always use ascii.
+# (for example the script won’t work in Turkish locale without this setting)
+LC_ALL=C; LANG=C
+export LC_ALL LANG
AWK=awk
USAGE="Usage: $0 -h|-e|-fc|-fh|-bc|-bh|-m <filenames>"
19 Ocak 2010 gönderen pythonturk.

Şimdiye kadar bir çok kez Python öğrenmeye başlayan insanlardan nereden başlayacakları ve nasıl devam edecekleri konusunda sorular aldım. Soruların hepsini dilim döndüğünce cevapladım. Sonra bu soruların içeriğinin genel anlamda çok benzer olduğunu fark edip bu konuda herkese ayrı ayrı cevap vermektense -hem de bütünlük ve kolay erişebilirlik olması açısından- böyle bir yazı yazmaya karar verdim.
Genel olarak sorulan soruları toparlayıp olayın “bence”sini anlatayım sizlere. Devamı için tıklayın »
15 Ocak 2010 gönderen pythonturk.

Kahramanımız geliştirdiği web sitesi üzerinden kullanıcılara mail gönderme olanağı sunmak istiyordu. Nasıl yapayım nasıl yapayım derken, python’a bir bakayım bu iş için neler var diyerekten araştırmaya koyuldu, buna araştırma da denmez aslında “araş” ta kalırsınız anca, o kadar kısa sürdü çünkü.
Onca şey yazdık hala tek satır kod yok, yakışmaz bize diyerekten kullandığım fonksiyonu veriyorum:
Devamı için tıklayın »
14 Ocak 2010 gönderen pythonturk.
Bir müşterimiz için Python ile Windows 2003 üzerinde çalışacak ve MsSql üzerine işlemler yapacak bir uygulama geliştirmemiz gerekti. Web.py ile server üzerinde çalışacak bir web uygulamasıydı yapacağımız. Burada anlatmak istediğim ise Windows 2003, MsSql ve Python (pymssql) üçlüsünün nasıl çalıştığı.
Pymssql’i kurmaya çalıştığımda kurulumda dll hatası verdi. Eksik olan msvcp90.dll‘i indirip c:\winnt\system32 içerisine kopyaladım. Daha sonra modülü import ettiğimde modül içerisinde kullanılan _mssql kısmını import ederken hata verdi. Bu da bir dll eksikliğinden kaynaklanıyormuş. Bunun için msvcr71.dll doyasını indirip c:\Python26\Lib\site-packages içerisine kopyalıyoruz. Daha sonra mssql sağ ben selamet…
Olur da birinin ihtiyacı olur diye not olsun bu da.
Kalın sağlıcakla.
19 Ağustos 2009 gönderen pythonturk.
Yine uzun bir aradan sonra birlikteyiz muhabbetine girmeyeceğim ama şaka maka baya oldu
Efendim sizlere şu ara uğraştığım şeylerden bahsedip daha sonra yapmak istediklerimi anlatarak bu güzel yazıyı sonlandırmayı düşünüyorum. Evet düşünüyorum.
Yazılım hayatım boyunca -böyle diyince bi 10 yılı devirmişim gibi geldi- bir şekilde karşılaşmadığım -belki de kaçtığım- web programlamaya artık “balıklama” diye tabir edilebilecek bir şekilde girmiş bulunuyorum. Temel olarak bazı farklılıkları olsa da en nihayetinde yazdığınız bir program, o yüzden fazla kasmadım -yazarın kendine notu: hadi lennn-. Web programlamaya girdik peki bu adam ne yaptı? Ne yaptıysa Python’la yaptı. Evet efendim yaptığımız web projelerinde Python kullanıyoruz. Tek başına değil tabi ki. Python’la birlikte web projeleri geliştirmek için -çeşitli ortamlarda da çığırtkanlığını yaptığım- webpy çatısını kullanıyoruz. Tanımında da yazdığı gibi (Lightweight Web Framework) kendisi -django’ya inat- sade ve kullanışlı bir çatıdır. Çatı demişken bir diğer harika çatı daha kullanıyoruz, o da jQuery. Bundan sonraki yazılarımda bu ikiliden çok söz etmeyi düşünüyorum.
Eveeet, gelelim planlara. İşe pythonturk.com’u Python ile yazarak başlamayı düşünüyorum. Wordpress zaten var, gayet de başarılı bir sistem, bu Amerika’yı yeniden keşfetme isteği niye? Efendim Wordpress işimi görmediği için ya da yeterli olmadığı için yapmıyorum bu siteyi, madem Python ile web programlamadan bahsedeceğiz bundan sonra ee bi zahmet kendi çöplüğümüzü de buna uygun hale getirelim ama dimi. Öyle çok alengirli şeyler olmayacak zaten, hedefi büyük tutupta başlayamama sendromu yaşamak istemiyorum. İlk olarak yazı girebileceğim bir admin paneli, ve yazılara yorum yapabilme seçeneği olacak. Listeleme, arama işlemlerini dahi sonraya bırakıyorum. Yazı ve yorum girebilecek hale geldiğinde siteyi yayına sokacağım. Akşamları işten sonra kodlayacağım siteyi -bu da patronuma ek bilgi olsun, patroncuğum gördüğün üzere akşamları sitemi kodlayacağım, eve iş getirmek falan yok ona göre -, hatta bu yazıyı yazdıktan sonra css bakmaya başlıyorum -tavsiye edebileceğiniz güzel css’ler olursa beklerim-. Sade mavi ağırlıklı birşey düşünüyorum, bakalım gelişmeleri paylaşırım yine burdan.
Şimdilik benden bu kadar, kalın sağlıcakla…
5 Mart 2009 gönderen pythonturk.
Merhaba, yazdığım uygulamanın windows altında çalıştırabilir halini oluşturmak için sarıldım py2exe’ye. Kodumda herhangi bir hata yok, setup.py dosyamı da oluşturdum, buraya kadar herşey çok güzel. python setup.py py2exe komutunu da çalıştırdım,
aa herşey çok güzel devam ediyor. Çalıştırılabilir dosyamız da hazır.
Oluşan çalıştırılabilir dosyaya çift tıklıyoruz,
eee? Çalışmadı! msvcr71.dll dosyası eksik diyor.
Nasıl olur? (Sistemde python 2.6 bulunmakta).
Arıyoruz tarıyoruz dosyayı C:\WINDOWS\system32 içerisinde buluyoruz,
oradan alıp çalıştırılabilir dosyamızın yanına koyuyoruz,
çift tık –> aa çalıştı.
Oluşturduğumuz klasörü alıp başka bir bilgisayara geçiyoruz,
çift tık –> fıssss.
google amca açmış kollarını bizi bekliyor ve öğreniyoruz ki 2.6 sürümünde böyle bir hata mevcut (çözümü var mı bilmiyorum, ben denk gelmedim)
Çözüm? Sisteme 2.5 sürümünü kuruyoruz. Programımızı başarıyla paketleyip çalışır hale getiriyoruz.
İlk maceramız böyle sonuçlandı ama bitmedi. Diğer yazılardan da anlaşılacağı üzere uygulamanın bir yerinde pyqt ile gif dosyası oynatıyorum.
Programı başarıyla paketledik ama bir eksik daha var.
Programa koyduğumuz gif dosyasının yerinde yeller esiyor.
Oynamayı bırakın hareketsiz hali bile yok.
Aklıma ilk gelen gif dosyasını bulamamış olabileceğiydi.
Kontrol ettim, herşey düzgün.
Allahtan google hala açık
anahtar kelimeleri değiştirip veriyorum coşkuyu.
Sorun ne bende ne python’da, sorun py2exe’de.
“C:\Python25\Lib\site-packages\PyQt4\plugins” içerisindeki imageformats klasörünü çalıştırılabilir dosyamızın yanına koyuyoruz (içinden ihtiyacınız olmayan dllleri silebilirsiniz),
vee işkence bitti gibi, gif dosyamız Allah ne verdiyse döktürüyor.
setup.py içerisine bu kopyalama işlemini kendisinin yapması için bir düzenleme yapmak gerekiyor mu bilmiyorum. Aradım taradım ben öyle bir şeye rastlamadım. O yüzden suçu py2exe modülüne atmamam için hiçbir neden yok
Şimdilik benden bu kadar.
Kalın sağlıcakla…
21 Şubat 2009 gönderen pythonturk.
PyQt ile gif oynatıyorsunuz ve uygulamanız bir yerinde QFile::seek: IODevice is not open gibi bir hata verip kilitleniyor ve siz google amcaya nedir bunun sebebi diye sorup buraya geliyorsunuz, merak etmeyin doğru yerdesiniz
Yapmanız gereken gif dosyası movie nesnesine yüklenirken bütün framelerin cachlenmesini sağlamak. Bu da şöyle oluyor:
self.movie.setCacheMode(QtGui.QMovie.CacheAll)
vee hatadana eser yok..
Sloganımızı da söyleyelim, “exceptionsız günler sizinle olsun..”
20 Şubat 2009 gönderen pythonturk.
Python ile geliştirdiğim sunucu ve istemci şeklinde çalışan bir uygulamam var. Sunucudan istemciye içeriği binary olan bir dosya transferi yapıyorum. Linux üzerinde denediğimde dosyayı gayet başarılı bir şekilde kaydediyor ancak windows’ta denediğimde dosya hasarlı görünüyor, gelen dosyanın boyutuyla sunucudan gönderdiğim dosyanın boyutu da tutmuyor (istemcideki dosya daha büyük oluyor). Bu durumu görünce “işte çözülmesi gereken harika bir problem, ollleeyyy” naraları ile başladım didiklemeye (bunun öncesinde windows’a ettiğim küfürleri yazmıyorum). Sonra farkettim ki tek suç windows’un değilmiş, dosyayı binary modda açmam gerekiyormuş. Aslında çok bilinmedik bir şey değil, başlangıçta kaçırmışım ve Linux’ta sorun çıkarmaması çözümü görmemi zorlaştırmış biraz. Neyse olur da sizin de başınıza gelir belki diye buraya not düşüyorum. Demedi demeyin
f = open("temp.gif", "wb")
Kalın sağlıcakla..