FORCIA CUBEフォルシアの情報を多面的に発信するブログ

Shinjuku.rs #16を開催しました

2021.07.09

Shinjuku.rs Rust

第1旅行プラットフォーム部 エンジニアの髙橋です。
この記事では6/29(火)に開催したShinjuku.rs #16の様子についてご紹介します。
今回はお二人の方にご登壇いただき、「組み込みRustについて」と「Rustの暗号化について」という内容をお話いただきました。

過去のイベントの様子についてはこちらをご覧ください。
Shinjuku.rs イベントレポート

LTの様子

LT1 | Arduinoでモーター制御ロジックを実装した話 | 阿部耕二 さん210709Lt1.png

 
LT1は阿部耕二さんより、マイコン基盤の一種「Arduino」にRustでモーター制御のロジックを実装した話を発表いただきました。
モーターを回転させるには、モーターの位置の検出、制御タイミング生成のためのタイマ、回転数の制御のためのAD変換などの機能が必要です。もともとC言語で書かれていたモーターの制御コードを、avr-halというモジュールを利用して、Rustで置き換えてみたそうです。前回のイベントでも Rust初心者がArduinoをLチカしてみたというタイトルで発表していただきましたが、今回はさらに踏み込んでモーター制御までRustで置き換えてしまったということでした。

C言語とRustを比較すると、

  • Rustのほうがモダンにかける
  • 書いていて楽しい
  • 型推論が嬉しい
  • 変数宣言がデフォルトでイミュータブル(書き換え不可)なのが好き

という感想をもたれたようです。これらはRustの利点としてよく語られる内容で、C言語からの置き換えのモチベーションになる部分かなと感じています。

LT2 | serde-encrypt crate の紹介 | Sho Nakatani さん

210709Lt2.png

LT2はSho Nakataniさんより、serde-encryptという自作crateについて発表いただきました。
serde というシリアライズ/デシリアライズのための有名なcrateがありますが、serde-encryptは、serde でシリアライズ/デシリアライズできる構造体ならなんでも暗号化できるcrateとのことでした。シリアライズ/デシリアライズを行う際に、いまどきの"イケてる"暗号化技術を利用してデータを暗号化することで、安全にやりとりすることができるのが大きな特徴です。LTの中でserde-encryptのユースケースとして、以下のような場面があるのではないかと提案していただきました。

  • RPCライブラリの暗号通信
  • モバイルアプリのクライアント・サーバー間通信
  • 暗号化してファイルを保存

crateの役割はシンプルなので、これら以外にも活躍するケースは多いように感じます。LTでは暗号技術についてもわかりやすく解説していただき、とてもためになる発表でした。

懇親会

LTの後は毎回懇親会と称して、Google Meet上で参加者・登壇者を交えて雑談の時間を設けています。
今回の懇親会ではLTについての追加の質問や、Rustの勉強の仕方などの話があがりました。懇親会の様子を簡単に紹介します。

  • 暗号の話でLTをいただいたのは今回が初めてかもしれません(髙橋)
    • Rust特有の話でもないですもんね(Sho Nakataniさん)
    • ブロックチェーンは暗号技術とかかわりが深いですよね(弊社エンジニア: 松本)
    • ですね(Sho Nakataniさん)
    • Rustで暗号についてのcrateを作られたのはどういうきっかけだったんですか?(髙橋)
    • Intel SGX(データを保護しながらプログラムを実行できる、CPUの拡張技術)を使って秘密計算を行うプログラムを作成していて、足りない部分があったので自分でcrateを作ったという経緯です。暗号については勉強して3週間くらいです。笑(Sho Nakataniさん)
    • 3週間でここまで暗号に詳しくなられたのすごいですね!(髙橋)

  • Rustを普段書いてるよって方はどのくらいいらっしゃいますか?(松本)
    • 退勤後しか書けてないですねー(参加者: Kさん)
    • 退勤後に書かれてるのはむしろすごいです。笑(松本)
    • Rustを書き始めたきっかけはなんだったんですか?(髙橋)
    • 低レイヤーに詳しくなくて、仲良くなりたくて始めました。ゴールデンウィークを使って一気に始めました(Kさん)
    • ぜひShinjuku.rsをアウトプットの場として使ってください!(髙橋)

次回のShinjuku.rs #17は 8月31日に開催予定です

次回のイベントへの参加申し込みは、以下のページよりお願いいたします。

フォルシア connpass イベントページ

  • Rustを商用利用した話
  • Rustでこんなものを開発した
  • Rustの面白い仕様を紹介したい
  • Rustにcontributeした

など、Rustに関連する内容ならなんでもWelcomeです。皆様からのLTをお待ちしています。

この記事を書いた人

髙橋 優樹

2019年新卒入社エンジニア。夏がずっとこれくらいの気温ならいいのになと思いながら日々を過ごしています。