<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Course on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/course/</link>
        <description>Recent content in Course on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Wed, 03 Sep 2025 15:27:52 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/course/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>comprehensive-rust</title>
        <link>https://producthunt.programnotes.cn/en/p/comprehensive-rust/</link>
        <pubDate>Wed, 03 Sep 2025 15:27:52 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/comprehensive-rust/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1542707088-7fa1c72006d8?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTY4ODQzNjh8&amp;ixlib=rb-4.1.0" alt="Featured image of post comprehensive-rust" /&gt;&lt;h1 id=&#34;googlecomprehensive-rust&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/comprehensive-rust&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;google/comprehensive-rust&lt;/a&gt;
&lt;/h1&gt;&lt;h1 id=&#34;comprehensive-rust-&#34;&gt;Comprehensive Rust 🦀
&lt;/h1&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/comprehensive-rust/actions/workflows/build.yml?query=branch%3Amain&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/actions/workflow/status/google/comprehensive-rust/build.yml?style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Build workflow&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/comprehensive-rust/graphs/contributors&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/contributors/google/comprehensive-rust?style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub contributors&#34;
	
	
&gt;&lt;/a&gt;
&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/comprehensive-rust/stargazers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://img.shields.io/github/stars/google/comprehensive-rust?style=flat-square&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;GitHub stars&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This repository has the source code for Comprehensive Rust 🦀, a multi-day Rust
course developed by the Android team. The course covers all aspects of Rust,
from basic syntax to generics and error handling. It also includes deep dives on
&lt;a class=&#34;link&#34; href=&#34;https://google.github.io/comprehensive-rust/android.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Android&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://google.github.io/comprehensive-rust/chromium.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chromium&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://google.github.io/comprehensive-rust/bare-metal.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;bare-metal&lt;/a&gt;, and &lt;a class=&#34;link&#34; href=&#34;https://google.github.io/comprehensive-rust/concurrency.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;concurrency&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Read the course at &lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://google.github.io/comprehensive-rust/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://google.github.io/comprehensive-rust/&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;course-format-and-target-audience&#34;&gt;Course Format and Target Audience
&lt;/h2&gt;&lt;p&gt;The course is used internally at Google when teaching Rust to experienced
software engineers. They typically have a background in C++ or Java.&lt;/p&gt;
&lt;p&gt;The course is taught in a classroom setting and we hope it will be useful for
others who want to teach Rust to their team. The course will be less useful for
self-study since you miss out on the discussions happening in the classroom. You
don&amp;rsquo;t see the questions and answers and you don&amp;rsquo;t see the compiler errors we
trigger when going through the code samples. We hope to improve on this via
&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/comprehensive-rust/issues/53&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;speaker notes&lt;/a&gt; and by
&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/comprehensive-rust/issues/52&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;publishing videos&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;press&#34;&gt;Press
&lt;/h2&gt;&lt;p&gt;Articles and blog posts from around the web which cover Comprehensive Rust:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;2023-09-08:
&lt;em&gt;&lt;a class=&#34;link&#34; href=&#34;https://mo8it.com/blog/teaching-rust/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Teaching Rust in 5 days&lt;/a&gt;&lt;/em&gt;.
Comprehensive Rust was used as a base for a 5-day university class on Rust.&lt;/li&gt;
&lt;li&gt;2023-09-21:
&lt;em&gt;&lt;a class=&#34;link&#34; href=&#34;https://security.googleblog.com/2023/09/scaling-rust-adoption-through-training.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scaling Rust Adoption Through Training&lt;/a&gt;&lt;/em&gt;.
We published a blog post with details on the development of the course.&lt;/li&gt;
&lt;li&gt;2023-10-02:
&lt;em&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.darkreading.com/application-security/seeking-rust-developers-in-house-training&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;In Search of Rust Developers, Companies Turn to In-House Training&lt;/a&gt;&lt;/em&gt;.
About how Microsoft, Google, and others are training people in Rust.&lt;/li&gt;
&lt;li&gt;2024-10-18:
&lt;em&gt;&lt;a class=&#34;link&#34; href=&#34;https://youtu.be/7h5KyMqt2-Q?si=4M99HdWWxMaqN8Zr&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Rust Training at Scale | Rust Global @ RustConf 2024&lt;/a&gt;&lt;/em&gt;.
What Google learnt from teaching Comprehensive Rust for more than two years.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;setup&#34;&gt;Setup
&lt;/h2&gt;&lt;p&gt;The course is built using a few tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/rust-lang/mdBook&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mdbook&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/boozook/mdbook-svgbob&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mdbook-svgbob&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/mdbook-i18n-helpers&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mdbook-i18n-helpers and i18n-report&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;mdbook-exerciser/&#34; &gt;mdbook-exerciser&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;mdbook-course/&#34; &gt;mdbook-course&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/marxin/mdbook-linkcheck2&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;mdbook-linkcheck2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;First install Rust by following the instructions on &lt;a class=&#34;link&#34; href=&#34;https://rustup.rs/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://rustup.rs/&lt;/a&gt;. Then
clone this repository:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone https://github.com/google/comprehensive-rust/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; comprehensive-rust
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then install these tools with:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cargo xtask install-tools
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; We use &lt;code&gt;xtask&lt;/code&gt; for task automation within the project (e.g.
installing required tools). Xtask is not a package that you should install.
Visit &lt;a class=&#34;link&#34; href=&#34;https://github.com/matklad/cargo-xtask&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/matklad/cargo-xtask&lt;/a&gt; for more information.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;commands&#34;&gt;Commands
&lt;/h2&gt;&lt;p&gt;Here are some of the commonly used commands you can run in the project. Run
&lt;code&gt;cargo xtask&lt;/code&gt; to view all available commands.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Command&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;cargo xtask install-tools&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Install all the tools the project depends on.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;cargo xtask serve&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Start a web server with the course. You&amp;rsquo;ll find the content on http://localhost:3000. To serve any of the translated versions of the course, add the language flag (&amp;ndash;language or -l) followed by xx, where xx is the ISO 639 language code (e.g. cargo xtask serve -l da for the Danish translation).&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;cargo xtask rust-tests&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Test the included Rust snippets.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;cargo xtask web-tests&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Run the web driver tests in the tests directory.&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;cargo xtask build&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;Create a static version of the course in the &lt;code&gt;book/&lt;/code&gt; directory. Note that you have to separately build and zip exercises and add them to book/html. To build any of the translated versions of the course, add the language flag (&amp;ndash;language or -l) followed by xx, where xx is the ISO 639 language code (e.g. cargo xtask build -l da for the Danish translation). &lt;a class=&#34;link&#34; href=&#34;TRANSLATIONS.md&#34; &gt;TRANSLATIONS.md&lt;/a&gt; contains further instructions.&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; On Windows, you need to enable symlinks
(&lt;code&gt;git config --global core.symlinks true&lt;/code&gt;) and Developer Mode.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;contributing&#34;&gt;Contributing
&lt;/h2&gt;&lt;p&gt;We would like to receive your contributions. Please see
&lt;a class=&#34;link&#34; href=&#34;CONTRIBUTING.md&#34; &gt;CONTRIBUTING.md&lt;/a&gt; for details.&lt;/p&gt;
&lt;h2 id=&#34;contact&#34;&gt;Contact
&lt;/h2&gt;&lt;p&gt;For questions or comments, please contact
&lt;a class=&#34;link&#34; href=&#34;mailto:mgeisler@google.com&#34; &gt;Martin Geisler&lt;/a&gt; or start a
&lt;a class=&#34;link&#34; href=&#34;https://github.com/google/comprehensive-rust/discussions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;discussion on GitHub&lt;/a&gt;.
We would love to hear from you.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
