LOLONOLO Ana Sayfa » blog » Anadolu AÖF » WTK210U İnternet Tabanli Programlama Ünite -8
Anadolu AöfAöf Web Tasarım Ve KodlamaWTK210U İnternet Tabanli Programlama

WTK210U İnternet Tabanli Programlama Ünite -8

Ruby ve Ruby On Rails

 
LOLONOLO Ana Sayfa » blog » Anadolu AÖF » WTK210U İnternet Tabanli Programlama Ünite -8

#1.
I. Nesne Yönelimli Programlama
II. Fonksiyonel Programlama
III. Zorunlu (İmperatif) Programlama
IV. Yansıtıcı (Reaktif) Programlama
Yukarıdaki programlama paradigmalarından hangisi ya da hangileri Ruby dili tarafından desteklenmektedir?

Cevap : D) I, II, III, IV
Açıklama : Ruby dili nesne yönelimli (OOP), fonksiyonel, zorunlu (imperatif) ve yansıma (reflection) özelliklerine sahiptir. Dolayısıyla I, II, III ve IV hepsi desteklenir.
Yanıtınız yanlış ise “Ruby Paket Yöneticisi (RubyGems)” konusunu yeniden gözden geçiriniz.

#2. Ruby dilinde kullanılan paket yönetici uygulaması hangi isimle anılmaktadır?

Cevap : D) RubyGems
Açıklama : Ruby’de paket (kütüphane) yönetim aracı “RubyGems” olarak adlandırılır. Bu paketler “gem” uzantısıyla dağıtılır ve komut satırında gem install … şeklinde kurulur.
Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

#3. Ruby dili ile ilgili olarak söylenen aşağıdaki ifadelerden hangisi doğru değildir?

Cevap : A) Dinamik ve zayıf tiplemeli bir dildir
Açıklama : Ruby, dinamik tipli (dynamic) bir dildir ama “zayıf tipleme (weak typing)” ifadesi tam olarak doğru kabul edilmez. Ruby’de “strong” dynamic typing uygulanır. Dolayısıyla “Dinamik ve zayıf tiplemeli” demek doğru değildir; Ruby çoğunlukla “dinamik ve güçlü (strong) tipleme” şeklinde nitelendirilir.
Yanıtınız yanlış ise “Ruby On Rails Çatısı” konusunu yeniden gözden geçiriniz.

#4. Ruby dili söz dizimine ilişkin aşağıdaki ifadelerden hangisi doğrudur?

Cevap : C) Belirteçlerin isimlendirilmesinde büyük/küçük harf ayrımı yapılır
Açıklama : Ruby’de değişken, metot adları büyük/küçük harf farkına sahiptir. Satır sonlarında noktalı virgül zorunlu değildir, parantez kullanımı da çoğu yerde opsiyoneldir. Çok satırlı yorum için =begin ve =end kullanılır, girinti ise önerilen bir stil olsa da Python’daki gibi zorunlu değildir.
Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

#5. Ruby dilinin aşağıdaki alanlardan hangisi için kullanılması önerilmez?

Cevap : E) İşletim Sistemleri
Açıklama : Ruby, web geliştirme, yapay zeka veya robotik prototipleme gibi alanlarda kullanılabilir. Ancak çekirdek işletim sistemi geliştirme, sürücü yazımı veya düşük seviye sistem programlaması (kernel development) gibi alanlarda Ruby uygun bir dil değildir.
Yanıtınız yanlış ise “Ruby Dili Söz Dizimi ve Bileşenleri” konusunu yeniden gözden geçiriniz.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

#6. Uygulamanın ihtiyaç duyduğu paketlerin tamamını tek seferde ve versiyon uyumsuzluğu gibi sorunlar yaşamadan yükleyebilmemizi sağlayan Ruby paketinin adı nedir?

Cevap : E) Bundler
Açıklama : Ruby projelerinde “Gemfile” içindeki bağımlılıkları çözen ve tek komutla (bundle install) yüklenmesini sağlayan araç “Bundler”dır.
Yanıtınız yanlış ise “Ruby On Rails ile Uygulama Geliştirme” konusunu yeniden gözden geçiriniz.

#7.
I. IRB Aracı
II. Ruby Yorumlayıcısı
III. Ruby Derleyicisi
Yukarıdaki araçlardan hangisi ya da hangileri kullanılarak Ruby kodlarının çalıştırılması sağlanabilir?

Cevap : B) I ve II
Açıklama : Ruby kodları, “ruby” yorumlayıcısıyla çalıştırılır veya etkileşimli “irb” oturumunda test edilebilir. Bir “Ruby derleyicisi” diye resmi bir şey yoktur, zira Ruby yorumlanan bir dildir.
Yanıtınız yanlış ise “Ruby On Rails ile Uygulama Geliştirme” konusunu yeniden gözden geçiriniz.

