RUBY FULL STACK DEVELOPMENT: OBJECT-ORIENTED PROGRAMMING EĞİTİMİ

Ruby'de nesne yönelimli tasarımı doğru kurun

Sınıf, mixin, polimorfizm, metaprogramlama, SOLID ve tasarım kalıplarıyla Ruby OOP.

Ruby'de sınıf tasarımı, mixin, polimorfizm, metaprogramlama, tasarım kalıpları, SOLID ve refaktörü kapsayan 3 günlük OOP eğitimi.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Ruby ile nesne yönelimli tasarım ve temiz kod

OOP modülü; sınıf, initialize ve görünürlük, value object ve Struct/Data, eşitlik ve karma, kalıtım ve super, include/extend/prepend ile mixin, duck typing, Comparable/Enumerable, define_method ve method_missing, hook'lar, Strategy/Decorator/Observer kalıpları, SOLID ve Rubocop/Reek ile refaktör konularını işler; kütüphane yönetimi uygulaması geliştirilir.

Süre ve Format

3 Gün. Her gün dört modül; Nesne Modelleme; Kalıtım, Kalıplar ve Metaprogramlama; Refaktör, Test ve Proje ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — Ruby'de sınıf tasarımı, modüller, polimorfizm, metaprogramlama, tasarım kalıpları ve refaktör

Öğrenme Metodu

Her kavram bir tasarım problemi üzerinden anlatılır; kod RSpec testleriyle ve refaktör turlarıyla geliştirilir.

Neden Bu Eğitim?

🏛️Doğru tasarım

Kalıtım ve kompozisyon arasında bilinçli tercih yaparsınız.

🪄Ruby'ye özgü güç

Mixin ve metaprogramlama ile esnek API'ler kurarsınız.

🧹Temiz kod

Refaktör ve SOLID ile sürdürülebilir kod yazarsınız.

Anahtar Konular

Ruby OOPRuby nesne yönelimliRuby mixinRuby metaprogramlamaRuby tasarım kalıplarıRuby SOLIDRuby refactoringRuby sınıf tasarımıRubocopRuby Full Stack OOP
“İyi nesne tasarımı, değişiklikten korkmadan kod yazabilmektir.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Ruby temelleri

Sınıf, metot, blok ve temel koleksiyonlarla çalışmış olmak.

2
Komut satırı

Terminal, gem ve bundler kullanımı.

3
Git

Temel git akışı.

4
Ruby kurulumu

Ruby 3.2+ ve bundler kurulu bir ortam.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı sınıf tasarımı ve kapsülleme ilkelerini uygular, value object ve Struct kullanır.
Modül 1
Metotlar, Blok ve Proc
  • Metot tanımı, varsayılan, anahtar sözcüklü ve splat (*, **) argümanlar
  • Blok, yield, block_given? ve &block
  • Proc, lambda farkı (return davranışı ve arity)
  • Closure ve binding ile bağlam taşıma
  • Metot nesneleri (method(:x)), curry ve compose (>>)
  • Endless method, pattern matching (case/in) ve argüman yönlendirme (...)
Modül 2
Sınıflar, Nesneler ve Kapsülleme
  • class, initialize, attr_accessor/reader/writer
  • Örnek ve sınıf değişkenleri (@, @@) ve sınıf düzeyi instance değişkeni
  • public/protected/private görünürlüğü ve private_constant
  • self, sınıf metotları (def self.x) ve singleton class
  • to_s, inspect, ==, eql?, hash ve <=> yeniden tanımı
  • Struct, Data.define ve value object tasarımı
Modül 3
Nesne Modelleme ve Sınıf Tasarımı
  • CRC kartları ve sorumluluk dağılımı
  • Domain nesneleri: Value object, entity ve Struct kullanımı
  • Eşitlik ve karma: ==, eql?, hash ve Comparable
  • Değişmezlik: freeze, dup, clone ve derin kopya
  • Yapıcı tasarımı: anahtar sözcüklü argüman ve fabrika metotları
  • Nesne arası iletişim: mesaj gönderme ve Tell, Don't Ask
