Archive for the 'Ruby' Category

Ruby Hakkında

Uzun zamandır Ruby ile ilgileniyor ve arada sırada blog girdilerimde Ruby hakkında bilgiler veriyordum. Bu yazımda ise biraz daha derinlere inmeyi düşünüyorum yüzeysel bilgi yerine ruby hakkında daha fazla bilgi vermek bilgisayarınıza nasıl kurabileceğinizi anlatmak istiyorum.

Ruby hakkında bilgi vermeye bu programlama dilini bizlere kazandıran Yukihiro Matsumoto‘dan başlamak en doğrusu olacaktır. Ruby nesneye yönelik bir programlama dilidir ve bazı programlama dillerinden esinlenerek tasarlanmıştır. Matz, Dave Thomas tarafından yazılan Programming Ruby adlı kitapın birinci baskısı için yazdığı önsözde şöyle demektedir: ” İnternet üzerinde bir takım araştırmalar yaptım, ama bulduğum adaylar, Perl ve Python, tamamen benim aradığımı yansıtmıyordu. Benim istediğim Perl’den daha güçlü ve Python’dan daha nesne yönelimli bir dildi.”

1993 yılında başlanan çalışmalar sonucu 1995′de Ruby dili yayınlandı. Çok eski bir dil olmamasına rağmen kısa sürede popüler bir dil haline gelen Ruby İngilizce makale ve kitapların da yaygınlaşmasıyla her geçen gün daha fazla insana hitap ediyor. TIOBE tarafından sürekli yapılan değerlendirmelere göre geçen sene Nisan ayında 10. sırada olan Ruby şuanda 9. sırada. 2002-2008 yılları arası değerlendirme grafiğine bakacak olursak Ruby’nin hızla ilerlediğini görebiliriz:

TIOBE Index History for Language Ruby

Ruby hakkında benim vereceğim genel bilgiler bu kadar, fakat yazımın sonunda kaynaklar bölümünde sizlere daha ayrıntılı bilgi alabileceğiniz linkler vereceğim.

Ruby programlama dilini bilgisayarımız üzerinde çalıştırmak için yapmamız gerekenlere gelecek olursak:

a) Linux Kullanıcıları İçin Ruby ve RubyGems Kurulumu

—– Eğer Windows kullanıcısı iseniz bu bölümü dikkate almayıp b bölümüne geçiniz. ——-

1) Depo Üzerinden Kurulum

  • Kendi bilgisayarımda kurulu olan Pardus için kurulumla başlamak istiyorum:

sudo pisi it ruby komutu ile Ruby nin 1.8.6 versiyonunu bilgisayarınıza indirebilirsiniz.

  • Aynı bu şekilde paket yöneticisi programları ile bilgisayarınıza Ruby yüklemek mümkün

Örneğin Debian ve ya Ubuntu üzerinden yüklemek için :

  • sudo apt-get install ruby irb rdoc komutu yeterli olacakdır.

2) Kaynak Kod İle Kurulum

  • http://www.ruby-lang.org/en/downloads/ adresinden tar.gz uzantılı ruby kaynak kodları bilgisayarımıza çekilir.
  • tar zxvf ruby-x.x.x.tar.gz komutu verilerek klasöre açılır.
  • cd ruby-x.x.x komutuyla klasöre girilir.
  • ./configure
  • make
  • sudo make install komutları verilerek kurulum tamamlanır.

Linux Kullanıcıları İçin RubyGems Kurulumu

  • http://rubyforge.org/frs/?group_id=126 adresi üzerinden tgz uzantılı dosyamızı bilgisayarımıza indiriyoruz.
  • tar zxvf rubygems-*.*.*.tgz komutuyla klasöre açıyoruz.
  • cd rubygems-*.*.* komutuyla dosyamıza giriş yapıyoruz.
  • ruby setup.rb komutu vererek RubyGems i bilgisayarımız üzerine yüklüyoruz. ( /usr/lib üzerine yazma yetkisi olmadığı durumlarda sudo ruby setup.rb komutu kullanınız )

Linux Kullanıcıları İçin RubyGems’in Erişim İzinli Klasöre Kurulumu

Eğer /usr/lib üzerine yazma yetkisi olmayan bir kullanıcıysanız RubyGems paket yöneticisini ve paketleri yüklemek için yetkiniz yoktur. Bu durumda kendi dizinleriniz içerisine kurulum yapmanız gerekmektedir.

home/user ‘nin sahip olduğumuz home klasörü olduğunu varsayalım. Ve gemdepom adlı bir depo kuralım. Aşağıdaki komutları uygulayınız:

  • http://rubyforge.org/frs/?group_id=126 adresi üzerinden tgz uzantılı dosyamızı bilgisayarımıza indiriyoruz.
  • tar zxvf rubygems-*.*.*.tgz
  • cd rubygems-*.*.*
  • export GEM_HOME=/home/user/Ruby/gemdepom
  • ruby setup.rb config –prefix=/home/user
  • sudo ruby setup.rb setup
  • ruby setup.rb install