#8. “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.” Yukarıdaki tanımda hangi MVC tasarım deseni öğesinden bahsedilmektedir?

Cevap : A) Model
Açıklama : MVC (Model-View-Controller) deseninde “Model” katmanı, veritabanı yapısı, iş mantığı ve veri ilişkilerini içerir. Görünüm (View) sunum katmanını, Kontrolör (Controller) ise iş akışını yönetir.
Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

#9. Rails beraberinde uygulama geliştirme sürecini oldukça hızlandıran pek çok hazır komut dosyası ile birlikte gelir. Bu dosyalara genel olarak ne ad verilir?

Cevap : C) Üreticiler
Açıklama : Rails’de rails generate veya rails g gibi komutlarla uygulama parçaları oluşturmak için “generators” (üreticiler) vardır. Model, controller, scaffold gibi şeyleri hızla üretebilir.
Yanıtınız yanlış ise “Ruby On Rails ile Uygulama Geliştirme” konusunu yeniden gözden geçiriniz.

#10. Aşağıdakilerden hangisi Ruby programlama dilinin temel felsefi prensiplerinden birisi değildir?

Cevap : B) Çağdaş Tasarım Prensibi
Açıklama : Ruby’nin temel prensipleri arasında “İnsan Faktörü” (human factor), “Asgari Sürpriz (least surprise)”, “Maksimum Eğlence (joy)” ve “Özgürlük, Rahatlık” gibi yaklaşımlar vardır. Çağdaş Tasarım Prensibi diye bilinen bir ilke temel felsefelerde geçmez.
Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

Öğrenme Yönetim Sistemi Öğrenci Dostu LOLONOLO bol bol deneme sınavı yapmayı önerir.

Öncesi
TESTi BiTiR, PUANINI GÖR

SONUÇ

Anadolu Aöf  Web Tasarımı ve Kodlama
WTK210U İnternet Tabanli Programlama Ünite -8
Ruby ve Ruby On Rails

Anadolu Aöf  Web Tasarımı ve Kodlama
WTK210U İnternet Tabanli Programlama Ünite -8
Ruby ve Ruby On Rails

WTK210U İnternet Tabanli Programlama Ünite -8

Ruby ve Ruby On Rails

Ruby ve Ruby On Rails

Giriş

Ruby, Japon programcı Yukihiro “Matz” Matsumoto tarafından geliştirilmiş, açık kaynak kodlu ve dinamik bir programlama dilidir. Kullanıcı dostu söz dizimiyle, geliştiricilerin üretkenliğini artırmayı hedefler. Ruby On Rails ise bu dil üzerinde çalışan ve hızlı uygulama geliştirmeyi amaçlayan güçlü bir web çatısıdır.

Ruby Nedir ve Ne İşe Yarar?

Ruby, nesne yönelimli, fonksiyonel, imperatif ve yansıtıcı (reflective) programlama paradigmalarını destekler. Dinamik yapıdadır; değişken türlerini belirtme zorunluluğu yoktur. Kod bloğu tanımlamak için girinti yerine end kullanılır, satır sonlarında noktalı virgül zorunlu değildir. Büyük-küçük harf duyarlılığı (case sensitivity) ile program mantığında düzen ve esneklik sağlar. Web uygulamaları, prototipleme, veri analitiği gibi çeşitli alanlarda kullanılabilir.

Ruby’nin Paket Yönetimi: RubyGems

Ruby ekosisteminde, kütüphaneler (gems) yardımıyla uygulamaya ek işlevler kazandırılır. Bu gem’ler RubyGems yönetim aracıyla yüklenip yönetilir. Ayrıca bağımlılık sorunlarını çözmek için Bundler paketi devreye girer. “Gemfile” dosyası, projede kullanılacak gem’lerin sürümlerini belirler ve “bundle install” komutu her şeyi tek seferde kurar.

Ruby On Rails

Rails, “Convention over Configuration” (Konfigürasyon yerine varsayılanlar) felsefesini benimseyerek geliştirme hızını artırır. MVC yapısını kullanır: Model katmanı veri ve iş mantığını, View sunumu, Controller ise yönlendirmeyi üstlenir. “Generators” (üreticiler) adı verilen hazır komutlar sayesinde model, controller veya scaffold gibi bileşenler çabucak oluşturulur. Bu yaklaşım, projenin iskeletini hızla çıkarmanıza ve kısa zamanda çalışır prototipler üretmenize olanak tanır.

MVC ve Modeller

