データで見るKaigi on Rails STAY HOME Edition

概要

この記事はKaigi on Railsに関するいくつかのデータを公開して、オンラインカンファレンスを更に良いものにするための考察を行うためのものです。

なお、以下で使用されているグラフの数値と本文中の数値が異なるケースがありますが、グラフ表示上の制限などによるものです。ご了承ください(数値に大差はないため、論旨には影響がないと考えています)。

データ

視聴者数など

トータルの視聴数(視聴者数ではない)は1622でした。ユニークな視聴者数でいうと705となっています。延べ視聴時間数は約1600時間、1視聴当たりの視聴時間は約1時間でした。

また、同時視聴者数は240人前後で一定でした(お昼休みなどを除く)。

f:id:okuramasafumi:20201014175128p:plain
Kaigi on Rails STAY HOME Editionの同時視聴者数

コメント

コメント数は1595でした。ということは、1回視聴されるごとに1回コメントが残されていた計算ですね。

視聴者属性

視聴者のうち、男性は82.7%女性は17.3%でした。業界の男女比にかなり近い数値が出たのではないでしょうか。

また、年齢分布は

  • 18~24: 5.5%
  • 25~34: 47.4%
  • 35~44: 40.7%
  • 45~54: 6.4%

となっています。やはりRailsを業務で使っているであろう年齢層が多く、若年層にはあまりリーチできない結果となりました。

f:id:okuramasafumi:20201014175253p:plain
Kaigi on Rails STAY HOME Editionの年齢と性別

視聴デバイスなど

視聴に使われたデバイスは、コンピュータが約50%スマートフォン約40%となっています(残りはタブレットなど)。興味深いのは、4割を占めるスマートフォンが視聴時間に占める割合はわずか7%しかないという点です。具体的には、スマートフォンでは平均して約15分しか視聴されていません。この数値はコンピュータの約1時間10分と比べると非常に低く感じられます。

また、OSで見ると、Mac, iOS, Androidの順に多く、この3つで9割を越えます。Windows2.4%のみであり、Rails開発者のほとんどがWindowsを利用していない可能性を示唆しています。

考察

ここから先は個人的な考察となります。

良かった点

単純に、700人もの人に見てもらえたのはよくやったと思います。多くの人に見てもらうのは直接の目的ではないにしても、やはりせっかくの素晴らしいコンテンツを一人でも多くの人に届けたいという想いもあります。約240人がほぼ通しで見てくれたということも含め、初回のイベントとしては上々だという受け止めです。

また、女性の視聴者が多かった点は重要だと思います。今回のKaigi on Railsは、運営メンバー7人のうち3人、登壇者の16人(基調講演含めれば18人)のうち4人が女性でした。視聴者も含め、全体的な女性比率は2割くらいと言ってもよいでしょう。オンラインカンファレンスはオフラインによくある「会場に男性ばかりで参加しづらい」というような感覚(あくまで感覚であって実際にはそんなことはないのですが…)が生じづらく、結果的に女性の視聴を促した面があるのかもしれません。

コメントの多さもかなり目を引きます。積極的にコメントをしてくださった方々が多かったからこそだと思いますし(ありがとうございました!)、オフラインカンファレンスのわいわい感が少しでも出せていたらよいなと思います。

悪かった点

そんなに悪い点はないのですが、やはり若年層にリーチできなかったのは少し残念です。今回は初回でありリーチも限られていたので仕方がないのですが、20代前半の人たちが興味を持たない技術は徐々に衰退していきそうだなあ、などと考えると、次回以降は若年層にもアピールできるとなおよいのかなと思いました。

まとめ

また次回!

Kaigi on Railsのチーフオーガナイザーを務めました

はじめに

先日行われたKaigi on Rails STAY HOME Editionのチーフオーガナイザーを務めていました。カンファレンスの共同オーガナイザーを務めたことは何度かあるのですが、チーフという立場は今回が初でした。

今回はチーフオーガナイザーの目線から、Kaigi on Railsについて書けることを書いていこうかなと思います。

カンファレンスの概要

基本的には公式サイトに書いてありますが、一応記載すると、2020年10月3日(土)の10時から18時ごろまで、YouTube Live上で配信されたオンラインカンファレンスです。基調講演が2つと16の通常セッションで構成され、常時230人ほどにご視聴いただきました。

