Yazılım Notları Yazılar

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…

Bilgisayar

Bilgisayar Ruby (Ruby on Rails)

Ö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 yazı da buraya yazayım dedim.. iyi demiş miyim ? :)

Elimizde Deneme2 adlı bir namespace mevcut olsun, hatta bu ayrı bir proje olsun; (hedef namespace)
[csharp]
namespace Deneme2
{
public class Aha
{
public Aha(int a)
{
Console.WriteLine(“Aha.Const = ” + a.ToString());
}
public void ToString(ref int sayi)
{
Console.WriteLine(“Aha.ToString” + sayi.ToString());
sayi = 10;
}
}
}
[/csharp]

.NET Bilgisayar

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 :).…

Bilgisayar Ruby (Ruby on Rails)

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 3200×2400 çÖzünürlükte resimler üretmesi oldu. Her çekilen resmi aç, çÖzünürlüğünü (1/2 veya 1/4 oranında) değiştir, kaydet.. falan filan.. oooooo.. yazılımcı adam tembel olur, tembel adamda yaratıcı olur sloganıyla Ruby’de resim işlemlerine hakkında bir yazı yazmaya karar verdim.. İyi etmişmiyim gÖreceğiz :)

Öncelikle RMagicK kütüphanesinden bahsedelim biraz; Bu kütüphane ImageMagick® ve GraphicsMagick adlı kütüphaneler ile Ruby arasında bir kÖprü gÖrevi gÖren bir yapıdır. Bu her iki resim kütüphaneside oldukça profesyonel kütüphanelerdir ve birçok dile ve işletim sistemine aktarılmış halleri mevcuttur. Windows tabanlı sistemler için gem paketi bu linkte bulunur, bu paket içerisinde ImageMagicK’in derlenmiş halde gelir.

Windows bir sistem için kurulumu Özetleyecek olur isek;

Bilgisayar Ruby (Ruby on Rails)

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…

Bilgisayar

Bir Önceki yazımızda artık ODBC modülü ile ilgili birçok sorumuza cevap bulmuştuk. Bu cevaplarla beraber bir iki adet faydalı Örnek de vermiştik.

Bugün çalışmalarımızı Örnekler üzerine yoğunlaştıralım ve Örnekleri detaylı bir biçimde inceleyelim.
Örnek-1
[ruby]require “DbTool.rb”

myDriver = DbTool.new()

myDriver.getDb() do |db|
tableArr = db.tables().fetch_all
tableArr.each do |table|
tblType = table[3]
tblName = table[2]
if tblType != “SYSTEM TABLE” && tblType != “VIEW” && tblName!= “dtproperties” then
count = db.run(“SELECT COUNT(*) FROM dbo.[” + tblName+ “]”).fetch_all
puts “Table = ” + tblName+ “(” + count.to_s + “)”
end
end
tableArr.clear
end[/ruby]
Yukarıda verilen Örnek-1’i incelemeye başlarsak; Öncelikle

Bilgisayar Ruby (Ruby on Rails)

Merhabalar,

Bir Önceki yazımızda ODBC nesnelerin temellerinden sÖz etmiştik. Bununla beraber çok kullanılan nesnelerin Önemli Özelliklerini Türkçe’ye çevirmiştik. Artık geriye sadece ODBC::Statement ve ODBC::ODBCProc’dan bahsetmek ve bir kaç Örnek yapmak kaldı.

Statement: Bu sınıf, ODBC modülü içerisinde tüm sorguların sonuçlarını temsil eder. Verilerinin taşındağı her durumda bu sınıf kullanılır. İyi bir hafıza kullanımı için Özellikle bu nesnenin ‘close’ ve ‘drop’ methodlarının kullanılması gerekir.
Daha da detaylandırmak istersek; ‘Statement’ nesnesini ‘Connected’ nesne olarak tanımlayabiliriz. Yani veri tabanına bağlı bir nesnedir, veri tabanı ile bağlantı kesilir ise içeriğindeki bilgiler kaybolur. Aynı anda birden fazla bağlı nesne tavsiye edilmemekte ve hatalara neden olmaktadır. Bu nedenle ‘fetch’ methodları ile veriler, veri tabanı bağlantısından bağımsız olarak işlemlere sokulabilir.

cancel: Yapılmakta olan işlemi iptal eder ve close işlemini uygular.
close: Sınıf üzerindeki değişiklikleri kapatır.
drop: close işlemini gerçekleştirir ve hafızayı boşaltır.
column(n): n. sırada yeralan alanın bilgilerini ODBC::Column tipinde verir.
columns(as_array=false): as_array false ise; Hash tipinde bir dizi dÖner. Bu Hash’ın key(anahtar) alanı alan adıdır, element(değer) alanı ODBC::Column tipindedir. as_array true ise, geriye ODBC::Column’lar ile dolu bir dizi dÖner.
ncols: Kaç adet alan olduğunu belirtir.
nrows: Kaç adet satır olduğunu belirtir.
fetch, fetch_first, fetch_scroll, fetch_many, fetch_all, fetch_hash: Bu methodların hepsi, verilerin bir dizi içerisinde Statement’ın içerisinden çıkarmaya yarar, bÖylece veri tabanı bağlantısından bağımsız olarak veriler üzerinde işlemler yapılabilir.
each{|row| block}: Dizilerde bulunan ‘each’ methodu ile aynı anlamda kullanılır, Statement’ın tüm satırlarını tek tek işlemek için kullanılır. Her satır için fetch işlemi yapılır.
execute([args…]): Geçilen parametrelerle hali hazırda bulunan Sql cümlesini birleştirir, oluşan Sql cümlesini icra eder.
run(sql[, args..]): Geçilen sql cümlesi ile, geçilen parametreleri birleştirir, oluşan Sql cümlesini icra eder.
prepapre(sql): Belirtilmiş olan Sql cümlesi ile Statement hazırlanır, Sql cümlesi icra edilmez.

Statement nesnesinide bu şekilde tanımladıktan sonra, sıra sizlere yardımcı olabileceğine inandığım ODBC::Column, ODBC::ODBCProc sınıflarından bahsetmeye geldi.

Column: Sonuçların geldiği veri tabanı alanları ile ilgili olarak detaylı bilgileri barındırır. Örneğin; name, table, length, nullable, searchable, unsigned, precision, scale, type, autoincrement alanları mevcuttur.

ODBCProc: Database::proc methodu ile yaratılabilen bu nesne bizlere büyük esneklikler vaad ediyor aslında. Bu method ile beraber herhangi bir Sql cümleri parametric olarak tanımlanabilir ve birden fazla kez istenildiği şekilde parametreler ile icra edibilir. ŞÖyleki;

Bilgisayar Ruby (Ruby on Rails)

Merhabalar, Bugün çok güneşli, çok güzel bir gündü. Değil mi ? Öyle idi Öyle… Özellikle Asmalı mescit bÖlgesinde biz biraz üşüsekte asmakilit ile yaptığımız sıcak sohbet bizim ısınmamıza yetti de…

Yaşam

Merhabalar, İlk yazımızda Ruby veri tabanı bağlantılarını incelemiş, bir Önceki yazımızda ise ODBC ile veri tabanı bağlantısı gerçekleştirmiş ve ufak tefek işlemler yapmıştık. Şimdi ise Ruby’de ODBC hakkında daha detaylı…

Bilgisayar Ruby (Ruby on Rails)