Archive for January, 2007

Ruby ile GUI Toolkits (wxRuby)

Merhabalar,

Bu yazımızda Ruby ile GUI Toolkits başlattığımız yazı dizisine devam ediyoruz. Bugün WxRuby kütüphanesini inceleyeceğiz. WxRuby kütüphanesi oldukça gelişmiş olan wxWidgets kütüphanesi üzerine kurulu bir yapıdır. WxRuby Microsoft Windows, Mac OS X, Linux ve BSD üzerinde sorunsuzca çalışır. Kendisinin herhangi bir görüntü teması yoktur. Hangi işletim sistemine yüklenirse, o işletim sisteminin görüntü temasını kullanır. Hemen hemen tüm Ruby uygulamalarında olduğu gibi gem ile kurulumu oldukça basit ve kolaydır. Aynı zamanda Python bağlayıcısı da (wxPython) bulunan bu yapı, C++‘da yazılmış olan wxWidgets kütüphanesinden güçünü alır.
Windows, Linux ve Mac OS X için kurulumu; gem install wxruby2-preview ile gerçekleşir… Linux ve Mac OS X’de ‘Super User(sudo)‘ ile bu işlem yapılmalıdır.

Öncelikle wxWidgets kütüphanesinin gerçekten çok güçlü olduğu tekrar vurgulamakta fayda var. Bu bilgi ışığında WxRuby’nin önceki sürümlerinin çok kötü olduğunu duymuş olabilirsiniz.. duymadıysanız şimdi duydunuz, gerçekten çok kötü idi. Bunun farkına varan sevgili yazılımcı kardeşlerimiz, wxRuby2′yi ortaya çıkardılar ve geliştirmelerini bu yapı üzerinde yapmaya başladılar. WxRuby2, şu anda oldukça iyi durumda, yazılım geliştirme, biraz sonra örnekte de göreceğiniz gibi, VRuby’den zor :) fakat FxRuby’den kolay. WxRuby‘nin genel ağ adresinden daha fazla bilgiye ulaşabilirsiniz.
More >

Ruby ile GUI Toolkits – 2 (Güncellendi)

Merhabalar arkadaşlar,

Bu yazımızda Ruby ile GUI Toolkits – 1 (VRuby) ile başlattığımız akımı devam ettiriyoruz. Geçen yazımızda konuya giriş yapmış daha sonra VRuby ile ilgili güzel bir örnek yapmıştık. Bugün Fox isimli kütüphaneye değineceğiz. Fox kütüphanesinin Ruby (FxRuby), FxPy (Python), EiffelFox (Eiffel) dillerine başlayıcıları(bindings) bulunan ve pek çok işletim sisteminde çalışan bir uygulama olduğunu belirtmek gerekir. Yazılımların oluşturulması her ne kadar Windows’a benzemese de, sonuç yani görünüm gerçekten Windows’a çok benziyor.. İyi mi, kötü mü, ben bilemem ama benziyor..?

FxRuby, form designer‘ı, dökümantasyonu ve kullanıcı kılavuzu bulunan, gerçekten güzel ve gelişmiş bir kütüphanedir. VRuby gibi değildir… Hız ve kolaylık acısından VRuby, FxRuby’i açık ara geride bırakır :). Fakat elbetteki FxRuby’nin birçok işletim sisteminde çalışması bir avantaj olarak kabul edilebilir.

Windows işletim sisteminde kurmak için, sadece “One-Click Ruby Installer” yeterli. Fakat bu yazının yazıldığı tarihlerde “One-Click Ruby Installer” içerisinde gelen FxRuby’nin 1.6.1 sürümünde bazı problemler mevcut. Herhangi bir FxRuby programı çalıştırdığınızda bir çok ‘warning’ ile karşılacaksınız. Bu sorunu gidermek için ‘gem update –include-dependencies fxruby‘ komutunu uygulayarak FxRuby kütüphanesini (şu anki sürümü)1.6.5′e güncellenmesi gerekir.

Linux için, “gem” kullanarak FxRuby’yi kurmak yeterli. Kurulumu basit olan kütüphaneleri kim sevmez :).
More >

vruby01.JPG

Ruby ile GUI Toolkits – 1

Merhabalar,

Bu yazımızda Ruby ile yazdığımız programlara bir arabirim eklemek istersek ne gibi alternatifler var, avantajları ne, dezavantajları ne gibi sorulara cevap arayacağız. Umarım buluruz ;)
Ruby özgür ve açık kaynak kodlu olmasından dolayı, görüntü arabirimi küyüphanesinde birkaç alternatif mevcut. Bunlardan başlıcaları; Tk, Ruby/GTK, Ruby/Qt, wxRuby, FxRuby/Fox ve VRuby şeklinde sıralanabilir.

