目次
Part 1 Rust ~overview~
1章 Rustの概要
- 1-1 Rustの雑学
- 1-2 Rustの特徴
- 1-3 開発ツール
- 1-4 プログラム作成の基本事項
- 1-5 ガイドライン
- 1-6 ヘルプドキュメント
- 1-7 本書の構成
Part 2 言語仕様
2章 演算子
- 2-1 算術演算子
- 2-2 代入演算子と複合代入演算子
- 2-3 比較演算子
- 2-4 論理演算子
- 2-5 ビット演算子
3章 変数と定数
- 3-1 変数と定数
- 3-2 静的変数
4章 基本データ型
- 4-1 整数型
- 4-2 浮動小数点型
- 4-3 論理型
- 4-4 文字型
- 4-5 配列型
- 4-6 タプル型
- 4-7 スライス型
- 4-8 文字列型
- 4-9 ポインタ型
5章 制御式
- 5-1 条件分岐
- 5-2 パターンマッチング
- 5-3 forループ
- 5-4 whileループ
- 5-5 無限ループ
6章 ライブラリのデータ型
- 6-1 String
- 6-2 日付・時間
- 6-3 Box
- 6-4 Vec
- 6-5 LinkedList
- 6-6 HashMap
- 6-7 HashSet
7章 関数
- 7-1 関数
- 7-2 関数型
- 7-3 ジェネリクスとトレイト境界
- 7-4 所有権
- 7-5 参照
- 7-6 ライフタイム
- 7-7 ライフタイム注釈
- 7-8 Option
- 7-9 Result
- 7-10 クロージャ
8章 構造体
- 8-1 名前付きフィールド型
- 8-2 タプル型とユニット型
- 8-3 型関連定数と型関連関数
- 8-4 メソッド
- 8-5 ユーティリティトレイト
- 8-6 ジェネリクス
- 8-7 トレイト境界
9章 列挙型
- 9-1 基本的な列挙型.
- 9-2 タプル型バリアント
- 9-3 構造体型バリアント
- 9-4 ジェネリクス
10章 トレイト
- 10-1 トレイトの基本
- 10-2 ジェネリクトレイト
- 10-3 メソッドの実装
- 10-4 関連型トレイト(Association Type)
- 10-5 抽象化
- 10-6 サブトレイト
Part 3 実践!プログラミング
11章 エラー
- 11-1 エラー型の基本
- 11-2 独自エラー型
- 11-3 外部クレートの利用
- 11-4 パニック
12章 スレッドと非同期実行
- 12-1 シンプルなスレッド
- 12-2 グリーンスレッド
- 12-3 スレッド終了の同期化.
- 12-4 スレッド間通信
- 12-5 標準ライブラリの排他制御
- 12-6 crossbeamクレートの排他制御
- 12-7 非同期実行
- 12-8 async_stdクレート
- 12-9 タスク間通信
13章 テスト
- 13-1 テストの基本
- 13-2 #[test]/#[ignore] アトリビュート
- 13-3 テストドライバの実装
- 13-4 ドキュメントテスト
- 13-5 外部クレートの利用
- 13-6 テストの分離
14章 PostgreSQL
- 14-1 データベースアクセスの概要
- 14-2 データベース接続
- 14-3 トランザクション制御
- 14-4 CRUD操作の準備
- 14-5 CRUD操作の実装
- 14-6 コネクションプール
- 14-7 非同期実行
- 14-8 YAMLファイルの利用
15章 MongoDB
- 15-1 データベースアクセスの概要
- 15-2 データベース接続
- 15-3 CRUD操作の準備
- 15-4 CRUD操作の実装
16章 O/R Mapper
- 16-1 O/R Mapperの概要(SeaORM)
- 16-2 コネクションプールの生成
- 16-3 マイグレーション機能の利用
- 16-4 CRUD操作の準備
- 16-5 CRUD操作の実装
- 16-6 テーブル結合
- 16-7 SQLステートメント利用
Part 4 サーバーサイド開発
17章 Webフレームワーク
- 17-1 本章の概要(Actix Web)
- 17-2 アプリケーションの基本構造
- 17-3 ハンドラの実装とマッピング
- 17-4 リクエストエクストラクタ
- 17-5 レスポンス生成
- 17-6 Teraクレート
- 17-7 リクエストハンドラのテスト
18章 外部クレート活用
- 18-1 actix-sessionクレート
- 18-2 validatorクレート
- 18-3 opensslクレート
- 18-4 jsonwebtokenクレート
- 18-5 サンプルアプリケーションについて