Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Fairy DevicesがRustを採用して 5年が経ちました
Search
Satoshi Yoshikawa
November 30, 2024
Technology
310
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Fairy DevicesがRustを採用して 5年が経ちました
Rust.Tokyo 2024 でのFairy Devicesのスポンサーセッションです。
https://rust.tokyo/lineup/7
Satoshi Yoshikawa
November 30, 2024
More Decks by Satoshi Yoshikawa
See All by Satoshi Yoshikawa
Fairy DevicesでのRust活用
emergent
0
580
ONNX推論クレートの比較と実装奮闘記
emergent
1
1.2k
フェアリーデバイセズがRustを 採用して3年が過ぎました
emergent
1
1.2k
Other Decks in Technology
See All in Technology
omasushiというライブラリを作った
polidog
PRO
0
170
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
3
2.9k
Screen Lens - 今見てる画面を翻訳する
komagata
0
190
AIで実装は速くなった。なのにプロダクトは速くならない。職能の壁を越えて価値のフローを設計する
nwiizo
7
7.6k
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
610
Amazon Quick on DesktopがIAM Identity Centerで動かない理由
yukiogawa
0
130
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
1
480
作り直せるコードは迅速に 作り直せないDBは慎重に - AI時代のプロダクトエンジニアが「判断の不可逆性」で開発速度を変える話
kinosuke01
0
280
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
130
Reactの設計論
uhyo
12
5.5k
コーディングエージェントでM5Stack系の開発を少し試した時の話 / M5 Japan Tour 2026 Autumn 東京
you
PRO
0
110
「図書館」という名前のままでいいのか -Code4Lib JAPANカンファレンス2026 アンカンファレンス報告- / Code4Lib JAPAN Conference 2026: Unconference Report
ykiyota
0
130
Featured
See All Featured
Writing Fast Ruby
sferik
630
63k
The Curse of the Amulet
leimatthew05
2
14k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
440
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
The Cost Of JavaScript in 2023
addyosmani
55
10k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.3k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
340
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Transcript
Rust.Tokyo 2024 スポンサーセッション Fairy DevicesがRustを採用して 5年が経ちました 2024−11−30 Fairy Devices株式会社
1
本日のトピック • Fairy Devicesの紹介 • Fairy DevicesでのRust利用状況の紹介 ◦ Rust採用経緯(Rust.Tokyo 2022振り返り)
◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 2
本日のトピック • Fairy Devicesの紹介 • Fairy DevicesでのRust利用状況の紹介 ◦ Rust採用経緯(Rust.Tokyo
2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 3
4
Fairy Devicesのミッション 5 業務支援AIの実現と普及 ヒトが「見ているもの」「聞いていること」「話していること」そして「ヒトの行動」それらを「機械が理解・ 学習・解析できるカタチ」に再設計することで、機械が自然に、そしてココロ優しくヒトを助けるため のテクノロジーを開発しています。
Fairy Devicesのミッション 6 業務支援AIの実現と普及 音声処理技術 遠隔業務支援サービス
7
8
日経トレンディ 2025年ヒット予測ベスト30 1位に当社のTHINKLETを含めたカテゴリが選出 9 https://xtrend.nikkei.com/atcl/contents/18/01086/00001/ 遠隔業務支援以外にも積極的に活用の場を広げています
Fairy Devicesの強み 10
本日のトピック • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用経緯(Rust.Tokyo 2022振り返り)
◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 11
本日のトピック • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用 の経緯(Rust.Tokyo 2022振り返り)
◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 12
Rust採用の経緯 Rust.Tokyo 2022スポンサーセッション フェアリーデバイセズがRustを 採用して3年が過ぎました 13
Rust採用の経緯 • 社内プロダクト(サーバー、クライアントライブラリ等)にはC++で実装されたもの が多くあった • 一方でC++プロダクトをメンテナンスできる社内リソースが不足していた • C++に劣らない性能 でより安全に開発できる プログラミング言語を探した結果、
Rustがフィットした 14
Rust採用のあゆみ(2019〜2022) 15 2019 2020 2021 2022 CATS Backend microservice (small
start) Nyaprus Speech Recognition API (replacement) LINKLET (new product) Product development Personal activity Publish Interviewed …and many trivial works in Rust Publish ※前述のスライドからの抜粋&一部修正
本日のトピック • 自己紹介 • Fairy Devicesの紹介 • Fairy DevicesでのRust利用状況の紹介 ◦
Rust採用経緯(Rust.Tokyo 2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 16
2022 → 2024のあゆみ • 業務でRustを扱うメンバーが2倍に • Webサービス(バックエンド)の新規開発はほぼRustで実装 • WebのフロントエンドでRustを採用した事例ができた 17
社内のGitリポジトリ数は 順調に増加中 Gitリポジトリ数(累計) Gitリポジトリ数は 5年で約15倍に
Webアプリ開発で使うクレートの変遷 18 2022年以前 2022〜2024年 Webフレームワーク actix-web, warp axum データベース接続 diesel(※)
sqlx ロガー env_logger, log tracing, tracing-subscriber エラー処理 failure(※) anyhow, thiserror シリアライズ/ デシリアライズ serde serde ※正確には2022年よりも以前から右側をメインに使ってはいる
AWSでRustを使いやすくなった • AWS SDK for Rust の正式リリース(2023-11) • cargo-lambdaでAWS Lambdaを簡単実装&デプロイ
◦ CDKからも扱えるようになっているようです(未使用) 19 https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-sdk-rust/
Rust活用領域の拡大 • WebサービスのバックエンドやCLIツールだけでなく 社内ソフトウェアでの活用領域を拡大中 ◦ Webフロントエンド ◦ デバイスソフトウェアへの組み込み 20 Webサービス
デバイス、クライアント バック エンド フロントエ ンド デバイスソ フトウェア サービス 運用CLI ツール ※注:プロダクトのコードを全部Rustで置き換えるという話ではございません
21
• 一般的なプラクティスが少ない 課題に対する解決法が属人化・サイロ化してしまう懸念 • みんな「Rustを使っている」、でも… 技術領域が異なることで新たな壁ができてしまう懸念 活用領域の広がりによる新たな課題 22 社内外での情報発信・技術交流の強化 Rust以外での経験が豊富な人材の採用
本日のトピック • 自己紹介 • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用の経緯(Rust.Tokyo
2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 23
現場エンジニアによる開発体験記 自己紹介 - こそこそ個人開発 - 車輪の再開発もどきしたり - 友人のアプリケーション作ったり
- プロダクト開発部 ソフトウェアエンジニア - LINKLET(Webアプリケーション)のフロントエンド、バックエンドの開発 24 副題: 入社して1年が経ちました
Fairy Devices x Rust - Rust の採用歴が長く本番環境で運用している - いろんな知見が溜まっている
- Rust の本の執筆をされている方がいる - コア技術に理解はある - Rust の Slack チャンネルがある - 相談が簡単にできる - やったことの共有も盛んに行われている 25
日々の開発 Rust をたくさんかけて楽しい! けどそんなことばかりじゃない。運用していく中での課題感もある 26
課題感 part ① 依存クレートの定期的なアップデート - Breaking Change & 脆弱性対応 -
ロジックの修正が必要 - ドキュメントの充実させよう - 定常タスクでの対応 - 事前にテストしやすい形にしておこう 27
課題感 part ② 技術的負債の返却 - コードがどんどん古くなるし良い書き方が見つかる - 定期的な改善日の運用(改善 Day) -
どういうところがカバーできているか見えにくい - テスト結果分析(カバレッジ cargo-llvm-cov) 28
課題感 part ③ プロダクトの成長幅の大きさ - THINKLET でやりたいこと、できることがたくさんある - 流行りの
LLM と連携できたら、独自にカスタマイズしていきたいよね - 配信アプリケーションでYouTube とかも使えるから、独自の配信サー バー欲しいよね 29 THINKET x 〇〇 = 無限大
30 Rust 以外の Fairy Devices の面白さ - エンドユーザーとの接点が色々ある - 導入いただいているお客さんの現場同行、工場見学
- 直近滋賀にある工場に訪問させていただいて意見交換など - プロダクトに対して色んなレイヤーのエンジニアがいる - THINKLET 一つとっても - ハードウェア - ソフトウェア - サーバーサイド etc... 最後に
本日のトピック • 自己紹介 • Fairy Devicesの紹介 • 当社プロダクトでのRustの採用状況紹介 ◦ Rust採用の経緯(Rust.Tokyo
2022振り返り) ◦ Rust開発環境の変化(2022 to 2024) • 入社1年の社員事例紹介(片岡) • まとめと宣伝 31
まとめ • 当社でのRust採用事例や現場の声について紹介しました 32
Fairy Devicesでは一緒に働く仲間を募集中です • Webアプリケーション ◦ バックエンド ◦ フロントエンド • クラウドエンジニア
• デバイスソフトウェア • Androidアプリ • QA(品質保証) etc 33 採用ページのQRコード Rustにこだわらず、多様なご経験者を歓迎します
ご清聴ありがとうございました 34