RUST İLERİ SEVİYE EĞİTİMİ

Rust'ın en derin kalıplarında ustalaşın

İleri lifetime, trait tasarımı, async, unsafe ve FFI, performans profili ve büyük kod tabanı mimarisi.

HRTB, makro, async, unsafe/FFI, performans ve büyük proje mimarisini kapsayan 4 günlük ileri Rust eğitimi.

4 gün İleri Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

İleri Rust: tip sistemi, async, unsafe ve performans

Rust'ı temel düzeyin ötesine taşıyan bu eğitim; HRTB ve varyans, PhantomData ile typestate, macro_rules! ve proc-macro, trait nesneleri ve associated type tasarımı, tokio ile async ve Pin, rayon ve atomikler, unsafe ve FFI, miri ile doğrulama, criterion/flamegraph ile performans ve workspace tabanlı büyük proje mimarisini ele alır.

Süre ve Format

4 Gün. Her gün dört modül; İleri Tip Sistemi; Eşzamanlılık ve Performans; Sistem Düzeyi ve Güvenlik; Mimari ve Üretim ekseninde ilerleyen uygulamalı program.

Seviye

İleri Seviye — ileri ömür kalıpları, makrolar, async, unsafe/FFI, performans ve büyük proje mimarisi

Öğrenme Metodu

Atölye tarzı ilerler; her konuda kısa teori sonrası gerçek bir kütüphane veya servis parçası üzerinde tasarım ve ölçüm yapılır.

Neden Bu Eğitim?

🧠Derin tip sistemi

Ömür, varyans ve trait tasarımıyla derleyiciyi bir tasarım ortağı olarak kullanırsınız.

🚄Ölçülebilir hız

criterion ve flamegraph ile performansı veriyle iyileştirirsiniz.

🏗️Sürdürülebilir kod tabanı

Workspace, API kuralları ve semver ile büyük projeleri yönetirsiniz.

Anahtar Konular

Rust ileri seviyeadvanced RustRust lifetimeRust makroRust async tokioRust unsafe FFIRust performansmiricriterionRust workspace
“Rust'ta ustalık, derleyicinin söylediğini anlamaktan, ona söylemek istediğinizi doğru ifade etmeye geçmektir.”

Ön Koşullar

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

1
Rust temelleri

Sahiplik, trait ve Result/Option kullanımını bilmek; en az birkaç küçük Rust programı yazmış olmak.

2
Komut satırı

Terminal, cargo ve git kullanımı.

3
Sistem bilgisi

İşletim sistemi ve bellek modeli hakkında temel bilgi.

4
Geliştirme ortamı

