https://learning.oreilly.com/library/view/programming-rust-2nd/9781492052586
https://learning.oreilly.com/search/topics/rust