RUST ESSENTIALS: BUILDING BETTER SOFTWARE EĞİTİMİ

Daha güvenli ve hızlı yazılım için Rust'ı öğrenin

Sahiplik, trait, iterator, Result ve thread konularını CLI projesine uygulayarak Rust temellerini kazanın.

Sahiplik, trait, iterator, hata yönetimi, thread ve CLI projesiyle Rust temellerini öğreten 3 günlük uygulamalı eğitim.

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

Eğitim Hakkında

Rust dilinin temelleri ve güvenli yazılım geliştirme pratikleri

Rust Essentials, belleği çöp toplayıcısız ve güvenli yöneten bu dilin temel taşlarını ele alır: cargo ve crates.io, sahiplik ve ödünç alma kuralları, struct/enum/trait, Vec/HashMap ve iterator zincirleri, Result ve ? operatörü, thiserror/anyhow, generics, thread ve mpsc kanalları, test yazımı ve clap ile komut satırı aracı projesi.

Süre ve Format

3 Gün. Her gün dört modül; Dil Çekirdeği ve Sahiplik; Koleksiyon, Hata ve Soyutlama; Eşzamanlılık, Test ve Proje ekseninde ilerleyen uygulamalı program.

Seviye

Temel Seviye — Rust'ın sahiplik, trait, koleksiyon, hata yönetimi ve eşzamanlılık temelleri ile CLI projesi

Öğrenme Metodu

Her konu için kısa örnek ve alıştırma bulunur; son gün tüm kavramlar tek bir CLI aracında birleştirilir.

Neden Bu Eğitim?

🛡️Bellek güvenliği

Data race ve dangling pointer sorunlarının derleme zamanında nasıl engellendiğini görürsünüz.

🧩Güçlü tip sistemi

Enum ve trait ile hataya kapalı API'ler tasarlarsınız.

📦Çalışan araç

Eğitim sonunda yayınlanabilir bir CLI aracı geliştirirsiniz.

Anahtar Konular

Rust EssentialsRust eğitimiRust sahiplikRust traitRust iteratorRust threadRust clap CLIRust ResultcargoRust temelleri
“Rust size zor gelen kuralları değil, başkalarına bırakacağınız hataları ortadan kaldıran kuralları öğretir.”

Ön Koşullar

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

1
Programlama deneyimi

Herhangi bir dilde değişken, döngü ve fonksiyon yazabilmek yeterlidir; C/C++ bilgisi avantaj sağlar.

2
Komut satırı

Terminalde komut çalıştırma ve dizin yönetimi.

3
Kurulum izni

rustup ve cargo kurabilmek için kendi bilgisayarında kurulum yetkisi.

4
Git temelleri

