🗼

Rust.Tokyo 2024にゴールドスポンサーとして協賛し、計3件の発表を行いました!

に公開

はじめに

こんにちは、Fairy Devicesプロダクト開発部の片岡です。

先日Fairy Devicesのプロダクト開発部のメンバーでRust.Tokyo 2024に参加してきましたので、その様子をレポートします。

Rust.Tokyoとは

Rust.Tokyoはプログラミング言語Rustに関する技術カンファレンスです。

2019年に第1回が開催されてから、今年で5回目の開催となります。

年々規模を拡大し、今年は現地参加者100名くらい?オンライン参加は500名くらい(connpass 申し込み人数)、さらにこれまでのシングルセッションから2つのセッションが設けられ発表件数も大幅に増えました。

Rust言語は最も学びたいプログラミング言語として話題になるなど、近年注目を高めており、それが反映された結果となっているかと思います。

今年のRust.Tokyoでは当社所属のメンバー2名の応募が採択され、発表を行いました。

また、今年もゴールドスポンサーとして協賛しており、2022年から数えて3年連続となりました。

当社からの発表について

当社からは個人セッション2件とスポンサーセッション1件の発表を実施しました。

それぞれの発表について発表者から紹介させていただきます。

「大規模プロダクトのための Cargo Workspaces ベストプラクティス」

プロダクト開発部の名和です。トラック A の 初手 をもらって登壇してました。Rust での大規模なプロダクト開発において、Cargo の Workspaces 機能を責務の分離に使おうという話をしました。最初マイクを手に持っておらず、YouTube の方にぜんぜん音声が入っていなかったみたいで、すみません。録画が再公開される際には音声を後乗せする予定でいます。

https://speakerdeck.com/mnawa/da-gui-mo-purodakutonotameno-cargo-workspaces-besutopurakuteisu

質疑応答としては、やはり全体のビルド時間を気にされているものが多かったです。(休憩時間に聞いてくれた方もいました。) どうしてもリンク時間は長いのですが、個人的には今のところどうしようもないかなと思っています。関連して、クレートを分けることでリンク時間は伸びるだろうと言いましたが、もともと無視できないほど長いので逆にそこまで影響しないと考えています。インクリメンタルリンクをゴールにしている https://github.com/davidlattimore/wild みたいな解法に期待です。

ちなみに今回の応募内容は昨年も提出していたものでした。その昨年のときに、登壇できない人が居た場合の補欠として返事をもらったので、今年は発表枠が増えているため通るだろうと思いほぼそのまま再提出した結果、無事採用してもらえました。昨年テーマを考えたときは [workspace.dependencies] を使い始めたばかりで、便利だし他の Rust ユーザーにも有用であろうから布教したい気持ちでした。昨年時点からだと、個人プロダクトで [workspace.package]cargo-release を使うようになったのを紹介したあたりが更新分になります。(もちろん Rustacean に有用であろうと思って出したのですが、) 再提出とかでも通るので、CfP(Call for Papers)には気軽に応募してしまうのが盛り上がって良いですね。

テーマ自体はユニークビジョンさんの LT 会で話したことがあり、発表時間が伸びる分の追加の内容を足すだけだしぜんぜん手間かからないだろうと思ってましたが、構成なども大幅に変えたりで結局ほぼ作り直しになり、通常通りの労力がかかりました。

ONNX推論ランタイムクレートの比較と実装奮闘記

プロダクト開発部の吉川です。

今回はじめて自身の応募を採択いただき、個人セッションでお話することができました。2022年&今年のスポンサーセッションでもお話したとおり、これまではサーバーバックエンドでのRust利用が大半で、著書でもWebアプリケーション開発について書きましたが、これまでとは少し違った領域にチャレンジをしたいと思いONNX✕Rustをテーマにお話してみました。

https://speakerdeck.com/emergent/rust-tokyo-2024-comparing-onnx-crates

タイトルには書いていませんが、ONNXモデルをRustで推論したうえでさらにAndroidアプリに組み込んで性能評価をするという内容で、過程には慣れてないことが多く苦労しました。一方で、個人的には新たな知識を得られ、これからも取り組んでみたいテーマを得られたのは収穫だと感じました。

