Bir başka dünyadır Python..

PythonTurk

py2exe saçmalarsa

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…

QFile::seek: IODevice is not open

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..”

Python ile dosyaya veri yazma

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..

PyQt harikaları

20 Şubat 2009 gönderen pythonturk.

Merhaba PyQt harikaları yazı dizimize hoş geldiniz, bu arada başlık iddialı olmuş biraz ama hak ediyor bence. Bu ara fırsat buldukça bir dizi halinde PyQt ile yapabileceğiniz “değişik” ve “işlevsel” şeylerden bahsedeceğim. İlki bu yazı, gelen tepkileri beğenirsem diğerlerini de yazarım, +rep’lerinizi bekliyorum :) Hemen senaryomuza geçelim. Bir resim gösterici uygulaması geliştiriyorsunuz ama uygulamanızın normal pencere şeklinde görünmesini istemiyorsunuz, formunuzun çerçeve şeklinde olmasını ve içinde resimlerinizin görünmesini istiyorsunuz. PyQt ile çok kolay. Pencerenizi herhangi bir çizim programıyla çizin ve gerisini PyQt’ye bırakın.

Örnek uygulamayı vermeden önce içeriğinden bahsedeyim, örneğimizde ana formumuz, kapatma ve minimize butonları ile ileri - geri butonlarını gösteren toplam 5 adet resim bulunmakta. Amacım pencere dekorasyonunu göstermek olduğu için resim gösterme kısmını yazmadım.

Anlatımı kodun içerisinde uygun yerlerde açıklama satırları ile yaptım. Kafanıza takılan, anlamadığınız bir kısım olursa sormaktan çekinmeyiniz.
Kodumuz şöyle:

# -*- coding: utf-8 -*-
 
# Form implementation generated from reading ui file 'widget.ui'
#
# Created: Thu Jan 19 21:53:03 2009
#      by: PyQt4 UI code generator 4.4.4
#
# Yazan : Aydın Şen
 
