ツナ、納豆、まよねーず。

ICTに関する日記とかメモとか。

Rust.Tokyo 2023 現地参加レポート

はじめに

2023-10-21(土)に開催されたRust.Tokyo 2023の参加レポートです。

rust.tokyo

 

現地参加の感想と自分用にセッションに関する情報をまとめています。

私の参加歴ですが、2021年と2022年はオンライン参加しました。
2023年はハイブリッド開催だったため、現地参加しました

 

 

申し込み

現地参加は500円でした。Ti.toでの申し込みでした。

チケットはスクショしてとっておきました。

 

未来の私へ:

 早めにSoldOutしたようなのですぐ申し込んでください。

 後でチケットを参照する方法がよくわからなかったので
 次回も同じ申し込み方法だったら忘れずにスクショしてください。

 

配信

ハイブリッド形式だったのでオンラインはYouTube配信でした。

アーカイブ動画が出たらこちらにリンクを貼る予定です。

 

セッション

セッション概要は以下より引用しています。

rust.tokyo

IoTプラットフォーム開発におけるRustの活用

Takumi Shimada

このプレゼンテーションではでは2017年というかなり早期から採用していたIdeinならではの経験を皆様と共有しようと考えています。

具体的にはIdeinでRustを早期から導入した経緯からRustや周辺エコシステムの変更に伴うコードの変遷(async/awaitの導入など)、Rustを実プロダクトで使うときの課題とその対策(CIでの工夫や実プロダクトで起きたトラブル)を話していきます。

Rustを実環境で導入する企業は増えてきていますが、早期から導入していた数少ない企業としてRustの進化の歴史とその影響を話せればと思います。

docs.google.com

 

かにさんタワーバトル

Yuta Ide

Rust はサーバー開発においても堅牢さと生産性を提供してくれる素晴らしい言語です。しかし言語自体は HTTP サーバーの機能を提供していないため、Rust で HTTP サーバーを作るためには何かしらのフレームワークを選定しなければいけません。筆者は現在、社内の古い世代のシステムを、メンテナブルで長生きするシステムに置き換える仕事をしており、その際にRustとaxumを導入しました。ただその際にライブラリやエコシステムに振り回されないような技術選定を考えて欲しいというオーダーがあり、axumを導入するかは最後までとても悩みました。結果的に選択しましたが、それはtowerによって別FWに乗り換えられることに気づいたからです。このトークでは、HTTPサーバーそのものの復習、サーバーの開発にRustが適している理由、axumの嬉しさ、towerによる相互乗り換えの方法について話します。

speakerdeck.com

 

他言語がメインの場合のRustの活用法 - csbindgenによるC# x Rust FFI実践事例

Yoshifumi Kawai

csbindgenというRust <-> C#FFIを自動化するライブラリを開発し、OSSとして今年の3月に公開しました。このライブラリを元にして、C#(他言語)を中心にしたアプリケーションの中でのRustの使い所、Rust実装上でのFFIのテクニック、そしてcsbindgenの実際の利用例を紹介します。

speakerdeck.com

 

素材メーカーが内製開発でRustを使っている話

スポンサーセッション AGC株式会社

AGCは素材メーカーでありながらソフトウェアの内製開発に力を入れており、2021年頃からRustを採用しています。2023年にはソフトウェア開発の専門組織を立ち上げ、Rustの利用先は社内向けWebアプリや最適化アルゴリズムの実装など多岐に渡ります。素材メーカーにおける内製開発の実情も交えつつ、具体的なプロダクトを例にRustの採用に至った経緯、採用して良かった点・苦労した(している)点、Rustを普及するために取り組んでいることなどを紹介します。

 

Rustがユニークビジョンにもたらした恩恵と苦労 ~そしてお返しへ~

スポンサーセッション ユニークビジョン株式会社

ユニークビジョンがRustを採用して6年間の取り組みをお話します。良い点や悩ましい点から、その試行錯誤の内幕や、自社で開発したちょっと便利なcrateも紹介します。

github.com

 

並行キャッシュライブラリの開発で得られた知見

Tatsuya Kawano