懇親会はSpatialChat上で行われ、40人ほどにご参加いただきました。

開催に至るまでの経緯

名称の決定とメンバーの集合

もともと2019年の終わりごろにイベント開催の機運が高まっていたところ、Railsコミッターの@a_matsudaさんに猫廼舎という喫茶店での打ち合わせをセットしてもらいました。実はマスターの@ogijunさんは最古参のRubyistで、かつて"Kaigi on Rails"という名称のカンファレンスを構想していたのです。その場で"Kaigi on Rails"という名称を引き継がせていただくことになり、企画はスタートしました。

Kaigi on Railsはこの時点ではオフラインカンファレンスとして企画されていたのですが(ビフォーコロナ、覚えていますか…)、板橋区の会場をひとまず抑えることに成功しました。

その後、2020年に入ってから運営メンバーに声をかけ始め、私を含めて8人のメンバーが集まりました。また、デザイナーにはべこ(@becolomochi)さんをお迎えしました。2月に顔合わせをしたタイミングまでは何事もなかったのですが、そこで皆さんご存知の通り、COVID-19がやってきます。

オンラインカンファレンスへの移行

3月になると、情勢はすでに厳しくなっており、オフラインで運営メンバーが集まることも困難になっていました。その後幾度かオンラインでのミーティングを重ねましたが、最大の問題は「オフラインにするか、オンラインにするか」でした。

やはりオフラインの経験を捨てがたいというメンバーもいましたし、私もそれは重々承知していたのですが、安全な開催をするためにはオンラインにするしかないということ、すでに社会的にもオフラインでのカンファレンス開催は困難になってきていることなどを私は感じていました。

議事録によると(オンラインミーティングの良いところとして、議事録が残ることがあります)、

今後のテックカンファレンスの位置付けが変わってしまうのでは?という感覚がある

初回だからこそ全力でオンライン側に振るのも手ではないか

違った体験として受け入れてもらえるのではないか?

ということを私は他のメンバーに説得し、結局4月末にオンラインでの開催を決定しました。

オンラインカンファレンス何もわからない

オンラインでの開催を決定したものの、問題は山積みでした。何しろ、オンラインカンファレンスはそもそも存在したことがないものであり、当然運営経験のある人もいません。何を使って配信するのか、という初歩的な問題すら誰も答えを知らないので、手探りで進めていくことになりました。

ミーティングの頻度を増やし、議論を積み重ねた結果、日程の変更(平日2日間から土曜日1日間へ)などを決定していき、CFPの公開を急ぐこととなりました。

CFPとタイムテーブル

CFPは7月末まで公開され、60件を超えるプロポーザルが集まりました。

1つの工夫として、CFPの公開終了直前に"Kaigi on Rails new"と題したLT会を開催しました。ここでイベント名を広めつつプロポーザルの提出をアピールしたのです。

プロポーザルの選定を終え、タイムテーブルを確定させたときにはもう8月も終わりに近づいていました。ここからようやく広報的な活動が始まっていくことになります。というのは、初回開催のカンファレンスは知名度も信用度もないため、コンテンツが確定しないと広報できないのです。

そして本編へ

プロポーザルが採択された人たち(以下登壇者)に連絡をし、動画提出を選んだ人たちには事前に動画を提出してもらいました。ライブ配信を選んだ人たちは当日Zoomで接続して配信するのですが、事前に素振り会をすることで接続面での問題の軽減を試みたりもしました。

また、銀座Rails#25で@ogijunさんと@a_matsudaさんと一緒に歴史の話をしたり、うなすけ(@yu_suke1994)と一緒にタイムテーブルの解説をしたりしました。

当日

コンテンツに関することは、参加者の方々がまとめてくれているのでここには書きません。

カンファレンス本編

開会式には隠しコンテンツとしてMatzのビデオメッセージがありましたので、手短にイベントの紹介をするに留めました。Aaronの基調講演が始まって、運営メンバーは少しだけ一息つくタイミングを得ましたが、緊張は休まりません。切り替えのタイミングでは常に気を張っていましたし、そのため若干アナウンスのテンションが下がっていたなあと今は反省しています。

その後、いくつかのトラブルはありつつもなんとか乗り切り、カンファレンスは進んでいきます。トークの最中はあまりやることがないため、トークを聴くゆとりも徐々に出てきました。

