flowchart TD
Notes -.-> Problem-based
Notes -.-> Observations
Notes --You are here--> Logs[<strong>Logs</strong>]
Notes -.-> Challenges
Notes -.-> Electronics
click Problem-based "https://gist.github.com/wzulfikar/ba2f58d7aeeb3cf53743316f96f91594"
click Observations "https://gist.github.com/wzulfikar/2cff9bcd64ba5f15296e0b57ff402f79"
click Logs "https://gist.github.com/wzulfikar/5ea5779d7f2ea0e27809e94e7904f93d"
click Challenges "https://gist.github.com/wzulfikar/7d5e9426d1c7efc3ceeabb29adb2f4fd"
click Electronics "https://gist.github.com/wzulfikar/16c3b5f10b8f28d8b0e325d03c948d1c"
Problem-based · Observations · Logs · Challenges · Electronics
Log #1 · Learning Rust 🦀
In 2018 I started learning Go and built some systems with it (GraphQL backend, Telegram bot). Around that time, I got to know Rust and my first impression was the slower compilation time and steeper learning curve (borrow checker, lifetimes). Borrow checker is what made me interested in Rust at first. However, I never actually dig deeper to understand how and why it works.
Now, with so many tools built with Rust (swc, ripgrep), learning Rust is even more interesting because I get to see it in the tools that I use every day.
My plan is to get thru the new concepts first and then walk up to higher level understanding. Here's the resources that I find helpful:
YouTube channel: Code to the Moon.
It helps me understand borrow checker, containers, lifetimes, and other things that I haven't used before. The pace is fits me well and the sample codes are easy to understand.
YouTube channel: No Boilerplate
Compared to Code to the Moon, No Boilerplate talks about Rust concept at a higher level. It's really nice because it helps me consolidate the details I learned from Code to the Moon. It lets me see the bigger picture. I basically watched all the videos in Rust Talks playlist.
Udemy course (paid): Ultimate Rust Crash Course
The YouTube videos helped me far with understanding the fundamentals but I wanted to do something from start to end so I can crystalize my understanding and I find this course helpful. It's not free but in hindsight, it's worth it. If you stumbled upon Udemy sales promotion, you could get it for ~$9 which is very cheap compared to what you get.
The course has a Github repo where you'll work thru the exercises. I did the exercises, and it's actually helpful. If you just want to do the exercises, you don't need to buy the course. There's also Ultimate Rust 2: Intermediate Concepts which is a continuation of this course. I love how Nathan Stocks teach the course and so I got it too.
Book: The Rust Programming Language
This was actually my first resource but I couldn't really grasp what's in there, likely because I didn't have enough fundamentals to understand it. But now, things makes more sense and it's sometimes easier to refer to a book instead of video.
So that's it. It's been 3 weeks since I started the learning, roughly 1 hour every other day. It's not much, but it's not nothing. The goal is to be comfortable working in Rust codebase. The structure, the test, the development process. I think I can get there. Let's see :)
▲▼▲