Model, veritabanı tablolarına karşılık gelir ve burada yer alan metodlar uygulamanın iş mantığını yönetir. Rails, Active Record adı verilen bir ORM (Object-Relational Mapping) sistemiyle model sınıflarını veritabanı tablolarına bağlar. Veritabanında tablo isimleri çoğul, model sınıflarında tekil olarak kullanılır (ör. tablo: users, model: User). Bu varsayılan kurallar, kodun okunurluğunu ve tutarlılığını artırır.

Sonuç

Ruby ve Ruby On Rails, web geliştirme alanında güçlü ve popüler araçlardır. Ruby’nin basit ve esnek yapısı, Rails’in konvansiyonlara dayalı proje yönetimi ile birleştiğinde, modern uygulamaları kısa sürede hayata geçirme imkânı sunar. Büyük bir topluluk ve zengin kütüphane ekosistemi, geliştiricilere hem üretkenlik hem de keyifli bir kodlama deneyimi sağlar.

@lolonolo_com

Ruby ve Ruby On Rails

WTK210U İnternet Tabanli Programlama Ünite -8

Ünite 8 – Ruby ve Ruby On Rails (Soru Seti)

1) Aşağıdakilerden hangisi Ruby programlama dilinin temel felsefi prensiplerinden birisi değildir?

A. İnsan Faktörü Prensibi
B. Çağdaş Tasarım Prensibi
C. Asgari Sürpriz Prensibi
D. Maksimum Eğlence Prensibi
E. Özgürlük ve Rahatlık Prensibi

Cevap : B) Çağdaş Tasarım Prensibi

Açıklama : Ruby’nin temel prensipleri arasında “İnsan Faktörü” (human factor), “Asgari Sürpriz (least surprise)”, “Maksimum Eğlence (joy)” ve “Özgürlük, Rahatlık” gibi yaklaşımlar vardır. Çağdaş Tasarım Prensibi diye bilinen bir ilke temel felsefelerde geçmez.

Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

2) I. Nesne Yönelimli Programlama
II. Fonksiyonel Programlama
III. Zorunlu (İmperatif) Programlama
IV. Yansıtıcı (Reaktif) Programlama

Yukarıdaki programlama paradigmalarından hangisi ya da hangileri Ruby dili tarafından desteklenmektedir?

A. Yalnız I
B. I ve II
C. I, III, IV
D. I, II, III, IV
E. II ve IV

Cevap : D) I, II, III, IV

Açıklama : Ruby dili nesne yönelimli (OOP), fonksiyonel, zorunlu (imperatif) ve yansıma (reflection) özelliklerine sahiptir. Dolayısıyla I, II, III ve IV hepsi desteklenir.

Yanıtınız yanlış ise “Ruby Paket Yöneticisi (RubyGems)” konusunu yeniden gözden geçiriniz.

3) Ruby dili ile ilgili olarak söylenen aşağıdaki ifadelerden hangisi doğru değildir?

A. Dinamik ve zayıf tiplemeli bir dildir
B. Platformdan bağımsız bir dildir
C. Tamamen nesne yönelimli bir dildir
D. Temiz ve test edilebilir kod yazmayı destekler
E. Yorumlamalı bir dildir

Cevap : A) Dinamik ve zayıf tiplemeli bir dildir

Açıklama : Ruby, dinamik tipli (dynamic) bir dildir ama “zayıf tipleme (weak typing)” ifadesi tam olarak doğru kabul edilmez. Ruby’de “strong” dynamic typing uygulanır. Dolayısıyla “Dinamik ve zayıf tiplemeli” demek doğru değildir; Ruby çoğunlukla “dinamik ve güçlü (strong) tipleme” şeklinde nitelendirilir.

Yanıtınız yanlış ise “Ruby On Rails Çatısı” konusunu yeniden gözden geçiriniz.

4) Ruby dilinin aşağıdaki alanlardan hangisi için kullanılması önerilmez?

A. Robotik
B. Yapay Zeka
C. İnternet Tabanlı Uygulamalar
D. Ağ ve Telekomünikasyon Uygulamaları
E. İşletim Sistemleri

Cevap : E) İşletim Sistemleri

Açıklama : Ruby, web geliştirme, yapay zeka veya robotik prototipleme gibi alanlarda kullanılabilir. Ancak çekirdek işletim sistemi geliştirme, sürücü yazımı veya düşük seviye sistem programlaması (kernel development) gibi alanlarda Ruby uygun bir dil değildir.

Yanıtınız yanlış ise “Ruby Dili Söz Dizimi ve Bileşenleri” konusunu yeniden gözden geçiriniz.

