Merhabalar, Bugün ruby’de dosya işlemleri ve ‘standart input/output’ olarak bildiğimiz konuyu işleyeceğiz. Öncelikle çok basit bir örnek verelim, ekrandan isim ve yaş bilgilerini alarak tekrar ekrana yazalım. Ve bunu yaparken tüm bu ‘input/output’ işlemlerine örnek vermiş olalım. [ruby] $stdout.sync = true # İşlemleri yaparken buffer kullanmaz, verilen işlemi anında yapar. p “Lütfen adınızı giriniz: ” [...]
Merhabalar, Bugünkü konumuz biraz daha ruby on rails’e yaklaşmak, ruby’nin dosyalar, çalışma ve tasarım zamanları ile ilgili bir kaç bilgi vermek olacak. Öncelikle bir konudan bahsetmek istiyorum, diğer birçok dilde çalışma zamanı ile tasarım zamanı birbirinden farklı ve ayrı kavramlardır. Örneğin C#’da programınızın derlenmesi ve çalışması ayrı zamanlarda gerçekleşir. Fakat Ruby’de bu kavram arasında herhangi [...]
Merhabalar bir önceki yazımızda module kavramına değinmiş ve basit anlamda kullanımını işlemiş be bu yazımızda da çok güzel bir mudule mixin örneği olduğunu söylemiştik. Şimdiki yazımızda Module kavramını daha da derinden işleyeceğiz. Öncelikle module ile class arasındaki farktan bahsedelim. Evet fark diyorum çünkü sadece bir-iki küçük fark var. Elbette temelde birbirinden çok farklı yapılar ama, [...]
Merhabalar, Bugün Ruby’nin çok güçlü olduğu bir konuya değineceğim, modüller. Özellikle çok büyük uygulamalar yazarken, bazı durumlarda ‘Object Oriented’ tasarım yaklaşımının sınırlarını zorlamak gerekir. Günümüzdeki pek çok programlama dilinde olduğu gibi Ruby’nin tasarımcıları da ‘multiple inheritance’ kavramını desteklememiştir. Fakat bu özelliğin bulunmaması elbetteki bazı kısıtlamaları beraberinde getirmiştir. Bu engelleri ortandan kaldırmak için modüllerin kullanımı ve [...]
Merhabalar, Yazdığımız programlar büyüdükçe, eğer herhangi bir methodoloji kullanmıyor isek, değişiklik veya eklenti yapmak gittikçe zorlaşır. Yazılımcılar, bu tür problemleri aşmak için “framework”ler üretmeye başladılar. Günümüzde, “framework” deyince çok geniş bir yelpaze karşımıza çıkmakta. Bu geniş yelpaze içerisinde istenilen özelliklere uygun bir yapı bulmak gittikçe zorlaşmakta. Belki bu yelpazeyi biraz olsun daraltmak ve kategorilere ayırmaya [...]
Marhabalar, Daha önceki yazımızda belirttiğimiz hata yakalama sizlere yetmemiş olabilir. Bazı durumlarda tüm bu hata yakalama işlemlerinden daha sert bir şeye ihtiyacınız olabilir. İşte bu yazının yazılma nedeni bu :) Bir önceki yazımızda, diğer dillerde yer alan try..catch..finally kavramını tamamen destekleyen hatta fazlasını veren begin..rescue..else..ensure kavramı ile tanışmıştık. Daha fazla bilgi için. Bu yazımızda daha [...]
Merhabalar, Ruby ile ilgili yeni yazıma başlamadan önce, The Marmara Pera’nın üstünde bulunan dev ekrana pazar günü saat 22:00 gibi “When you see that I hope, you know I loved you” yazan, aşık arkadaşı tebrik etmek isterim. Ben gördüm umarım görmesini istediğin kişi de görmüştür :) Bugünkü konumuz başlıktan anlaşılacağı gibi durum kötü giderse yapılacak [...]
Efsanevi editör Eclipse’in 3.3M4 versiyonu yayımlandı. Sanırım bir sonraki yayımlamada nihayi 3.3′ü duyuracaklar ama şimdilik M4 şeklinde yayımlanmış. Yüklemek için windows sistemlerde bu, mac sistemlerde bu, linux sistemlerde de bu linki kullanabilirsiniz. Bu habere ek olarak, eğer halen Eclipse ile tanışmadıysanız, tanışmanızı tavsiye ederim. Bu adresden 3.2 nihayi sürümüne ulaşabilirsiniz. Özellikle RadRails ile RoR (Ruby [...]
Ruby’nin en güçlü yanlarından biri dizilerdir. Dizilere erişim gerçekten çok rahat ve güçlüdür. Diziler C ve Java’da olduğu gibi ’0′ tabanlıdır. Bazı özelliklerine değinecek olursak; [ruby] # (“) isareti yerine baska bir isaret de kullanilabilir, (|) gibi. %w”Uordek israf karsisinda deli olur”.each { |item| p item } arr = Array.new # veya arr = [] [...]
Microsoft, DirectX’in Aralık sürümünü duyurdu. Bu sürümün diğer sürümlerden bir farkı var, bu sürüm içerisinde DirectX 10 mevcut. Elbette D3DX methodlarını gene değiştirmişler! Bu nedenle sizlere ufak da olsa bir örnek sunamıyorum. Ama SDK’nın download işlemini bitirir bitirmez bir “Hello World..!” tadında bir örneği buraya eklemeyi düşünüyorum. XACT haricinde diğer modülleri %100 Vista uyumlu olan [...]
Ruby ile Veri Tabanı serisi ve Ruby ile Resim İşlemleri yazılarının üzerine hiç yakışmıyor ama, yeni başlayanlar ve/veya Ruby ile çalışanlar için bazı ipuçlarıda barındıracak bir yazı yazmam istendi :) emir büyük yerden geldi öyle bakmayın :) Bu yazıdaki çerez konumuz ruby’de döngüler; Standart bir döngü.. # 0′dan 14′e döngü 15.times { |index| p index [...]
Önceki bloğumda yazdığım bir yazıyı gelen sorular üzerine buraya da yazdım. Daha önceden okumuş arkadaşlara verdiğim rahatsızlıktan ötürü özür dilerim.. :) Bugün bir arkadaşımdan email aldım, kendisi “reflection” kullanırken nasıl parametrelerden birini veya birkaçını “ref” olarak nasıl geçebileceğini soruyordu. İnternet üzerinden araştırdığı söyledi fakat bulamamış, kendisine emaille yardımcı oldum. Zamanım da var enerjim de bir [...]
Gelen yoğun istek nedeni ile :p şu veri tabanı yazılarıma devam etme gereğini duydum.. Ama bu sefer az laf çok kod şeklinde bir yazı yazacağım yoksa yazıların sonu gelmiyor :). Önceki yazımızda “DbTool.rb” isimli çok güzel bir program parçası kullanmıştık, şimdi de onu kullanacağız. [ruby] require ‘DbTool.rb’ # Northwind veri tabanina baglanti kuruluyor. NorthwindConn = [...]
Ruby ile resim işlemleri (Image processing with Ruby) konusunda bir yazı yazma gereği hissetmemin nedeni, bazı arkadaşlarımın bana resim işlemlerinin nasıl olacağını sorması ve bununla beraber yüksek kaliteli ve bir klasör altındaki birçok resmin boyutlarını değiştiren bir programa (Multiple Image Resizer) ihtiyaç duymam oldu. Bu programa ihtiyaç duymamın rengi, arkadaşımın yeni aldığı dijital fotoğraf makinasının [...]
Geçen geçe internette gezerken yolum ruby corner‘a denk geldi.. Türkçe iki adet blog olduğunu görmek açıkcası biraz beni sevindirdi ve diğer bloğun kim olduğunu merak ettim ve inceledim. Bu arkadaşımız son yazısında Ruby kodlarını renklendirmekten bahsetmiş, çok da güzel bir örnek vermiş, ben de benimkisini nasıl yaptığımı açıklıyayım dedim. Standart ve güzel bir eklenti olan [...]