2024年9月24日(火)に開催しました、第53回 UV Study[Rust LT会]のイベントレポートをお届けします。
UV Studyとは、2020年1月から継続して開催している、当社が主催する技術勉強会です。
現在は月1回のペースで、主にLT会を開催しています。
毎回技術テーマを設定しているため、オフライン参加では同じ分野に興味を持つエンジニアとの交流の場としてもご活用いただけます。
今回は Rust をテーマに、5 名の方にご登壇いただきました。
■-Znext-solver=coherence の安定化(予定)記念 trait solver概説
当社の青葉から、現在の trait solver の問題点とそれに代わる新しい trait solver の状況に関する発表を行いました。
新しいアプローチとして、論理プログラミング形式を採用した「Chalk」プロジェクトが立ち上げられましたが、さらなる改良が必要とされ Next-generation trait solver の開発に至っています。
発表では、この新しい solver を有効にする実験的フラグ -Znext-solver=coherence についても言及がありました。このフラグにより型推論のチェックがより厳密になる一方で、いくつかの挙動の変更が予想されると紹介しました。
参加者は、Rustの型システムの進化と実際の開発への影響について理解を深める機会となりました。
■Rust Observability について
有限会社トップ・スペースに所属する Yuki Ishii 様から、Rustにおけるオブザーバビリティに関して発表していただきました。
本発表ではオブザーバビリティの主要要素であるログ・メトリクス・トレースなどの概念と重要性が説明され、特にトレースに焦点を当てて Rust での実装方法について詳しく解説されました。さらに、Sentry を用いたトレースの可視化方法も紹介していただき、エラーの詳細やパフォーマンスのボトルネックを特定する実践的な手法をご共有いただきました。
■CLI with Rustで幸せになる話、タイムゾーンを添えて
ファインディ株式会社の Shunsuke Tsuchiya 様から、個人開発の経験から感じた Rust で CLI ツールを開発する利点と、タイムゾーン処理についてお話いただきました。
発表の中心テーマはタイムゾーン処理の複雑さと Rust の chrono ライブラリを用いた解決策でした。サマータイムを考慮した開発の経験は参加者にとって貴重な情報となったようで、参加者からは「タイムゾーンを取り扱うときに出てくる Single の意味を初めて知った」などの声があがりました。
■Rust のテストで見やすいトレースバックが見えるまで
AGC株式会社 のもりもり 様から、Rust 初心者としてデバッグの難しさに直面したことを背景に、OpenTelemetry の概念、特にトレース機能を活用してRust のテスト関数に適用する手法をご紹介いただきました。
この実装によりテスト実行時のトレース情報がモニタリングツール上で可視化され、Rust 初心者にとってもエラーの原因特定や処理フローの理解が容易になり、開発効率の向上につながることが示されました。
■enumを余すところなく使いこなす crate 紹介
株式会社KICONIA WORKS の higumachan 様から、Rust の enum をより効果的に活用するためのcrate に関して発表していただきました。本発表では enum-map、enum_dispatch、taiheioki/state-set の 3 つの crate について、解決したい問題と crate を活用した解決策をご紹介いただきました。
参加者は、Rust の enum の深い理解と実践的な使用方法を学び、適切な crate の選択によってコードを改善する方法について貴重な知見を得ることができました。
◆◆◆◆◆◆◆
今回のイベントでは、オブザーバビリティやタイムゾーンの取り扱いなど業務で利用する際には重要となる要素を中心に、Rust の言語機能の最新情報や enum に関する TIPS と実用的な発表が多く行われました。
LT 会後の懇親会では Rust の業務利用や学習方法、開発時の困りごとについての相談などさまざまな意見交換がされていました。
改めまして登壇者の皆さま、ご参加いただいた皆さま、ありがとうございました。
UV Study開催時には登壇・参加ともに随時募集しておりますので、ご興味のある方は是非ご参加ください。
▼最新の勉強会情報はこちら
https://x.com/uv_technology
▼ユニークビジョンに興味がある方はこちら
https://hrmos.co/pages/uniquevision