翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 新規会員登録 ログイン
SEshop

動かして学ぶ!Rust入門 【PDF版】

mebiusbox(著)

商品番号
177720
販売状態
発売中
納品形態
会員メニューよりダウンロード
発売日
2023年04月24日
ISBN
9784798177724
データサイズ
約36.8MB
制限事項
印刷可・テキストのコピー可
キーワード
プログラミング  アプリ開発  電子書籍【PDF版】  NEXT ONE  Rust

3,960円(税込)(本体3,600円+税10%)
送料無料

360pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

紙の書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

  • 本製品は電子書籍【PDF版】です。
  • ご購入いただいたPDFには、購入者のメールアドレス、および翔泳社独自の著作権情報が埋め込まれます。
    PDFに埋め込まれるメールアドレスは、ご注文時にログインいただいたアドレスとなります。
    Amazon Payでのお支払いの場合はAmazonアカウントのメールアドレスが埋め込まれます。
  • 本製品を無断で複製、転載、譲渡、共有および販売を行った場合、法律により罰せられる可能性がございます。
  • ご購入の前に必ずPDF利用案内をお読みください。

サンプルを動かしながら
Rustの基本をしっかり学べる!

【本書の背景】
Rustは、2015年に初期版がリリースされたプログラミング言語です。Rustの特徴として「処理の速度が速い」「安全性が高い」「開発に必要なツールが充実」といったことが挙げられます。現在は、Microsoft、Google、Amazon、MetaといったIT企業やLinuxでも導入が進み、国内でも利用するIT企業が増えてきている人気急上昇の言語です。

【本書の概要】
Rustのプログラミング手法について、サンプルを元に手を動かしながら学ぶ書籍です。主に以下の3つについて丁寧に解説します。

●Rustの概要と開発環境
●Rustの基本的な文法と機能
●Rustによる簡単なアプリ開発

なお本書はエンジニアのための情報共有コミュニティ「Zenn」で公開されている大人気の「Rust 入門」を元にした書籍です。

【対象読者】
Rustに初めて触れるプログラマー

【本書のポイント】
・基本的な文法について丁寧に解説
・Rustの機能を学ぶのに適したサンプルを用意
・学習をもっと深めたい方に向けて「メモ」や「参照」で補足

【目次】
Chapter1 Rust
Chapter2 環境構築
Chapter3 Rustの文法と機能
Chapter4 アプリケーションの開発

【著者プロフィール】
Mebiusbox
趣味でフリーソフトウェアを開発。最近はエンジニア向けのコミュニティに記事を投稿することが多い。コンピュータグラフィックスに関する記事を書いて公開している。最近は Rust や Three.js も扱っている。

PDF版のご利用方法

  1. ご購入後、SEshopにログインし、会員メニューに進みます。
  2. ご購入電子書籍およびデータ > [ご購入電子書籍およびダウンロードデータ一覧]をクリックします。
  3. 購入済みの電子書籍のタイトルが表示されますので、リンクをクリックしてダウンロードしてください。
  4. PDF形式のファイルを、お好きな場所に保存してください。
  5. 端末の種類を問わず、ご利用いただけます。
画像01
画像02
画像03

開発環境の準備や便利なツールの紹介

Windowsでの開発環境を元に解説します。具体的には、PowerShellやターミナルの環境構築、ツールチェインのインストール、rustup、cargo、rustcの概要、VSCodeのインストールとスニペットについて解説します。また、Rustの言語サーバであるrust-analyzer、Rustプログラムを簡単に試せるRust Playground、簡単なRustプログラムを書いてパッケージを作成する方法、開発に便利なさまざまなツールについても解説します。

画像04

基本的な文法について丁寧に解説

Rustの基礎的な文法、制御構文、 構造体、列挙型、数列、スライス、ジェネリクスの使い方、パターンマッチングの使い方、エラー処理の方法、所有権について紹介します。また、トレイト、動的ディスパッチ、並列処理と非同期処理、イテレータとコレクションの使い方、パッケージ管理ツール cargo の使い方、モジュールの使い方、開発ツールの使い方も解説します。

画像05

アプリケーションの開発方法を体験

単語推理ゲーム(相手が設定した単語を推理するゲーム)や並列処理を利用したプログラム(レイトレーシングでレンダリングするプログラム)を作成します。これらのアプリケーションの作成を通じて、プロジェクトの作成方法、ターミナルからの入出力、コレクションの使い方、イテレータの使い方を学ぶことができます。また、randクレート、rayonクレート(並列処理)、imageクレート(画像の読み書き)、icedクレート(GUI)、minifbクレート(画像の表示)、算術関数、演算子のオーバーロード、並列処理、モジュール、トレイトなどについても学ぶことができます。

Chapter 1 Rust
01 概要
  Rustの特徴
  Rustの誕生
  Rustはどういうプログラミング言語なのかエディション
02 互換性
03 まとめ

Chapter 2 環境構築
01 Rustをインストールする前の準備
  PowerShellのバージョンを確認
  wingetのインストール
  最新のPowerShellをインストール
  Windows Terminal
  Git
  Anaconda(Miniconda)
02 Rustのインストール
  rustup
  cargo
  rustc
03 Visual Studio Code
  スニペット
04 rust-analyzer
05 Rust Playground
06 Hello, World!
  パッケージの作成
  Rustプログラムの実行環境
07 その他のツール
  Terminal-Icons
  Oh My Posh
  winget
  PowerShellのエイリアス
  bat
  lsd(LSDeluxe)
  delta
  simple-http-server
  cargo-make
08 まとめ
  本章で学んだこと

Chapter 3 Rustの文法と機能
01 基本
  コメント(Comment)
  式と文(Expression and statement)
  ブロック(Block)
  オブジェクト(Object)
  組み込みデータ型 (Primitive Type)
  型の別名(Alias)
  所有権(Ownership)
  関数(Function)
  print!マクロ
  束縛(Binding)
  シャドーイング(Shadowing)
  定数(Const)
  参照(Reference)
  可変性(Mutable and immutable)
  文字列(String)
  スタティック変数
  命名規則
  参照外し(Dereference)
  参照と可変性の関係
  借用チェック(Borrow Checker)
02 コピートレイト(Copy Trait)
03 構造体・列挙型
  構造体(Struct)
  列挙型(Enum)
04 クロージャ(Closure)
  Fnとfn
05 制御構文
  if式(else、else if)
  loop式
  while式
  for式
06 数列・スライス
  数列(Range)
  スライス(Slice)
07 ジェネリクス(Generics)
  Option型
08 パターンマッチング(Pattern
  match式
  マッチガード(Match Guard)
  パターンによる束縛
  if let式
09 エラー処理(Error
  panic!マクロ
  Result型
  unwrapメソッド
  expectメソッド
  エラー伝搬(Error Propagation)
  コンビネータ
10 RAII
  Derefトレイト
  Dropトレイト
  3つのメモリ領域(データ、スタック、ヒープ)
  Box型
  Rc型
11 ライフタイム(Lifetime)
  staticライフタイム
12 トレイト(Trait)
  トレイトとは
  継承
  derive属性
  Fromトレイト
  マーカートレイト(Marker)
  Sizedトレイト
13 動的ディスパッチ
  トレイトオブジェクト
  dyn Trait型、impl Trait型
14 内部可変性(Interior
  Cell型
  RefCell型
  Weak型
15 並列処理
  スレッド
  Send・Syncトレイト
  Arc型
  RwLock型
16 所有権
17 所有型と参照型
18 Cow型(Clone-on-write)
19 イテレータ(Iterator)
  アダプタ
20 コレクション(Collection)
  Vec型
  String型
  HashMap型
  イテレータからコレクションに変換
  イテレータを返すメソッド
21 Cargo
  パッケージ、クレート
  ターゲット
  TOML形式
  cargo initコマンド
  cargo buildコマンド
  cargo cleanコマンド
  cargo runコマンド
  cargo checkコマンド
  cargo treeコマンド
  cargo install[uninstall]コマンド
  cargo searchコマンド
  cargo publishコマンド
  デバッグビルド、リリースビルド
  外部パッケージ
  ワークスペース
  Cargo.toml
22 モジュール(Module)
  モジュールの定義
  パス(Path)
  モジュールの利用(use)
  モジュールツリー
  モジュールの再公開
23 テスト(Unit
  cargo testコマンド
  assertion
  should_panic属性
  testsターゲット
24 ドキュメントコメント
  ドキュメントコメントの書き方
  cargo docコマンド
  rustup docコマンド
25 フォーマッタ(rustfmt)
26 リンター(clippy)
27 マクロ(Macro)
  宣言的マクロ
  手続きマクロ
28 非同期処理
  Future型
  async/.await
  tokioクレート
29 unsafe
30 Tips
  Defaultトレイト
  分解束縛
  デバッグ時やテスト時のみ有効なコード
  属性
  演算子のオーバーロード
  Preludeモジュール
  DisplayトレイトとDebugトレイト
  特殊なマクロ
  Nightly版
  cargo-audit、cargo-outdated
31 まとめ
  本章で学んだこと

Chapter 4  アプリケーションの開発
01 単語推理ゲーム
  サンプルコードについて
  プロジェクトの準備
  単語辞書の読み込み
  ゲーム構造体
  推理ロジックの実装
  GUIの実装(icedクレート)
02 レイトレーシング
  サンプルコードについて
  プロジェクトの準備
  画像の出力
  ベクトル
  クォータニオン
  基本的な構造体の実装
  カメラ
  球体の追加
  球体の法線
  確認用のウィンドウ
  モジュール化
  複数の物体への対応
  アンチエイリアシング
  拡散反射
  材質
  鏡面反射
  屈折
  大量に表示してみよう
  テクスチャ
  画像テクスチャ
  発光
  四角形
  コーネルボックス
  光学のおはなし
  モンテカルロレイトレーシング
03 まとめ
  本章で学んだこと

Appendix
01 std::option::Option型
02 std::result::Result型
03 std::vec::Vec型
04 std::string::String型
05 std::collections::HashMap型
06 std::iter::Iteratorトレイト
  アダプタ
07 std::f64モジュール
  定数
  数学関数(std::f64モジュール)
08 Rustをビルドしてみよう
各種問い合わせは以下のリンクからご連絡ください

関連商品

おすすめ特集

【2023年下半期】SEshop人気書籍 ベスト20

【2023年下半期 ベスト20】SEshopで人気だった本をランキング形式で20冊ご紹介

アプリ開発特集

アプリ開発に必要な基礎知識や開発手順、使用言語に関する手引書をご紹介

DX特集

DXに関する知識/スキルを網羅的に習得できるオススメ本!

デジタルイラスト参考書

基本的な描き方から高度なテクニック、デジタルツールの使い方まで!デジタルイラスト上達本のご紹介

ビジネス教養本

プレゼンテーションスキルや文章術、データ活用スキルなど、ビジネスシーンで活きる教養本

翔泳社のセミナー・講座

開発・ビジネス・マーケティング・EC運営・営業支援など、幅広いジャンルの講座を開催

特集をもっと見る