困ったのは、音声の問題です。登壇者との接続用Zoomと運営メンバー間のコミュニケーション用のDiscordと参加者が観ているYouTube Liveと、音声が出ていて確認もしたいものが3つあるわけです。さらに、Zoomのミュートを忘れてDiscord向けに喋りかけてしまうと放送事故になってしまいます。このため、脳は急速に疲労していきます。

さらに、SpatialChatが本編中も開放されており、そちらで雑談もできるようにしていたのですが、そちらは全く確認する余裕がありませんでした。

閉会式では、ちょっとだけエモい話をさせてもらいました。「歴史」をキーワードに次回開催を宣言したのですが、本当に次回どうするかについては何も決まっていません。

懇親会

SpatialChat上での懇親会は、PCスペックなどの原因でトラブルを抱える人もいたものの、総じて好評なようでした。ここは私個人もこだわりが強い部分であったため、参加者の皆さんに喜んでもらえたのはとても良い手応えとなりました。

懇親会では私も一参加者として大いに楽しみました。個人的には、唯一の海外からの登壇者である@lulalalaさんと話せたのが非常に良かったです。

懇親会は23時まで続き盛り上がりましたが、予定通りに終了となりました。

振り返り

良かった点

  • 無事開催できた
    • アンチハラスメントポリシー的な意味で何事も起きなかった
    • 配信が途中でストップしたりしなかった
    • 誰も倒れなかった
  • コンテンツがとても良かった
    • 正直、初回としては最高レベルのコンテンツである自信がある
    • 初学者の人にも満足してもらえた
    • 私個人としても学びが多かった
  • 少人数の運営メンバーで乗り切れた
    • もちろん、個々のメンバーの負担は大きかった(これは課題)
  • 全体的に挑戦したかったことに結果が出た
    • SpatialChatを常時開放しておくのは、オフライン感が出てよかった
    • 懇親会も、そもそも多くのオンラインカンファレンスでは用意されていないので、やってみて楽しんでもらえたのは収穫
    • 動画とライブのミックスも実現できた

改善点

  • 運営メンバーの疲弊
    • どのカンファレンスでもある程度起こることではある
    • タスク量の偏りはあった
  • 本編でのいくつかのトラブル
    • オペミスはまあ仕方がない
    • 接続トラブルに関しては、事前フォローが必要だったかも
  • もっと幅広い人にリーチしたかった
    • これは初回なのでしょうがないという見解がベテラン勢から出ている
    • 初学者を意識していたけど、そもそも初学者はどこにいるんだろう

その他宣伝

グッズはSuzuriで販売中です(私はこのデザインが大好きなので宣伝隊長をやっております)!

ブログを書くまでがカンファレンスだそうなので、これを読んだ本編参加者の皆さんもぜひ書いてね!

さいごに

スポンサー・登壇者・参加者の皆様、そして何よりここまで一緒に運営してきた運営メンバーのおかげでカンファレンスが成功したと思っています。また次回、2021年にお会いしましょう!

2019年のアウトプットまとめ

はじめに

端的に言います。ブログをサボりすぎていたのと時間が経ちすぎたのとで、2019年をきちんと振り返ることはもはや困難です(特に前半)。それでも、カレンダーの助けを借りてなんとかやっていこうと思います。

1月

1月は人生初のRailsへのコントリビュートをキメたのでした。この後もちょくちょくRailsにコントリビュートしていて、執筆時点では8コミットしています。これからもOSSへのコントリビュートは続いていくでしょう。

2月

2月はRails Girls Tokyo 11thのコーチをしました。過去最大の規模ということで、とても賑やかでしたね。この月まではブログをある程度真面目にやっていたのでした。

3月

3月はRails Developers Meetup(RailsDM)がありましたね。私は運営の一人として関わりました。DHHとメールのやり取りをしたのは思い出深いです。ジェレミートークも良いトークでしたし、yasaichiさんのトークが個人的にヒットしたり(もちろんどのトークも良かったのですが、一際目立っていたように思います)、とてもいいイベントになりました。

4月

4月はRubyKaigiで当日スタッフ(ヘルパー)をやったりしました。色々な人と触れ合えてとても充実した3日間でした(トークについては言うまでもなく)。技術評論社さんのレポートに寄稿もしました(nagachikaさんのキーノートのレポートでした)。 あと、Grow.rbの第0回もこの月に行ったのでした。そこでやった、Enumerableの再実装をテーマにRejectKaigiでLTをしたりもしました。 更に、Ruby本体のレポジトリにドキュメント改善のPRを送ったりもしています。めちゃ活動してますね…

