Rust Programlama Dili
Önsöz
Giriş
1.
Başlarken
1.1.
Kurulum
1.2.
Merhaba, Dünya
1.3.
Merhaba, Cargo
2.
Bir Tahmin Oyunu Programlamak
3.
Ortak Programlama Kavramları
3.1.
Değişkenler ve Değişkenlik
3.2.
Veri Türleri
3.3.
İşlevler
3.4.
Yorumlar
3.5.
Kontrol Akışı
4.
Mülkiyeti Anlamak
4.1.
Mülkiyet Nedir?
4.2.
Referanslar ve Borçlanma
4.3.
Dilim Türü
5.
İlişkili Verileri Yapılandırmak için Yapıları Kullanmak
5.1.
Yapıları Tanımlamak ve Örneklemek
5.2.
Yapıları Kullanan Örnek Bir Program
5.3.
Metod Sözdizimi
6.
Sıralamalar ve Örüntü Eşleme
6.1.
Bir Sıralama Tanımlamak
6.2.
Kontrol Akışı İşleci match
6.3.
if let ile Kısa Kontrol Akışı
7.
Büyüyen Projeleri Paketler, Sandıklar ve Modüller ile Yönetmek
7.1.
Paketler ve Sandıklar
7.2.
Kapsam ve Gizlilik Kontrolü İçin Modül Tanımlamak
7.3.
Modül Ağacındaki Bir Öğeye Başvurmanın Yolları
7.4.
use Anahtar Kelimesi ile Yolları Kapsama Getirmek
7.5.
Modülleri Farklı Dosyalara Ayırmak
8.
Ortak Koleksiyonlar
8.1.
Değer Listelerini Vektör Kullanarak Depolamak
8.2.
Dizgelerle UTF-8 Kodlu Metinleri Saklamak
8.3.
İlişkili Değerlere Sahip Anahtarları Eşleme Haritalarında Saklamak
9.
Hata Yönetimi
9.1.
panic! ile Kurtarılamaz Hatalar
9.2.
Result ile Kurtarılabilir Hatalar
9.3.
panic! Olmak ya da panic! Olmamak
10.
Genellenmiş Türler, Özellikler ve Yaşam Süreleri
10.1.
Genellenmiş Veri Türleri
10.2.
Özellikler: Paylaşılan Davranışı Tanımlamak
10.3.
Referansları Yaşam Süreleri ile Doğrulamak
11.
Otomatik Testler Yazmak
11.1.
Testler Nasıl Yazılır?
11.2.
Testlerin Nasıl Çalıştırılacağını Denetlemek
11.3.
Test Organizasyonu
12.
Bir I/O Projesi: Komut Satırı Programı Oluşturmak
12.1.
Komut Satırı Argümanlarını Kabul Etmek
12.2.
Bir Dosyayı Okumak
12.3.
Modülerlik ve Hata Yönetimini Geliştirmek İçin Yeniden Düzenlemek
12.4.
Test Odaklı Geliştirme ile Kütüphane İşlevselliğini Artırmak
12.5.
Ortam Değişkenleriyle Çalışmak
12.6.
Hata Mesajlarını Standart Çıktı Yerine Standart Hataya Yazmak
13.
İşlevsel Dil Özellikleri: Yineleyiciler ve Kapamalar
13.1.
Kapamalar: Ortam Değişkenlerini Yakalayabilen İsimsiz İşlevler
13.2.
Yineleyiciler ile Bir Dizi Öğeyi İşlemek
13.3.
I/O Projemizi Geliştirmek
13.4.
Performans Karşılaştırması: Döngüler vs. Yineleyiciler
14.
Cargo ve Crates.io Hakkında Daha Fazla Bilgi
14.1.
Sürüm Profilleriyle Derlemeleri Özelleştirmek
14.2.
Bir Sandığı Crates.io Üzerinde Yayınlamak
14.3.
Cargo Çalışma Alanları
14.4.
Crates.io Üzerindeki İkili Sandıkları cargo install Komutuyla Yüklemek
14.5.
Özel Komutlarla Cargo Olanaklarını Genişletmek
15.
Akıllı İşaretçiler
15.1.
Heap Üzerindeki Verilere İşaret Etmek İçin Box
Kullanmak
15.2.
Deref Özelliği ile Akıllı İşaretçilere Normal Referanslar Gibi Davranmak
15.3.
Drop Özelliği ile Kodu Temizlik Amaçlı Çalıştırmak
15.4.
Rc
, Referans Sayılı Akıllı İşaretçi
15.5.
RefCell
ve İç Değişkenlik Modeli
15.6.
Referans Çevrimleri Bellek Sızıntısına Yol Açabilir
16.
Korkusuz Eşzamanlılık
16.1.
Eşzamanlı Kod Çalıştırmak İçin İşlikleri Kullanmak
16.2.
İşlikler Arasında Veri Aktarmak Amacıyla Mesajlaşma
16.3.
Durum Paylaşımlı Eşzamanlılık
16.4.
Sync and Send Özellikleri ile Genişletilebilir Eşzamanlılık
17.
Rust'ın Nesne Yönelimli Programlama Özellikleri
17.1.
Nesne Yönelimli Dillerin Özellikleri
17.2.
Farklı Türden Değerlere İzin Veren Özellik Nesnelerini Kullanmak
17.3.
Nesne Yönelimli Tasarım Kalıbı Uygulamak
18.
Örüntü ve Eşleme
18.1.
Örüntüler Her Yerde Kullanılabilir
18.2.
Çürütülebilirlik: Bir Örüntünün Eşleşmeme İhtimali
18.3.
Örüntü Sözdizimi
19.
Gelişmiş Özellikler
19.1.
Emniyetsiz Rust
19.2.
Gelişmiş Özellikler
19.3.
Gelişmiş Türler
19.4.
Gelişmiş İşlev ve Kapamalar
19.5.
Makrolar
20.
Final Projesi: Çok İşlikli Web Sunucusu Oluşturmak
20.1.
Tek İşlikli Bir Web Sunucusu Oluşturmak
20.2.
Tek İşlikli Sunucumuzu Çok İşlikli Bir Sunucuya Dönüştürmek
20.3.
Sorunsuzca Kapatmak ve Temizlik
21.
Ekler
21.1.
A - Anahtar Kelimeler
21.2.
B - İşleçler ve Semboller
21.3.
C - Türetilebilir Özellikler
21.4.
D - Faydalı Geliştirme Araçları
21.5.
E - Sürümler
21.6.
F - Kitabın Çevirileri
21.7.
G - Rust Nasıl “Nightly Rust” Yapılır?
Light (default)
Rust
Coal
Navy
Ayu
Test Organizasyonu