<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ömer ÜCEL</title>
	<atom:link href="http://omerucel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://omerucel.com</link>
	<description>Oyun alanı...</description>
	<lastBuildDate>Sun, 08 Aug 2010 00:34:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Mini Proje : phpfv</title>
		<link>http://omerucel.com/2010/08/08/mini-proje-phpfv/</link>
		<comments>http://omerucel.com/2010/08/08/mini-proje-phpfv/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 00:34:13 +0000</pubDate>
		<dc:creator>oucel</dc:creator>
				<category><![CDATA[Genel]]></category>

		<guid isPermaLink="false">http://omerucel.com/?p=43</guid>
		<description><![CDATA[PHP ile bir şeyler kodlamanın en sıkıcı tarafı formlarla uğraşmak olsa gerek (Benim için öyle). Form kontrol işlemlerine daha az vakit ayırmak için ufak bir form kontrol sınıfı yazdım. Aslında bir data kontrol sınıfıda diyebiliriz. Şu an aşağıdaki kuralları kontrol &#8230; <a href="http://omerucel.com/2010/08/08/mini-proje-phpfv/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>PHP ile bir şeyler kodlamanın en sıkıcı tarafı formlarla uğraşmak olsa gerek (Benim için öyle). Form kontrol işlemlerine daha az vakit ayırmak için ufak bir form kontrol sınıfı yazdım. Aslında bir data kontrol sınıfıda diyebiliriz. Şu an aşağıdaki kuralları kontrol edebiliyor:</p>
<ul>
<li>is_require : Datanın gönderilmesi zorunluluğunu kontrol eder</li>
<li>min_length : Bir datanın minumum karakter sınırını kontrol eder.</li>
<li>max_length : Bir datanın maksimum karakter sınırını kontrol eder.</li>
<li>is_same : Genellikle şifre alanları için kullanılabilecek bir kontrol. Referans gösterdiği data ile benzerliğini kontrol eder.</li>
</ul>
<p>Proje kodlarına <a href="http://gitorious.org/phpfv/phpfv/archive-tarball/master">http://gitorious.org/phpfv/phpfv/archive-tarball/master</a> adresinden erişebilirsiniz. Projeye sayfası ise <a href="http://gitorious.org/phpfv/phpfv">şurada</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://omerucel.com/2010/08/08/mini-proje-phpfv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WURFL ve XMLReader</title>
		<link>http://omerucel.com/2010/07/17/wurfl-ve-xmlreader/</link>
		<comments>http://omerucel.com/2010/07/17/wurfl-ve-xmlreader/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 22:31:57 +0000</pubDate>
		<dc:creator>oucel</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[wurfl]]></category>

		<guid isPermaLink="false">http://omerucel.com/?p=32</guid>
		<description><![CDATA[Bir projede mobil cihazlarla ilgili bilgiler almak için WURFL&#8217;ı kullanıyoruz. Bu projenin bazı yerlerinde xml ayıklama işlemleride yapıyoruz. Normalde xml ayıklama işlemi sırasında oluşan hatalar PHP ile loglanabiliyor (Yani xml&#8217;in şu satırında şöyle bir sorun var türünde hatalar). Ancak projemizde &#8230; <a href="http://omerucel.com/2010/07/17/wurfl-ve-xmlreader/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Bir projede mobil cihazlarla ilgili bilgiler almak için WURFL&#8217;ı kullanıyoruz. Bu projenin bazı yerlerinde xml ayıklama işlemleride yapıyoruz. Normalde xml ayıklama işlemi sırasında oluşan hatalar PHP ile loglanabiliyor (Yani xml&#8217;in şu satırında şöyle bir sorun var türünde hatalar). Ancak projemizde normal yollardan bu loglama işlemi gerçekleşmediği için ekstra kodlar yazmak zorunda kalmıştık.</p>
<p>Projede bu loglama sorununun neden kaynaklandığını bulmak için kodlar üzerinde saçma sapan testler yaptım. Tabi proje içinde kullanılan WURFL&#8217;ın buna neden olacağı hiç aklıma gelmemişti. Biraz WURFL kodlarını kurcalayayım dedim ve sorunun kaynağını buldum. <strong>WURFL/Configuration/XmlConfig.php</strong> dosyasındaki 55. satırda bulunan <strong>libxml_use_internal_errors(TRUE);</strong> kodu bizim XMLReader kullanımında istediğimiz hata yakalama işlemini engelliyordu. Bu kodu yorum satırları içine aldığımda xml dosyasında oluşan hatalar loglanmaya başladı.</p>
<p>Ek bilgi olarak WURFL 1.1 çıkmış. <a href="http://sourceforge.net/projects/wurfl/files/WURFL%20PHP/">http://sourceforge.net/projects/wurfl/files/WURFL%20PHP/</a> adresinden indirebilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://omerucel.com/2010/07/17/wurfl-ve-xmlreader/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Singleton Pattern</title>
		<link>http://omerucel.com/2010/07/10/python-singleton-pattern/</link>
		<comments>http://omerucel.com/2010/07/10/python-singleton-pattern/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 18:25:34 +0000</pubDate>
		<dc:creator>oucel</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[oop]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://omerucel.com/?p=28</guid>
		<description><![CDATA[PHP de çok sık kullanıyorum ama Python ile Singleton yapıya daha önce hiç ihtiyaç duymamıştım. Hatırlat projesini güncellerken ayar ve veritabanı sınıflarında bir çok işlemin yeniden yapılması yerine böyle bir yapıyı kurmak daha mantıklı olacaktı. Daha önce cackephp de gördüğüm &#8230; <a href="http://omerucel.com/2010/07/10/python-singleton-pattern/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>PHP de çok sık kullanıyorum ama Python ile Singleton yapıya daha önce hiç ihtiyaç duymamıştım. Hatırlat projesini güncellerken ayar ve veritabanı sınıflarında bir çok işlemin yeniden yapılması yerine böyle bir yapıyı kurmak daha mantıklı olacaktı. Daha önce cackephp de gördüğüm ve bazı projelerde kullandığım yöntemi Python için düzenledim. Öncelikle bir sınıf kaydediciye ihtiyacımız var. Aşağıdaki şekilde bu kaydediciyi oluşturuyoruz.</p>
<pre>
class ClassRegistry:
    _classes = {}

    @staticmethod
    def getClass(key):
        if ClassRegistry._classes.has_key(key):
            return ClassRegistry._classes[key]
        else:
            raise Exception('Class not registered')

    @staticmethod
    def setClass(key, _class):
        ClassRegistry._classes[key] = _class
</pre>
<p>Test sınıfı:</p>
<pre>
class A:
    def __init__(self):
        self.number = 1
        print "initialize A"
</pre>
<p>Test kodları:</p>
<pre>
ClassRegistry.setClass('A', A())

# A sınıfı alınıyor
_class1 = ClassRegistry.getClass('A')

print _class1.number

_class1.number = 2

_class2 = ClassRegistry.getClass('A')

print _class2.number

_class2.number = 5

print _class1.number

print _class1
print _class2
</pre>
<p>Bu yöntem haricinde bir çok farklı yol mevcut. Onlardan bir taneside <a href="http://en.wikipedia.org/wiki/Singleton_pattern#Python">wikipedia</a> üzerinde.</p>
]]></content:encoded>
			<wfw:commentRss>http://omerucel.com/2010/07/10/python-singleton-pattern/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Yeni Bir Proje</title>
		<link>http://omerucel.com/2010/07/02/yeni-bir-proje/</link>
		<comments>http://omerucel.com/2010/07/02/yeni-bir-proje/#comments</comments>
		<pubDate>Fri, 02 Jul 2010 08:15:15 +0000</pubDate>
		<dc:creator>oucel</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[kişisel]]></category>
		<category><![CDATA[proje]]></category>

		<guid isPermaLink="false">http://omerucel.com/?p=23</guid>
		<description><![CDATA[Haftasonlarında dinlenmek için uğraştığım bir projeyi geçtiğimiz günlerde test yayınına açtım. Şu an için pek bir kullanıcı hareketliliği yok. http://www.sencehangisi.com adresinden projeye erişebilirsiniz. Proje basit bir anket sitesini biraz eğlenceli hale getirmek üzere kuruldu. Django ile geliştirdiğim ve yayına açabildiğim &#8230; <a href="http://omerucel.com/2010/07/02/yeni-bir-proje/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Haftasonlarında dinlenmek için uğraştığım bir projeyi geçtiğimiz günlerde test yayınına açtım. Şu an için pek bir kullanıcı hareketliliği yok. <a href="http://www.sencehangisi.com">http://www.sencehangisi.com</a> adresinden projeye erişebilirsiniz. Proje basit bir anket sitesini biraz eğlenceli hale getirmek üzere kuruldu. Django ile geliştirdiğim ve yayına açabildiğim tek proje diyebilirim.</p>
]]></content:encoded>
			<wfw:commentRss>http://omerucel.com/2010/07/02/yeni-bir-proje/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome Keyring ve Kayıtlı Parolaları Listeleme</title>
		<link>http://omerucel.com/2010/06/21/gnome-keyring-ve-kayitli-parolalari-listeleme/</link>
		<comments>http://omerucel.com/2010/06/21/gnome-keyring-ve-kayitli-parolalari-listeleme/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 22:52:48 +0000</pubDate>
		<dc:creator>oucel</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[gnome]]></category>

		<guid isPermaLink="false">http://omerucel.com/?p=14</guid>
		<description><![CDATA[Son yaşadığım sorundan sonra network manager olmadığı için vpn bağlantısını gerçekleştiremedim. Parolada karışık bir şey olduğu için ve bir yere not etmediğimden ötürü öylece kalakaldım. Allah&#8217;tan parolalar genel bir yerde saklanıyordu ve bende bakmayı akıl edebildim. Tabi yöntem için biraz &#8230; <a href="http://omerucel.com/2010/06/21/gnome-keyring-ve-kayitli-parolalari-listeleme/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Son yaşadığım sorundan sonra network manager olmadığı için vpn bağlantısını gerçekleştiremedim. Parolada karışık bir şey olduğu için ve bir yere not etmediğimden ötürü öylece kalakaldım. Allah&#8217;tan parolalar genel bir yerde saklanıyordu ve bende bakmayı akıl edebildim. Tabi yöntem için biraz araştırma yapmak gerekti. Aşağıdaki kodlarla kayıtlı parolaları listeleyebilirsiniz. Kodları <a href="http://michael.susens-schurter.com/blog/2008/10/30/listing-all-passwords-stored-in-gnome-keyring/">şu</a> bağlantıdan kopyaladım.</p>
<pre>
#!/usr/bin/env python

import pygtk
pygtk.require('2.0')
import gtk # sets app name
import gnomekeyring

def hack():
    for keyring in gnomekeyring.list_keyring_names_sync():
        for id in gnomekeyring.list_item_ids_sync(keyring):
            item = gnomekeyring.item_get_info_sync(keyring, id)
            print '[%s] %s = %s' % (
                    keyring, item.get_display_name(), item.get_secret())
        else:
            if len(gnomekeyring.list_item_ids_sync(keyring)) == 0:
                print '[%s] --empty--' % keyring

if __name__ == '__main__':
    hack()
</pre>
]]></content:encoded>
			<wfw:commentRss>http://omerucel.com/2010/06/21/gnome-keyring-ve-kayitli-parolalari-listeleme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu ve iwl3945 Sorunu</title>
		<link>http://omerucel.com/2010/06/20/ubuntu-ve-iwl3945-sorunu/</link>
		<comments>http://omerucel.com/2010/06/20/ubuntu-ve-iwl3945-sorunu/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 10:24:07 +0000</pubDate>
		<dc:creator>oucel</dc:creator>
				<category><![CDATA[Genel]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://omerucel.com/?p=5</guid>
		<description><![CDATA[Bir süredir evde kablosuz bağlantıyı kullanamıyordum Ubuntu ile. Biraz araştırma yaptıktan sonra bir çözüm buldum ve sorunu giderdim. Şu bağlantıdan ilgili sayfaya ulaşabilirsiniz.]]></description>
			<content:encoded><![CDATA[<p>Bir süredir evde kablosuz bağlantıyı kullanamıyordum Ubuntu ile. Biraz araştırma yaptıktan sonra bir çözüm buldum ve sorunu giderdim. <a href="http://www.dotkam.com/2008/11/17/configure-iwl3945-driver-on-ubuntu/">Şu</a> bağlantıdan ilgili sayfaya ulaşabilirsiniz.</p>
]]></content:encoded>
			<wfw:commentRss>http://omerucel.com/2010/06/20/ubuntu-ve-iwl3945-sorunu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
