Langkah Selanjutnya Belajar Rust
Kalau kamu sudah mengikuti topik-topik di kursus ini, sebenarnya kamu sudah cukup menguasai Rust untuk membuat program sungguhan: variabel, alur kontrol, fungsi, ownership (kepemilikan), borrowing (peminjaman), koleksi, modul, penanganan error, trait, generics, bahkan thread, smart pointer, unsafe, dan makro. Itu memang sebagian besar dari yang akan kamu pakai sehari-hari. Sisanya kebanyakan soal latihan dan mempelajari library tertentu saat kamu membutuhkannya.
Buat sesuatu yang kecil
Section titled “Buat sesuatu yang kecil”Cara tercepat untuk benar-benar belajar dari sini adalah memilih proyek kecil dan beberapa kali mentok. Situs ini punya lima proyek terpandu untuk memulai:
- Game Tebak Angka: proyek Rust pertama yang klasik, berisi input, perulangan, dan
match. - Penghitung Kata: membaca file teks dan memakai
HashMapuntuk menghitung kata. - Daftar Tugas CLI: latihan
Vec,struct,enum, dan menyimpan data ke file. - CLI dengan clap: tool command-line sungguhan dengan subcommand dan
--help. - Web API dengan Axum: server API JSON yang dibangun di atas async/await.
Setelah selesai, coba buat satu sendiri:
- Kalkulator sederhana: latihan
match,Result, dan penanganan error untuk input yang salah. - Pembaca konfigurasi JSON: memuat pengaturan dari file dengan Serde.
- Web scraper atau API client kecil: mengambil sebuah URL dengan
reqwestdi atas async/await.
Belum yakin program seperti apa yang ingin kamu buat? Halaman-halaman “Apa yang bisa kamu buat” menunjukkan di bidang apa Rust unggul dan crate apa yang dipakai orang: jaringan (networking), database, aplikasi GUI desktop, game, dan mikrokontroler.
Mau latihan yang lebih kecil dulu? Kerjakan Latihan Rust, atau uji dirimu dengan Pertanyaan Wawancara Rust.
Crate yang perlu kamu kenal
Section titled “Crate yang perlu kamu kenal”Ekosistem paket Rust (disebut crate, dibagikan lewat crates.io) sudah mencakup hampir semua hal yang biasanya kamu cari library-nya. Beberapa yang sering sekali muncul:
serde: untuk membaca dan menulis JSON (dan format lain); lihat JSON dengan Serdeclap: untuk membuat parser argumen command-line; lihat proyek clapanyhow/thiserror: untuk penanganan error di aplikasi dan library; lihat anyhow & thiserrorrand,regex, danchrono: angka acak, regular expression, dan tanggal; lihat Angka Acak, Regex, dan Tanggal & Waktulog/tracing: untuk logging; lihat Loggingreqwest: untuk mengirim request HTTPtokio: untuk pemrograman async; lihat Async/Await
Kamu bisa menambahkan crate mana pun ke proyek dengan cargo add <nama crate>, tanpa perlu package manager terpisah. Halaman Cargo dan Crate menjelaskan cara kerjanya dan cara memilih crate yang bagus.
Topik yang tidak kita bahas
Section titled “Topik yang tidak kita bahas”Kursus ini membahas lebih jauh daripada kebanyakan tutorial untuk pemula, termasuk smart pointer, thread dan channel, async/await, unsafe Rust, memanggil C (FFI), WebAssembly, dan menulis makro macro_rules! sendiri. Beberapa topik yang lebih dalam punya halamannya sendiri, untuk saat kamu sudah siap:
- Procedural macro: saudara makro
macro_rules!dari halaman Makro yang lebih kuat (dan lebih rumit). Makro jenis inilah yang bekerja di balik#[derive(Debug)]dan sejenisnya. - no_std / Rust embedded: menulis Rust tanpa standard library, untuk mikrokontroler dan lingkungan lain yang sumber dayanya terbatas.
Kamu tidak butuh semua ini untuk menulis Rust yang berguna. Cukup tahu bahwa topik-topik ini ada, lalu pelajari saat kamu benar-benar menemui masalah yang membutuhkannya.
Tempat untuk terus belajar
Section titled “Tempat untuk terus belajar”- The Rust Book (bahasa Inggris): baca lagi sekarang setelah dasarnya sudah “klik”; banyak bagian akan terasa lebih masuk akal di bacaan kedua
- Rust by Example (bahasa Inggris): lebih banyak kode beranotasi untuk dibaca
- Rustlings (bahasa Inggris): latihan-latihan kecil yang kamu perbaiki langsung di terminal
- This Week in Rust (bahasa Inggris): newsletter mingguan untuk melihat apa yang sedang dibangun komunitas
Satu catatan jujur terakhir
Section titled “Satu catatan jujur terakhir”Kamu akan tetap menemui error kompiler yang membingungkan, dan itu normal. Hal ini juga dialami orang yang sudah bertahun-tahun menulis Rust, bukan cuma pemula. Bedanya, pengalaman tidak membuat error itu berhenti muncul; pengalaman membuatmu lebih cepat membacanya. Terus menulis kode, terus baca apa yang dikatakan kompiler, dan semuanya akan terasa makin mudah.
Semoga sukses, dan terima kasih sudah bertahan sampai sejauh ini. 🦀
Kuis singkat
Section titled “Kuis singkat”Kuis singkat
1. Crate mana yang direkomendasikan di sini untuk membaca dan menulis JSON?
2. Crate mana yang disebutkan untuk pemrograman async?
3. Manakah yang disebut di halaman ini sebagai topik yang TIDAK dibahas?
Skor: 0 / 3