Skip to main content

【マネーフォワード】簡単なシェルを作ってRustを学ぼう


こんにちは!CAMPHOR- 運営メンバーのpanoramaです!

10月27日(木)に「【マネーフォワード】簡単なシェルを作ってRustを学ぼう」というハンズオンイベントを開催しました!

なんと今回は株式会社マネーフォワード様の京都開発拠点を使用させていただき、久々のオフライン開催でした!

イベントの様子: YouTube

オープニング

冒頭10分でCAMPHOR-の説明、株式会社マネーフォワード様の会社説明を行いました。

社内交用語の英語化や成長率の話など興味深いお話がありました。

簡単なシェルを作ってRustを学ぼう 🦀 前半

ここから「簡単なシェルを作ってRustを学ぼう 🦀 前半」と「簡単なシェルを作ってRustを学ぼう 🦀 後半」が始まります。

登壇してくださったのは、株式会社マネーフォワードの現役エンジニアで、Rustのcompiler-contributorsチームのメンバーとしてもrustcにコミットされているTaKO8Kiさんです。

最初にRustの基本的な要素である「所有権」「借用」「ライフタイム」等についてご説明いただきました。

「所有権」「借用」「ライフタイム」は他のプログラミング言語にはない独特な考え方なので、ここで詳しくご説明いただきました。

【補足】

Rustではmallocfreeを使ってメモリを手動管理することもなく、GC(Garbage Collection)の機能も持っていません。

RustはRAII(Resource Acquisition Is Initialization)を強制していて、オブジェクトがスコープを抜けると必ずデストラクタがリソースを解放します。

この仕組みを「所有権」「借用」「ライフタイム」などの用語で表現しているため、Rustを理解するにはこれらが必須となります。

(これがRustでメモリの2重解放エラー等が起きない仕組みです。)

簡単なシェルを作ってRustを学ぼう 🦀 後半

前半の講義部分を終えて、ついにハンズオンパートです。

基本的には全員もくもくと手を動かしますが、随時質問を受け付けているので、さまざまな質問が飛び交っています。

全部で10個のPRに分けられていますが、多くの人が7つ目のPRくらいまで実装することができ、かなりShellとしての機能を実現できていました。

すべてのコードはGitHubで公開されているため、興味のある方は続きを実装したり、自分で新たに機能を追加できるようになっています。

GitHub

クロージング

最後に大阪開発拠点長・エンジニアの大倉さんにご挨拶いただき、参加者からの質問にも答えてくださいました。

そしてクロージング後は懇親会へ移り、技術的な話や会社の話、プライベートの話などさまざまな会話がされていました。

久々のオフライン開催でしたが、オフラインならではの良いところが存分に出ており、素晴らしいハンズオンイベントだったと思います。

本イベントにご参加いただいた皆さん、協賛してくださった株式会社マネーフォワードさん、イベントの準備や進行にご協力いただいた社員の方々、そして登壇してくださったTaKO8Kiさん本当にありがとうございました!!!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です