エンジニアの松本です。Rust、何もわからない... #5 - connpassを開催いたしました。
今回はUNICORN株式会社のctlyさん、フェアリーデバイセズ株式会社の加藤学さんにご登壇いただき、estieからはSWEのriano_17が登壇しました。
それぞれのスライドが公開されていますので、紹介いたします。
Rustプロダクトのキャッチアップ
加藤さんから既にRustをプロダクションで使っているフェアリーデバイセズに転職してからのキャッチアップについてお話しいただきました。
「GitHubで読もうとして、頭がパンクする」「ハイスペックPCが必要になる」という困ったポイントもあれば、「光速で開発環境が整った」「(Clippyが教えてくれるので)天才じゃなくても使えた」など良かったポイントをあげられていて、ものすごく自分の感覚と近いなと感じます。他にはcrateの分割の粒度や読むべきドキュメントへの動線周りで苦労されてた様子でした。
?の意味が分からなかったという点については、Rustの記号系は付録B:演算子と記号 - The Rust Programming Language 日本語版にまとめられているので、この表をオンボーディングで伝えれば検索できなくて詰まることは防げるかと思います。
Enumを自動で網羅的にテストしてみた
estieのriano_さんからはDBにenumを符号化して書き込み・読み出しをしている部分のテストのためにenumのバリアントをイテレータとして扱えるクレートevery_variantを紹介していただきました。彼とは同じチームで働いているのですが、この修正が入ったPRをみて気持ちが盛り上がりました。
賃料が坪単価で書かれていたり月額で書かれたりしていてRustのEnumできれいに構造化しやすいというのはWebアプリをRustで書いているメリットを感じます。
ライブラリとして使えるところで終わらず、実装を読みに行ったり原理を理解するためにサブセット的なマクロを組んでみたりと疑問への向き合い方がいいなと思いました。
巨大なサイズのファイルの行をシャッフルする
最後にUNICORN株式会社のctlyさんから、Rustで巨大なサイズのファイルの行をシャッフルするツールを作ったときの話をしていただきました。terashufというC++で書かれたツールを置き換えるようなrhuffleというツールを新しく作り、高機能でしかも高速にすることができたという内容でした。
業務でRustを使っていくためにはCLIツールからプロジェクトへ活用範囲を広げていくといいが、何より「生産性の高いソフトウェアを書くことが大切」と仰っていたのが印象的でした。
次回2023/01/25に開催します。
次回は年明け2023年1月25日(水)を予定しております。
既に登壇者が決まっており、参加登録を受付開始しております!ご参加お待ちしています。良いお年を。