Ruby, dinamik, açık kaynak kodlu bir programlama dilidir. Yaratıcısı Yukihiro “Matz” Matsumoto’dur ve ilk kez 1995 yılında Japonya’da ortaya çıkmıştır. Ruby, basit ve anlaşılır sözdizimi ile popülerlik kazanmıştır. Ayrıca nesne yönelimli bir dil olarak tasarlanmıştır ve bu özelliği sayesinde işlevsel programlama da desteklenir. Bu makalede, Linux üzerinde Ruby programlama diline giriş yapacağız ve bu dilin nasıl kullanılabileceğini öğreneceğiz.
Ruby Kurulumu
Ruby, Linux tabanlı işletim sistemlerinde kurulumu oldukça kolaydır. Genellikle, Linux dağıtımları Ruby’yi varsayılan olarak yüklemektedir. Eğer yüklü değilse, aşağıdaki adımları takip ederek Ruby’nin en son sürümünü kurabilirsiniz:
sudo apt-get update
sudo apt-get install ruby-full
ruby -v
Eğer kurulum işlemi başarılıysa, Ruby’nin sürüm numarasını görebilirsiniz.
Ruby Programlama
Ruby, basit sözdizimi ile anlaşılması kolay bir dildir. Ruby’de birçok farklı veri tipi vardır. Bunlar, sayılar, dize, diziler, kümeler, semboller, hashler, boolean değerler, nesneler ve nil’dir. Ruby’de, değişkenler tanımlamak oldukça kolaydır. Bir değişken tanımlamak için, değişkenin adını yazın ve değerini atayın. Örneğin:
name = "John"
age = 30
Ruby’de, dize veri tipi tek tırnak veya çift tırnak içinde tanımlanabilir. Tek tırnak kullanımı daha hızlıdır ancak değişkenlerin değerleri dize içinde gösterilemez. Çift tırnak kullanımında ise değişkenlerin değerleri gösterilebilir. Örneğin:
name = "John"
puts 'Merhaba ' + name # Merhaba John
puts "Merhaba #{name}" # Merhaba John
Yukarıdaki örnekte, ilk puts ifadesinde name değişkeni tek tırnak içinde kullanılmıştır ve değişkenin değeri yazdırılmamıştır. İkinci puts ifadesinde ise name değişkeni çift tırnak içinde kullanılmıştır ve değişkenin değeri yazdırılmıştır.
Ruby’de, koşullu ifadeler ve döngüler de oldukça kolaydır. Örneğin, bir if-else ifadesi şu şekilde yazılabilir:
x = 10
if x > 5
puts "x, 5'ten büyüktür"
else
puts "x, 5'ten küçüktür veya eşittir"
end
Bu örnekte, if ifadesi ile x değişkeninin 5’ten büyük olup olmadığı kontrol edilir ve eğer öyleyse "x, 5'ten büyüktür" yazdırılır. Eğer x değişkeni 5’ten küçük veya eşitse, "x, 5'ten küçüktür veya eşittir" yazdırılır.
Döngüler de Ruby’de oldukça kolaydır. En yaygın kullanılan döngü, while döngüsüdür. Örneğin:
x = 1
while x < 5
puts x
x += 1
end
Bu örnekte, while döngüsü ile x değişkeninin 5’ten küçük olduğu sürece, puts ifadesi ile x değeri yazdırılır ve x değişkeni her turda bir artırılır.
Ruby’de, fonksiyonlar da oldukça kolaydır. Fonksiyonlar, def anahtar kelimesi ile tanımlanır ve end anahtar kelimesi ile sonlandırılır. Örneğin:
def greet(name)
puts "Merhaba #{name}"
end
greet("John") # Merhaba John
Bu örnekte, greet fonksiyonu name parametresi ile tanımlanır ve "Merhaba #{name}" yazdırılır. Daha sonra greet fonksiyonu "John" parametresi ile çağrılır ve "Merhaba John" yazdırılır.
Ruby’de, nesne yönelimli programlama da oldukça güçlüdür. Ruby’de her şey bir nesnedir ve nesne yönelimli programlama prensipleri ile tasarlanmıştır. Ruby’de, sınıflar ve nesneler oluşturmak oldukça kolaydır. Örneğin:
class Person
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "Merhaba, ben #{@name}. #{@age} yaşındayım."
end
end
person = Person.new("John", 30)
person.greet # Merhaba, ben John. 30 yaşındayım.
Bu örnekte, Person sınıfı initialize metodu ile name ve age parametrelerini alır ve @name ve @age değişkenlerine atar. greet metodu ile @name ve @age değişkenleri yazdırılır. Daha sonra Person sınıfından bir person nesnesi oluşturulur ve greet metodu çağrılır.
Ruby’de, sınıflar ve nesneler arasında miras alma (inheritance) ve çoklu miras alma (multiple inheritance) da mümkündür. Miras alma, bir sınıfın başka bir sınıftan tüm özelliklerini ve davranışlarını miras alması anlamına gelir. Çoklu miras alma, bir sınıfın birden fazla sınıftan özelliklerini ve davranışlarını miras alması anlamına gelir.
Örneğin, aşağıdaki kodda Person sınıfı, Employee sınıfı tarafından miras alınmaktadır:
class Person
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "Merhaba, ben #{@name}. #{@age} yaşındayım."
end
end
class Employee < Person
def initialize(name, age, salary)
super(name, age)
@salary = salary
end
def display_salary
puts "Maaşım #{@salary} TL."
end
end
employee = Employee.new("John", 30, 5000)
employee.greet # Merhaba, ben John. 30 yaşındayım.
employee.display_salary # Maaşım 5000 TL.
Bu örnekte, Employee sınıfı Person sınıfından miras alınır ve initialize metodunda super anahtar kelimesi ile Person sınıfının initialize metoduna çağrı yapılır. Daha sonra display_salary metodu ile @salary değişkeni yazdırılır. employee nesnesi oluşturulur ve greet ve display_salary metodları çağrılır.
Ruby’de, modüller de kullanılabilir. Modüller, ortak işlevleri olan sınıfların bir araya getirilmesi için kullanılır. Modüller, sınıflara veya diğer modüllere dahil edilebilir.
Örneğin, aşağıdaki kodda Helper modülü Person sınıfına dahil edilir:
module Helper
def say_hello
puts "Merhaba"
end
end
class Person
include Helper
def initialize(name, age)
@name = name
@age = age
end
def greet
puts "Merhaba, ben #{@name}. #{@age} yaşındayım."
end
end
person = Person.new("John", 30)
person.say_hello # Merhaba
Bu örnekte, Helper modülü say_hello metodunu tanımlar. Person sınıfı include anahtar kelimesi ile Helper modülünü dahil eder. person nesnesi oluşturulur ve say_hello metodu çağrılır.
Ruby’de, birçok kütüphane ve çerçeve bulunmaktadır. Örneğin, Rails, Ruby için en popüler web çerçevelerinden biridir. Rails, Ruby dilinde web uygulamaları oluşturmak için kullanılır. Rails, MVC (Model-View-Controller) mimarisine dayanır ve ActiveRecord ORM (Object-Relational Mapping) kullanır. ActiveRecord, Ruby nesnelerinin veritabanındaki kayıtlarını temsil etmek için kullanılan bir ORM’dir.
Örneğin, aşağıdaki kodda, Rails kullanarak bir blog uygulaması oluşturulabilir:
# öncelikle, Rails yüklenir
require 'rails/all'
# Blog uygulaması oluşturulur
class Blog < Rails::Application
# veritabanı ayarları
config.database = {
adapter: 'postgresql',
encoding: 'unicode',
database: 'blog',
pool: 5,
username: 'username',
password: 'password'
}
# model sınıfı
class Post < ActiveRecord::Base
validates :title, presence: true
validates :body, presence: true
end
# controller sınıfı
class PostsController < ActionController::Base
def index
@posts = Post.all
end
def show
@post = Post.find(params[:id])
end
def new
@post = Post.new
end
def create
@post = Post.new(params[:post])
if @post.save
redirect_to posts_path
else
render :new
end
end
def edit
@post = Post.find(params[:id])
end
def update
@post = Post.find(params[:id])
if @post.update(params[:post])
redirect_to posts_path
else
render :edit
end
end
def destroy
@post = Post.find(params[:id])
@post.destroy
redirect_to posts_path
end
end
# routes ayarları
config.routes.draw do
resources :posts
end
end
# Blog uygulaması başlatılır
Blog.initialize!
# Veritabanı oluşturulur
ActiveRecord::Base.establish_connection(Blog.config.database)
ActiveRecord::Schema.define do
create_table :posts do |t|
t.string :title
t.text :body
t.timestamps
end
end
Bu örnekte, Rails uygulaması Blog sınıfı içinde oluşturulur. Post sınıfı, ActiveRecord’den miras alır ve title ve body alanlarına sahip bir posts tablosunu temsil eder. PostsController sınıfı, index, show, new, create, edit, update ve destroy metodları ile CRUD (Create-Read-Update-Delete) işlemlerini gerçekleştirir. routes bloğu, posts kaynaklarına yönlendirme ayarlarını yapar.
Son olarak, Blog sınıfı initialize! metodu ile başlatılır ve ActiveRecord::Base.establish_connection metodu ile veritabanı bağlantısı kurulur. ActiveRecord::Schema.define bloğu, posts tablosunu oluşturur.
Ruby ve Rails, özellikle web geliştirme konusunda oldukça popülerdir ve birçok büyük şirket tarafından kullanılmaktadır. Ayrıca, Ruby topluluğu oldukça aktiftir ve çeşitli açık kaynaklı kütüphaneler ve araçlar sunmaktadır.
Özetlemek gerekirse, Ruby programlama dili oldukça esnek, anlaşılması kolay ve zengin bir dilidir. Bu nedenle, birçok farklı alanda kullanılır, ancak özellikle web geliştirme konusunda çok popülerdir. Ruby’nin zengin bir kütüphane ve araç ekosistemi vardır ve Rails gibi web çerçeveleri, Ruby dilini kullanarak hızlı ve güçlü web uygulamaları oluşturmayı kolaylaştırır.
İlginizi Çekebilir
WordPress, sunduğu esneklik ve geniş tema seçenekleri ile web site sahipleri arasında popüler bir tercih haline gelmiştir. Ancak,...
Devamını Oku
Windows Plesk Sunucu, web hosting hizmetleri yönetimi için popüler bir kontrol panelidir. Bu blog yazısında, Windows Plesk Sunucunun...
Devamını Oku
Dijital dünyanın hızla geliştiği günümüzde, işletmelerin sunucu yönetim süreçlerini kolaylaştırmaya yönelik çözümler giderek daha fazla önem kazanmaktadır. Windows...
Devamını Oku
Reseller Hosting, müşteri ilişkileri yönetiminin önemini vurgulayan bir konudur. Müşteri memnuniyeti yaratmanın 5 adımı, müşteri bağlılığını artırarak başarılı...
Devamını Oku
Günümüzde dijitalleşmenin hızla artmasıyla birlikte, işletmelerin kesintisiz ve verimli bir şekilde çalışabilmesi için sunucuların durumu büyük önem taşımaktadır....
Devamını Oku
2025 yılına yaklaşırken, finansal özgürlüğe ulaşmanın anahtarlarından biri pasif gelir kaynakları oluşturmaktır. Pasif Gelir Kazanma Önerileri 2025 başlığı...
Devamını Oku