İçeriğe geç

Aylar: Eylül 2013

Ruby’de Proc ile Lambda Farkı

Ruby dilini öğrenirken çok fazla zorluk çekmedim. Tabi her dilde olduğu gibi bunda da başta beyin mıncıklayan, sonradan “Aaa, öyleymiş tabii” denilen kısımlar var. Şahsen ben Ruby’yi öğrenmek için Codecademy‘i kullandım. Bir çok programlama dilini ve meşhur API’leri öğrenebileceğiniz gayet güzel bir site.

Codeacademy’de güzel güzel Ruby’de ilerlerken, Proc ve Lambda kısımlarına geldim. Öncelikle bunlar nedir, ne değildir bir hatırlamak lazım. Proc ve Lambda, tam anlamıyla belli bir kod bloğunu işlev haline getiren araçlardır. Rahatça bunu bir işlev (fonksiyon) gibi düşünebilirsiniz. Yaptırmak istediğiniz işleri, bir bloğa yerleştirip kolayca onu her yerde, belli parametreleri de kullanarak halledebilirsiniz.

Guard-RSpec Sistemini Spork ile Hızlandırmak

Bir önceki yazımda Rails’de RSpec testlerini Guard ile otomatikleştirmeyi anlatmıştım. Başlangıç için iyi bir çözüm fakat geliştirilen proje büyüdükçe yapılan anlık testler yavaşlamaya başlıyor. Tabi her iş için bir gem bulunan Ruby-Rails aleminde, bunun için de bir gem var: Spork

Spork, Ruby yazılımlarının test sistemleri (RSpec, Cucumber, vs.) için geliştirilen bir DRb sunucusudur. Standart şekilde test dosyalarını yükleyip kaldırmak yerine bunları önbellekte tutar ve her testte sunucunun yeni bir fork’unu oluşturur. Sonuç? Hızlı ve güvenli 🙂 Yalnız uyarayım, Spork gemi, Ruby’deki Kernel.fork methodunu kullanıyor ve bu method da sadece UNIX benzeri sistemlerde (Linux, BSD, OSX) çalışıyor. Kısacası bu araç Windows’da çalışmayacak.

Rails’de Guard ile Otomatik RSpec Testi Yapmak

TDD‘ye bulaşmayı pek çok insan istemiyor ama işin içindeki mantığı çözünce de ciddi anlamda yararını görmek mümkün. Özellikle Ruby-Rails eğitiminde az da olsa gördüğüm RSpec çalışması dikkatimi çekti bu konuda. Kendim de araştırıp daha da üstüne gidince, ne kadar önemli bir olgu olduğu konusunda az da olsa bir fikir edinebildim 🙂

RSpec’le ilgili başta sevmediğim şeylerden birisi tek tek testleri çalıştırmakdı. RoR örneklerini çalıştığım sitede, burası, Guard adlı bir gem ile işleri otomatiğe bağlamayı öğrendim. Hatta Ubuntu için bir bildirim gemi de koyunca, tadından yenmedi diyebilirim. Guard’ı kurmak için öncelikle Gemfile dosyasına gerekli bazı gemleri eklemek gerekiyor:

Ve Linux Yaz Kampı 2013 Biter…

Bu yıl Bolu’da Abant İzzet Baysal Üniversite’sinde düzenlenen Linux Yaz Kampı 2013, dün güzel bir tören ve konuşmalarla bitti. Hatta o kadar manidar olan bir şey var ki, 2 hafta boyunca neredeyse hiç yağmur yağmayan Bolu’da tam bitiş günü sağlam bir yağmur yağdı. Sanki gidişimize üzülüyor gibi 🙂

Kampta Ruby-Rails eğitimindeydim. Aslında ilk başta Java eğitimine katılmak istemiştim fakat yeterlilik için istenen Java kodları beni ters köşe yatırdı. Bir çok arkadaşıma danışarak yaptığım kararla, ki çoğu da Türkiye’de Ruby-Rails eğitimi verecek insan sayısının az olduğunu söyledi, Ruby-Rails eğitimine katıldım. Ki sonradan Java eğitimindeki bir arkadaşıma neler yaptıklarını sordum ve tam anlamıyla mindf*ck oldum. Zira o eğitim, kendi seviyemin rahat 3-5 gömlek üstündeydi. Şans 🙂