5月

5月は仕事の環境がガラッと変わりました。これまで2人チームのスタートアップで開発者をしていたのがフリーランスRubyプログラマとなりました。渋谷の『ウリドキ』という会社のお世話になることにしました(当時は『ウリドキネット』という社名でした)。 さすがに登壇とかは無理だったみたいです。 …と思ったら、銀座Railsでライブコーディングしてるんですね私。お題は本当にその場で決まったのでヒヤヒヤしましたがなんとか実装できました。

6月

6月は名古屋Ruby会議04とゆるはちという勉強会で登壇しました。前者は準備不足で不完全燃焼になってしまいました。30分という長さも含め、聴衆を引きつけることの難しさを改めて感じました。教訓としては、あまり抽象的な話を長くしないことですね。 更にこの月は記念すべき第1回のRails Girls Ehimeでコーチをしたりもしました(松山は人生初でした)。遠征がこの頃から増えていきます。 OSS活動ではActiveHashというgemに機能追加のPRを送って無事マージされました。これは仕事上必要だったもので、かなり達成感がありました。

7月

7月は私が運営の一人だったTamaRuby会議01が無事開催されました。私はコミュニティのことについてトークもしました。 Rails Girls Sendai 2ndにも行ってコーチをしてきましたが、カプセルホテルに泊まったことが仇となったのか風邪を引いてしまったことをよく覚えています。 更に、またしても銀座Railsに登壇して6月のゆるはちの再演をしました。

8月

8月はRails Girls Tokyo 12thのコーチをしました。ここまで読んで「こいつやたらコーチしているな」と思ったあなた、その印象は間違いではなく、なんと2019年に10回あった全国のRails Girlsで私は5回コーチをしているとのこと。半分は私がいると考えるとなんだか薄気味悪いですね。 この月はこれくらいで、やや低空飛行です。

9月

9月はTokyo Rubyist Meetupで英語での登壇がありました。内容はテスト高速化の話ですが、内容以上に英語で20分話すということに意義を感じていたりします。 他にも、Rails Developer Beer BashというイベントでLTをしました。 この月で面白いのは、OSSGateというイベントで進行役をやったことです。OSSをやりたい人とやったことある人が一緒にOSSへのコントリビュートを目指すのですが、進行役は結構やることが多くて大変でした。

10月

10月は人生初の沖縄の地を踏みました。もちろんRails Girls Okinawa 2ndのコーチのためです。Railsのおかげで本当にいろんなところに行ってますね。 フリーランスフリーランス志望の人が集まる会でトークしたりもしました。要は「実力をつけるまでフリーランスになるな」という話で、会の趣旨的に大丈夫か心配でした。

11月

11月はVimConfがあってそれの運営をしました。イベントは非常に良いものにできたと自負できるものでしたが、代償として風邪を引いてしまい、翌週のRuby World Conferenceではつらい想いをしました。 その更に翌週にはEbisu.rbで「車輪の再発明入門」という、もともとTamaRuby会議で話す予定だったトークをしました。

12月

12月はLegalForce Ruby Meet Upというイベントでブロックの話をしました。このイベントにはMatzが来ていたので、Matzの前でRuby愛をテーマに話そうと思ったときにブロックが浮かんだのでした。 12月はアドベントカレンダーの月ですが、自分はRuby, Rails, Vim, Rails Girlsと4つのアドベントカレンダーに記事を書きました。それぞれは小さな記事ですが、例外的にRailsのだけはコードリーディングでとても重たくなってしまいました。

まとめ

全般的に雑ながらもなんとか書き終わりましたね。これ以外にも多分アウトプットはしているのですが、全部を書こうとするととても大変です。まあ、それくらい2019年はアウトプットの年だったということでご笑納ください。

RailsGirlsとTokyoGirls.rbに参加しての感想など

はじめに

先日あったRailsGirlsTokyo11thですが、参加レポートを書こうとしているうちにだいぶ時間が経過してしまい、TokyoGirls.rbという別のイベントにも参加しました。 別々に参加レポートを書こうかなとも思ったのですが、よく考えると似ている部分が大きいイベントでしたのでまとめて参加レポートと考察を書こうと思います。