Rust toolchain ve rust-analyzer destekli bir editör.

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ı HRTB, varyans ve typestate kalıplarıyla API tasarlar ve makro yazar.
Modül 1
İleri Ömür ve Ödünç Alma Kalıpları
  • Higher-ranked trait bound (for<'a>) ve closure ömürleri
  • Varyans (covariance, invariance) ve PhantomData ile ömür kodlama
  • Trait ve impl bloklarında ömür parametreleri
  • Kendine referans eden yapılar, Pin ve ouroboros benzeri çözümler
  • NLL, iki fazlı ödünç alma ve alan bölme (borrow splitting)
  • Arena tahsisi, indeks tabanlı graf ve ömür sınırlarını azaltan tasarımlar
Modül 2
Generics ve Trait Sınırları
  • Generic fonksiyon ve struct tanımı, monomorphization
  • Trait bound, where cümleleri ve çoklu sınır
  • İlişkili tipler (associated types) ve Iterator örneği
  • dyn Trait ve Box<dyn Trait>: nesne güvenliği (object safety)
  • Statik ve dinamik dispatch maliyet karşılaştırması
  • Blanket implementasyonlar ve orphan kuralı
Modül 3
Makrolar ve İleri Tip Sistemi
  • macro_rules! ile bildirimsel makrolar ve tekrar desenleri
  • Derive ve attribute proc-macro yapısı (syn, quote)
  • Const generics ve sabit boyutlu dizi API'leri
  • PhantomData ve tip durumu (typestate) deseni
  • Builder deseni ve newtype ile tip güvenliği
  • Özel Iterator, IntoIterator ve Deref ile ergonomik API tasarımı
Modül 4
Akıllı İşaretçiler ve İç Değişebilirlik
  • Box<T> ile heap tahsisi ve özyinelemeli tipler
  • Rc<T> ve Arc<T> ile paylaşımlı sahiplik
  • RefCell<T> ve Cell<T>: iç değişebilirlik ve çalışma zamanı ödünç kontrolü
  • Weak<T> ile referans döngülerinden kaçınma
  • Deref ve Drop trait'leri, RAII
  • Cow<'a, T> ile gereksiz kopyalamayı azaltma
Günün hedefiKatılımcı rayon ve tokio ile eşzamanlı kod yazar, profil alarak darboğazları giderir.
Modül 1
Eşzamanlılık
  • std::thread::spawn, join ve move closure
  • mpsc kanalları: Sender/Receiver ve çoklu üretici
  • Mutex<T> ve RwLock<T> ile Arc kombinasyonu
  • Send ve Sync trait'leri: derleyicinin veri yarışı engeli
  • Atomik tipler ve Ordering seçimi
  • rayon ile veri paralelliği ve thread::scope
Modül 2
Async Rust ve Tokio
  • async/await, Future trait'i ve poll modeli
  • Tokio runtime: #[tokio::main], çok thread'li ve current_thread
  • tokio::spawn, JoinSet ve görev iptali
  • tokio::select!, zaman aşımı (timeout) ve interval
  • Async kanallar: mpsc, oneshot, broadcast, watch
  • Pin, Send sınırı hataları ve bloklayıcı kodun spawn_blocking ile ayrılması
Modül 3
Ağ Programlama ve Düşük Seviye I/O
  • TcpListener/TcpStream ile bloklayıcı sunucu
  • UdpSocket, socket2 ile soket seçenekleri
  • mio ve epoll mantığı ile olay güdümlü I/O
  • tokio::net ve framing (tokio-util codec)
  • Binary protokol: bytes::Buf/BufMut, endian ve serde/bincode
  • Zero-copy yaklaşımı, vektörlü I/O ve geri basınç (backpressure)
Modül 4
Performans ve Optimizasyon
  • criterion ile kıyaslama ve istatistiksel karşılaştırma
  • cargo flamegraph / perf ile CPU profili
  • Sıfır maliyetli soyutlamalar: iterator'ın assembly düzeyinde incelenmesi
  • Bellek düzeni: struct padding, enum niche optimizasyonu, SoA/AoS
  • SIMD (std::simd/portable-simd), rayon ve cache dostu algoritmalar
  • LTO, PGO, codegen-units ve hedef CPU ayarları
Günün hedefiKatılımcı unsafe kodu soyutlamalarla sınırlar, FFI köprüsü kurar ve miri ile doğrular.
Modül 1
Unsafe Rust ve FFI
  • unsafe blokları: ham işaretçiler, unsafe fn ve unsafe trait
  • Unsafe'in verdiği beş ek yetenek ve güvenli soyutlama yazımı
  • extern "C", #[repr(C)] ve #[no_mangle]
  • bindgen ile C başlıklarından bağlama üretimi
  • cbindgen ile Rust kütüphanesini C'den çağırma
  • miri ve AddressSanitizer ile tanımsız davranış avı
Modül 2
Sistem Programlama: Dosya, Süreç ve Bellek
  • std::fs, std::io Read/Write ve BufReader/BufWriter
  • std::env ve clap ile komut satırı araçları
  • std::process::Command, boru hattı ve çıkış durumu
  • libc/nix ile sinyal işleme ve Unix API çağrıları
  • memmap2 ile bellek eşlemeli dosya erişimi
  • Özel allocator (GlobalAlloc), arena ve bellek yerleşimi (size_of, align_of)
Modül 3
Hata Yönetimi
  • Result<T,E> ve ? operatörünün genişleme mantığı
  • Özel hata enum'ları ve From ile otomatik dönüşüm
  • thiserror ve anyhow: kütüphane ve uygulama hata stratejisi
  • panic!, unwrap/expect ve ne zaman kabul edilebilir olduğu
  • Option kombinatörleri: ok_or, map_err, and_then, unwrap_or_else
  • main'den Result döndürme ve çıkış kodları
Modül 4
Test, Belgeleme ve Yayınlama
  • Birim, entegrasyon (tests/) ve doküman testleri
  • cargo test filtreleri, --nocapture ve #[should_panic]
  • criterion ile kıyaslama ve proptest ile özellik tabanlı test
  • Cargo workspace yapısı ve feature flag yönetimi
  • cargo publish, semver ve cargo-deny ile bağımlılık denetimi
  • CI hattı: fmt, clippy -D warnings, test ve cargo-audit
Günün hedefiKatılımcı workspace tabanlı bir servisi mimari, test ve yayın açısından tamamlar.
Modül 1
Büyük Proje Mimarisi ve API Tasarımı
  • Workspace, crate sınırları ve feature flag stratejisi
  • Rust API Guidelines: isimlendirme, From/AsRef, sealed trait
  • Hata tasarımı katmanları ve genişletilebilir enum (non_exhaustive)
  • Semver, cargo-semver-checks ve geriye uyumluluk
  • Unsafe denetimi: cargo-geiger, cargo-vet ve miri CI
  • Belgeleme: rustdoc, doctest ve örnek crate'ler
Modül 2
HTTP Sunucu Temelleri (axum)
  • axum Router, handler fonksiyonları ve extractor'lar (Path, Query, Json)
  • Paylaşımlı uygulama durumu: State ve Arc
  • tower katmanları ve tower-http (trace, compression)
  • Hata yönetimi: IntoResponse ile özel hata tipi
  • actix-web ile karşılaştırma ve seçim ölçütleri
  • Statik dosya sunumu ve şablon motorları (askama, tera)
Modül 3
Veritabanı, Serde ve Doğrulama
  • serde derive: rename, default, skip ve özel (de)serializer
  • sqlx ile derleme zamanı doğrulamalı sorgular (query!)
  • PostgreSQL bağlantı havuzu ve transaction kullanımı
  • Migration yönetimi (sqlx migrate) ve şema evrimi
  • diesel ORM yaklaşımı ve sqlx ile karşılaştırma
  • validator crate ile girdi doğrulama
Modül 4
Web Servisi Test ve Yayın
  • tower::ServiceExt::oneshot ile handler testleri
  • tracing ve tracing-subscriber ile yapısal günlük
  • Prometheus metrikleri ve sağlık uç noktaları
  • Çok aşamalı Docker imajı ve cargo-chef ile önbellek
  • Graceful shutdown ve sinyal yakalama
  • WebAssembly: wasm-bindgen, wasm-pack ve Leptos/Yew'e giriş

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
İleri ömür kalıpları

HRTB, varyans ve PhantomData ile güvenli API kurabilirsiniz.

🎯
Makro yazımı

macro_rules! ve derive proc-macro geliştirebilirsiniz.

🧩
Trait tasarımı

Associated type, dyn Trait ve blanket impl'leri doğru seçebilirsiniz.

🛠️
Async Rust

tokio'da görev, select ve kanal tasarlayabilirsiniz.

🔍
Unsafe ve FFI

C kütüphanesiyle güvenli köprü kurabilirsiniz.

🚀
Performans

Flamegraph ve criterion ile optimizasyon yapabilirsiniz.

📈
Proje mimarisi

Workspace ve feature stratejisiyle kod tabanı düzenleyebilirsiniz.

🧪
Kalite kapıları

clippy, miri, cargo-deny ve audit ile CI hattı kurabilirsiniz.

Kimler İçin Uygundur?

  • Rust ile en az birkaç proje yazmış
  • kütüphane tasarlayan ya da performans kritik sistemler geliştiren deneyimli geliştiriciler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
Rust ile en az birkaç proje yazmış, kütüphane tasarlayan ya da performans kritik sistemler geliştiren deneyimli geliştiriciler için uygundur.
Ön koşul olarak ne kadar Rust bilmeliyim?
Sahiplik, trait, generics ve Result'ı rahatça kullanıyor olmalısınız.
Unsafe konusu ne kadar derin işlenir?
Ham işaretçiler, FFI, repr(C) ve güvenli soyutlama yazımı; miri ve sanitizer ile doğrulama dahil işlenir.
Async Rust hangi runtime ile anlatılır?
tokio kullanılır; Future, Pin ve poll mantığı da temelden açıklanır.
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. Rust İleri Seviye Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

Diğer Programlama DilleriPerl Language & Programming Control Eğitimi
Yazılım Geliştirme Eğitimleri

Perl Language & Programming Control Eğitimi

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

Perl dili ve akış kontrolü: skaler/liste bağlamı, altyordamlar, regex, hash, dosya işleme ve Test::More. 2 günlük uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriPerl Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Perl Programming Eğitimi

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

Perl Programming eğitimi: veri yapıları, regex, dosya işleme, CPAN, OOP, DBI, test ve sistem yönetimi betikleri. 3 gün uygulamalı.

Detayları Gör →
Diğer Programlama DilleriR Programlama ile Veri Analizi Eğitimi
Yazılım Geliştirme Eğitimleri

R Programlama ile Veri Analizi Eğitimi

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

R ile veri analizi: tidyverse, ggplot2, hipotez testleri, regresyon, tidymodels, Quarto ve Shiny. 3 gün uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriRuby Full Stack Development: Flow Control & Data Types Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: Flow Control & Data Types Eğitimi

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

Ruby veri tipleri ve akış kontrolü: String, Symbol, Array, Hash, case/in, blok, lambda ve rescue/ensure. 2 günlük uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriRuby Full Stack Development: Introduction Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: Introduction Eğitimi

2 günBaşlangıçOnline / Yüz Yüze / Hibrit

Ruby giriş eğitimi: kurulum, Array ve Hash, metot ve blok, sınıflar, dosya işleme ve ilk CLI projesi. 2 günlük başlangıç eğitimi.

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