Rustはいま最も勢いのある言語の1つ。特に、そのパフォーマンスの高さ、安全性、並行性から、C/C++に代わる言語として、システムプログラミングや低レイヤの開発では高く評価されています。Googleのソフトウェアエンジニアとして、さまざまなGoogleサービスのRust実装を担当してきた著者が、Rustへの深い理解と豊富な経験から得られた実用的なノウハウを共有。所有、借用、生存期間、トレイトといったRust特有の概念を具体例を示して詳しく説明するとともに、Cargoによる依存ライブラリ管理やClippyなどのエコシステムの活用方法を詳述しています。Rustの入門書を読了した読者に、「Rustらしい」プログラミング方法を伝授する一冊です。
Effective Rust
―Rustコードを改善し、エコシステムを最大限に活用するための35項目
David Drysdale 著、中田 秀基 訳
- TOPICS
- Programming
- 発行年月日
- 2024年11月
- PRINT LENGTH
- 304
- ISBN
- 978-4-8144-0094-2
- 原書
- Effective Rust
- FORMAT
- Print PDF EPUB
目次
まえがき 1章 型 項目1:データ構造を表現するために型システムを用いよう 項目2:型システムを用いて共通の挙動を表現しよう 項目3:OptionとResultに対してはmatchを用いずに変換しよう 項目4:標準のError型を使おう 項目5:型変換を理解しよう 項目6:newtypeパターンを活用しよう 項目7:複雑な型にはビルダを使おう 項目8:参照型とポインタ型に慣れよう 項目9:明示的なループの代わりにイテレータ変換を使用することを検討しよう 2章 トレイト 項目10:標準トレイトに習熟しよう 項目11:RAIIパターンにはDropトレイトを実装しよう 項目12:ジェネリクスとトレイトオブジェクトのトレードオフを理解しよう 項目13:デフォルト実装を用いて、実装しなければならないトレイトメソッドを最小限にしよう 3章 さまざまなコンセプト 項目14:生存期間を理解しよう 項目15:借用チェッカを理解しよう 項目16:unsafeコードを書かないようにしよう 項目17:状態共有並列実行には気を付けよう 項目18:Don't panic 項目19:リフレクションを避けよう 項目20:過剰な最適化の誘惑を退けよう 4章 依存ライブラリ 項目21:セマンティックバージョン(SemVer)を理解しよう 項目22:可視範囲を最小化しよう 項目23:ワイルドカードインポートを避けよう 項目24:APIに型が登場する依存ライブラリは再エクスポートしよう 項目25:依存グラフを管理しよう 項目26:忍び寄るフィーチャに注意しよう 5章 ツール 項目27:パブリックインターフェイスのドキュメントを書こう 項目28:分別をもってマクロを使おう 項目29:Clippyに耳を傾けよう 項目30:ユニットテスト以上のものを書こう 項目31:ツールのエコシステムを活用しよう 項目32:CIシステムを設定しよう 6章 標準Rustの向こうへ 項目33:ライブラリコードをno_std互換にすることを検討しよう 項目34:FFI境界を通過するものを制御しよう 項目35:手動でFFIマッピングを書かずにbindgenを用いよう あとがき 索引