RailsGirlsについて

RailsGirlsの基本的な話は以前私がるびまに寄稿した記事がありますのでそちらを参照してください。ご存知ない方のためにざっくり説明すると、RailsGirlsとは主に女性のプログラミング初心者にアプリケーションを作ることを通じて技術の楽しさを伝えるイベントです。

このイベントの素晴らしいところは雰囲気の良さです。オーガナイザーからスタッフ、コーチから参加者さらにはスポンサーに至るまで、関係者全員の熱意が高くイベント全体を通じて活気に満ちています。

私は過去、東京で開催された第7回から今回の第11回までと仙台で開催された第1回とと計6回コーチとして参加しています。

RailsGirlsTokyo11thについて

一言で言うと、素晴らしいイベントでした。特筆すべきは人数の多さで、参加者だけでも30人を超す規模でした。これはおそらく東京での開催史上最大です。 コーチ陣も初参加の方々を含め多様性に富んでいたように感じられましたし、とても賑やかなイベントでした。

イベントの流れなどについてはるびまなどにレポートが出ると思うのでそちらを参照していただきたいのですが、今回特筆すべきこととしてWSLの導入に踏み切ったということがあります。これまでWindowsのPCを持参された方はCloud9というウェブのIDEを使っていたのですが、アカウント数の都合などで移行の機運が高まり、ドキュメントなどを整備した上でWSLを使っていただくことになりました。

私は残念ながらWSLが使えるWindows10のチームではなかったのでどんな感触だったのか直接知ることはできなかったのですが、インストールに時間がかかったことを除いては問題がなかったようでホッとしました。

このように、新しいことをいろいろと有志で試して実地に投入するなど、とても活発なコミュニティだなと感じます。また、最新のRubyへの追随なども含めたドキュメントのメンテナンスなどもコミュニティとして継続的に行っています(私もいくつか関わっています)。これらをメインで支えている江森さん(@emorima)と五十嵐さん(@igaiga555)さんに感謝です!

RailsGirlsTokyoMore!について

本編である11thはとても素晴らしいイベントなのですが、時間にして実質5~6時間程度のワークショップでしかありません。このイベントでプログラミングに興味を持つ方がたくさん出てきても、彼女たちの好奇心を満たすには十分な時間が確保できているわけではありません(というよりむしろ、短い時間にしてはたくさんのことを学ぶのですが、それでもまだまだ学びたいことがたくさんある方もいらっしゃるのです)。

そんな彼女たちのため、RailsGirlsTokyoではMore!というイベントを定期的に開催しています。私もコーチとしてできるだけ参加しています。教える内容は本当に参加者によって様々で、RailsGirlsガイドの続きをやったり自分でアプリを作ったりしたいる方々の困っていること・わからないことを解決することが多いです。

今月は50回の節目とのことで、創設者の鳥井雪さん(@yotii23)を交えての飲み会もあったりしました。完全にボランティアベースであり、かつ本編ほどには華々しくもないこのMoreを50回も続けてこられた@emorimaさんたちは本当にすごいなと思います。

TokyoGirls.rbについて

こちらも開催からだいぶ日が経ってしまったのですが、TokyoGirls.rbというイベントがあり、性別不問枠で参加してきました。

このイベントは今回が初開催だったのですが、託児所があったり女性専用枠が半数を占めたりと女性の参加者のことを第一に考えたイベントだなという印象でした。会場では男性が4割ほどしかおらず、率直に言うとプログラミング・IT関係のイベントに来ている感じがあまりしませんでした(そして、それこそが改善されるべき状況だと思います)。

トークをした方々も全員女性で、エモい話からゴリゴリの技術トークもあり、トークの内容自体がとても素晴らしいものが揃っていたのがよかったと思います。トークは今はYouTubeにアップロードされているのでご覧になることをオススメします。

懇親会でのぼっち防止策などの工夫もあり、ほぼ半日のイベントでしたがとても楽しめました。

エンジニア界隈における男女比の話

この記事でご紹介したイベントにはお気付きの通り共通点がありまして、それは女性を意図的に優遇しているということです。

これに対して、「男性差別だ」という声も一部の男性から上がっているようですが、そこについての私見を書こうと思います。