Modül 4
Hata Yönetimi
  • begin/rescue/else/ensure akışı ve metot düzeyinde rescue
  • raise, özel istisna sınıfları ve hata hiyerarşisi
  • retry ile yeniden deneme ve üstel geri çekilme
  • ensure ile kaynak temizliği ve at_exit
  • StandardError mı Exception mı: neden Exception yakalanmamalı
  • Hata mesajları, backtrace ve warn/abort kullanımı
Günün hedefiKatılımcı kalıtım ve modüllerle polimorfizm kurar, tasarım kalıplarını uygular, define_method ve hook'ları kullanır.
Modül 1
Kalıtım, Modül ve Mixin
  • Alt sınıf (<), super ve metot çözümleme sırası (ancestors)
  • Modül ile mixin: include, extend, prepend
  • Comparable ve Enumerable'ı kendi sınıfında kullanma
  • Duck typing, polimorfizm ve interface yerine davranış sözleşmesi
  • Modül ad alanı (namespace) ve Module#module_function
  • Kompozisyon ve kalıtım seçimi; SOLID ilkelerinin Ruby'deki karşılığı
Modül 2
Ruby'de Tasarım Kalıpları
  • Strategy: blok ve callable nesnelerle algoritma değişimi
  • Decorator: SimpleDelegator ve prepend ile davranış ekleme
  • Observer: Observable modülü ve olay yayınlama
  • Template Method ve Hook metotları
  • Null Object ve Maybe benzeri güvenli nesneler
  • Bağımlılık enjeksiyonu ve bileşim kökü
Modül 3
Metaprogramlama ve Hata Yönetimi
  • define_method, send/public_send ve respond_to?
  • method_missing / respond_to_missing? ile dinamik arayüz
  • instance_variable_get/set, class_eval, instance_eval
  • Hook'lar: inherited, included, method_added
  • begin/rescue/else/ensure, raise ve retry
  • Özel istisna sınıfları, hata hiyerarşisi ve Exception vs StandardError
Modül 4
Ruby Standart Kütüphane ve Araçlar
  • Time, Date ve zaman dilimi işlemleri
  • Comparable, Forwardable, Singleton ve Observable
  • Benchmark, Logger ve ObjectSpace ile ölçüm
  • Thread, Mutex, Queue ve Ractor'a giriş
  • Fiber ve Enumerator::Lazy ile tembel işlem
  • Debug araçları: byebug/debug gem, binding.irb
Günün hedefiKatılımcı kodu SOLID ilkeleriyle refaktör eder, RSpec testleri yazar ve kütüphane yönetimi uygulamasını tamamlar.
Modül 1
Refaktör ve SOLID
  • Kod kokuları: Long Method, Feature Envy, Primitive Obsession
  • Extract Method / Extract Class / Replace Conditional with Polymorphism
  • SOLID ilkelerinin Ruby örnekleri
  • Rubocop ve Reek ile otomatik kokulama
  • Koruyucu testlerle güvenli refaktör
  • Ruby idiomları: Enumerable, safe navigation, keyword args
Modül 2
Birim Testi: Minitest ve RSpec Temelleri
  • Test piramidi, birim test ilkeleri ve Arrange-Act-Assert
  • Minitest::Test, assert_equal, assert_raises ve test düzeni
  • RSpec: describe, context, it, expect(...).to ve matcher'lar
  • let, let!, before/after ve paylaşılan örnekler (shared_examples)
  • Test verisi: FactoryBot ve fixture karşılaştırması
  • SimpleCov ile kapsam ve rake test ile otomatik çalıştırma
Modül 3
Proje: Kütüphane Yönetim Uygulaması
  • Domain modeli: Kitap, Üye, Ödünç Alma
  • Kurallar: gecikme cezası, rezervasyon, limit
  • Depo (repository) katmanı ve JSON/SQLite saklama
  • Komut satırı arayüzü
  • RSpec testleri ve kapsam raporu
  • Kod inceleme ve sunum
