詳解Rustプログラミング


詳解Rustプログラミング


翔泳社


著者:Tim McNamara
監修:吉川邦夫
訳者:吉川邦夫


まえがき
謝辞
この本について
著者について

第1章 Rustとは
1.1 Rustは、どこで使われているのか
1.2 仕事でRustを使うための支援
1.3 Rustを「味見」する
1.4 本書のソースコード(ダウンロード)
1.5 Rustのルック&フィール
1.6 Rustとは何か?
1.7 Rustの3つの特色
1.8 Rustの欠点
1.9 ケーススタディ:TLSセキュリティ
1.10 Rustに最適な分野は?
1.11 Rustの隠し技はコミュニティ
1.12 Rustの決まり文句

第1部 Rust 言語の独自機能
第2章 言語の基礎
2.1 プログラムを作って実行する
2.2 Rustの構文に目を通す
2.3 数値
2.4 フロー制御
2.5 関数を定義する
2.6 参照を使う
2.7 プロジェクト:マンデルブロ集合のレンダリング
2.8 より高度な関数定義
2.9 grep-liteを作る
2.10 配列/スライス/ベクターでリストを作る
2.11 サードパーティコードを導入する
2.12 コマンドライン引数をサポートする
2.13 ファイルからの読み込み
2.14 標準入力の読み込み

第3章 複合データ型
3.1 通常の関数を使ってAPIの実験をする
3.2 構造体でファイルの模型を作る
3.3 implでメソッドを構造体に追加する
3.4 エラーを返す
3.5 列挙型を定義して利用する
3.6 トレイトで共通の振る舞いを定義する
3.7 自作の型を世界に公開する
3.8 プロジェクトのインラインドキュメントを作る

第4章 ライフタイムと所有権と借用
4.1 CubeSat地上局をモックアップで実装する
4.2 この章で使う図の凡例
4.3 所有者とは何か。その責任は?
4.4 所有権は、どのように移動するのか
4.5 所有権の問題を解決する

第2部 システムプログラミングの謎を解き明かす
第5章 データの詳細
5.1 ビットパターンと型
5.2 整数を生かす条件
5.3 小数を表現する
5.4 浮動小数点数
5.5 固定小数点フォーマット
5.6 ランダムなバイトから疑似乱数を生成する
5.7 CPU を実装して、関数がデータでもあることを立証する

第6章 メモリ
6.1 ポインタ
6.2 Rustの参照とポインタ型を探究する
6.3 プログラムにデータ用のメモリを持たせる
6.4 仮想メモリ

第7章 ファイルとストレージ
7.1 ファイルフォーマットとは何か
7.2 データ保存用に独自のファイルフォーマットを作る
7.3 hexdumpのクローンを実装する
7.4 Rustでのファイル操作
7.5 ログ構造・追記のみのアーキテクチャでキーバリューストアを実装
7.6 actionkvv1:フロントエンドのコード
7.7 actionkvのコア:libactionkvクレート

第8章 ネットワーク
8.1 ネットワークとは何か
8.2 reqwestでHTTPGETリクエストを生成する
8.3 トレイトオブジェクト
8.4 TCP
8.5 ライブラリ用の使い勝手の良いエラー処理
8.6 MACアドレス
8.7 Rustの列挙型を使ってステートマシンを実装する
8.8 生のTCP
8.9 仮想ネットワークデバイスを作る
8.10 「生の」HTTP

第9章 時間とタイムキーピング
9.1 背景知識
9.2 時間のソース
9.3 定義
9.4 時間のエンコード
9.5 clockv0.1.0:時刻を告げるアプリケーション
9.6 clock v0.1.1:ISO 8601と電子メールの標準規格に従ってタイムスタ ンプを整形する
9.7 clockv0.1.2:時刻を設定する
9.8 エラー処理を改善する
9.9 clock v0.1.3:クロックとNTPとの差異を解決する
第10章 プロセスとスレッドとコンテナ
10.1 匿名関数
10.2 スレッド生成
10.3 クロージャと関数の違い
10.4 マルチスレッドのパーサとコードジェネレータで、アバターをプロシー デュアルに自動生成する
10.5 並行処理とタスクの仮想化

第11章 カーネル
11.1 OSのひな鳥を育てる
11.2 fledgeos-0:始動
11.3 fledgeos-1:ビジーループを避ける
11.4 fledgeos-2:例外処理のカスタマイズ
11.5 fledgeos-3:テキスト出力
11.6 fledgeos-4:パニック処理のカスタマイズ

第12章 シグナルと割り込みと例外
12.1 用語
12.2 割り込みがアプリケーションにおよぼす影響
12.3 ソフトウェア割り込み
12.4 ハードウェア割り込み
12.5 シグナル処理
12.6 シグナル処理のアクションをカスタマイズする
12.7 アプリケーション定義のシグナルを送る
12.8 シグナルを無視する
12.9 深くネストしたコールスタックからのシャットダウン
12.10 シグナルのないプラットフォームへの応用
12.11 再び、例外について

索引

書籍目次技術書籍

Posted by shi-n