結論から書くと、「今は女性優遇は仕方がない」ということです。もう少し書くと、特に勉強会またはコミュニティの場において、女性の参加者が望ましい水準よりかなり少ない現状において、それに対するアファーマティブ・アクション(「積極的差別是正措置」などと訳されますが、どうもあまりいい日本語ではないと思うのでカタカナで)は正当化されるというのが私の意見です。

実際、特にTokyoGirls.rbに参加して驚いたのが、「こんなに女性のプログラマーってたくさんいるんだ!」ということでした。私は趣味であちこちのRubyコミュニティに顔を出していますが、女性はどこでもたいてい1人か2人、0人というケースすら珍しくはないので現状です。ところが、TokyoGirls.rbでは女性の参加者が半数を超える。そこで考えられるのは、通常の勉強会やコミュニティにおいて、単純に男性の割合が多すぎて女性が参加に二の足を踏んでいる可能性があるということです。

男女比が半々である必要があるとまでは私は考えていません。突き詰めるとすべての業界で男女比が半々になるのが理想的なのかもしれませんが、そこを目指すのはあまり意味がないと思います。しかし、女性のプログラマーたちがコミュニティへの参加をためらい、結果的に職業上の利益を失しているとしたら、その状況は変えるべきです。なぜなら、ソフトウェアの世界における人手不足、特に熟練人材の不足はすべての関係者にとってマイナスに働く可能性があり、女性のプログラマーたちが健全な環境でスキルアップしていくことはそれへの有効な手立てとなりうるからです。

どうすれば女性のプログラマーたちがコミュニティへの参加をためらわないようになるかを考えたときに、RailsGirlsのように女性のプログラマー自体を増やす方向性も、TokyoGirls.rbのように女性が参加しやすい環境を整える方向性も、どちらも大切です。その意味で、これからもこういったイベントには積極的に関わっていきたいなと思っています。

最後に

本当はもっと文体を整えたりリンクを貼ったりしたいのですが、いい加減リリースしないと話題が古びてしまうので(もう遅いかな…?)、一旦リリースします。後日時間があるときにリンクなどを貼って記事を更新したいと思います。

Railsにコントリビュートした

タイトルの通り、Railsにコントリビュートしました。

github.com

何をしたのか

やったことは全然大したことなくて、古いsecrets.ymlconfig/database.ymlのコメント中に残っていたのでcredentials.ymlに置き換えただけです。

学び

RailsにPRを出すのは簡単で、コードの変更ではなかったためマージされるまでもあっという間でした(ちなみにマージしていただいたのは他ならぬ@kamipo氏でした)。

ちょっと変なところに気づいて修正→反映の流れはWikipediaを思い起こさせるものがあります(もちろん、レビュアーさんの時間を使ってしまうので、説明はきちんと書きましょう)。

こんなちょっとした変更でもマージされれば(一応)Railsコントリビューターとなります。皆さんも積極的にPRを送ってRailsをよりよくしていきましょう!

Omotesando.rb #42でLTしてきた

omotesandorb.connpass.com

2019/01/10にOmotesando.rbに行ってきました。そしてLTをしてきました。

会場は株式会社ビジネスバンクグループさんでした。

発表の経緯

テーマが「Ruby 2.6」ということだったので、発表できることがなさそうだったのですが、久々に参加したかったのと、最近「発表できないなら参加しない」ぐらいの強い気持ちで参加する勉強会を絞っているのもあり(もちろん厳守はしていない)、せっかくだからRuby 2.6についてなにか話そうと思いました。

とはいえ、まだリリースされてから日が浅いですし、私はRubyのtrunkを追いかけているわけでもないので何を話そうか迷いました。さらにいうなら、Rubyコミッターの笹田さんと遠藤さんが書かれたこの記事があるので、この人月の書けられた記事(本人談)でカバーされていないものはなにか考えました。

ところで、アプリケーションプログラマとして知らなくてはいけないことの一つが例外です。Ruby 2.6ではバックトレースでcauseが表示されるように改善されており、ここは多くのRubyプログラマ(特にRailsプログラマ)が恩恵を受ける可能性があります。さらに言えば、例外の連鎖はイメージが比較的しづらいと思われました。ここは発表のチャンスではと思い、内容をExceptionとすることにしました。

発表の内容

というわけで、私のLTは例外についてでした。資料などは作らず、ターミナルを映しただけでした。