Modül 4
Kod Kalitesi ve Paketleme
  • Rubocop yapılandırması ve otomatik düzeltme
  • YARD ile belgelendirme
  • Gem iskeleti (bundle gem), gemspec ve semver
  • Sürekli entegrasyon: GitHub Actions ile test ve lint
  • Performans için Benchmark ve memory_profiler
  • Bağımlılık güvenliği: bundler-audit

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sınıf tasarımı

Sorumluluğu net, kapsüllenmiş sınıflar tasarlayabilirsiniz.

🎯
Value object

Struct ve Data ile değişmez nesneler kurabilirsiniz.

🧩
Mixin kullanımı

include, extend ve prepend'i doğru yerde kullanabilirsiniz.

🛠️
Polimorfizm

Duck typing ile esnek tasarım yapabilirsiniz.

🔍
Tasarım kalıpları

Strategy, Decorator ve Observer kalıplarını uygulayabilirsiniz.

🚀
Metaprogramlama

define_method ve method_missing'i kontrollü kullanabilirsiniz.

📈
Refaktör

Kod kokularını bulup SOLID ile iyileştirebilirsiniz.

🧪
Kalite araçları

Rubocop, Reek ve YARD ile kod kalitesini yükseltebilirsiniz.

Kimler İçin Uygundur?

  • Ruby'nin temelini bilen
  • nesne tasarımı
  • temiz kod yazma becerisini geliştirmek isteyen yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Ruby'nin temelini bilen, nesne tasarımı ve temiz kod yazma becerisini geliştirmek isteyen yazılımcılar için uygundur.
Ruby'nin temelini bilmem gerekir mi?
Evet; blok, koleksiyon ve temel sınıf kullanımını bilmeniz beklenir.
Metaprogramlama tehlikeli mi?
Eğitimde metaprogramlamanın ne zaman kullanılacağı ve sınırlandırılacağı örneklerle tartışılır.
Proje neyi içerir?
Kütüphane yönetimi domain'i; RSpec testleriyle ve repository katmanıyla.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Ruby Full Stack Development: Object-Oriented Programming Eği Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Diğer Programlama DilleriGelişmiş LabVIEW Programlama Eğitimi
Yazılım Geliştirme Eğitimleri

Gelişmiş LabVIEW Programlama Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Gelişmiş LabVIEW Programlama eğitimi: Gelişmiş LabVIEW: durum makineleri, üretici-tüketici, OOP (LVOOP). 4 gün uygulamalı program, LabVIEW 2022+ Professional il

Detayları Gör →
Diğer Programlama DilleriGo (Golang) ile Yüksek Performanslı Servis Geliştirme Eğitimi
Yazılım Geliştirme Eğitimleri

Go (Golang) ile Yüksek Performanslı Servis Geliştirme Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Go (Golang) ile Yüksek Performanslı Servis Geliştirme eğitimi: Go ile yüksek performanslı servisler: concurrency, net/http, gRPC. 4 gün uygulamalı program, Go 1

Detayları Gör →
Diğer Programlama DilleriGolang Essentials (GE) Eğitimi
Yazılım Geliştirme Eğitimleri

Golang Essentials (GE) Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Golang Essentials (GE) eğitimi: Go dili temelleri: sözdizimi, tipler, struct ve interface, hata. 3 gün uygulamalı program, Go 1.22+, VS Code (Go eklentisi) ile.

Detayları Gör →
Diğer Programlama DilleriGoogle Go (Golang) — Gelişmiş Eğitimi
Yazılım Geliştirme Eğitimleri

Google Go (Golang) — Gelişmiş Eğitimi

4 günİleriOnline / Yüz Yüze / Hibrit

Go ileri seviye eğitimi: context, goroutine desenleri, pprof, generics, gRPC, slog ve Kubernetes'e uygun üretim servisleri. 4 gün uygulamalı.

Detayları Gör →
Diğer Programlama DilleriGoogle Go (Golang) — Giriş Eğitimi
Yazılım Geliştirme Eğitimleri

Google Go (Golang) — Giriş Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Go dilini sıfırdan öğrenin: slice, map, interface, goroutine, net/http ve test. 2 günlük uygulamalı Golang giriş eğitimi.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn