Rust: sahiplik, ödünç alma ve trait'ler
Rust'ın güvenlik modelinin kalbi olan sahiplik ve ödünç alma kurallarını kavrar; trait'ler, genel türler ve yineleyicilerle tekrar kullanılabilir kod yazarsın.
Seviye 201 · 19 ders · 18 pratik lab
Dersler
Sahiplik
- Yığın, öbek ve sahiplik kuralları
- Taşıma, Copy ve Clone
- Ödünç alma: & ve &mut
- Ödünç denetleyicisinin hatalarını okumak
- Dilimler: dizinin bir parçasına güvenli bakış
- Yaşam süreleri: 'a ne anlatır?
- Kısa görev: derlenmeyen beş programı düzelt
Trait'ler ve genel türler
- Trait tanımlamak ve uygulamak
- Genel türler ve trait sınırları
- derive ile Debug, Clone, PartialEq
- dyn Trait ile dinamik dağıtım
- İşleç trait'leri ve From, Into
- Kısa görev: ortak arayüzlü bildirim kanalları
Yineleyiciler ve akıllı işaretçiler
- Kapanışlar ve Fn trait'leri
- Yineleyiciler: map, filter, collect
- Box, Rc ve RefCell
- thiserror ve anyhow ile hata türleri
- Kısa görev: envanteri yineleyici zinciriyle raporla
Bitirme
- Bitirme görevi: trait tabanlı, testli kayıt deposu
Pratik lablar
- Renk tipi için Display ve FromStr yazmak: Onaltılık renk kodunu taşıyan tip için Display ve FromStr uygula; metne çevirip geri okumak aynı değeri vermeli.
- Doğrulanmış tipi TryFrom ile kurmak: Yalnızca geçerli posta kodlarını kabul eden yeni tipi TryFrom ile kur, Ord ve Hash türet ve geçersiz değerin hiçbir yoldan oluşturulamadığını testle göster.
- Ödünç alma hatasını düzeltmek: Bir vektöre referans tutarken eleman eklemeye çalışan kodu kapsamları yeniden düzenleyerek derlenir hale getir.
- Gereksiz clone çağrılarını kaldırmak: Her yerde clone kullanan bir rapor kodunu &str ve & ödünçleriyle yeniden yaz; testler geçsin, clone sayısı sıfıra insin.
- İki değiştirilebilir ödüncü ayırmak: Bir dizinin iki elemanını aynı anda değiştirmek isteyen fonksiyonu split_at_mut ile derlenir ve doğru yap.
- Komut satırından ilk sözcüğü dilimlemek: Bir komut satırının ilk sözcüğünü yeni String üretmeden &str dilimi olarak döndür.
- Yaşam süresi etiketiyle en uzun satırı döndürmek: İki metinden uzun olanı döndüren fonksiyona doğru yaşam süresi parametresini ekle ve derleme hatalarını gider.
- Referans tutan ayrıştırıcı yapısı: Girdi metnine referans tutan bir Tokenizer yapısı yaz; belirteçleri kopyalamadan dilim olarak döndürsün.
- Şekiller için alan özelliği tanımlamak: Daire, dikdörtgen ve üçgen için ortak bir Area trait'i uygula ve toplam alanı hesaplayan testleri geçir.
- Trait sınırlı genel en büyük fonksiyonu: PartialOrd ve Copy sınırlarıyla her tür için çalışan genel bir max_of fonksiyonu yaz; boş dilim None dönsün.
- Para türü için From ve Add uygulamak: Defne Finans'ın kuruş tabanlı Money türüne From<u64> ve Add uygula; farklı para birimlerini toplamak hata versin.
- dyn Trait ile dışa aktarıcı seçmek: CSV ve JSON dışa aktarıcılarını Box<dyn Exporter> listesinde topla ve biçime göre doğru aktarıcıyı çalıştır.
- Siparişleri yineleyici zinciriyle süzmek: Döngüyle yazılmış sipariş toplamını filter, map ve sum zinciriyle yeniden yaz; sonuç aynı kalsın.
- Durum tutan kapanış yazmak: Her çağrıda artan bir sayaç döndüren FnMut kapanışı üret ve onu yeniden deneme mantığında kullan.
- Sayfalı sonuçlar için yineleyici: Sayfa sayfa veri döndüren bir kaynak için Iterator trait'ini uygula; son sayfada temiz biçimde dursun.
- Rc ve RefCell ile paylaşılan sayaç: Birden çok görev nesnesinin ortak bir sayaca yazdığı yapıyı Rc<RefCell<..>> ile kur ve ödünç paniğine yol açma.
- Kendi hata türünü tanımlamak: Yapılandırma okuyucusu için thiserror ile eksik alan ve geçersiz değer hatalarını ayıran bir enum tanımla.
- Box ile özyinelemeli ifade ağacı: Toplama ve çarpma düğümlerinden oluşan ifade ağacını Box ile tanımla, hesapla ve sıfıra bölmeyi hata olarak döndür.
Kurs hakkında
Rust'ın güvenlik modelinin kalbi olan sahiplik ve ödünç alma kurallarını kavrar; trait'ler, genel türler ve yineleyicilerle tekrar kullanılabilir kod yazarsın.
Ne öğreneceksin
- Sahiplik
- Trait'ler ve genel türler
- Yineleyiciler ve akıllı işaretçiler
- Bitirme
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.