工夫したこととして、初学者の方がいらしたのでそもそもcauseとはなんなのかについて説明したりしました。一言で言うと、例外の原因となった例外が例外オブジェクトのメソッドで取れるというものです。Rubyの例外システムはよくできてるなあと思います。

あとは本題のバックトレースについて、Rubyのバージョンを変えて実験したりしました。同じ行がバックトレースに重複して表示されるという点について、上記のブログ記事にも少しだけ言及しました。

他の方の発表

  • @Kirika_K2さんはRuby 2.6でしか動作しないgemについて発表されていました。かなり興味深い結果で、少数の作者が自身のgemを最新版だけでサポートしていることなどが判明しました。あとはASTはやはり人気でした。スライドはこちら
  • うなすけさんはDockerhubにプッシュされてるRubyがどのようにプッシュされているのかについて発表されていました。Jenkinsで自動化されているようで、私は普段Dockerを使いませんが、こういうところにもコミュニティの力が働いているのだなあと思いました。
  • @koicさんはいろいろと発表されていました(内容が多岐に渡るのでまとめるのが難しい)。何度かRailsDMに言及していただいてありがたかったです(Jeremyにメール送ったのは私です(^^))。資料なしであそこまで話せるのはさすがとしか…
  • MatzはQ&AでRuby 3.0へのスケジュール感やConcurrencyが2種類あってという話、そしてブロック変数を省略したいという話をされました。

Matz?

そうなんです、今回のOmotesando.rbにはRubyのパパことMatzが来ていました。懇親会まで残っておられて、他の参加者の方といろいろお話していました。

そう、つまり今回の会は「Rubyの作者本人の前でRubyの新機能について話す」という会だったわけですね。今思うとハードル高いですね。

懇親会

懇親会ではテストコードがないのにテストが遅いという不思議な話をしたり、やっぱりテストが遅いという話をしたり(さっきとは別の人と)、詰まっているときは風呂や散歩でぱっとひらめくことがあるという話をしたり、楽しい時間を過ごしました。

なお、この懇親会ではピザとアルコールが株式会社ビジネスバンクグループ様より提供されました。会場提供も含めまして、ビジネスバンクグループ様、ありがとうございました!

よちがや.rbでRESTのお話を聞いてきた

yochiyochirb.doorkeeper.jp

よちよち.rbとSendagaya.rbの合同イベント、よちがや.rbに行ってきました。

動機

RESTはRailsでの開発を通じてもちろん知っているんだけど、他人に説明できるほどわかっているか自信がなかったので改めて復習しようと思いました。

内容

講師は@tkawaさんでした。

資料

www.slideshare.net

感想

「RESTは制約である」「RESTは成功しているWebから抽出されたもの」というのがとてもしっくり来ました。

RESTは特別ではなくてある種の「当たり前」をフレーム化したものなのだと受け止めましたが(講演の中でもHTML、HTTP、URLの組み合わせでRESTの条件が満たせるというお話がありました)、ここらへんの受け止め方はみんなどうだったのか気になるところです。

あとやはりリソース(URL)設計は難しい。

質問

なお、リソース設計というかURL設計についていくつか質問を投げかけました。例えば、

  • リソースのネストはどこまで許されるのだろうか
  • TodoのcompleteをcompletionsというリソースへのPOSTで表現したとき、restoreはDELETEメソッドで表現されるが違和感がある

みたいな質問でした。

それに対するtkawaさんの答えは、

  • ネストはREST的には制約がない、Rails Guideには2つまでとは書いてある
  • 違和感は慣れの問題

というものでした。

URLの長さはRESTとは特に無関係というのが虚をつかれた感じでなるほどなと思いました。

懇親会

Sansan株式会社の会場で懇親会が行われました。なんと寿司が提供され、とても楽しい時間を過ごすことができました。この場を借りてお礼申し上げます。寿司美味しかったです。

(写真はいつものようにありません、残念)

まとめ

RESTは非常に重要な概念なので、ここで復習できたのは大きいなと思います。

巷ではGraphQLへの期待に溢れていますが、そんな今だからこそRESTを捉え直すのもいいのではないでしょうか。

講師の@tkawaさんを始めとした主催者の方々、ありがとうございました。

そして私はSendagaya.rbの本編に行ったことがないので次は行こうと思いました。