Rustのasync-stdを利用したRedisサーバクローンが公開されました

大学でセキュリティ関連の演習を行いました。この演習では、大学院生と社会人が研究や実装を通して実践的な学習を行います。トピックはRewrite it in Rust、モデル検査、ゼロトラスト、暗号など色々あるのですが、そのうちRewrite it in Rustのトピックを選択していた社会人の受講生が、async-stdを利用してRedisのクローンを実装して、オープンソースで公開しました。

github.com

ぜひ、GitHubのスターも押してください!

Tokioを利用したRedisクローンの実装は既にあるのですが、こちらはasync-stdを用いています。この演習では新規性ではなく、自分で実装して新しい技術を習得することを目標にしていたので、ネタかぶり上等です。受講者曰く、Rustは書き味が良く、安全で、高速に動作するため、業務でも使っていこうとおっしゃっていました。Rust独特なハマりどころもありますが、習得自体は難しい点はなかったということです。ちなみに、こちらの実装では、シグナルを捕まえてgraceful shutdownするようにしたりと、なかなか凝った作りになっているようです。

こちらは、座学で教員の話を聞くというのではなく、各自用意してきたスライドを発表して質疑しあうということを行いました。自分で調べて実装して、まとめて発表するのが一番自分の頭に残るのではないかと思います。他の受講者は、RustでOSを実装することに挑戦したり、TLA+で並行システムをモデル検査したりとしていました。研究レベルとまではいきませんが、そこそこ先端ではないかと思います。

今後も、Rustで世界を安全にしていきたいところです。