質疑応答ではONNX Runtime以外、たとえば「TensorFlow Liteなどとの比較などはどうだったか」のような今回のお話でカバーしきれていない点は十分に回答できなかったのですが、これからさらに知見を広げるネタをいただけたと受け止め、引き続き色々手を出していきたいなと考えています。

裏話的なことを言うと、今回応募内容を作文していたタイミングではONNXのことを調べ始めた程度で、タイトルに書いてあることははほとんど何も手を付けられていない状況でした。これからやろうと思っていることを概要文に書いて半分ダメ元で申し込んでみたところ採択いただいたので、採択通知後は大慌てで準備しました。平日の日中はいわゆる部長のお仕事…たくさんの会議や社内調整ごとなどがあるため、平日業務後と週末を全部使ってなんとか今回の発表にこぎつけられました。

発表後にXのポストなどを拝見しているとそこそこ反応いただいていたようで、今後もONNXをはじめとした機械学習モデルの推論周りに取り組んでいくモチベーションになりました。改めて、今回は登壇の機会をいただけてRust.Tokyo運営と、当日発表を聞いていただいたみなさまには感謝申し上げます。また、社内メンバーにも、10〜11月の準備期間中ヘロヘロになってて心配をかけていたとしたら申し訳なかったと思います(笑)。

Fairy DevicesがRustを採用して5年が経ちました

スポンサーセッションについては片岡から紹介させていただきます。

スポンサーセッションでは、「Fairy DevicesがRustを採用して5年が経ちました」というタイトルの発表をしました。
これは2年前のスポンサーセッションで行った「フェアリーデバイセズがRustを採用して3年が過ぎました」という発表をインスパイアしたものです。

https://speakerdeck.com/emergent/fairy-devicesgarustwocai-yong-site-5nian-gajing-timasita

前半は吉川から、前回の発表から2年経ってどう変わったのかということ、そして今世の中でRustを採用する組織が増えている中で、私たちのような長く使っている会社がどのような取り組みをして、どのような課題を抱えているのかという部分を共有させていただきました。後半では私から「入社して1年が経ちました」という副題で実際Fairy Devicesでの開発体験について軽くお話しさせていただきました。

質疑応答としては、「実際にクレートのBreaking Changeなどで困ったことはありますか。」という質問がありました。リリースサイクル内で起こる部分については対応できる部分は対応するし、問題点を明らかにした上で必要がなければ次のリリースサイクルに回すというようなことを話した気がします。もちろんどうしても対応せざるをえない時もあって、吉川からは当時実際に苦労した話もしました。そのほか、弊社のRustの採用フィールドについて数件ご質問いただいただきました。

私としては、こうした技術カンファレンスには初参加かつ初登壇だったのでとても緊張しました。とても多くの方に聞いていただけて、結果として弊社に興味を持っていただけたなら幸いです。また今回は自分のパートはどちらかというと軽い会社紹介に近い形だったので、来年もし個人セッションで機会があれば技術ネタを話したいと思っています。

ブース展示

会場ではゴールドスポンサーとしてブース展示の機会もいただきました。

ブースでは当社の製品であるTHINKLET/LINKLETのデモ展示を実施しました。

またノベルティとして今回当社イメージキャラクター(非公式)の「ばくがちゃん」のマスキングテープを作り配布もしました。

ブースでは当社が開発しているウェアラブルデバイスTHINKLETの展示を行いました。
THINKLETについてはこちらをご覧ください。
THINKLETを用いた遠隔支援サービスであるLINKLETや、日経トレンディの2025年ヒット予測1位カテゴリ内で紹介されたAIチャットのデモを実施しました。

ブースにいらっしゃった方からは、これらのプロダクトのどの部分にRustが採用されているのかという質問を多く受け、LINKLET・mimiの事例を説明させていただきました。
さらにTHINKLETのデモを通してAndroid互換のデバイスとしてのTHINKLETへの興味も多くの方に持っていただけたと思います。
また、今回初めて作成した当社イメージキャラクター(非公式)である「ばくがちゃん」のマスキングテープも好評でした!

おわりに

以上Fairy Devices によるRust.Tokyoの参加レポートでした。最後まで読んでいただきありがとうございました。

フェアリーデバイセズ公式

Discussion