Böylece RubyGems kurulumumuz da tamamlanmış oldu.

b) Windows İşletim Sistemi Kullananlar İçin:

http://rubyinstaller.rubyforge.org/ tarafından hazırlanmış olan “One-Click Ruby Installer for Windows” programı sayesinde ihtiyacımız olan herşeyi kurmamız mümkün.

  • Öncelikle indirdiğimiz dosyayı çift tıklayarak açıyoruz ve karşımıza gelen pencereden next butonuna tıklıyoruz.
  • Bir sonraki pencereden I agree seçiyoruz.
  • Şimdi karşılaştığımız pencerde kurulacak olan programlar görüntülenmekte. ( Scite : Ruby için bir text editörü , RubyGems : Ruby için hazırlanmış olan paketlerin bulunduğu ve bilgisayarımıza indireceğimiz depo.

Windows üzerine Ruby Kurulumu

  • Bundan sonraki kısımlarda Next butonuna tıklayarak kurulumu tamamlayabilirsiniz.

Bir sonraki yazımda Ruby programlama diline biraz daha yakından göz atacağız. Bu yazıdaki her komut ben ve Serkan tarafından denenmiştir. Teşekkürler Serkan.

Kaynaklar:

Programming Ruby book by Dave Thomas.

http://en.wikipedia.org/wiki/Ruby_(programming_language)

http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html

http://rubyforge.org/frs/?group_id=126

http://rubyinstaller.rubyforge.org/wiki/wiki.pl

http://en.wikipedia.org/wiki/Yukihiro_Matsumoto

http://rubygems.org/read/chapter/3

TrainerOnRails.com : A Rails Learning Hub

Ocak ayındaki bir yazımda Rubylearning.org sitesi üzerinden verilen online ruby kursu hakkında bilgi vermiştim. Bu ruby kursunun son günelrindeyken başka bir site üzerinde yeni bir kurs açılacağını öğrendim. RoR yani Ruby On Rails öğrenmek için bir fırsat doğmuştu. TrainerOnRails.com adlı site üzerinden Sunil Kelkar tarafından verilecek olan kursa hemen kaydımı yaptım. Kurs 12 Nisan’da başlayacak. Kayıtlar ise 15 Nisan’da son bulacak. Sizde eğer ilgileniyorsanız yapmanız gerekenler

1) Traineronrails.com üzerinden üye olun.

2) Üyelik onay maili geldikten sonra gelen linke tıklayın.

3) sunilkelkar [at] gmail [dot] com adresine üye olduğunuz ve kursa katılmak istediğinizi belirten bir mail atarak kayıt şifresi isteğinde bulunun.

4)  Sunil tarafından size yollanan şifreyi girerek kurs kaydınızı tamamlayın.

Kurs için gerekli programlar ve versiyonları hakkında bilgi verecek olursak.

  • Tavsiye edilen IDE : NetBeans IDE 6.0.1 ( buradan bakabilirsiniz )
  • Ruby versiyon 1.8.6+
  • Rails versiyon 2.0.2
  • Ruby Gems versiyon 1.0.1
  • Gerekli olan gem ler: rake – activesupport – actionpack – actionpack – activerecord – actionwebservice – actionmailer.

Yükleme konusunda yardım için buraya bakabilirsiniz.

RubyLearning

Aylar önce bir blog girdisinde ( merak edenler buraya ) Ruby programlama diline gönül verdiğimden bahsetmiştim. Ama itiraf etmek gerekirse elimdeki Türkçe kullanıcı klavuzunu bir kaç kere okumak dışında ruby için fazla bir çaba harcadığımı söyleyemem. Taa ki 2007′nin sonlarına dek. Rails’in yeni versiyonunun çıkmasıyla webfaction tarafından yapılan %50′lik indirim kendimi ruby’ye atmam için bir fırsat oldu. 1 yıllık paket satın aldım.


2008′e girdiğimde aklımdaki ilk plan Ruby ile ilgili kaynak toplamak ve elimden geldiğince hızlı biçimde bu işi kavrayıp Ruby on Rails’e geçiş yapmaktı. 2008 başlarında çıkacağını duyduğum Türkçe Ruby kitabı sanırım biraz daha gecikecek diyerek yabancı sitelerde araştırmaya devam ettim.

Daha sonra rubylearning.org ‘u keşfettim. Gerçekten bu benim için harika bir fırsat oldu çünkü bu sitenin yöneticisi ( Satish Talim ) tarafından çeşitli aralıklarda online kurs verilmekteymiş ve 3. sü bugün başladı. Siteye girer girmez başvurumu yapmış bugünü beklemeye başlamıştım. Hatta siteyi kurcalarken tutorials bölümünde kursta anlatılan kısımları okumaya da bilmeden zaten başlamıştım. Kurs 14 haftaya bölünmüş bir şekilde işliyor.

