2023年5月11日(木) から13日(土) の3日間にわたって開催される RubyKaigi 2023 に永和システムマネジメントから @ima1zumi (Day 1) 、 @koic (Day 2) の2人が登壇します。
ここでは、それぞれの登壇者から講演内容について軽く紹介をします。
5月11日(木) 14:50-15:10 @ima1zumi 『UTF-8 is coming to mruby/c』
mruby/cでUTF-8を使えるように実装した話をします。mruby/cは組み込み機器向けのRubyの実装で、mrubyよりもメモリ使用量が少ないという特徴があります。今まではRubyでいうASCII-8BITしか使えなかったのですが、UTF-8の文字列を扱えるように実装します。具体的には、UTF-8の文字列を String#slice
や String#[]=
メソッドなどmruby/cに存在するStringのメソッドで扱えるようにします。
話のメインはUTF-8の仕様とその実装です。UnicodeとUTF-8の違いや、UTF-8がどのようなバイト構造になっているのか、それを実装するとどうなるのかといった話が中心になります。mruby/cは基本的にC言語で実装されているため実装はC言語ですが、C言語特有の込み入った話はあまりしないためC言語を知らなくても大丈夫だと思います。ですがビット演算の話は多く出てくるので、言語問わずビット演算について全く知らない場合は少し予習しておくと聞きやすいかもしれません。
普段みなさんが使っているUTF-8がどんなバイト構造でどうやって動いているのか感じられるようなトークにしたいと思っています。お楽しみに!
5月12日(金) 13:30-14:00 @koic 『The Resurrection of the Fast Parallel Test Runner』
今年は Ruby における並列テストランナーについて話します。並列テストランナー自体は長年使っているものですが、昨年 @tmm1 から test-queue のコミット権をもらって、メンテナンスの中でいろいろと知見を得られたのでこれまでの総括とこれからの話をします。そしてキーワードのひとつは『スローテスト問題』です。
Gem として中心となる登場人物は、test-queue, parallel_tests, Rails, Minitest, RSpec といったところで、並列テストランナーを話す中で Ruby を取り巻くテスティングフレームワークの関係性や内部にも触れていくことになります。並列テストランナーが依存するテスティングフレームワーク自体の基礎設計にはそれほど触れないかもしれないので、まさーるさんによる『Kent Beck Testing Framework 入門』など読んでおくとちょっとした予習になるかもしれません。
なお、test-queue 自体も RubyKaigi までにアップデートリリースをする予定ですが、そこで入りきらない課題点や今後の展望なども共有していく予定です。
そんなわけで並列テストランナーの実際や、今後の展望についても詳しくなれるコンテンツを目指しています。大枠として実践でも活用が進んでいる Gem の話ですので、手元で動かせる実装ありきの話ということで、お楽しみに。
それでは本編をお楽しみに。松本かオンラインの会場でお会いしましょう。
RubyKaigi 2023 に Coffeehouse スポンサーとしても参加している永和システムマネジメントでは、Ruby とアジャイルソフトウェア開発を通じてコミュニティと成長したいエンジニアを絶賛募集しています。