Rustのリンク集

Rustのリンク集です。学習や書くときに参照するページ等をまとめています。

公式ドキュメントの和訳のリストを見たい場合は[Rustの日本語ドキュメント](https://doc.rust-jp.rs)にまとめられています。

# 学習

## 入門

* [The Rust Programming Language](https://doc.rust-lang.org/book/title-page.html) (和訳: [プログラミング言語Rust日本語版](https://doc.rust-jp.rs/book-ja/)): 略してTRPLと呼ばれることが多いRust公式の入門書です。2020/09現在、日本語版もほぼ最新の内容に追従しているようです。[PDF版](https://doc.rust-jp.rs/book-ja-pdf/book.pdf)もあります。
* [実践Rust入門](https://gihyo.jp/book/2019/978-4-297-10559-4): 日本発のRust入門書です。破壊的変更後のRust (2018 edition) に対応しています。[著者の一人による紹介](https://keens.github.io/blog/2019/04/21/jissenrustnyuumon_wokaitayo/)もあります。
* [teratail](https://teratail.com/tags/Rust), [スタック・オーバーフロー](https://ja.stackoverflow.com/questions/tagged/rust): プログラミングに関する質問をする日本語のサイトです。あなたが困っていることは他のRustユーザーも困っているので、是非ここで質問してRustに貢献しましょう！teratailのほうが若干人気のようです。
* [rust-jp Slackチーム](http://rust-jp.herokuapp.com/): Rustの日本語コミュニティです。初心者が質問するためのチャンネルや翻訳のチャンネルなどがあります。
* [Rust Community](https://www.rust-lang.org/community): Rust公式のコミュニティ集です。
* [Rust を始めるための資料集](https://blog-dry.com/entry/2021/01/23/141936): Rust入門者向け資料のより網羅的なリストです。

## 中級者向け

* [Error Handling in Rust](https://blog.burntsushi.net/rust-error-handling/): Rustのエラーハンドリングの解説です。
* [Rust API Guidelines](https://rust-lang-nursery.github.io/api-guidelines/) (和訳: [Rust APIガイドライン](https://sinkuu.github.io/api-guidelines/)): 変換メソッドの命名においてto_にすべきかinto_にすべきかなどAPIのガイドラインです。
* [Rust Style Guide](https://github.com/rust-lang-nursery/fmt-rfcs/blob/master/guide/guide.md): Rustのスタイルガイドです。

## 上級者向け

* [The Rustnomicon](https://doc.rust-lang.org/nomicon/) (和訳: [Rust 裏本](https://doc.rust-jp.rs/rust-nomicon-ja/)): unsafeなRustの書き方のドキュメントです。和訳は1年以上更新されていないようです。
* [The Rust Reference](https://doc.rust-lang.org/reference/index.html): Rustのリファレンス（仕様のようなもの）です。

## WebAssembly入門

* [WebAssembly テキストフォーマットを理解する](https://developer.mozilla.org/ja/docs/WebAssembly/Understanding_the_text_format): WebAssembly自体の簡潔な入門ページです。短いですし、これを読んでおくと種々のツールの設計に納得がいくのでおすすめです。
* [Rust から WebAssembly にコンパイルする](https://developer.mozilla.org/ja/docs/WebAssembly/rust_to_wasm): Rustを使った簡潔なwasm入門ページです。
* [Rust and WebAssembly](https://rustwasm.github.io/docs/book/) (和訳: [Rust and WebAssembly](https://moshg.github.io/rustwasm-book-ja/)): `wasm-bindgen`を使ってRustをwasmにコンパイルする入門書です。題材にはライフゲームが使われています。和訳は途中までです。

# 書くときに参照するもの

* [The Standard Library](https://doc.rust-lang.org/std/): 標準ライブラリのドキュメントです。
* [crates.io](https://crates.io/): Rustのセントラルリポジトリです。ライブラリを検索できます。
* [Lib.rs](https://lib.rs/): crates.ioの検索性の低さと重さをカバーする非公式なサイトです。検索機能とクレートの種類毎の一覧があります。
* [Rust Playground](https://play.rust-lang.org/): Rustのオンラインでの実行環境です。

## 書き方

* [The Manifest Format](https://doc.rust-lang.org/cargo/reference/manifest.html): cargo.tomlの書き方が載っています。
* [Conditional compilation](https://doc.rust-lang.org/reference/conditional-compilation.html): `#[cfg]`で指定できるキーワードのリストです。
* [Rust Cookbook](https://rust-lang-nursery.github.io/rust-cookbook/): Rustの書き方集です。`f32`を要素に持つスライスのソートの仕方 (`f32`は`Ord`トレイトを実装していないのでそのままではソートできない) などが載っています。
* [Rust Language Cheat Sheet](https://cheats.rs/): Rustのチートシートです。キーワードや構文のリストが載っています。ソースを見ていて`b"..."`など知らない書き方が出てきたときにさっと調べられます。

# 新機能の情報

* [The Rust Programming Language Blog](https://blog.rust-lang.org/): Rustの公式ブログです。
* [OPTiM TECH BLOG](https://tech-blog.optim.co.jp/archive/category/Rust): Rustの更新情報を日本語で解説しているブログです。
* [This Week in Rust](https://this-week-in-rust.org/): Rust界隈の動きをまとめているサイトです。毎週更新しています。
* [The Rust Edition Guide](https://rust-lang-nursery.github.io/edition-guide/): エディション (メジャーバージョンのようなもの) 毎の変更点がまとめられています。プログラミング言語Rustの和訳で勉強した場合は、2015 editionで勉強したことになるので特におすすめです。
* [簡潔なQ](https://qnighy.hatenablog.com/archive/category/Rust): Rustそのものについて詳しい話が書かれているブログです。
* [The Unstable Book](https://doc.rust-lang.org/nightly/unstable-book/the-unstable-book.html): unstableな機能の網羅的なリストです。

# その他

* [Rust Forge](https://forge.rust-lang.org/index.html): Rustのエコシステムに関する資料です。次のバージョンのリリース日はここから確認できます。
* [Are we (I)DE yet?](https://areweideyet.com/): RustのIDEやテキストエディタの機能比較ページです。少し情報が古いようです。
* [Are we GUI Yet?](https://areweguiyet.com/): RustのGUIライブラリの状況に関するページです。
* [Are we game yet?](https://arewegameyet.rs/): Rustのゲームライブラリの状況に関するページです。

# 他のリンク集

* [Rustのドキュメント](https://www.rust-lang.org/ja-JP/documentation.html): Rust公式のドキュメントのリンク集です。
* [Rustの資料集（日本語版）](http://letten.hatenablog.com/entry/the-rust-resources-ja): この記事を書いてから気づきましたが、同じようなことをしている人がいました。この記事とはまた別の基準でまとめられていて面白いです。