5) I. IRB Aracı
II. Ruby Yorumlayıcısı
III. Ruby Derleyicisi

Yukarıdaki araçlardan hangisi ya da hangileri kullanılarak Ruby kodlarının çalıştırılması sağlanabilir?

A. Yalnız I
B. I ve II
C. I ve III
D. II ve III
E. I, II ve III

Cevap : B) I ve II

Açıklama : Ruby kodları, “ruby” yorumlayıcısıyla çalıştırılır veya etkileşimli “irb” oturumunda test edilebilir. Bir “Ruby derleyicisi” diye resmi bir şey yoktur, zira Ruby yorumlanan bir dildir.

Yanıtınız yanlış ise “Ruby On Rails ile Uygulama Geliştirme” konusunu yeniden gözden geçiriniz.

6) Ruby dili söz dizimine ilişkin aşağıdaki ifadelerden hangisi doğrudur?

A. Parantez kullanımı her zaman zorunludur
B. Satır sonları her zaman noktalı virgül ile bitirilmelidir
C. Belirteçlerin isimlendirilmesinde büyük/küçük harf ayrımı yapılır
D. “““ karakterleri çok satırlı yorum ifadeleri oluşturmak için kullanılır
E. Ruby kodları girintilere dikkat edilerek yazılmalıdır

Cevap : C) Belirteçlerin isimlendirilmesinde büyük/küçük harf ayrımı yapılır

Açıklama : Ruby’de değişken, metot adları büyük/küçük harf farkına sahiptir. Satır sonlarında noktalı virgül zorunlu değildir, parantez kullanımı da çoğu yerde opsiyoneldir. Çok satırlı yorum için =begin ve =end kullanılır, girinti ise önerilen bir stil olsa da Python’daki gibi zorunlu değildir.

Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

7) Ruby dilinde kullanılan paket yönetici uygulaması hangi isimle anılmaktadır?

A. RubyPackages
B. RubyPkg
C. RubyPip
D. RubyGems
E. RubyPipMgr

Cevap : D) RubyGems

Açıklama : Ruby’de paket (kütüphane) yönetim aracı “RubyGems” olarak adlandırılır. Bu paketler “gem” uzantısıyla dağıtılır ve komut satırında gem install … şeklinde kurulur.

Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

8) “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.” Yukarıdaki tanımda hangi MVC tasarım deseni öğesinden bahsedilmektedir?

A. Model
B. Görünüm
C. Kontrolör
D. Vekil
E. Yönlendirici

Cevap : A) Model

Açıklama : MVC (Model-View-Controller) deseninde “Model” katmanı, veritabanı yapısı, iş mantığı ve veri ilişkilerini içerir. Görünüm (View) sunum katmanını, Kontrolör (Controller) ise iş akışını yönetir.

Yanıtınız yanlış ise “Ruby Nedir ve Ne İşe Yarar?” konusunu yeniden gözden geçiriniz.

9) Rails beraberinde uygulama geliştirme sürecini oldukça hızlandıran pek çok hazır komut dosyası ile birlikte gelir. Bu dosyalara genel olarak ne ad verilir?

A. Hızlandırıcılar
B. Kolaylaştırıcılar
C. Üreticiler
D. Yanıtlayıcılar
E. Emrediciler

Cevap : C) Üreticiler

Açıklama : Rails’de rails generate veya rails g gibi komutlarla uygulama parçaları oluşturmak için “generators” (üreticiler) vardır. Model, controller, scaffold gibi şeyleri hızla üretebilir.

Yanıtınız yanlış ise “Ruby On Rails ile Uygulama Geliştirme” konusunu yeniden gözden geçiriniz.

10) Uygulamanın ihtiyaç duyduğu paketlerin tamamını tek seferde ve versiyon uyumsuzluğu gibi sorunlar yaşamadan yükleyebilmemizi sağlayan Ruby paketinin adı nedir?

A. Active Support
B. Active Report
C. Action Controller
D. ERB
E. Bundler

Cevap : E) Bundler

Açıklama : Ruby projelerinde “Gemfile” içindeki bağımlılıkları çözen ve tek komutla (bundle install) yüklenmesini sağlayan araç “Bundler”dır.

Yanıtınız yanlış ise “Ruby On Rails ile Uygulama Geliştirme” konusunu yeniden gözden geçiriniz.

@lolonolo_com

Ruby ve Ruby On Rails

WTK210U İnternet Tabanli Programlama Ünite -8

WTK210U İnternet Tabanli Programlama

Anadolu Aöf  Web Tasarımı ve Kodlama
WTK210U İnternet Tabanli Programlama Ünite -8
Ruby ve Ruby On Rails

Editor

Editör