こんにちは、SUZURI事業部でWebエンジニアをしている @tanaken0515 です。
先日11/30(土)に、鹿児島にて初の地域Ruby会議「鹿児島Ruby会議01」が開催されました。
鹿児島県内外から90名近くの参加者が集まり、15名のエンジニアが登壇しました。
ペパボからは、技術部技術基盤チーム シニア・プリンシパルエンジニア @udzura, SUZURI事業部プロダクトチーム エンジニア @tanaken0515, @osamtimizer の3名が登壇しました。また、ペパボはこのイベントに協賛し、SUZURI事業部プロダクトチーム テクニカルリード @kurotaky が実行委員長を務めました。
この記事ではペパボエンジニアの発表内容についてご紹介します。
Haconiwa が越えたあの夏〜3年間を振り返る
登壇者: @udzura
登壇者自身が開発した OSS である Haconiwa の歴史を辿る発表でした。
Haconiwa は mruby による Linux コンテナのランタイムです。 2016年にコンテナがどう実現されているかを知った @udzura は Haconiwa を作り始め、2017年に Haconiwa をコンテナエンジンに使ったロリポップ!マネージドクラウドのβ版をリリース、 その後プロセスレイアウト戦略の変更などの改良を経て、2018年にはロリポップ!マネージドクラウドの正式版をリリースしました。 そしてコンテナ起動の高速化を目指して Haconiwa で CRIU を使えるように実装を始め、2019年には一通りの実装を完了したとのこと。 今後の計画としては、Haconiwa を「次世代コンテナ技術の実験場」にしていく、という方針のもと、アプリケーションのパフォーマンスを簡単に監視できるようにするといった具体案が紹介されていました。
私はこの発表を聞いて、発表の最後にあった『あなたのアイデアと「Ruby」を掛け合わせてみよう』というメッセージが強く印象に残りました。 様々な技術を取り入れてきた Haconiwa の歴史とそれを実行してきた作者本人の言葉であるからこそ、このメッセージは強く印象に残ったのだろうと思います。 「Rubyで何かをやってみよう」と思える、エネルギーをもらえる発表でした。
Ruby の OSS コードリーディング
登壇者: @osamtimizer
登壇者 @osamtimizer 自身が普段やっている OSS コードリーディングについての発表でした。
実際に読んだ Rack を例に、コードリーディングを進める上でやっていることや意識していることを紹介していました。 「エントリポイントから読む」「コメントを読む」「実際に動かしてみる」「docs.ruby-lang.orgを読む」など、一見して当たり前のようにも思えることですが、 これらは意識的に行なわないと意外とできないことだったりします。コメントを読み飛ばしたり、実際に動かすのを怠ったり。 実は私も @osamtimizer が主催する OSS コードリーディング会に参加しているのですが、 彼は上記のことを怠らずに着実に実行しながら読み進めていくので、非常に理解が深まり、質の高いコードリーディングができるなぁと感じています。
また発表後の質疑応答では Ruby コミッターの @mametter さんから「コードリーディングをしたら、不足しているテストを見つけて書くと良い」というアドバイスがありました。 普段お世話になっている OSS についてコードを読んで理解を深めるのも最高ですが、読むだけにとどまらずテストコードを追加することで貢献できたら、さらに最高だなぁと感じました。 「OSS を読もう、そして OSS に貢献しよう」と思える発表でした。
かごっま弁の Deep Learning を Ruby できばっ
登壇者: @tanaken0515
Ruby における Deep Learning のライブラリと具体的な実装を紹介する発表でした。 こちらは私(@tanaken0515)の発表ですので、登壇者としての視点で紹介します。
鹿児島弁の機械翻訳を Ruby でやりたい、という想いから、まずは Ruby で Deep Learning をやるぞ、という流れで Ruby による Deep Learning の実装を紹介しました。 具体的には Iris Data Set を用いたアヤメの花の分類問題を例に、 Red Chainer を使った場合の実装について説明しました。
当初は機械翻訳の部分を重点的に発表する予定だったのですが、 Deep Learning の基礎知識がないと何をやってるか全く伝わらない発表になってしまいそうだったのと、 おそらく参加されている Rubyist の中にはこの分野に馴染みのない方が多いのではないか、まずは Ruby で Deep Learning に入門するための発表にした方が聴く人にとって価値があるのではないか、 と考え、このような発表内容にしました。
発表後には数名の方から声を掛けていただき、発表内容に興味を持っていただけたようで非常に嬉しく思いました。 今回の発表をきっかけに Ruby で Deep Learning にチャレンジしようと思ってくださった方がいたら嬉しいです。
おわりに
鹿児島Ruby会議01のテーマは「プログラミング言語 Ruby を通して越境する」でした。 ペパボエンジニアを含む15名の登壇者の発表は、どれも聴く人が新たな一歩を踏み出す(= 越境する)のを後押しする発表だと感じました。
また、鹿児島Rubyコミュニティ K-Ruby にとっても、鹿児島初の地域Ruby会議を開催する、という新たな一歩を踏み出した日となりました。 懇親会では「鹿児島Ruby会議の第2回を開催するぞ〜!」「Rails Girls Kagoshima 1st やります!」といった話題で溢れ、今後も鹿児島Rubyコミュニティが盛り上がりそうだと感じました。
最後に、実行委員長を務めた @kurotaky よりコメントを頂きましたので掲載します。
2019年1月頃からK-Rubyに参加していたkurotakyです。 鹿児島Ruby会議01は登壇者・参加者・運営スタッフ・スポンサー・mark MEIZANのみなさまのご協力のおかげで作り上げることができました。本当にありがとうございます。 2回目も無理をしない感じで続けて行けたら嬉しいです。2020年も一緒に鹿児島を盛り上げていきましょう!