100日後にRustをちょっと知ってる人になる: [Day 63]RustConf 2022 を見る
Day 63 のテーマ
先週はじつはまるっと KubeCon + CloudNativeCon を夜な夜なみていたのですが、技術系カンファレンスって見るのは楽しいですよね。新しいこと、知らなかったことを学べるいい機会だと思ってあちこちみています。KubeCon 併設カンファレンスの WasmDay もありましたしね。
と、ふと思ったのが Rust に関するカンファレンスもきっとありますよね?ってことでした。そういえば、Rust を学び始めて間もないので Rust 関連のカンファレンスについて見たことも調べたこともなかったのです。というわけで、今回 Rust のカンファレンスについて見てみたいと思います。
RustConf
調べめてみたら、ありました。(まあ、当然ですよね…)
RustConf というカンファレンスが大体毎年 8 〜 9 月くらいに開催されているようです。それも、2016 年から開催されていたんですね。Rustaceans な皆さん、本当にすみません、全く知りませんでした…
以下、過去のカンファレンスサイトです。
それと、録画された動画の再生リストもこちらにありました。
一気に 追いかける対象の動画コンテンツが積ん読ならぬ、積ん見になってしまいました。
RustConf 2022 - 基調講演 by Josh Triplett and Tyler Mandry
というわけで、RustConf 2022 - 基調講演 を見てみようと思います。
(現在視聴中… 感想は後ほど)
エラーハンドリングに関する Crate や、スタンダードライブラリの中でのエラーハンドリングの進化に関する説明が行われます。
- Error
-
Crate failure
-
failure
は非推奨です。failure
のAPIが好きだった人は、以下の利用を検討してみてください。 -
Crate anyhow
-
failure::Error
の良い代替
-
-
Crate thiserror
-
#[derive(Fail)]
をほぼそのまま置き換え可能
-
-
- Crate eyre
エラーハンドリングの進化の中で見て分かるように標準ライブラリに昇格したり、Crate で提供したりと様々な実現方法がありました。そこで多くの人はなぜ1つの標準方式で行わないのだろうと考えると思います。答えとしては、Rust はエコシステムともに進化するということをコンセプトにしているからなのです。
Rust の構造としては、アプリケーションを作るために言語仕様そのものや標準ライブラリなどがファンデーションとしてありますが、それだけではなく実験的に開発された Crate とそれがいろいろと使われてフィードバックのもと修正され確立された Crate などがアーキテクチャの礎になっています。
このアーキテクチャを支える要素の進化は継続的に行われます。アプリケーションの中で実験的な Crate が試されテストされてフィードバックを得てそこから改善されて、Rust の標準ライブラリの言語仕様に含まれたり、確立された Crate されていきます。
堅牢なシステムを気づくためには、ミスをしない人だけで開発するのではなくて、ミスを見つけたりあるいは発生しないようにするためのツールやプロセスも併せて必要になってきます。
Day 63 のまとめ
RustConf のコンテンツ、アジェンダだけざっと見てみましたけど、なんだか良さそうでした。追いかけてみていこうと思います。
あと、毎年オレゴン州のポートランドでこの RustConf は開催されているみたいです。ポートランドといえば、アメリカの中でも住みたい都市ランキングで必ず上位に入っているところです。まだ行ったことがないので、来年あたりタイミングが合えば行ってみたいなって思いました。
基調講演は Rust 自体が以下にコミュニティを通して信頼性高く、そして利便的なものが提供できるようになっているのか、そのようなコンセプトについておしえてもらえたと思います。
Discussion