
Ruby Metaprogramlama
define_method, method_missing, class_eval, instance_eval, hooks, DSLs
1Ruby'de metaprogramlama nedir?
Ruby'de metaprogramlama nedir?
Cevap
Metaprogramlama, bir programın çalışma zamanında kod yazma veya değiştirme yeteneğidir. Ruby'de bu, method, class ve module'lerin dinamik olarak tanımlanmasını sağlayarak kodu daha esnek ve özlü hale getirir. Bu teknik, zarif DSL'ler oluşturmak ve kod tekrarını azaltmak için Rails gibi framework'lerde yaygın olarak kullanılır.
2Ruby'de define_method metodunun amacı nedir?
Ruby'de define_method metodunun amacı nedir?
Cevap
define_method, çalışma zamanında dinamik olarak metot oluşturmaya olanak tanır. Bir metot adı (symbol veya string) ve metot gövdesini tanımlayan bir block alır. def'in aksine define_method, bir closure aracılığıyla çevreleyen scope'taki yerel değişkenleri yakalar; bu da parametreli davranışlara sahip metotlar üretmek için kullanışlıdır.
3method_missing metodu Ruby tarafından ne zaman çağrılır?
method_missing metodu Ruby tarafından ne zaman çağrılır?
Cevap
method_missing, bir nesne kalıtım zincirinde bulunmayan bir metot çağrısı aldığında otomatik olarak çağrılır. Çağrılan metodun adını ve argümanlarını alarak bu çağrıların dinamik olarak ele alınmasını sağlar. Bu, ActiveRecord'da kullanılan ghost methods gibi birçok metaprogramming kalıbının temelidir.
class_eval ile instance_eval arasındaki temel fark nedir?
Bir module bir sınıfa include edildiğinde hangi hook çağrılır?
+17 mülakat soruları
Diğer Ruby on Rails mülakat konuları
Ruby Temelleri
Ruby'de Nesne Yönelimli Programlama
Rails Temelleri
Routing & Controllers
ActiveRecord Temelleri
Views ve ERB Şablonları
ActiveRecord İlişkileri
Gelişmiş ActiveRecord Sorguları
Rails Formları
Kimlik Doğrulama ve Yetkilendirme
Modern Asset Pipeline ve frontend
Rails API Modu
RSpec ile Test
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Caching Stratejileri
Gelişmiş migrasyonlar
Rails Engines ve Modüler Uygulamalar
Performans Optimizasyonu
Rails Tasarım Desenleri
Rails Güvenliği
Rails ile GraphQL
Dağıtım ve Üretim
Monitoring & Logging
Rails Yükseltme Stratejileri
Bir sonraki mülakatın için Ruby on Rails'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla