Author(s): Shing LYu
Publisher: apress
Year: 2020
Language: English
Pages: 265
Tags: Rust
Table of Contents
About the Author
About the Technical Reviewer
Chapter 1: Welcome to the World of Rust
Who Is This Book For?
Who Is This Book Not For?
Criteria for Selecting Libraries
Pure Rust
Maturity
Popularity
How To Use This Book
Chapter Overview
Source Code
Chapter 2: Building a Command-Line Program
Introduction
What Are You Building?
Creating a Binary Project
Reading Command-Line Arguments with std::env::args
Handling Complex Arguments with StructOpt
Adding Binary Flags (aka Switches)
Printing to STDERR
Printing with Color
Reading the Cat Picture from a File
Better Error Handling
Piping to Other Commands
Piping to STDOUT Without Color
Accepting STDIN
Integration Testing
Publishing and Distributing the Program
Install from Source
Publish to crates.io
Building Binaries for Distribution
Conclusion
Chapter 3: Creating Graphical User Interfaces (GUIs)
What Are You Building?
Building a Text-Based User Interface
Showing a Dialog Box
Handling Simple Keyboard Inputs
Adding a Dialog
Multi-Step Dialogs
Reading User Input
Moving to Graphical User Interfaces (GUIs)
Creating a Window
Displaying an Image
Using Glade to Design the UI
Accepting Inputs and Button Clicks
Reading a gtk::Switch
Other Alternatives
Chapter 4: Building a Game
What Are You Building?
Amethyst and the Entity-Component-System Pattern
Creating an Amethyst Project
Creating a Window
Seeing the World Through a Camera
Adding the Cats
Moving the Cats
Creating the Ball
Can’t Defy Gravity
Making the Ball Bounce
Keeping Score
Let There Be Music
Other Alternatives
Chapter 5: Physical Computing in Rust
What Are You Building?
Physical Computing on Raspberry Pi
Getting to Know Your Raspberry Pi
Install Raspbian Through NOOBS
Install the Rust Toolchain
Controlling the GPIO Pins
Building a LED Circuit
Controlling the GPIO Output from Rust
Reading Button Clicks
Cross-Compiling to Raspberry Pi
How Does the GPIO Code Work?
Where Do You Go from Here?
Chapter 6: Artificial Intelligence and Machine Learning
What Is Machine Learning?
Supervised vs. Unsupervised Learning
What Are You Building?
Introducing the rusty-machine Crate
Clustering Cat Breeds with K-Means
Introduction to the K-Means Algorithm
The Training Data
Exporting as CSV
Moving the Configuration Into a File
Visualizing the Data
Setting Up K-Means
Detecting Cats versus Dogs with the Neural Network
Introduction to Neural Networks
Preparing the Training and Testing Data
Setting Up the Neural Network Model
Reading the Training and Testing Data
Normalizing the Training Data
Training and Predicting
Making the Prediction
Other Alternatives
Chapter 7: What Else Can You Do with Rust?
The End Is Just the Beginning
The Web
Backend
Frontend
Web Browser and Crawler
Mobile
Operating Systems and Embedded Devices
Unlimited Possibilities of Rust
Index