Google
 
March 10th, 2006

Tez Aşaması

Posted by serotizm in Özel, Projeler, Uygulama Geliştime

Tam sınavlar bitti, rahata eriyorum derken bu sefer de bitirme tezinin hazırlıkları başladı. Tez hocam Doç. Dr. Murat Donduran sağolsun mesleğimle ilgili bir konu seçmeme izin verdi.

Aldığım konu bazı iktisadi modellerin formüllerinin ve grafiklerinin java applet ile çıkartılması.
Çalışmaya dün başladım ve nacizane birşeyler yaptım.  Sayfa içerisindeki 2 appletten birisi hesaplamaları yapıyor, diğeri ise grafiği çiziyor. Minik bir böceği olsa da ortaya birşeyler çıktı.

Link: http://www.serotizm.com/tez/tez.htm

December 13th, 2005

PHP&Oracle: Türkçe Karakter Sorunu

Posted by serotizm in Uygulama Geliştime

Bugün yaklaşık 2 saatimi Oracle’dan çektiğim verideki Türkçe karakterlerin yazdığım PHP kodunda garip görünmesi sorununu çözmek için harcadım.

Oracle kullanıken belirleyebileceğiniz bazı değişkenler bulunuyor. Bunlardan bazılarını PHP kodu içinde veya Apache’yi çalıştırırken  belirtmek gerekiyor;

PutEnv("NLS_LANG=TURKISH_TURKEY.TR8MSWIN1254");
PutEnv("ORACLE_SID=AKI1");
PutEnv("ORACLE_HOME=/opt/oracle/product/10.1.0");
PutEnv("TNS_ADMIN=/etc/oracle");
PutEnv("LD_LIBRARY_PATH=/usr/lib/oracle/10.1.0.3/client/lib");

Buradaki NLS_LANG veritabanından veri çekerken veya eklerken hangi karakter setini kullanacağınızı belirtiyor. Bu değişkenin değerini

PutEnv("NLS_LANG=.UTF8");

yaptığınız zaman Türkçe karakter sorunu kökünden çözülüyor.

Sonunda ya!!! 

November 21st, 2005

Türkçe Karakter Sorunu Çözüldü: FontForge

Posted by serotizm in Uygulama Geliştime

Tasarımcılar ve uygulama geliştirenler için en bela dertlerden birisi Türkçe karakter sorunudur. Özellikle bulduğunuz çok güzel bir fontun Türkçe desteği yoksa canınız bayağı sıkılır.

Geçen hafta şirketin web sitesini yenilerken aynı dertten muzdarip oldum. Geliştirdiğim içerik yönetimi uygulaması imaj üretiyor ama bulduğum en güzel fontların asla Türkçe desteği olmadığı için istediğim sonucu alamıyordum.

En sonunda FontForge diye bir program buldum. Sıfırdan font yaratmak tabii ki harcım değil ama elimdeki fontlara Türkçe desteği eklemek, nefes almak kadar kolay bir iş.

FontForge ilk açıldığı zaman hangi dosya üzerinde çalışmak istediğinizi soruyor. Bir postscript veya truetype font seçtikten sonra Encoding menüsünden Reencode seçeneğini ve ISO-8859-9‘u seçiyorsunuz. Uygulamanın ana ekranına Türkçe set geliyor. Ben Türkçe karakterleri oluşturmak için, İngilizce karakteri CTRL+c kombinasyonu ile kopyalayıp istediğim karakterin yerine yapıştırıyorum. Mesela S harfine kuyruk ekleyerek Ş yapmak istiyorsam, başka bir harfin sadece kuyruğunu seçip, biraz önce eklediğim harfe yapıştırıyorum. Kuyruğu biraz sağa/sola alıp yerini bulduktan sonra aynı işlemi istediğim diğer harfler içinde gerçekleştiriyorum.

Fonts menüsünden Generate Fonts‘u seçip yeni fonta bir isim verdikten sonra kusursuz bir şekilde Türkçe desteği eklemiş oluyorsunuz.

Arayüzü çok sevimli değil ama kullanımı çok kolay ve faydalı bir uygulama. Postscript fontları truetype formatına da çevirebiliyor. Özellikle Ming, GD kullanıcıları için öneriyorum.

Bilgi için: fontforge.sourceforge.net 

October 14th, 2005

PHP: __autoload

Posted by serotizm in Uygulama Geliştime

PHP logoPHP5 henüz çoğu ISP tarafından desteklenmiyor. Bu yüzden kendisinin nadide özelliklerini  kullanmakta geç kaldım.

Geçtiğimiz hafta çalıştığım şirket için bir içerik yönetimi uygulamasını PHP5 ile yazmaya karar verdim. Kullandıkça hayran bırakan özellikleri var. Sınıflar konusunda PHP5 çağ atlamış.

Ama bu kısa yazının konusu, PHP’nin autoload özelliği.
Sınıflarla (halk arasında class diye tabir ederiz) çalışan arkadaşlar genelde her dosyada bir sınıf yaratırlar. Böylece hangi sınıfın nerede olduğunu bulmak çok kolaylaşır.

Hal böyle olunca, her sınıfın dosyasını tek tek sınıfı kullandığınız PHP dosyası içinde çağırmak gerekiyor (require, include). Diğer dillerde nasıl bilmiyorum ama PHP5 bu konuda inanılmaz bir kolaylık sunmuş. Yarattığınız __autoload isimli bir fonksiyon, sizi bu "include" derdinden kurtarıyor. Şöyle ki;

function __autoload($class_name) {
    global $config;
    require_once("/library/".$class_name.".class.php");
}

diyerek fonksiyonu yaratıyoruz.
Sonra mesela;

$var = new someClass();

dediğimiz zaman, PHP /library/someClass.class.php dosyasını çağırıyor.
Bu sayede hem "include" hamallığından kurtuluyorsunuz hem de uygulama sağda solda unuttuğunuz bu işlem yüzünden hata vermiyor.

Bence çok başarılı olmuş..