Arşiv yazıları
Ocak 19th, 2010 by 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 »
Arşiv yazıları
Ocak 15th, 2010 by 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 »
Arşiv yazıları
Ocak 14th, 2010 by 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.
Arşiv yazıları
Mart 5th, 2009 by 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…
Arşiv yazıları
Şubat 21st, 2009 by 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..”
Arşiv yazıları
Şubat 20th, 2009 by 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..
Arşiv yazıları
Eylül 20th, 2008 by pythonturk

Merhaba.Bugün size Python ile ev yapımı şifreleme nasıl yapılır ondan bahsedeceğim. Ev yapımı şifrelemeden neyi kastettiğimi yazının devamında daha rahat anlayacaksınız.(Not: Yazar girişte başlığı kullanarak merak uyandırmaya çalışmış ve okuyucuyu yazının devamını okuması için teşvik etmeye çalışmıştır).Programı görmeden önce size bu programı nerede kullanabileceğinizden bahsedeceğim, programın bu bilgiyle incelendiğinde daha kolay anlaşılacağını düşünüyorum.
Bir uygulama geliştirdiniz. Uygulamanız kullanıcı adı ve şifre girişi gerektirmekte ve sizde bu kullanıcı adını ve şifreyi kullanıcının bilgisayarında tutmak durumundasınız. Sadece bir kullanıcının kullanıcı adı ve şifresini tutmak içinde veritabanı kullanmak istemiyorsunuz. Bu durumda bu bilgileri bir dosyada tutmanız gerek. Buraya kadar her şey normal. Sorun bu bilgileri o dosyada nasıl tutacağınız. Bir dosya oluşturup içerisine pattadanak (böylemi yazılıyor bu?) yazacak değilsiniz. Bu kadarla da kalmıyorsunuz programınız kullanıcınızın izni dışında 3. şahıslar tarafından kopyalandığında da o 3. şahıs programını çaldığı kullanıcınızın bilgileri ile giriş yapamasın istiyorsunuz, yok artık!!! İşte bu yazıda böyle bir ihtiyaç durumunda kullanabileceğiniz bir şifreleme yönteminden, kendi verdiğim isimle “Ev Yapımı Şifreleme” den bahsedeceğim.
Devamı için tıklayın »
Arşiv yazıları
Ekim 31st, 2007 by pythonturk
Pythonda kullanılan bir veri tipi olan dictionary (sözlük) oldukça kullanışlı bir veri türüdür. Listelerin yetersiz kaldığı yerlerde bu açığı kapatmak için kullanılabilir. Listeleri sıralanmış veriler dizisi olarak düşünürsek sözlükler tam tersine sırasız veriler bütünü olarak düşünülebilir. Sözlüklerin özelliklerini maddeler halinde sıralayacak olursak;
* Sözlüklerde verilere erişim listelerde olduğu gibi indeks numarasıyla değilde verileri tanımlarken belirlediğimiz anahtar kelimelerle (key) sağlanır. Bu da bize verilere erişimde oldukça kolaylık sağlamaktadır.
* Değerler süslü parantezler arasına yazılırlar {}.
* Sözlüklerde listeler gibi otomatik boyutlandırma yapabilirler, yani kapasitesinin dolması gibi bir durum söz konusu değildir.
* Sözlüklere her türlü veri tipinde değer girilebilir (liste, başka bir sözlük, nesne ve diğerleri).
* Listelerde ve stringlerde kullandığımız bazı özellikleri (properties) sözlüklerde kullanamayız. Bunun sebebi sözlüklerin düzensiz yapılar olmasından dolayıdır. Ancak sözlüklerin kendine özel fakrlı özellikleri vardır (bunlara ileride değineceğiz).
Devamı için tıklayın »
Arşiv yazıları
Ekim 22nd, 2007 by pythonturk
Öncelikle siteyi uzun zamandır güncelleyemediğim için siteyi takip/ziyaret eden arkadaşlardan özür diliyorum. Bunun gerekçelerine değinmeyeceğim burada. Sitenin güncellenmemesine paralel olarak tezimle de pek ilgilenemedim. Bundan sonra umuyorum ki hem tezime hem de siteye gereken önemi göstereceğim. Bu arada hem host hem de tema değişikliği yaptım. Ancak ne yazık ki bu host değişikliği sırasında veritabanı ile igili problem yaşadım eski yazı ve yorumlar gitti. Yazılar çok da önemli değil açıkçası da yorumlara üzüldüm.
Bu arada Python’da S60 programlama üzerine yoğunlaşacağımı daha önce söylemiştim. Bu konuda yazılmış tek kaynağı “Mobile Python: Rapid prototyping of applications on the mobile platform“ internetten sipariş ettim. Sipariş edeli uzun bir süre oldu ancak kitap elime ulaşmayınca tekrar irtibata geçtim ve kitabın henüz basılmamış olduğunu öğrendim. Kitabın 26’sında ellerine ulaşacağını bana ise 8-12 kasım tarihleri arasında ulaşabileceğini bildirdiler. O zamana kadar boş durmayı düşünmüyorum tabi. wxPython ile bir text editör yazmaya karar verdim, onu da en kısa zamanda sitede paylaşacağım. Şimdilik bu kadar..
Kalın sağlıcakla..