aofsorular.com
WTK210U

Ruby ve Ruby On Rails

8. Ünite 20 Soru
S

Ruby hangi özelliklerinden dolayı günümüzün popüler dilleri arasında yer almaktadır?

Ruby yüksek okunabilirliğe sahip olması, esnek kod yazmaya imkân tanıması, kolaylıkla genişletilebilmesi, platform bağımsız olması gibi pek çok nedenden ötürü günümüzün popüler dilleri arasında yer almaktadır.

S

Ruby hangi dillerden esinlenmiş ve hangi dillere esin kaynağı olmuştur?

Perl, Pyhton, SmallTalk, Ada gibi pek çok programlama dilinden esinlenmiş olan Ruby, aynı zamanda Rust, Swift, Clojure, Crystal gibi birçok programlama diline de esin kaynağı olmuştur.

S

Ruby dilinin geliştiricisi Matz’ın bir programlama dili tasarlarken olması gereken prensipler nelerdir?

  • İnsan Faktörü Prensibi
  • Asgari Sürpriz Prensibi
  • Özgürlük ve Rahatlık Prensibi
  • Maksimum Eğlence Prensibi
S

Ruby dilinin temel özellikleri nelerdir?

Tamamen nesne yönelimli bir dildir.

Çok sayıda programlama paradigmasını destekler.

Yorumlanan bir dildir.

Platform bağımsız bir dildir.

Dinamik ve güçlü tiplemeli bir dildir.

S

Ruby kodunu çalıştırmak için neleri kullanabiliriz?

Ruby kodunu çalıştırmak için komut satırı üzerinden Ruby Yorumlayıcısını (MRI) veya Etkileşimli Ruby (IRB) yazılımını kullanabiliriz.

S

Bir programlama dili için söz dizimi neleri kapsamaktadır?

Bir programlama dili için söz dizimi; o dilin yapıları kullanılarak geçerli bir ifadenin nasıl oluşturulabileceğine ilişkin konuları kapsamaktadır.

S

Ruby içerisindeki değişken türleri nelerdir?

Yerel Değişkenler

Global Değişkenler

Örnek Değişkenleri

Sınıf Değişkenleri

Sabitler

S

Ruby dilinde kullanılan veri türleri kaça ayırabiliriz ve nelerdir?

Ruby dilinde kullanılan veri türlerini basit veri türleri (sayılar, metinler, semboller ve mantıksal) ve birleşik veri türleri (diziler ve sözlükler) olarak ikiye ayırabiliriz.

S

Ruby programlama dilinde [3..6] ile [3…6] arasındaki fark nedir?

Örnekteki .. ve ... karakterlerinin kullanımına aralık (range) adını vermekteyiz. Aralık belirtirken iki nokta kullandığımızda son karakter aralığa dahil olurken, üç nokta kullanımında son karakter aralığa dahil edilmemektedir.

S

Terminal ekranına birşeyler yazdırmak için kullanılan kodlar ve ayırt edicilikleri nelerdir?

Terminal ekranına bir şeyler yazdırmak amacıyla puts veya print metodu kullanılabilir. puts metodu yazma işleminden sonra yeni satıra geçerken, print metodu aynı satırdan devam etmektedir.

S

Metinler içerisinde “, ‘, \ gibi özel karakterler kullanılmak istenirse yapılması gereken işlem nedir?

Metinler içerisinde “, ‘, \ gibi özel karakterler kullanılmak istenirse; bu karakterler kaçış karakteri adı verilen \ karakterinden sonra yazılmalıdır.

S

Sözlükler ve diziler arasındaki fark nedir?

Aralarındaki en temel fark; bir dizinin elemanlarına erişmek için indisleri kullanmamız gerekirken, sözlüklerde bunun yerine onlara vermiş olduğumuz isimleri, diğer bir deyişle anahtar değerleri kullanırız. Diğer bir fark ise sözlükler oluştururken kullandığımız [ ] karakterleri yerine { } karakterlerini kullanmamız gerektiğidir.

S

Ruby programlama dilinde neden sembollere ihtiyaç duyulmaktadır.

Ruby içerisinde metinlere oldukça benzeyen sembol adında bir veri türü daha bulunmaktadır. Sembollerin metinlerden farkı bir kere oluşturulduklarında program boyunca aynı bellek bölgesini işgal etmeleridir. Oysa metinler aynı içeriğe sahip olsalar dahi her kullanıldıklarında tekrar oluşturulmaktadır. Bu da bellek kullanım miktarını ve performansı düşürmektedir. Bu nedenle programımızda sık kullanacağımız metinleri sembol haline dönüştürmek performans kaybını azaltmak için gereklidir.

S

Bir metot son harfi olarak “?” karakterini barındırıyorsa geriye döndürdüğü değer ne olabilir.

Bir metot isminin son harfinin “?” olması; bu metodun geriye true veya false bir değer döndürdüğü anlamına gelmektedir:

