Ana içeriğe atla

İzmir Hackerspace "Ruby" Eğitimi Buluşması

Geçtiğimiz Pazar günü İzmir Hackerspace de Ruby üzerine bir eğitim toplantımız vardı.Ben Ruby ile ilgili olmama rağmen çok vakit ayırıp ta üzerine çalışmalar yapamıyordum ama böyle bir fırsat bulunca hemen kayıt olup gittim.

Gerçekten de gerek eğitmenlerin yetkinliği gerek te katılımcıların sektör de ki yetkinlikleri dolayısı ile oldukça keyifli ve faydalı bir eğitim oldu bizim için.

Şimdi biraz eğitimden bahsedelim.


Öncelikle Ruby de herşey nesnelerden oluşuyor.Ayrıca oldukça kolay bir syntax ı var.Nesne yönelimli programlama hakkında tecrübesi olan herkes rahatlıkla öğrenip kullanabilir.Toplantı sırasında bile hemen birkaç karalama ile birşeyler yazdım ben aşağıdaki gibi, bakalım neler öğrenmişiz workshop ta.


Ruby workshop ından karalamalar : 
Burada yapılan pratikler
- Dizi Kullanımı
- Nesne kullanımı
- Method kullanımı
- attribute kullanımı
- Constructor kullanımı
- comment bloğu kullanımı

Ruby Kodu : 
# ruby içerisinde comment bloğu yazmak için # kullanılıyor.

#yeni bir class oluşturuluyor
class Kitapbuekip

#attribute olarak bir değişken oluşturuluyor.Ve tüm class içerisinde kullanılabiliyor.
attr_accessor :arr

#class için constructor çalıştırılıyor.
def initialize()
#Diziye constructor metodu içerisinde değer atanıyor.
@arr = ['Emre Göl']
end

#Diziye yeni bir eleman ekleme için addMember metodu oluşturuluyor
def addMember(name)
@arr << name
end

#dizinin tüm elemanları döndürülüp ekrana yazdırılıyor.
def printMembers
@arr.each { |i| puts i.capitalize }
end

#Dizinin eleman sayısı getiriliyor.
def getCount
@arr.size
end

end

‪#‎nesne oluşturuluyor.
ekip = Kitapbuekip.new()
‪#‎nesne içerisinde meytod kullanılarak üye ekleme işlemi yapılıyor.
ekip.addMember("Damla Gülmez")
ekip.addMember("Oğuzhan Legastive Sarıtaş")
ekip.addMember("Burçin Özpişkin")
ekip.addMember("Çağlar Ergül")

‪#‎nesne içerisinde üyelerin listesi ekrana yazdırılıyor.
#puts ekrana yazı yazdırmayı sağlıyor burada.C# daki Console.Write("") gibi yada javadaki System.out.print("") gibi.puts "üye listesi"
puts "-----------"
ekip.printMembers
#üye sayısı metod ile getiriliyor.burada metod integer değer döndürdüğü için string e dönüşüm yaptırıyoruz.Bunu to_s extension uyla yapıyoruz.

puts "sayı : " + ekip.getCount.to_s


Output :

Ruby e başlamak için faydalı olabilecek linkeri aşağıda bulabilirsiniz.

TOPLULUK
e-posta listesi’ne kayıt olabilirsiniz.
KURULUM
Windows:
Ubuntu/Debian:
sudo apt-get install ruby
RVM:
FAYDALI LINKLER


Hackerspace buluşamasından kareler : 








Bu blogdaki popüler yayınlar

Cannot resolve the collation conflict between "Turkish_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation.

iki ayrı veri tabanı içindeki tablolar ile işlem yapılmak istendiğinde eğer dil sorunu çıkıyor ise sorgumuzun sonuna 'COLLATE TURKISH_CI_AS' sözcüğünü ekleyerek sorunu çözebiliriz.Örnek : SELECT * FROM veritabani1.dbo.URUN u1 INNER JOIN veritabani2.dbo.URUNLER u2 ON u1.kod = u2.kod COLLATE TURKISH_CI_AS umarım faydalı olmuştur.

IEnumerable ile List Arasındaki Farklar

Sık kullandığımız iki tip olan IEnumerable ve List tipleri ile ilgili sürekli kullanılmasına rağmen farkının çok bilinmediğini düşünerek bu konuda kısa bir yazı yazmak istedim. Bakalım aralarında farklar nelermiş. IEnumerable bir interface iken, List yine IEnumerable sınıftan türeyen somut ( concrete) bir sınıftır. Arasındaki Farklar :  IEnumerable  - List e göre iteration çok daha hızlıdır. Performans için kullanılabilir.  - Read Only bir tip olduğu için Add, Remove gibi işlemler yapılamaz, IEnumerable ile sadece iteration, sort, filter gibi işlemler yapılabilir.  - Soyut bir class olduğu için istenen tipe somutlaştırılabilir.  - yield tipi ile birlikte kullanılabilir.(Promise veri döndürme,state-machine liste kullanımı)  - Linq sorguları veri tabanı sorgularınızın cevaplarınızı IEnumerable olarak döndürür, bu size siz ilgili IEnumerable list i iterate edene kadar ilgili sorguyu çalıştırmama performansı verir, böylece ilgili listeyi kullanmaya ihtiyacınız olmadığı bir durumda yada k

Sql Hatası : " The data types ntext and varchar are incompatible in the equal to operator. "

bu sabah böyle bir hata ile karşılaştım ilk defa karşıma çıktı :) Mesela "SELECT * FROM urunler WHERE Aciklama = 'HP NOTEBOOK' " şeklinde bir arama yaptığımızı düşünelim.Eğer "Aciklama" ntext bir tanım ise veri tabanında bu sorgu şu hatayı veriyor : "The data types ntext and varchar are incompatible in the equal to operator." Çözüm Basit :) arama işlemini "LIKE" ile yapıcaksınız :) Bu hatayı zaten kolayca çözüp giderebilirsiniz ama gördüğü her hatayı direk google a yazan arkadaşlar için bir kaynak olsun dedim :D Yeni Sorgu : SELECT * FROM urunler WHERE Aciklama LIKE 'HP NOTEBOOK' Umarım faydalı olmuştur.