RubyConfTw2023の感想記事
はじめに
この記事はフィヨルドブートキャンプ Part 2 Advent Calendar 2023の24日目の記事です。23日目の記事はかわかみさんの空手とフィヨブーと私:なにが「たのしい」のか?でした。
お詫び
まだ色々書けていない記事があるのですが、年内には書くので許して…
カンファレンスについて
今年が10回目のRubyConfTwに登壇者として参加してきました。参加者としての参加も含めて今回が初参加です。今年は日本から多くの登壇者がいました。 最初に言い訳をしておくと、自分のトークが2日目だったのと、来るときに飛行機が3時間近く遅延したりして若干疲労していたのもあり、初日はあまりトークを聞けていません。そしてなんと自分以外の日本人登壇者が全員初日だったため、結果として多くを聞けていません。 ランチドリンクがタピオカミルクティーだったりと台湾らしい要素もあり、中国語のトークをGoogle Meet経由の同時通訳で聞いたりと興味深い試みもあり(運営が機材を用意する必要がないのがよい)、楽しく過ごせました。
自分のトークについて
今回は"Writing Minitest clone in 30 minutes"というタイトルでライブコーディングを含むトークをしました。タイトル通りにMinitestっぽい機能、特にautorunを中心に約30分で実際にそれっぽく動作するものを作るという内容です。
今回のトーク、実はEuruko2023からの続きになっています。そちらでは「RSpec」を「読む」がテーマだったため、今回は「Minitest」を「書く」と内容を反転させてみました。時間も同じ40分で、やっぱりライブラリの深い部分というか実装に近いところについてのトークをしようと思ったら最低でも30分、できれば40分はほしいですね。
ライブコーディングというと難しそうですが、実際には準備をキッチリとしていれば意外となんとかなります。時間に余裕を持たせて、多少エディタの操作でミスをしても間に合うように調整すれば大丈夫です。実際、今回も変数名をtypoしていたのを聴衆に助けてもらったのですが、そういう事態を事前に織り込んでおけばよいのです。あとはエディタやターミナルの操作に熟達すること。これは日々の仕事にも効いてくるのでなんにせよやっておくと良いです。
Minitestはライブラリのテストに使っており、Minitestについて紹介するというのもこのトークの一つの目的でした。MinitestはRailsアプリに対して使われることこそ(何故か)少ないものの、シンプルで高速なテストが書けるのでもっと使われてもいいと思っています。
余談:登壇ネタを思いつくことについて
今回のネタは前述のようにEuruko2023のネタを反転させただけなので、そこまで思いつくのが大変ということはありませんでした。ではEuruko2023のネタはどうしたのかというと、サイトにRSpecのテーマが人気だと書いてあったのです。それを見た私はRSpecに関する何かで登壇することに決め、結果的にコードリーディングになりました。元々RSpecが好きで記事を書いていたこともあったのですが、それ以上にRSpecについて話したい動機が私にはありました。 それは勉強です。こういうと変な言い方ですが、プログラマとして10年近く仕事をしていると、大抵のことはなんとかなってしまいます。私は怠惰なので、こうなると勉強をサボります。そこで「登壇駆動勉強」として、定期的に良く知らないテーマについて話をするようにしています。実際、RSpecのコードを読んだことがあるから登壇したのではなく、RSpecのコードを読む理由がほしかったから登壇したというのが本当のところです。今回も、Minitestっぽいものは割と書けそうだし書いてみたいという気持ちが元々あった部分があります。
台湾観光について
今書いています…もうちょっと待ってね…