Depo klonlama ve commit işlemlerini bilmek.

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ı sahiplik ve ödünç alma kurallarını uygular, struct, enum ve trait ile veri modeller.
Modül 1
Rust Araç Zinciri ve Cargo
  • rustup ile toolchain kurulumu; stable, beta, nightly kanalları
  • cargo new, build, run, check ve --release profili
  • Cargo.toml: dependencies, features ve edition 2021
  • cargo fmt ve cargo clippy ile stil ve lint denetimi
  • crates.io, cargo doc --open ve belge yorumları (///)
  • Derleyici hata mesajlarını okumak ve rustc --explain kullanımı
Modül 2
Temel Tipler ve Kontrol Akışı
  • let, mut ve shadowing; değişmezlik varsayılanı
  • Skaler tipler, tuple, array ve taşma davranışı (debug/release)
  • Fonksiyonlar, ifade-deyim ayrımı ve dönüş değeri
  • if, loop, while, for ve etiketli break
  • match ifadesi, desen eşleme, guard ve ..= aralıkları
  • Option ve Result'a ilk bakış: if let ve while let
Modül 3
Sahiplik, Ödünç Alma ve Ömürler
  • Sahiplik kuralları: move, drop ve kapsam sonu
  • Copy ile Clone farkı; hangi tipler Copy'dir
  • Paylaşımlı (&T) ve değiştirilebilir (&mut T) referans kuralları
  • String ile &str, dilimler (slice) ve ödünç alma
  • Lifetime parametreleri ('a), elision kuralları ve struct içinde referans
  • Borrow checker hatalarını okuma ve çözme (E0382, E0499, E0502)
Modül 4
Struct, Enum ve Trait
  • Struct, tuple struct ve impl blokları, ilişkili fonksiyonlar
  • Veri taşıyan enum'lar ve Option/Result'ın enum olarak yapısı
  • Trait tanımı, varsayılan metotlar ve impl Trait
  • #[derive(Debug, Clone, PartialEq, Default)] ve manuel implementasyon
  • Operatör aşırı yükleme: std::ops::Add, Display ve From/Into
  • Modül sistemi: mod, pub, use ve crate yapısı
Günün hedefiKatılımcı iterator zincirleri kurar, hataları Result ile yönetir ve generics ile trait sınırlarını kullanır.
Modül 1
Koleksiyonlar ve Iterator
  • Vec, VecDeque ve dilim işlemleri; kapasite yönetimi
  • HashMap, entry API, BTreeMap ve HashSet
  • Iterator trait'i, map/filter/fold/collect zincirleri
  • Lazy değerlendirme, into_iter/iter/iter_mut farkı
  • Closure'lar: Fn, FnMut, FnOnce ve move closure
  • sort_by_key, dedup, windows, chunks ve zip kullanımı
Modül 2
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 3
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 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ı thread ve kanal kullanır, test yazar ve clap ile komut satırı aracını tamamlar.
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
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
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
Uygulama: Komut Satırı Aracı
  • clap derive ile alt komutlar ve yardım metinleri
  • serde_json ile yapılandırma ve çıktı biçimleri
  • Hata tasarımı: anyhow + özel tipler ve çıkış kodları
  • Entegrasyon testleri (assert_cmd) ve snapshot testi
  • İlerleme çubuğu, renkli çıktı ve log (tracing)
  • cargo build --release, strip ve cross ile çok platform dağıtımı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
Sahiplik ve ömür

Move, borrow ve lifetime kurallarını uygulayabilirsiniz.

🎯
Struct ve enum

Veri modelini enum ve struct ile güvenle ifade edebilirsiniz.

🧩
Trait kullanımı

Trait ve generics ile soyutlama kurabilirsiniz.

🛠️
Iterator zincirleri

map/filter/collect ile verimli veri dönüşümü yapabilirsiniz.

🔍
Hata yönetimi

Result, ? ve thiserror ile sağlam hata akışı kurabilirsiniz.

🚀
Akıllı işaretçiler

Box, Rc, Arc ve RefCell'i doğru yerde kullanabilirsiniz.

📈
Eşzamanlı kod

Thread, mpsc ve Mutex ile güvenli eşzamanlı program yazabilirsiniz.

🧪
CLI aracı

clap ile test edilmiş komut satırı aracı yayınlayabilirsiniz.

Kimler İçin Uygundur?

  • C
  • C++
  • Java
  • Python veya Go ile çalışan geliştiriciler ve güvenli
  • hızlı sistem yazılımı öğrenmek isteyen mühendisler için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C, C++, Java, Python veya Go ile çalışan geliştiriciler ve güvenli, hızlı sistem yazılımı öğrenmek isteyen mühendisler için uygundur.
Rust öğrenmek zor mu?
Borrow checker başta zorlayıcı olabilir; eğitimde derleyici hatalarının okunması ve çözümü adım adım çalışılır.
C/C++ bilmem gerekiyor mu?
Gerekmez; her dilden gelen geliştiriciler için tasarlanmıştır.
Hangi proje yapılır?
clap tabanlı, serde ile JSON okuyan, testli ve release derlemesi alınan bir komut satırı aracı.
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 Essentials: Building Better Software Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

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

Bu Eğitimle Birlikte Tercih Edilenler

+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn