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

動かして学ぶ!Rust入門

mebiusbox(著)

商品番号
177230
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2023年04月24日
出荷開始日
2023年04月21日
ISBN
9784798177236
判型
A5
ページ数
464
キーワード
プログラミング  アプリ開発  NEXT ONE  Rust

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

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

在庫あり

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

電子書籍はこちら

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

  • ポスト

サンプルを動かしながら
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 も扱っている。

画像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をビルドしてみよう
各種問い合わせは以下のリンクからご連絡ください

関連商品

いきなりプログラミング JavaScript

2,420円(税込)

2025.01.24発売

いきなりプログラミング JavaScript【PDF版】

2,420円(税込)

2025.01.24発売

おすすめ特集

ロングセラーコンピュータ書

ITエンジニアにぜひ読んでいただきたい、翔泳社のロングセラーコンピュータ書を厳選

ITインフラ関連本特集

ネットワーク/サーバー/セキュリティを学ぶなら読んでおきたいおすすめの書籍

生成AI特集

テキスト生成、画像生成、動画生成など、生成AI活用のスキルが身につく本をご紹介

Web制作関連本特集

HTML/CSS、JavaScript、UI/UX、デザインまで。Web制作・フロントエンド開発に役立つ本

マーケティングおすすめ本

マーケティングの勉強におすすめの本。基本から実務に役立つ戦略設計まで

介護職におすすめの本

介護職を目指す人の試験対策書、現場スタッフのための実務書など、介護職に役立つ本

特集をもっと見る