from PyQt4 import QtCore, QtGui
import sys
class Ui_Form(QtGui.QWidget):
 
    def __init__(self, parent=None):
 
        QtGui.QWidget.__init__(self, parent)
	self.setObjectName("Picture Viewer")
	"""
	# Pencereyi olusturacagimiz ana resmimizi yukluyoruz.
	# Penceremiz once bu resme göre kesilip-biciliyor,
	# daha sonra aynı resim kesili-bicilen pencereye arkaplan olarak label'in icine yerlestiriliyor
	"""
	self.pixMap = QtGui.QPixmap("pict_frame.jpg")
	# Ana pencerenin enini ve boyunu yukledigimiz resme gore ayarliyoruz
	self.w = self.pixMap.width()
	self.h = self.pixMap.height()
	# Ana penceremizi yeni boyutuna resize ediyoruz
        self.resize(self.w, self.h)
	# Kestigimiz pencereye arkaplan olarak doseyecegimiz label'imizi tanimliyoruz
        self.labelBackground = QtGui.QLabel(self)
        self.labelBackground.setObjectName("labelBackground")
        self.labelBackground.setPixmap(self.pixMap)
	# Penceremize title ve icon verilerini giriyoruz
        self.setWindowTitle("Picture Viewer")
	self.setWindowIcon(QtGui.QIcon("windowIcon.png"))
	"""
	# Penceremizi ozellestirdigimiz icin kendi kapatma ve minimize butonlari yok
	# elimizde bulunan buton resimlerini butonlara atiyoruz
	# burada paletteButImage adinda bir palet nesnesi olusturduk
	# bu nesne ile resmin kendisinin buton olarak gorunebilmesi icin ayarlamalar yaptik
	# flat olmasi, focus ozelligi olmamasi gibi.
	# bu palet nesnesini resim olarak kullanacagimiz butun butonlara aktardik"""
	self.butClose = QtGui.QPushButton(self)
        self.butClose.setGeometry(QtCore.QRect(365, 4, 25, 25))
        paletteButImage = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(239, 239, 239, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        paletteButImage.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        paletteButImage.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Shadow, brush)
        brush = QtGui.QBrush(QtGui.QColor(239, 239, 239, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        paletteButImage.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        paletteButImage.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Shadow, brush)
        brush = QtGui.QBrush(QtGui.QColor(239, 239, 239, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        paletteButImage.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 0))
        brush.setStyle(QtCore.Qt.SolidPattern)
        paletteButImage.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Shadow, brush)
        self.butClose.setPalette(paletteButImage)
        self.butClose.setFocusPolicy(QtCore.Qt.NoFocus)
	# butona koyacagimiz resmi yukledik
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("btn_close.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butClose.setIcon(icon)
        self.butClose.setIconSize(QtCore.QSize(21, 21))
        self.butClose.setFlat(True)
        self.butClose.setObjectName("butClose")
 
	self.butMinimize = QtGui.QPushButton(self)
        self.butMinimize.setGeometry(QtCore.QRect(340, 4, 25, 25))
        self.butMinimize.setPalette(paletteButImage)
        self.butMinimize.setFocusPolicy(QtCore.Qt.NoFocus)
        icon1 = QtGui.QIcon()
        icon1.addPixmap(QtGui.QPixmap("btn_min.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butMinimize.setIcon(icon1)
        self.butMinimize.setIconSize(QtCore.QSize(21, 21))
        self.butMinimize.setFlat(True)
        self.butMinimize.setObjectName("butMinimize")
 
	self.butNext = QtGui.QPushButton(self)
        self.butNext.setGeometry(QtCore.QRect(230, 300, 50, 35))
        self.butNext.setPalette(paletteButImage)
        self.butNext.setFocusPolicy(QtCore.Qt.NoFocus)
        icon2 = QtGui.QIcon()
        icon2.addPixmap(QtGui.QPixmap("btn_right_arrow.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butNext.setIcon(icon2)
        self.butNext.setIconSize(QtCore.QSize(45, 28))
        self.butNext.setFlat(True)
        self.butNext.setObjectName("butNext")
 
	self.butPrevious = QtGui.QPushButton(self)
        self.butPrevious.setGeometry(QtCore.QRect(140, 300, 50, 35))
        self.butPrevious.setPalette(paletteButImage)
        self.butPrevious.setFocusPolicy(QtCore.Qt.NoFocus)
        icon3 = QtGui.QIcon()
        icon3.addPixmap(QtGui.QPixmap("btn_left_arrow.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
        self.butPrevious.setIcon(icon3)
        self.butPrevious.setIconSize(QtCore.QSize(45, 28))
        self.butPrevious.setFlat(True)
        self.butPrevious.setObjectName("butPrevious")
 
	"""
	# Butonlar icin toolTip girdik
	# Kapat ve Minimize butonlarinin actionlarini belirledik
	# ileri ve geri butonlarina herhangi bir action atamadik
	"""
	self.butClose.setToolTip(QtGui.QApplication.translate("Form", "Kapat", None, QtGui.QApplication.UnicodeUTF8))
        self.butMinimize.setToolTip(QtGui.QApplication.translate("Form", "Simge durumuna küçült", None, QtGui.QApplication.UnicodeUTF8))
	self.butNext.setToolTip(QtGui.QApplication.translate("Form", "Sonraki", None, QtGui.QApplication.UnicodeUTF8))
	self.butPrevious.setToolTip(QtGui.QApplication.translate("Form", "Önceki", None, QtGui.QApplication.UnicodeUTF8))
	QtCore.QObject.connect(self.butClose, QtCore.SIGNAL("clicked()"), self.close)
        QtCore.QObject.connect(self.butMinimize, QtCore.SIGNAL("clicked()"), self.showMinimized)
	self.setWindowTitle(QtGui.QApplication.translate("Form", "Picture Viewer", None, QtGui.QApplication.UnicodeUTF8))
 
	self.ortala()
 
    def ortala(self):
	    """
	    # Bu fonksiyon uygulama calistiginda pencerenin ekranin
	    # ortasine yerlesmesini sagliyor
	    """
	    screen = QtGui.QDesktopWidget().screenGeometry()
	    size =  self.geometry()
	    self.move((screen.width()-size.width())/2, (screen.height()-size.height())/2)
 
    def mousePressEvent(self, event):
	 """
	 # Kendimize ozel pencere belirledigimiz icin mouse eventlarini override ediyoruz
	 """
         if event.button() == QtCore.Qt.LeftButton:
 
             self.dragPosition = event.globalPos() - self.frameGeometry().topLeft()
             event.accept()
 
    def mouseMoveEvent(self, event):
 
         if event.buttons() == QtCore.Qt.LeftButton:
 
             self.move(event.globalPos() - self.dragPosition)
             event.accept()
 
    def resizeEvent(self, event):
	 """
	 # Eveeeet, uygulamamizin esas oglani!!!!!
	 # Pencereyi "kesip-bictigimiz" kisim
	 # hatirlarsaniz programin basinda self.pixMap icerisine pencere olarak
	 # kullanmak istedigimiz resmi yuklemistik.
	 # Burada yukledigimiz resmi kullanarak bir maske uretiyoruz
	 # ve Pencerenin (self) setMask metoduna maske nesnemizi gondererek
	 # penceremizin resimdeki gibi olmasini sagliyoruz.
	 # Kendisi kucuk ama islevi buyuk..
	 """
	 maske = self.pixMap.createMaskFromColor(QtGui.QColor(0,0,0,0))
         self.setMask(maske)
 
def main():
 
    app=QtGui.QApplication(sys.argv)
    form = Ui_Form()
    form.show()
    sys.exit(app.exec_())
 
if __name__ == "__main__":
 
     main()

Yok ben indirip denemeyeyim çalışan halini görsem yeter derseniz buyrun.
Uygulamayı kullanılan resimlerle birlikte buradan indirebilirsiniz.

Bu arada unutmadan, uygulamanın arka plan resmini buradan, pencereye koyduğum icon’u da buradan aldım.

PyQt & Animated Gif Macerası..

17 Şubat 2009 gönderen pythonturk.

Python - PyQt birlikteliğinden swf oynatma yeteneği çıkmayınca geliştirdiğim uygulamada dinamik olarak güncellenebilen bir alanda animated gif oynatmaya karar verdik. Qt ile bunun oluru nedir diye baktığımda pek de zor olmadığını gördüm. Özetle şöyle:

Önce bir QMovie nesnesi oluşturuyorsunuz, oynatacağınız gif’i QMovie nesnesini oluştururken belirtiyorsunuz. Daha sonra bir QLabel oluşturup setMovie metoduna oluşturduğunuz QMovie nesnesini veriyorsunuz. Son olarak oluşturduğunuz QMovie nesnesinin start() metodunu çağırarak gif’i oynatıyorsunuz. Mantık olarak çok basit olmakla birlikte bir türlü çalıştıramadım. Hata da vermiyor, bir derdi var belli, çok da küçük bişey ama bir türlü göremiyorum. Deneme için oluşturduğum kod aşağıda, oynatmaya çalıştığım gif dosyası da burada. Programı deneyip sonucu bana bildirirseniz çok sevinirim.

Çalıştığım sistem özellikleri:

Pardus 2008.2

PyQt 4.4.4

# -*- coding: utf-8 -*-
from PyQt4 import QtCore, QtGui
import sys
 
class Ui_MainWindow(object):
   def setupUi(self, MainWindow):
      MainWindow.setObjectName("MainWindow")
      MainWindow.resize(800, 600)
      self.centralwidget = QtGui.QWidget(MainWindow)
      self.centralwidget.setObjectName("centralwidget")
      self.label = QtGui.QLabel(self.centralwidget)
      self.label.setGeometry(QtCore.QRect(210, 90, 351, 231))
      movie = QtGui.QMovie("progress.gif")
      self.label.setMovie(movie)
      movie.start()
 
      """
 
      ** PyQt sürümünüzün gif destegi olup olmadigini commentleri kaldirarak gorebilirsiniz
 
      formats = QtGui.QImageReader.supportedImageFormats ()
      for i in formats:
         print i
 
      """
 
      self.label.setObjectName("label")
      MainWindow.setCentralWidget(self.centralwidget)
      self.menubar = QtGui.QMenuBar(MainWindow)
      self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 29))
      self.menubar.setObjectName("menubar")
      MainWindow.setMenuBar(self.menubar)
      self.statusbar = QtGui.QStatusBar(MainWindow)
      self.statusbar.setObjectName("statusbar")
      MainWindow.setStatusBar(self.statusbar)
 
      self.retranslateUi(MainWindow)
      QtCore.QMetaObject.connectSlotsByName(MainWindow)
 
   def retranslateUi(self, MainWindow):
      MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "MainWindow", None, QtGui.QApplication.UnicodeUTF8))
 
if __name__ == "__main__":
   app=QtGui.QApplication(sys.argv)
   window=QtGui.QMainWindow()
   ui=Ui_MainWindow()
   ui.setupUi(window)
   window.show()
   sys.exit(app.exec_())

Adam asmaca

7 Şubat 2009 gönderen pythonturk.

Uzuuun bir aradan sonra tekrar birlikteyiz. Buraya her yazdığımda utanıyorum nedense. Bir önceki  yazının üzerinden uzun bir süre geçmiş oluyor çünkü. Ama utanıyorum bu size bir anlam ifade ediyordur umarım :)

Tezimin içinde kullandığım bir oyundu adam asmaca. Kodu satır satır açıklamayacağım. Önemli gördüğüm yerlerde açıklama satırları kullandım. Uygulamayı Nokia 6300′da denedim sorunsuz çalışıyor. Kendi telefonunuzda canvas çizimlerinde kaymalar olursa (-ki olacağını sanmıyorum oranlama yapacak şekilde ayarladım) koordinatları ona göre değiştirirsiniz.

Kullandığım teknolojiler:

IDE: NetBeans (mobil pack)

OS: Pardus

Dil: Java(J2Me)

Kodlar çok uzun olduğu için buraya koymayacağım, jar dosyasını (telefonunuza kuracağınız dosya) buradan, kaynak kodunu (ek dosyalarla birlikte) buradan indirebilirsiniz.

Kategori j2me 6 Yorum »

j2me için ne gerekli?

27 Eylül 2008 gönderen pythonturk.


Merhaba. Ne zamandır j2me ile ilgili bir şeyler yazmak istiyordum. Bugün tam yazmaya karar verdim daha sonra j2me ile ilgili giriş seviyesinde bir şey yazmadığımı fark ettim. Bu yazıyı da o açığı gidermek için yazıyorum. Ancak fazla uzun tutmak niyetinde değilim. J2me ile programlama yaparken neleri kullandığımdan bahsedip asıl yazmak istediğim yazıya uzun bir atlama yapmak istiyorum.
Devamı için tıklayın »

Kategori j2me 2 Yorum »

Ev Yapımı Şifreleme

20 Eylül 2008 gönderen 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 »

print(”birşeyler”)

1 Ağustos 2008 gönderen pythonturk.

  

    Uzuun zamandır birşey yazamıyordum. Hatta yazdığım en son yazının bitirme projemin taslağı olduğunu gördüğümde   utanmadım desem yalan olur. Bu arada hayatımda önemli gelişmelerde oldu tabi. Bu yazıda onlardan bahsedip aradaki geçen süreyi hızlı bir şekilde kapatmayı planlıyorum. 

  Bu arada olanları kısaca özetleyeyim.  

  • Burada taslağını paylaştığım tezimi bitirdim. Sitedeki ile aynı olmasa da ona yakın birşeyler yaptım diyebilirim.
  • Tezimi vermekle kalmadım 5 senemi verdiğim Ege Üniversitesinden de mezun oldum.
  • Beni zorla öğretmen yapmak isteyen sisteme inat (meslek lisesi sendromu) KPSS’ye girmedim.
  • Şu an bir şirkette programcı olarak çalışıyorum. J2ME ile programlama yapıyorum.
  • Uzun bir süre uzak kaldığım Python’a tekrar başladım, PyQt öğreniyorum.
  • UBE’de (Uluslarası Bilgisayar Enstitüsü, Ege Üniversitesi)  master yapmak istiyorum. ALES’e ve Yabancı Dil Yeterlilik Sınavı’na girdim, mülakat için Eylül’ü bekliyorum.

Kısaca özeti bu şekilde. Bundan sonra daha sık yazmayı planlıyorum. Hatta ShowMeDo tarzında videolar eklemeyi de planlıyorum. Umarım bunlar için zaman ayırabilirim. Planlama konusunda sıkıntı yaşadığım oluyor. 

** Sitenin daha çok insana ulaşması açısından daha çok örnek-makale-belgeye ihtiyaç var. Python’la uğraşan bilgisini, deneyimini paylaşmak isteyen arkadaşlar olursa benimle iletişime geçerlerse sevinirim. Burayı kişisel blog olarak tutmak niyetinde değilim. Amacım Python ile ilgilenenlere faydalı olabilecek bilgilerin bulunduğu bir yer olması. Bu konu ile ilgilenen arkadaşlar sitede yazar olarak bilgilerini paylaşabilirler.

Kalın sağlıcakla..

Kategori genel 4 Yorum »

Bitirme projesi taslağı

5 Şubat 2008 gönderen pythonturk.

Merhaba. Daha önceden de belirttiğim gibi bu siteyi açma amacım bitirme projemi ve gelişimini paylaşmaktı. Bir şeyler öğrendikçe bunu sitede anlatıp bu konuyla ilgilenen insanların da bir nebze olsun gelişimine katkıda bulunabilmekti. Bunu şu ana kadar çok iyi yaptığımı söyleyemem. Bunun sebebi de bitirme projeme tam olarak vakit ayırıp da başlayamamamdı. Zaman konusunda sıkıntı yaşadığım bir dönemin ardından bitirme projeme tam olarak başlıyorum. Buradan da şu an itibariyle yapacaklarımı içeren taslağı sizinle paylaşmak istedim. Belki de biraz da kendimi kontrol etmek adına böyle birşey yapıyorum. Taslağı sadece ben bildiğim sürece tam olarak yapılıp yapılmadığını sorgulayacak benden başka kimse olmayacaktı, sizlerle de paylaşıyorum ki bunu kontrol eden birilerinin olduğunu bilmek beni tembellikten alıkoyar diye umuyorum. Taslakta var olanların durumunu, gelişimini çekinmeden sorgulayınız :)
Devamı için tıklayın »

Kategori genel 7 Yorum »

« Previous Entries