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

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

2019.07.19

エンジニア Rust Shinjuku.rs セミナー・勉強会

プロダクト部の松本です。

フォルシアではRustのLT会を隔月開催しています(前回の様子はこちら)。

Webエンジニアだけではなく、いろいろな領域で働いているエンジニアの方々にご参加いただいているため、それぞれの知見を交換でき、運営ながら毎回楽しみにしています。

今回5度目となるShinjuku.rs#5を7/16(火)に開催しました。ご参加いただいた皆様ありがとうございました。
残念ながら参加できなかった方々のために、本記事では当日の様子をお伝えします。

pic_1.jpg

LTの様子

当日は私松本を含めた5名が登壇し、それぞれ10分間のLTを行っていただきました。

LT1 Impressions of calculating word similarity in a week with an introduction to rust| po3rinさん

一人目は普段はGoを書いているというpo3rinさん。Rustを使い始めて1週間とのことで、類似単語判定を隣接単語の出現回数から計算するプログラムを書いてみたという内容でした。

Rustの学習はThe Rust Programming Languageを10章まで読まれたそうです。

pic_2.jpg

Rustを使ってみた感想として、VSCodeでrlsのサポートがあり、関数のExamplesがマウスホバーで見られるため、ドキュメントを検索する時間が短縮できて嬉しいとのことでした。 また、行列の計算にはndarrayを使うと、NumPyと同じように書けて良いそうです。

学習方法や開発環境のTipsをご紹介いただけるのは、これから入門する立場からすると嬉しいですね。

LT2 ltrace-bcc のコードを読んでみた | keisukefukudaさん

共有ライブラリの関数呼び出しをトレースするltraceをbccを使って再実装したltrace-bccをご紹介いただきました。

pic_3.jpg

パフォーマンスチューニングの分野において、パフォーマンス計測用のツールが計測対象のプログラムの実行速度に影響を与えてはならないので、GCがなく高速に動作するRustは活躍できそうとのこと。
PythonとCのプログラムを一貫して追跡できるpy-spyなどもあり、Rustがちょっと流行っているとのことでした。

LT3 Search Engine in Rust| matsu7874

私です。Rustで書かれた検索エンジンについて報告しました。

内部でRocksDBを使っていないTantivyについて、辞書引きやインデックス作成の工夫など、なぜ速いのかを解説しました。

pic_4.jpg

LT4 Rustでstatic linkをしてみよう!| techno-tanoCさん

Dockerファイルのサイズを小さくするために、外部ライブラリに依存しない実行バイナリを作りたいという内容でした。
musl libcという静的リンクに最適化した標準Cライブラリを、build時にtarget指定することで、外部ライブラリに依存しない実行ファイルを作成することが出来るそうです。

LT5 高級言語暮らし人のゆるいRustの嗜み方 |kahirokunnさん

フロントエンドエンジニアがRustを書いて感じたことを発表いただきました。
三目並べのデモもあり、楽しい発表でした。

pic_5.jpg

フロントエンドエンジニアとしては、denoがRustで書かれているのでcontributeチャンスがあり、 また、書いたものをサラッとwasmにして公開することが出来るところが面白いそうです。

懇親会

LTの後はピザと飲み物を囲みながら懇親会を行いました。

「商用利用はしていないけど、Rustでツールを開発して使っている」という方が増えている印象を持ちました。次回はそのような内容のLTもお待ちしています!

次回、Shinjuku.rs #6は9/3(火)に開催予定

さて、次回の募集を開始しています。今度はLTをしてみようかな、聞きに行ってみようかなという方は下記connpassページから参加登録をお願いいたします。

RustのLT会 Shinjuku.rs #6 @FORCIA

Rustを業務で利用した話、Rustの面白い仕様を紹介したい、Rustにcontributeしたなど、Rustに関連する内容ならなんでもWelcomeです。皆様からのLTをお待ちしています。

この記事を書いた人

松本健太郎

フォルシア4年目のエンジニア。
Rustでインメモリデータベースの開発を行っている。