Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

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

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

Rust.Tokyo 2024 でのFairy Devicesのスポンサーセッションです。
https://rust.tokyo/lineup/7

Satoshi Yoshikawa

November 30, 2024
Tweet

More Decks by Satoshi Yoshikawa

Other Decks in Technology

Transcript

  1. 本日のトピック
 • Fairy Devicesの紹介
 • Fairy DevicesでのRust利用状況の紹介
 ◦ Rust採用経緯(Rust.Tokyo 2022振り返り)


    ◦ Rust開発環境の変化(2022 to 2024)
 • 入社1年の社員事例紹介(片岡)
 • まとめと宣伝
 2
  2. 本日のトピック
 • Fairy Devicesの紹介 
 • Fairy DevicesでのRust利用状況の紹介
 ◦ Rust採用経緯(Rust.Tokyo

    2022振り返り)
 ◦ Rust開発環境の変化(2022 to 2024)
 • 入社1年の社員事例紹介(片岡)
 • まとめと宣伝
 3
  3. 4

  4. 7

  5. 8

  6. 本日のトピック
 • Fairy Devicesの紹介
 • 当社プロダクトでのRustの採用状況紹介 
 ◦ Rust採用経緯(Rust.Tokyo 2022振り返り)


    ◦ Rust開発環境の変化(2022 to 2024)
 • 入社1年の社員事例紹介(片岡)
 • まとめと宣伝
 11
  7. 本日のトピック
 • Fairy Devicesの紹介
 • 当社プロダクトでのRustの採用状況紹介
 ◦ Rust採用 の経緯(Rust.Tokyo 2022振り返り)

    
 ◦ Rust開発環境の変化(2022 to 2024)
 • 入社1年の社員事例紹介(片岡)
 • まとめと宣伝
 12
  8. 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 ※前述のスライドからの抜粋&一部修正 

  9. 本日のトピック
 • 自己紹介
 • Fairy Devicesの紹介
 • Fairy DevicesでのRust利用状況の紹介
 ◦

    Rust採用経緯(Rust.Tokyo 2022振り返り)
 ◦ Rust開発環境の変化(2022 to 2024) 
 • 入社1年の社員事例紹介(片岡)
 • まとめと宣伝
 16
  10. Webアプリ開発で使うクレートの変遷
 18 2022年以前 2022〜2024年 Webフレームワーク actix-web, warp axum データベース接続 diesel(※)

    sqlx ロガー env_logger, log tracing, tracing-subscriber エラー処理 failure(※) anyhow, thiserror シリアライズ/ デシリアライズ serde serde ※正確には2022年よりも以前から右側をメインに使ってはいる 

  11. 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/
  12. Rust活用領域の拡大
 • WebサービスのバックエンドやCLIツールだけでなく
 社内ソフトウェアでの活用領域を拡大中
 ◦ Webフロントエンド
 ◦ デバイスソフトウェアへの組み込み
 20 Webサービス


    デバイス、クライアント 
 バック
 エンド
 フロントエ ンド
 デバイスソ フトウェア
 サービス
 運用CLI ツール
 ※注:プロダクトのコードを全部Rustで置き換えるという話ではございません 

  13. 21

  14. 本日のトピック
 • 自己紹介
 • Fairy Devicesの紹介
 • 当社プロダクトでのRustの採用状況紹介
 ◦ Rust採用の経緯(Rust.Tokyo

    2022振り返り)
 ◦ Rust開発環境の変化(2022 to 2024)
 • 入社1年の社員事例紹介(片岡) 
 • まとめと宣伝
 23
  15. 現場エンジニアによる開発体験記
 自己紹介
 - こそこそ個人開発
 - 車輪の再開発もどきしたり 
 - 友人のアプリケーション作ったり 


    
 - プロダクト開発部 ソフトウェアエンジニア
 - LINKLET(Webアプリケーション)のフロントエンド、バックエンドの開発 
 
 
 24 副題: 入社して1年が経ちました 

  16. Fairy Devices x Rust
 
 - Rust の採用歴が長く本番環境で運用している
 - いろんな知見が溜まっている


    - Rust の本の執筆をされている方がいる
 - コア技術に理解はある
 - Rust の Slack チャンネルがある
 - 相談が簡単にできる
 - やったことの共有も盛んに行われている
 
 
 
 25
  17. 課題感 part ①
 依存クレートの定期的なアップデート
 - Breaking Change & 脆弱性対応
 -

    ロジックの修正が必要
 - ドキュメントの充実させよう
 - 定常タスクでの対応
 - 事前にテストしやすい形にしておこう
 
 27
  18. 課題感 part ②
 技術的負債の返却
 - コードがどんどん古くなるし良い書き方が見つかる
 - 定期的な改善日の運用(改善 Day)
 -

    どういうところがカバーできているか見えにくい
 - テスト結果分析(カバレッジ cargo-llvm-cov)
 28
  19. 課題感 part ③
 
 プロダクトの成長幅の大きさ
 - THINKLET でやりたいこと、できることがたくさんある
 - 流行りの

    LLM と連携できたら、独自にカスタマイズしていきたいよね
 - 配信アプリケーションでYouTube とかも使えるから、独自の配信サー バー欲しいよね
 
 29 THINKET x 〇〇 = 無限大

  20. 30 Rust 以外の Fairy Devices の面白さ
 - エンドユーザーとの接点が色々ある
 - 導入いただいているお客さんの現場同行、工場見学


    - 直近滋賀にある工場に訪問させていただいて意見交換など
 - プロダクトに対して色んなレイヤーのエンジニアがいる
 - THINKLET 一つとっても
 - ハードウェア
 - ソフトウェア
 - サーバーサイド etc... 
 最後に

  21. 本日のトピック
 • 自己紹介
 • Fairy Devicesの紹介
 • 当社プロダクトでのRustの採用状況紹介
 ◦ Rust採用の経緯(Rust.Tokyo

    2022振り返り)
 ◦ Rust開発環境の変化(2022 to 2024)
 • 入社1年の社員事例紹介(片岡)
 • まとめと宣伝 
 31
  22. Fairy Devicesでは一緒に働く仲間を募集中です
 • Webアプリケーション
 ◦ バックエンド
 ◦ フロントエンド
 • クラウドエンジニア


    • デバイスソフトウェア
 • Androidアプリ
 • QA(品質保証) etc
 33 採用ページのQRコード
 Rustにこだわらず、多様なご経験者を歓迎します