こんにちは!CAMPHOR- 運営メンバーのpanoramaです!
10月27日(木)に「【マネーフォワード】簡単なシェルを作ってRustを学ぼう」というハンズオンイベントを開催しました!
なんと今回は株式会社マネーフォワード様の京都開発拠点を使用させていただき、久々のオフライン開催でした!
イベントの様子: YouTube
オープニング
冒頭10分でCAMPHOR-の説明、株式会社マネーフォワード様の会社説明を行いました。
社内交用語の英語化や成長率の話など興味深いお話がありました。
簡単なシェルを作ってRustを学ぼう 🦀 前半
ここから「簡単なシェルを作ってRustを学ぼう 🦀 前半」と「簡単なシェルを作ってRustを学ぼう 🦀 後半」が始まります。
登壇してくださったのは、株式会社マネーフォワードの現役エンジニアで、Rustのcompiler-contributorsチームのメンバーとしてもrustcにコミットされているTaKO8Kiさんです。
最初にRustの基本的な要素である「所有権」「借用」「ライフタイム」等についてご説明いただきました。
「所有権」「借用」「ライフタイム」は他のプログラミング言語にはない独特な考え方なので、ここで詳しくご説明いただきました。
【補足】
Rustでは
malloc
やfree
を使ってメモリを手動管理することもなく、GC(Garbage Collection)の機能も持っていません。RustはRAII(Resource Acquisition Is Initialization)を強制していて、オブジェクトがスコープを抜けると必ずデストラクタがリソースを解放します。
この仕組みを「所有権」「借用」「ライフタイム」などの用語で表現しているため、Rustを理解するにはこれらが必須となります。
(これがRustでメモリの2重解放エラー等が起きない仕組みです。)
簡単なシェルを作ってRustを学ぼう 🦀 後半
前半の講義部分を終えて、ついにハンズオンパートです。
基本的には全員もくもくと手を動かしますが、随時質問を受け付けているので、さまざまな質問が飛び交っています。
全部で10個のPRに分けられていますが、多くの人が7つ目のPRくらいまで実装することができ、かなりShellとしての機能を実現できていました。
すべてのコードはGitHubで公開されているため、興味のある方は続きを実装したり、自分で新たに機能を追加できるようになっています。
クロージング
最後に大阪開発拠点長・エンジニアの大倉さんにご挨拶いただき、参加者からの質問にも答えてくださいました。
そしてクロージング後は懇親会へ移り、技術的な話や会社の話、プライベートの話などさまざまな会話がされていました。
久々のオフライン開催でしたが、オフラインならではの良いところが存分に出ており、素晴らしいハンズオンイベントだったと思います。
本イベントにご参加いただいた皆さん、協賛してくださった株式会社マネーフォワードさん、イベントの準備や進行にご協力いただいた社員の方々、そして登壇してくださったTaKO8Kiさん本当にありがとうございました!!!