【Rust】
プログラミング言語Rustについて、まず最初に把握しておきたい情報を一通りまとめてみました。主に公式サイト(日本語版)のほぼ全ての情報が把握できます(一部当サイトの別ページに分散)。一度公式サイトに目を通した後、当ページでその概要を再確認する際にご利用されると便利です。Rust公式(日本語版)
まずは公式トップページでRustの全体像をざっくり理解。加えて以下の各ページでは各分野に言及しています。
公式のソーシャルメディアやサイト
・セキュリティメーリングリスト:全てのセキュリティアナウンスを受け取る
その他、様々な情報ページです。
・行動規範:Aariaの行動規範の参考にもしています
・メディアガイド:商標などの利用に関しての情報
・プロダクション:Rustがどのように使われているかに関して
・セキュリティポリシー:Rustのセキュリティバグの報告などに関して
・プライバシー通知に関する情報
・旧バージョンのRust公式(The book旧ver):懐かしき旧バージョンの公式サイト
・よくある質問:旧公式サイトより
はじめに
Rustの世界に入っていく前準備として目を通してみましょう。
・Rust Playground:ブラウザでRustコードを実行できます。
・Rustをインストール:手順に従えば簡単にインストールできます。
Microsoft C++ Build Tools:Windowsでは必要になります。
関連情報の一覧
プログラミング言語Rust(日本語版)
Rustに関する詳細なマニュアル(リポジトリ)。まず一通り読むことで、基本的な技術全般が身につきます。以下は代替、あるいは上級版のドキュメントです。
・rust-learning:Rust学習向けのリソース集
・rustlings:コマンドライン上でRustのツールチェインのダウンロードとセットアップ方法を確認しながら、Rustの構文の基本的な読み書きを学べる
・Rust by Example(GitHub):たくさんのコード例を示し、説明は最小限 練習問題もある
・The Rust Reference:より詳細で包括的な情報
・Rust 裏本(The Rustonomicon):アンセーフなRustへの手引書
・The Rust Unstable Book:nightly版のみで使える不安定な機能に関する記述
ドキュメント一覧
より専門的に各分野について詳細に学習したい場合の資料です。
・エディションガイド:Rustのエディションに関する手引き
・The rustdoc book:優れたドキュメントを用意する方法について
・Command line apps in Rust:コマンドラインに関するRustの学習
・Rust 🦀 and WebAssembly 🕸:WebAssemblyに関するRustの学習
・WebAssembly:WebAssembly自体についての学習
・wasm-bindgen:wasm-bindgenについてのRust学習
・Asynchronous Programming in Rust:非同期プログラムについて
・Guide to Rustc Development:rustc開発貢献者向けのマニュアル
・Rust Forge:貢献者向けドキュメント
・Rust APIガイドライン:Rustライブラリの設計者向け APIのデザイン上の推奨事項のまとめ
資料一覧
・Rust Blog:メインのRustブログ
・Inside Rust Blog:Rustの開発をフォローしたい人を対象としたブログ
・This Week in Rust:Rustコミュニティの最新情報
・リリースノート:各リリース毎の変更点の記録
・ロードマップ:2021年
・Qiita:Rust関連の記事集
コミュニティ
・ユーザーフォーラム:Rustに関するあらゆることを話し合うための場所(質問他)
・内部フォーラム:Rustそのものの開発に関する議論の場(コンパイラ他、言語設計や標準ライブラリの開発の議論、セキュリティ関連の報告など)
・掲示板:stack overflow reddit
・イベント(Rustユーザグループ):イベントの開催関連の情報
・Rustbridge:他の言語をバックグラウンドとして持つRustに馴染みのない人々を対象とした、Rustを学びコミュニティに参加して頂くためのワークショップ
・Request for Comments:Rustの重要な決定事項についての議論の場
Rustのチーム一覧
・コアチーム:プロジェクトの指揮/サブチームのリーダーシップ/横断的な事項の取扱いを行う
・コミュニティチーム:イベントの調整やサポート/コンテンツの作成/RustBridgeプログラムの実行/調査の実施を行う
・コンパイラチーム:コンパイラ内部と最適化を扱う
・Crates.ioチーム:crates.ioの運用、開発、ポリシーの管理を行う
・開発ツールチーム:Rust向け開発ツールを作成
・インフラストラクチャチーム:Rustプロジェクトをサポートするインフラストラクチャを管理
・言語チーム:新しい言語機能の設計を行う
・ライブラリチーム:Rust標準ライブラリ rust-langのクレート/規約/エコシステムのサポート
・モデレーションチーム:行動規範の維持を支援
・リリースチーム:リグレッションと安定化の追跡や、Rustのリリースを行う
・Rustチームalmuni:ゆったりとした引退生活を楽しんでいます
Rustのワーキンググループ一覧
・Async基盤ワーキンググループ:async-awaitの基本となる言語/ライブラリの実装をサポート
・CLIワーキンググループ:Rustで大小様々なCLIアプリを書くという、エンドツーエンドの体験に焦点を絞る
・組込み機器ワーキンググループ:リソースに制約のある環境や従来とは異なるプラットフォームでの、Rustを使用するエンドツーエンドの体験に焦点を絞る
・ゲーム開発ワーキンググループ:Rustをゲーム開発のデフォルトの選択肢にすることに焦点を置く
・セキュアコードワーキンググループ:Rustで安全なコードを簡単に書けるようにする
・セキュリティレスポンスワーキンググループ:受け取った脆弱性レポートのトリアージと対応を行う
・WebAssemblyワーキンググループ:WebAssemblyを通してJSライブラリやアプリケーションにRustコードを組み込む、エンドツーエンドの体験に焦点を絞る