İçeriğe geç
academia.sh

Kurs İleri

Rust Ekosistemi ve İleri Konular

Yayın Güncelleme

Bu kursun sonunda

Kursa başla

01

Makrolar ve Metaprogramlama

Desen tabanlı kod üretiminin bir şablondan çok bir dil kesiti olması, öznitelik ve türetme biçimindeki üretimin ayrı bir derleme adımına taşınması, ve üretilen sözdiziminin okunabilir bir arayüz kurmakta kullanılması.

  1. 01 Bildirimsel Makrolar Kursun ölçüm çekirdeği program içinden koşturulur ve on iki gözlemi dört sınıfa yerleştirir — sürdürüyor, devredildi, dilin dışında, denetlenmiyor; dağılım 4/3/2/3'tür ve bu ders yalnız 'sürdürüyor' sınıfına düşen iki gözlemi derinleştirir: makronun ürettiği gövde tip denetiminden geçiyor, makronun içindeki ad çağıranınkini bozmuyor.
  2. 02 Prosedürel Makrolar Bir program std::process::Command ile derleyiciyi iki kez çağırır — önce bir prosedürel makro kasasını, sonra onu kullanan kaynağı — ve yalnız derlendi/derlenmedi ile çıktı eşleşmesini basar; üretilen gövde yine sürdürüyor sınıfına düşer, ama bu kez üretim aynı dosyada değil, ayrı bir derleme adımında gerçekleşir.
  3. 03 Alan Özel Diller Aynı yönlendirme yapısı bir makro yazımıyla ve elle kurulan yazımla ayrı ayrı oluşturulur, aynı sonucu verdiği koşturularak gösterilir ve makro yazımının kaynağı kaç satır kısalttığı sayılır; ama makro çıktısının okunaklı olması doğruluk getirmez — mantıksal olarak yanlış bir yol-işlev bağı da aynı kolaylıkla tip denetiminden geçer.

02

Düşük Seviye ve Birlikte Çalışma

Derleyicinin belirli işlemlerde denetimi yazana devretmesi ve bunun sözleşmesi, başka bir dilin işlevlerinin yalnız imzasına güvenilerek çağrılması, tarayıcıda koşan bir hedefin getirdiği kısıtlar, ve standart kütüphanesiz ortamların neyi elden aldığı.

  1. 01 `unsafe` Rust unsafe bloğunun derleyicinin bütün denetimini değil, yalnız birkaç belirli işlemi kapsayan denetimini kapattığı; aynı blok içinde bir ham işaretçi okumasının denetimsiz kaldığı ama bir dilim sorgusunun hâlâ denetlendiği koşturularak gösterilir.
  2. 02 Yabancı Fonksiyon Arayüzü Derleyicinin gövdesini hiç görmediği bir C işlevinin, yalnız bildirilen imzasına güvenilerek çağrılması; iki yabancı çağrının sonucunun Rust'ın kendi karşılığıyla eşleştiği koşturularak gösterilir ve bildirimin doğruluğunun yazanın sorumluluğunda olduğu açıklanır.
  3. 03 WebAssembly Hedefi Aynı kaynağın koştuğu hedefe göre farklı bir gövdeye ihtiyaç duyması: standart kütüphanenin bir parçasına (dosya sistemi) dayanan bir gövde ile hiç dayanmayan bir gövde koşullu derlemeyle ayrılır, ikisi de yerel hedefte koşturulur ve aynı sonucu verir.
  4. 04 Gömülü Hedefler Standart kütüphanenin temelindeki işletim sistemi hizmetlerinin (yazdırma, bellek ayırma, panik işleme) hiç bulunmadığı bir hedefin kaynakta nasıl görünür kılındığı; aynı işi bir kez ayırma yaparak, bir kez sabit boyutlu bir tamponla yazan iki gövdenin aynı sonucu verdiği koşturularak gösterilir.

03

Proje Yaşam Döngüsü

Koşullu derlemeyle modüler bir kitaplık kurmak, birim ve tümleşim sınamalarıyla rastgele girdi üretiminin verdiği güvence, başarım iddialarının sayıyla doğrulanması, kaynaktan üretilen belgenin sınanabilir örnekleri, ve bir sürümün ne söz verdiği.

  1. 01 Bağımlılık ve Özellik Bayrakları Koşullu derlemeyle dışarıda bırakılan bir kaynak parçasının derleyici tarafından hiç görülmediğinin, bu gözlemin iki ayrı özellik bayrağıyla tekrarlanarak sınıfının (denetlenmiyor) doğrulanması.
  2. 02 Test ve Özellik Tabanlı Sınama Sabit tohumlu, belirlenimci bir üreteçle üretilen iki yüz girdide bir özelliğin tutup tutmadığının sayılması ve bu sayının, derleyicinin hiç sormadığı bir soruyu hangi sınırla yanıtladığının gösterilmesi.
  3. 03 Karşılaştırmalı Ölçüm ve Profilleme Aynı dizinin iki ayrı sıralama yazımıyla karşılaştırma ve kopyalama sayısının sayılması ve bu sayının bir yazımın süresini öbüründen kısa ilan etmek için neden yetmediğinin gösterilmesi.
  4. 04 Belgelendirme Bir belge cümlesinin işlevin gerçek davranışıyla çeliştiği ama hiçbir araç tarafından denetlenmediği ve aynı işlevin belge içindeki çalışan örneğinin, belge aracı program içinden çağrılarak gerçekten sınandığı gösterilerek, aynı kaynakta iki güvence sınıfının nasıl yan yana durabildiğinin ölçülmesi.
  5. 05 Yayımlama Bir sürüm dizesinin kaynakta durup gövdeyle hiçbir denetimden geçmediği, sürüm uyumunun imza düzeyinde modellendiği ve aynı imzanın farklı davranış verebildiği — sözün imzada durduğu, davranışta durmadığı — koşturularak gösterilir.

Bitirme sınavı

Rust Ekosistemi ve İleri Konular — Bitirme Sınavı

Hazırlanıyor

Bu kursun soru bankası henüz tamamlanmadı. Yeterli soru eklendiğinde sınav burada otomatik olarak açılır.

Aramak için yazmaya başlayın.

↑↓ ↵ Esc gezin · aç · kapat