
マイページに作品情報をお届け!
RustによるWebアプリケーション開発 設計からリリース・運用まで
ラストニヨルウェブアプリケーションカイハツセッケイカラリリースウンヨウマデ
★Rustによるアプリケーション開発のベストプラクティス!
Rustを現場で使うときがきた!
Rust経験豊富な筆者が、貴重な知識とテクニックを惜しみなく伝授。
「蔵書管理アプリケーション」の実装を通じて、Rustによる設計、開発、保守、運用までをハンズオンで学ぶ!
コードも丁寧に解説。
【目次】
第1章 本書で開発するもの
第2章 開発環境の構築
第3章 最小構成アプリケーションの実装
第4章 蔵書管理サーバーアプリケーションの設計
第5章 蔵書管理サーバーの実装
第6章 システムの結合とテスト
第7章 アプリケーションの運用
第8章 エコシステムの紹介
Ⓒ豊田優貴,松本健太郎,吉川哲史
- 前巻
- 次巻
オンライン書店で購入する
目次
第1章 本書で開発するもの
1.1 本書で開発する蔵書管理システムの概要
1.2 アプリケーションの機能
1.3 システムの設計
第2章 開発環境の構築
2.1 一般的なRustの開発環境構築
2.2 Docker Composeを用いたローカルPCでの開発環境構築
2.3 タスクランナーcargo-makeの導入
2.4 フロントエンドの環境構築
第3章 最小構成アプリケーションの実装
3.1 新しくプロジェクトを作る
3.2 「axum」でサーバーを起動する
コラム:Rustの非同期ランタイム
3.3 ヘルスチェックを実装する
コラム:impl IntoResponse
3.4 ユニットテストを書く
3.5 データベースと接続する
3.6 デプロイパイプラインを構築する
コラム:GitHub Actions
第4章 蔵書管理サーバーアプリケーションの設計
4.1 レイヤードアーキテクチャとは
4.2 なぜレイヤードアーキテクチャを採用するか
4.3 今回採用するレイヤードアーキテクチャ
4.4 依存性注入
4.5 レイヤードアーキテクチャをRustで実現するには
4.6 レイヤードアーキテクチャで再実装
4.7 各ワークスペースメンバーへのコードの移動
コラム:async-traitとは何か
コラム:RustのDIコンテナの候補としての「shaku」
第5章 蔵書管理サーバーの実装
5.1 実装の概要
5.2 シンプルな蔵書データの登録・取得処理の作成
コラム:todo!マクロとunimplemented!マクロ
コラム:コンパイルが成功するのにrust-analyzerのエラーが表示される場合の対応
5.3 本格実装の事前準備
5.4 ユーザー管理機能の実装
5.5 蔵書のCRUD機能のアップデート
5.6 蔵書の貸出機能の実装
5.7 蔵書データへの貸出情報追加の実装
5.8 フロントエンドとの結合動作確認
第6章 システムの結合とテスト
6.1 本書のアプリケーションのテスト戦略
6.2 rstestを使ったテスト
6.3 mockallを使ったテスト
コラム:「モック」
6.4 sqlxを使ったテスト
6.5 アプリケーションのテスト実装
第7章 アプリケーションの運用
7.1 オブザーバビリティ
7.2 ビルドスピードの改善
コラム:lld
コラム:Craneliftを利用する
7.3 OpenAPI
第8章 エコシステムの紹介
axum、actix-web、rocket、warp、tonic……など
書誌情報
紙版
発売日
2024年09月30日
ISBN
9784065369579
判型
B5変型
価格
定価:4,400円(本体4,000円)
ページ数
320ページ
電子版
発売日
2024年11月20日
JDCN
06A0000000000824308J
著者紹介
いくつかのRustに関連する書籍・雑誌の執筆やレビュー、Web上のメディアでの連載の経験をもつ。また、日本国内向けのRustのカンファレンスも行っている。そのほか、Rustに関連するOSSへの貢献を行っている。著書に『実践Rustプログラミング入門』(秀和システム、共著)がある。
株式会社estie。不動産業界をデータで支えるサービスをRustで開発するソフトウェアエンジニア。「Shinjuku.rs」や「Rust、何もわからない…」といったLT会を運営している。著書に『実践Rustプログラミング入門』(秀和システム、共著)がある。
フェアリーデバイセズ株式会社プロダクト開発部部長/プログラマ。自社製品へRustを導入し、自らも実装を行う。著書に『実践Rustプログラミング入門』(秀和システム、共著)がある。
オンライン書店一覧
関連シリーズ
-
ソフトウェアの挑戦
-
Pythonではじめる時系列分析入門
-
プログラミング〈新〉作法
-
Polarsとpandasで学ぶ データ処理アイデアレシピ55
-
ゼロから学ぶGit/GitHub
-
Pythonでスラスラわかる ベイズ推論「超」入門
-
Juliaプログラミング大全
-
Kaggleに挑む深層学習プログラミングの極意
-
ゼロから学ぶRust
-
ROS2とPythonで作って学ぶAIロボット入門
-
Pythonではじめるベイズ機械学習入門
-
Rではじめる地理空間データの統計解析入門
-
ゼロからはじめるデータサイエンス入門
-
Pythonではじめるテキストアナリティクス入門
-
Python数値計算プログラミング
-
1週間で学べる!Julia数値計算プログラミング
-
問題解決力を鍛える!アルゴリズムとデータ構造
-
ゼロからつくるPython機械学習プログラミング入門
-
これからのロボットプログラミング入門
-
モンテカルロ統計計算
-
スパース回帰分析とパターン認識
-
Rで学ぶ統計的データ解析
-
ゼロから学ぶPythonプログラミング
-
Pythonで学ぶアルゴリズムとデータ構造
-
PythonではじめるKaggleスタートブック
-
最適化手法入門
-
RとStanではじめる ベイズ統計モデリングによるデータ分析入門
-
データ分析のためのデータ可視化入門
-
ProcessingによるCGとメディアアート
-
入門者のPython
-
Web学習アプリ対応 C言語入門
-
ホログラフィ入門
-
pixivエンジニアが教えるプログラミング入門
-
使える! MATLAB/Simulinkプログラミング
-
最新 使える!MATLAB
-
今日から使える! MATLAB 数値計算から古典制御まで
-
OpenCVによる画像処理入門
-
OpenCVによるコンピュータビジョン・機械学習入門
-
LabVIEW画像計測入門
-
IDLプログラミング入門―基本概念から3次元グラフィックス
-
GPUプログラミング入門 -CUDA5による実装