Öncelikle konu hakkında bir bölüm, ardından küçük kodlar yazmamız yada verilen kodlar hakkında ( çıktısının ne olacağı – neden bu çıktının olduğu gibi ) yorumlar yapmamız isteniyor. Bunu yaparken bazı linkler ve ya ipuçları bizimle paylaşılıp oralardan yararlanmamız isteniyor. Bunun ardından da bir quiz bölümü bulunuyor ki ilk dersin quizini yaptığım için ondan bahsedecek olursak 9 soruluk doğru yanlış tarzı ve çoktan seçmeli tarzı sorulardan oluşuyordu. Her öğrenci her quizi iki kere cevaplama hakkına sahip ve yaptığınız herşey kayıt altında. Quiz notlarınız , verdiğiniz forum cevapları , chat bölümüne yazılarınız …


Bunların dışında belkide en güzel yanlarından birisi de bir katılımcı tarafından derslerin seslendirilip siteye ekleniyor olması. Böylece isterseniz dersi mp3 formatında bilgisayarınıza kaydedip dinleyebiliyorsunuz. Gerçekten kursun çok yararlı olduğunu söyleyebilirim çünkü düşünmeye , araştırmaya yönelterek ayrıca forumu sayesinde verilen ödevlere farklı çözümler görerek bakış açınız baya değişiyor. Ayrıca kursu alan üç öğrenci ile yapılan bir röportajı buradan okuyabilirsiniz.


Rubylearning.org’a katılmamın ardından oradaki linkleri incelerken daha önceden birinci ve ikinci versiyonlarını görmüş ama okuyamamış olduğum “Ruby Learning” kitabının üçüncü versiyonunun betasının satılmaya başlandığını gördüm. Henüz sadece oniki bölümü değiştirilmiş olsa da pdf formatını pragprog.com adresinden satın aldım. ( Toplam 29 bölümden oluşuyor ) Tabii ki rubylearning’in katkıları burada da devam ediyordu %30′luk indirim kuponu sayesinde $7,5 indirime sahiptim.


Belkide kursun en heyecanlı öğrencisi olarak hemen herşeyi hızlıca okudum ve kafamda acaba şimdi ne yapsam senaryoları kurmaya başladım. Sanırım “Programming Ruby 3rd Edition Beta” okumaya başlayacağım. Bu kitapta fazla hızlı olmayı düşünmüyorum. Yavaş okuyarak kafamın karışmasını önlemek istiyorum. Eminimki Dave Thomas ben bitirene kadar güncelleyerek kitabı yayınlamış olur. ( Tabi ne yapacağım belli olmaz )


Şimdilik bu kadar. Unutmadan ilgilenenler için bu kursun başvuru süresi doldu fakat şubat ayına doğru sanırım 100 kişilik bir kontenjan açılımı gibi birşey olacak bunun için ayrıntılı bilgi buradan alabilirsiniz…

Yeni Sevdam Ruby ;)

Ahh ahh ne olacak benim şu sonum beni en yakınen tanıyanlardan Serkan‘ın da bileceği üzere biraz fazla şıpsevdiyimdir (her konuda). Aslına bakacak olursak fazla bir hatam da yok sadece ne istediğimi tam olarak anlamak zor yada geç oluyor. Bu nedenle PHP çalışmalarının ardından bu hafta içi Ruby’ye merak saldım. Aslına bakacak olursak ben öyle kitap okumayı seven falan birisi değilimdir. Sayfalarca yazıyı önümde görünce korkuyormuyum ne? Ama bu sefer ne olursa olsun elimden geleni yapacağım ve biryerden başlayacağım dedim nitekim öyle de oldu 3 günlük süre içerisinde 47 sayfalık Ruby Kullanıcı Klavuzu’nu okumayı başardım. Bakınca amaaan 2 saatte okurum diyenleri duyabiliyorum. Ama ben okuyamıyorum hem ordaki kodları tek tek uygulamak bazen kendim için kafamda yada bilgisayarımda kodlar yazmak az biraz da hayal gücü araya girdimi bir anda zaman geçmiş oluyor.

Aslına bakacak olursak Ruby seçmek belki de çok mantıklı değildi. Çünkü en büyük sorunum yazılmış olan Türkçe kaynak yok denecek kadar az. Yayınlanmış Türkçe kitaba henüz rastlamadım ama internette gezinirken karşıma çıkan ve son bir haftadır sitesinin takipçisi olduğum biri var: Pınar Yanardağ . Kendisi genellikle yapılanı yapmamış (birisi yapsın ben okurum dememiş) ve internet sitesi üzerindende yayınladığı üzere Ruby ile ilgili kaynakların Türkçeleştirilmesi için baya çaba harcamış. Takdir etmemek elde değil. Belki de benim kurtarıcım olarak bakabilirim ona çünkü onun çevirileri olmasa ben belkide hiç başlamayacaktım göze alamayacaktım. İyiki varsın pinguar ;=)