# Tek sayı mı?

12.odd? #=> false

13.odd? #=> true

S

Ruby programlama dilinde aşağıdaki yapıda islemci ve bellek ne anlam ifade etmektedir.

class Bilgisayar

   attr_accessor :islemci, :bellek

   def konfigurasyon

      puts “Bu bilgisayar #{islemci} işlemciye ve #{bellek} belleğe sahiptir!”

   end

end

Yukarıdaki kod parçasında Bilgisayar isminde bir sınıf tanımladık. Sınıfa ait özellikleri belirtirken attr_accessor isimli ön tanımlı bir metottan yararlandık. Bu metot islemci ve bellek isminde iki özellik ve bu özelliklere aynı isimlerle erişmemizi sağlayan ikişer metodu da bizim için tanımlamış oldu. 

S

Gem adı Ruby programlama dilinde neyi isimlendirmek için kullanılmaktadır?

Ruby ile geliştirilen uygulamalara ekstra özellikler ve işlevsellik katmak amacıyla kullandığımız paketlere “gem” adını vermekteyiz. Bu paketleri yönetmek için kullandığımız uygulamaya ise RubyGems denilmektedir.

S

Rails felsefesi ya da daha çok bilinen ismiyle Rails yolu handi ana prensipleri benimsemektedir?

  • Kendi Kendini Tekrarlama: DRY(Don’t Repeat Yourself) olarak bilinen bu prensip; her bilgi parçasının bir sistem içerisinde tek, kesin ve güvenilir bir ifadesinin olması gerektiğini savunmaktadır. Aynı bilginin tekrar tekrar yazılmıyor olması kodumuzun daha yönetilebilir, esnek ve az hatalı hale gelmesini sağlayacaktır.
  • Konfigürasyon Üzerine Kabuller: Rails, bir web uygulamasında gerekli olan pek çok şeyi yapmak için kullanılabilecek en iyi yolun hangisi olduğuna ilişkin fikirlere sahiptir ve bunu varsayılan olarak sunmaktadır. Bu sayede programcılar, sonsuz konfigürasyon ayarlamaları ile uğraşmak yerine; ya hiç ya da çok az değişikliğe ihtiyaç duyacaklardır.
S

MVC nedir? Nerede ve neden kullanılır?

MVC, çevik(agile) yazılım geliştirme süreçlerine uygun olarak sıklıkla tercih edilen bir yazılım mimarisi desenidir. İlk olarak 1979 yılında SmallTalk programlama dili ile birlikte ortaya çıkmış olan MVC’nin ardındaki ana düşünce; yazılımın kullanıcıya hitap eden bölümü yani kullanıcı arayüzü ile arka plandaki işlemlerin birbirinden ayrı bölümler olarak ele alınmasına sağlamaktadır.

S

MVC yapısında kullanılan Model, View ve Controller nedir, açıklayınız?

  • Model: Uygulamaya özel verilerin ve uygulamanın iş mantığına uygun biçimde bu veriler arasındaki ilişkilerin, erişim ve düzenleme kurallarının bulunduğu bölümdür. Diğer bir deyişle uygulamamızın kullandığı tüm verilerin yaşadığı yer burasıdır. Model, bu verilerin kullanıcıya ne şekilde sunulacağı ile ilgilenmez.
  • View (Görünüm): Uygulamanın kullanıcılarına sunulacak olan arayüz elemanlarını içeren yani kullanıcıların gördüğü yegane bölümdür. Kullanılan verilerin nereden geldiği ile ilgili bir bilgisi yoktur.
  • Controller (Kontrolör): Kullanıcıdan gelen isteklerle ilgili işlemleri gerçekleştirmek üzere gerekli görevleri yerine getiren bölümdür. Uygulamayı kullanan kişi ne zaman bir istekte bulunacak olsa, bu isteği ele alacak olan bölüm burasıdır. İsteğe uygun olarak gerekli yanıtı (genellikle uygun verilerle birlikte bir görünüm oluşturarak), istemciye ulaştırmakla yükümlüdür.
S

Rails yönlendiricisi ile birlikte kullanabileceğimiz HTTP metotları nelerdir, her birini açıklayınız?

Rails yönlendiricisi ile birlikte kullanabileceğimiz HTTP metotları GET, POST, PUT, PATCH ve DELETE olmak üzere beş adettir. GET metodu ile yapılan istekler sunucudaki bir kaynağı elde etmek için kullanılır.POST metodu sonucunda sunucuda yeni bir kaynak oluşturulması hedeflenmektedir. Sunucudaki bir kaynağın güncellemesi amacıyla kullanılabilecek olan PUT ve PATCH metotlarından ilki kaynağın tamamıyla güncellenmesi durumunda kullanılırken, patch metodu kaynağın kısmen güncellenmesinin istenildiğini gösterir. DELETE metodu ile yapılan istekler ise sunucudaki bir kaynağın silinmesini hedef almaktadır.