Hepsi ile birer tane örnek yapmak istiyorum, ama bu yazıda sadece bir tane yapabilirim ;) Ben derim ki listenin en kolayından başlayalım,
VRuby
Sadece Windows işletim sistemi için bir kütüphanedir. Windows için Ruby kurulumu olan One-Click Ruby Installer ile beraber gelir. Herhangi bir şekilde ekstra kurulum yapmaya gerek yoktur. Proje ile ilgili dökümantasyon çok kötü olmamasına rağmen oldukça azdır. Fakat bu sayfa başlangıç sayfası olarak kullanılabilir. Kütüphaneyi yapan kişiler Visual Basic kadar basit olması gerektiğine karar vermiş ve bu yöndede çok güzel ve önemli adımlar atmışlardır. Kütüphanenin kolay olan kullanımı ve ‘One-Click Ruby Installer’ ile birlikte gelmesi, Ruby programlarının Windows versiyonları için çok iyi bir avantaj olarak göze çarpar. Form Designer‘ı ve CHM dökümantasyonu ve bir çok örneği mevcut olan VRuby, Windows için gerçekten çok güçlü bir alternatiftir.
More >

Hesap İşletim Ücreti

Gomleksizoglu.com’da yer alan “Hesap İşletim Ücreti” adlı yazıya katılmamak elde değil.

Ben de kendi çalışmak istediğim bankalara bu “Hesap İşletim Ücreti” hakkındaki mektubu gönderdim, cevap bekliyorum.

Umarım sizler de gönderir ve cevaplarınızı alırsınız… Unutmayın; Bankalar paranızı saklamak için oluşturulmuş, kar amaçlı kuruluşlardır. 10 yıl öncesinde hiç para almadan bir sürü hesap açan ve bu şekilde çok büyük karlar kazanıp bankacılık sektörünü gelişmesine çok önemli katkıları olan bankaların, “artık almaya mecburuz yoksa zarar ederiz” gibi açıklamalarda bulunmalarına kanmayın. Bunun bir kuyruklu yalan olduğunu, kuyruğunun da güneş sisteminin dışında olduğunu bilin.. bilmeyenlere bildirin..!

Kolay gelsin..

Ruby ile Thread İşlemleri

Merhabalar,

Şu zamana kadar yazdığım yazılarda Ruby ile ilgili pek çok konuya değindik, bu konular arasında POP3 ve SMTP, HTTP ve FTP, Dosya İşlemleri, Çalışma zamanı, Module yapısı, Hata yakalama, Resim işlemleri, ODBC veri tabanı bağlantısı, Ruby nesnelerinin karşılaştırılması gibi konular mevcut. Aslında tüm bu yazılardan küçük bir kitap bile çıkabilirdi ama elbetteki yazım dilinin tekrar bir elden geçirilmesi gerekli. Her neyse, şu zamana kadar yazdığım yazılar umarım sizlerin de işine yaramıştır :). Benim yaradı valla, ben Ruby ile ilgili bazı konularda kendi bloğuma bakıyorum :).

Sözü uzatmadan başlıktan da anlaşılacağı gibi yazımızın konusuna yani Thread’lere(Türkçe’sini tam kestiremedim, hoşgörün lütfen) geçelim. Şimdi eğer bir yazılımcıysanız, daha önceden Multi-Thread uygulamalar ile uğraşmıssanız, kolay bir konu olmadığını bilirsiniz. Gerçekten özellikle zor zamanlarda çok uyuz bir konu olabilir. Tüm bunlardan öte, yapımı ve tasarlanması çok pahalıya patladığı için, yazılımcılar tarafından pek tercih de edilmez. Ama işler Ruby’de biraz daha farklı, çünkü Ruby’de bu işlemler oldukça basit ve etkileyici :).
More >

Ruby ile POP3 ve SMTP

Merhabalar,

Önceki yazımızda Ruby ile FTP ve HTTP‘den bahsetmiş ve bu konuda birkaç örnek yapmıştık. Bununla beraber Ruby’nin ağ yetenekleri içerisinde POP3, SMTP gibi elektronik posta ile ilgili yüksek seviyeli sınıfların varlığından da bahsetmiştik. Başlıktan da anlaşılacağı gibi, bu yazımızda sizlerle beraber POP3 ve SMTP konularına değineceğiz. Kendimize güzel ve popüler birkaç sorun bulup bu sorunları çözmeye çalışacağız.

