- Rust dasturlash tili
- Muqaddima
- Kirish
- 1. Ishni boshlash
- 1.1. O'rnatish
- 1.2. Hello, World!
- 1.3. Hello, Cargo!
- 2. Taxmin qilish o'yinini dasturlash
- 3. Umumiy dasturlash tushunchalari
- 3.1. O'zgaruvchilar va o'zgaruvchanlik
- 3.2. Ma'lumotlar turlari
- 3.3. Funksiyalar
- 3.4. Izohlar
- 3.5. Control Flow
- 4. Ownershipni tushunish
- 4.1. Ownership nima?
- 4.2. Referencelar va Borrowing
- 4.3. Slice turi
- 5. Tegishli ma'lumotlarni tuzish uchun Structdan foydalanish
- 5.1. Structlarni aniqlash va yaratish
- 5.2. Structs yordamida namunaviy dastur
- 5.3. Metod sintaksisi
- 6. Enumlar va patternlarni moslashtirish
- 6.1. Enumni aniqlash
- 6.2. match Control Flow konstruksiyasi
- 6.3. if let bilan qisqacha Control Flow
- 7. O'sib borayotgan loyihalarni Paketlar, Cratelar va Modullar bilan boshqarish
- 7.1. Paketlar va Cratelar
- 7.2. Qo'llanish doirasi va maxfiylikni nazorat qilish uchun modullarni aniqlash
- 7.3. Modul daraxtidagi elementga murojaat qilish yo'llari
- 7.4. use kalit so'zi bilan yo'llarni qamrab olish
- 7.5. Modullarni turli fayllarga ajratish
- 8. Umumiy to'plamlar
- 8.1. Vectorlar bilan qiymatlar ro'yxatini saqlash
- 8.2. UTF-8 kodlangan matnni Stringlar bilan saqlash
- 8.3. Hash Mapda bog'langan qiymatlarga ega kalitlarni saqlash
- 9. Xatolar bilan ishlash
- 9.1. panic! bilan tuzatib bo'lmaydigan xatolar
- 9.2. Result bilan tiklanadigan xatolar
- 9.3. panic! yoki panic! emas
- 10. Umumiy turlar, traitlar va lifetime
- 10.1. Generik ma'lumotlar turlari
- 10.2. Traitlar: umumiy xatti-harakatni aniqlash
- 10.3. Referencelarni lifetime bilan tekshirish
- 11. Avtomatlashtirilgan testlarni yozish
- 11.1. Testlarni qanday yozish kerak
- 11.2. Sinovlar qanday o'tkazilishini nazorat qilish
- 11.3. Test tashkil etish
- 12. I/O loyihasi: Buyruqlar qatori dasturini yaratish
- 12.1. Buyruqlar qatori argumentini qabul qilishs
- 12.2. Faylni o'qish
- 12.3. Modullikni yaxshilash va xatolarni qayta ishlash uchun refactoring
- 12.4. Sinovga asoslangan ishlab chiqish bilan kutubxonaning funksionalligini rivojlantirish
- 12.5. Environment o'zgaruvchilari bilan ishlash
- 12.6. Xato xabarlarini standart chiqish o'rniga standart xatoga yozish
- 13. Funksional til xususiyatlari: iteratorlar va closurelar
- 13.1. Closurelar: Environmentni qamrab oladigan anonim funksiyalar
- 13.2. Iteratorlar bilan bir qator elementlarga ishlov berish
- 13.3. I/O loyihamizni takomillashtirish
- 13.4. Ishlash samaradorligini solishtirish: Looplar va iteratorlar
- 14. Cargo va Crates.io haqida ko'proq
- 14.1. Reliz profillari bilan structlarni moslashtirish
- 14.2. Crateni Crates.io-ga nashr qilish
- 14.3. Cargo Workspacelar
- 14.4. Binary fayllarni Crates.io'dan cargo install bilan o'rnatish
- 14.5. Maxsus buyruqlar bilan Cargoni kengaytirish
- 15. Smart Pointerlar
- 15.1. Heapdagi ma'lumotlarni ko'rsatish uchun Box<T> dan foydalanish
- 15.2. Deref Traitidan foydalangan holda oddiy referencelar kabi Smart Pointerlar bilan ishlash
- 15.3. Drop Traiti bilan tozalashda kodni ishga tushirish
- 15.4. Rc<T>, reference hisoblangan Smart Pointer
- 15.5. RefCell<T> va ichki o'zgaruvchanlik namunasi
- 15.6. Reference Cycles Can Leak Memory
- 16. Qo'rqmas parallellik
- 16.1. Kodni bir vaqtning o'zida ishga tushirish uchun threadlardan foydalanish
- 16.2. Threadlar orasidagi ma'lumotlarni uzatish uchun Message Passing(xabar uzatish)dan foydalanish
- 16.3. Shared-State Concurrency
- 16.4. Sync va Send traitlari bilan kengaytiriladigan parallellik
- 17. Rustning ob'ektga yo'naltirilgan dasturlash xususiyatlari- OOP
- 17.1. Ob'ektga yo'naltirilgan tillarning xususiyatlari
- 17.2. Har xil turdagi qiymatlarga ruxsat beruvchi trait ob'ektlaridan foydalanish
- 17.3. Ob'ektga yo'naltirilgan dizayn patternini implement qilish
- 18. Patternlar va Matching
- 18.1. All the Places Patterns Can Be Used
- 18.2. Refutability: Whether a Pattern Might Fail to Match
- 18.3. Pattern Sintaksisi
- 19. Kengaytirilgan Xususiyatlar
- 19.1. Xavfsiz Rust
- 19.2. Murakkab Traitlar
- 19.3. Kengaytirilgan Turlar
- 19.4. Kengaytirilgan funksiyalar va closurelar
- 19.5. Makrolar
- 20. Yakuniy loyiha: Ko'p tarmoqli veb-serverni qurish
- 20.1. Yagona tarmoqli veb-serverni qurish
- 20.2. Bizning yagona tarmoqli serverimizni ko'p tarmoqli serverga aylantirish
- 20.3. Ajoyib o'chirish va tozalash
- 21. Ilova
- 21.1. A - Kalit so'zlar
- 21.2. B - Operatorlar va Symbollar
- 21.3. C - Hosilaviy Traitlar
- 21.4. D - Foydali Development Toollar
- 21.5. E - Nashrlar
- 21.6. F - Kitobning tarjimalari
- 21.7. G - Rust qanday yasaladi va “Nightly Rust”