本セッションではMokaというライブラリの開発を通して得られた経験や課題を共有します。Mokaは私が2021年から継続的に開発している並行キャッシュです。crates.ioやsentry.ioのバックエンドに採用され、高負荷なWebサービスを支えています。

セッションではキャッシュ固有の話題に触れた後、非同期ランタイムの並行性を損なわないデータ構造の選択方法など、一般的な並行プログラミングに応用できる知識も交えて紹介します。また、開発で苦労した点なども共有します。

speakerdeck.com

github.com

 

Rust 業務経験がない開発者で集まって汎用ツールを開発した話

Kajiwara

Chatwork 株式会社では Roggol という汎用ツールを開発しています。これは CQRS における Read Model の更新を行うコンポーネントを汎用的に実装したものです。 しかし、このアプリケーションの実装を開始した当時、社内には、プライベートで Rust を触っている人はいましたが、Rust の業務経験がない開発者しかいませんでした。

このセッションでは、そのような状況下で一般的に学習コストが高いと言われている Rust で汎用的なアプリケーションを開発する上で、開発前後で想定通り/想定外だったことや、 どのような点に苦労したか、どのような点で報われたかなどを共有します。

 

Ferrocene - Enabling Rust in Critical Environments

 Florian Gilcher

How do we bring Rust regulated industries, particularly safety-critical? Cars? Industrial machinery? Maybe planes?

This talk gives an overview what it means to “qualify” the Rust compiler for safety and which approaches Ferrous Systems took to address those needs in Ferrocene.

github.com

 

所感

会場

  • 会場はメルカリさんでした。
    方向音痴な私は、どの入り口が受付か分からず数分うろうろしました(笑)。
  • カンファレンスで当日入館証をいただく形は初めてで、企業見学みたいでした。
  • 無料で飲める魔法の自販機!
    アナウンス前に使ったので「あれ電子マネー非対応なんかい」と思ったら
    そもそもお金要らなかったという、まさかの展開でびっくりしました。
  • コミュ障なのでスポンサーブースに行けず・・・。
    配布物があると近寄り易いのですが、何話していいか分からないポンコツなので
    今回は遠巻きに様子見ただけに終わりました。次回はなんとか・・・。

 

セッション

  • 運営の皆様のタイムマネジメントがしっかりされていてとてもスムーズでした。
  • 最初はマイクトラブルがあったものの、リカバリ早かったです。すごい。
  • 今回でClippyの存在を知るという、Rust書けてない自分に気がつき絶望しました。
  • Rustを導入された企業さんは、柔軟なところが多いと思いました
    (導入の説得で苦労された様子があまりなく。
    導入時のプレゼンが素晴らしいのだと思いますが)
  • C#エンジニアもRustに入りやすいとお聞きして
    自社のC#エンジニアもRust勧誘対象にしたいと思いました。
    C++エンジニアは狙い目だと思っておりましたが)
  • 英語セッションはあまり聞き取れず悔しかったです。
    オンライン(YouTube)だと自動字幕に助けられるのですが・・・英語勉強します。

 

質疑応答

  • 質問の受け付けはSli.doに寄せてありました。
  • 現地でも各自Sli.doを見るスタンスなので
    PCかタブレット持参が捗ると思いました。(Wi-Fiも使わせてくださった!)
  • たくさん質問がついており、進行の都合上読まれないものが出てしまうので
    絶対回答得たい方は現地参加して直接聞くが良きですね。
    (特にスポンサーセッションで、オンラインで別途質問するが難しそう)

 

さいごに

今回も控えめに言って最高でした。

Rust.Tokyoは初めての現地参加でしたが、私は現地参加をオススメします。

Rustaceanの方々に実際にお会いできるのは
オンラインではできない体験で、モチベーションが上がりました。

 

運営の方も推奨されていましたが
聴講側に徹するだけでなく登壇する側も目指したいです!

 

今回も素晴らしいRust.Tokyoでした。

運営の皆様、スピーカーの皆様、貴重な機会をいただきありがとうございました。

 

最後までご覧くださりありがとうございました。