Öncelikle POP3 protokolü ile herhangi bir elektronik mail sunucusu ile haberleşme konusunu inceleyelim, sonrasında SMTP protokolü ile ilgili örneğimize geçiş yaparız.

POP3 protokolü ile ilgili popüler bir sorun olarak; WordPress‘i örnek verebiliriz. Şimdi “ne alakası var kardeşim” diyeceksiniz, demeyin :) biraz sabredin.. :) WordPress’in güzel bir yeteneği var, belirli bir e-posta adresini kontrol edebiliyor, eğer bu e-posta adresine bir e-posta gelmiş ise, bu e-postanın içeriğini bir yazı olarak yayımlıyor… :) güzel bir özellik değil mi, peki biz bunu Ruby’de nasıl yaparız ? İşte asıl soru bu.
More >

Wiki Kurulumu

Merhabalar

Geçen günlerde bir projenin dökümantasyonunu nasıl yapacağımıza dair tartışma halindeyken artık Office uygulamalarından daha teknolojik programları kullanmaya karar verdik. Bu programlara Wiki adını verdiklerini biliyoruz. En gelişmiş versiyonlarından olan MediaWiki ile Wikipedia‘nın yapılmış olduğunu, binlerce insana hizmet veren çok güzel bir uygulama ortaya çıktığını biliyoruz.

Daha sonra internette araştırmalar yapmaya başladım, insanlar ne yapmış, Wiki dünyasında işler nasıl yürüyor.. vs. Bu gibi soruları sora sora sonunda WikiMatrix‘i buldum. Gerçekten çok güzel bir uygulama yapılmış özellikle arama bölümü gerçekten çok güzel hazırlanmış, arkadaşları tebrik etmek gerekir.

Sonuçta biz bir takım olarak dökümantasyon işlerini yürütecektik ve buna uygun bir uygulama aramaya koyulduk, birçok alternatife baktıktan sonra gerçekten en iyisinin (yazının yazıldığı tarihlerde) MediaWiki olduğuna karar verdim. Gerçekten iyi bir uygulama.

Fakat bir de Pimki var. Ruby’de yazılmış, instiki tabanlı, çok güzel bir uygulama, pek şirin ve gem ile kurulumu “gem install –include-dependencies pimki” kadar basit.

İkisi arasında uzun süre kararsız kaldım, daha sonra MediaWiki‘nin yorum yazma yeteneği beni tavladı ve bu uygulama ile dökümantasyon işlemlerine başladık. Makinamda halen Pimki kurulu, ufak tefek uygulamarı kesinlikle daha hızlı dökümante edeceğiniz kesin. Umarım vaktim olurda yorum ekleme mekanizmasını Pimki‘ye eklerim.

Kolay gelsin :)

Ruby ile FTP ve HTTP İşlemleri

Merhabalar,

Bugün yazımızda Ruby’nin ağ(network) ve genel ağ(web) kütüphanelerini inceleyeceğiz. Bu kütüphaneleri, mail göndermek, ftp ile başka bir makinaya dosya kaydetmek, herhangi bir başka web sitesininden bir sayfayı okumak veya düşük seviyeli (socket bazlı) işlemler yapmak için kullanabiliriz.

Bu yazımda, tabii sizlerde izin verirseniz, düşük seviyeli bağlantılar (Socket, BasicSocket, IPSocket, TCPSocket, SOCKSSocket.. vb.) yerine, yüksek seviyeli bağlantılardan HTTP ve FTP’yi incelemek istiyorum. Özellikle bu tür yüksek seviyeli bağlantılar için Ruby’nin gerçekten güçlü silahları vardır, bu silahlar ile pek çok uygulamayı zorlanmaksızın yazabilir, pek çok problemini kolayca çözebilirsiniz.
More >

Ruby ile Gelişmiş Nesne Yönetimi

Merhabalar,

Bir önceki yazım olan Ruby ile Dosya İşlemleri‘ne gelen yorum nedeni ile uzmanlara yönelik bir yazı yazma gereği hissettim. Bu yazımın amacı, çalışma zamanında ruby’nin nesneleri nasıl yönettiğini sizlerle paylaşmak. Öncelikle karşımıza çıkacak olan problemlerden biraz bahsedelim ve daha sonra bunların çözümlerini yapalım.
More >