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の本編に行ったことがないので次は行こうと思いました。

2019年はどんな年にしようか

2019年の抱負とか書くよ。

ご挨拶

改めまして、皆様あけましておめでとうございます。

今年も一年、どうぞよろしくお願いいたします。

2019年の抱負

さて、2019年になったので、今年の抱負を書こうと思います。

といっても大したものではなくて、一言で言うと「自律した人間」でありたいなあと思っております。

「自立」ではなくて「自律」なのには理由があって、それは持病などの関係で一人で生活や仕事を完結させることにある種の諦めを持っているからです。もちろん、自立することへの努力は続けたいのですが、2019年に自分がそこに到達できるのかというと自信がない。

でも、自分自身の病気だったりを自分でコントロールすることは諦めたくないなあ、というのが「自律」に込められた想いです。

実際、以下のやることリストを達成していくためには自分自身をコントロールできないといけないので、今年は「自律」がキーワードになるのかなと思います。

2019年のやることリスト

例年、やることリストの多くは実現しないのですが、今年は実現が確定した案件もいくつかあるので全部未達成ということはなさそうです。

リスト

リストは実現可能性の高い順に並んでいます。

  • RailsDMをつつがなく終える
  • 洋書の翻訳をする
  • React Nativeができるようになる
  • Railsにコントリビュートする
  • 初学者向けコミュニティを作る

RailsDMをつつがなく終える

昨日の記事に書いた通り、RailsDMは2019年もやります。私は引き続き共同オーガナイザーを務めます。

なんと2019年はRails Core TeamからJeremy氏に来日していただけることになりました。これはかなり嬉しくて、自分が海外勢を招待するのに一役買えたことだけでなく、RailsDMが今後の日本のRails文化において重要な役割を果たすその端緒になるのではないかと思っています。

やることはたくさんあるのですが、これをつつがなく終えることは2019年の最初の大仕事となりそうです。

洋書の翻訳をする

まだ確定ではないのですが、Vim本の翻訳をするかもしれません。

ガチの翻訳はこれまでしたことがなかったのですが、これもまた自分の殻を破るのにいい経験になりそうと思い、名乗り出ることにしました。

スケジュール感はまだよくわかっていないのですが、2019年内には書店に出るのではないかな、と勝手に思っています。

React Nativeができるようになる

うちの会社(Cycle)で作っているアプリ(iOS版はこちらAndroid版はこちら)はReact Nativeという技術で作られています。

これまで、Cycleでは社長が一人でReact Nativeを開発するという状態だったのですが、さすがに専任の開発者である私がフロントをやらないのはいい加減まずい、みたいな話になり、私もReact Nativeをやることになりました。

React自体もよくわかっていないので、地道に学習したいなと思っています。

Railsにコントリビュートする

実はまだRailsにコントリビュートしたことないんですよ…2019年こそは最低でも1回、できれば数回コントリビュートしたいです。

Action Mailboxあたりが狙い目なのかなあ?

初学者向けコミュニティを作る

これがおそらく一番実現可能性が低くて、というのはコミュニティを作るのは単純に大変である上、参加してくれるかどうかはその人に依存していてこちらができることが相対的に少ないからです。

2018年の後半にやっていたメンタリングを発展させる形で、初学者と中級者が集まる場を作れればいいなと思います。

差別化としては、言語をRubyに絞ることと、就職・転職・職業訓練に直結させることを考えています。が、具体的なプランはまだこれからです。

まとめ

2019年、良い年になるように努力します。

RailsDMとの関わり@2018

今年の締めくくりとして、RailsDMのお話。 以下のリンクは2018年のやつです、2019年のリンクは記事の終わり付近にあります。

railsdm.github.io

発端

今年の3月にあったRailsDMに参加しようと思ったら、通常のチケットがなくなっていたのでボランティアスタッフとして参加したのでした。

そこでいろいろお手伝いをしたら、主催のカルパスさんに共同オーガナイザーとしてコアスタッフに招かれたのでした。

Day3?

本来は3月だけやるはずだったRailsDMですが、7月に「Day3」と題してさらにイベントをやることになりました。

このときは、オーガナイザーといっても普通のスタッフとしての仕事しかせず、「名ばかりオーガナイザー」状態でした。

Day4???

そしたらなんと、カルパスさんに「今度Day4やるんだけど、大倉さん発表してくださいね」と言われました。大勢の前で発表するのはそんなに慣れてないので若干焦りましたが、結局「二人開発の効率化」的なテーマで話すことにしました。

もちろん、スタッフ業もしていましたので結構忙しかったのですが、とても楽しかったです。

発表の様子

www.youtube.com

発表の解説

こちらは日本語での発表でしたので気楽でした。時間も余していて、前回の教訓が生きていますね。

もっとも、聴衆はとても多かったのでやはり緊張はしていました。なかなか慣れないものですね。

なお、この発表は12月8日に行われたものです、つい最近ですね。

発表資料

speakerdeck.com

資料の解説

そんなに解説することないのですが、モチベーションとしては「人数が少ないからこその工夫について話している人はあまりいない、でも需要はあるはず」って感じでした。実際多くの人に聞きに来てもらえたようで何よりでした。スターを付けてくれた人も何人かいらっしゃってありがたい限りです。

そして2019へ

railsdm.github.io

既報の通り、あのDHH氏が次回のRailsDMにリモートで参加してくれます!

ちょっとだけ裏話をすると、DHHに送るメールの翻訳とかをしていたのは私です。もちろん主催のカルパスさんが文面を考えているのですが、今回はオーガナイザーの名に恥じない仕事ができたのかなあ、と思っております。

2019年のRailsDMは海外勢の参加や豪華すぎるスピーカー陣など、これまでで最高のイベントになる予感がひしひしとします。そのためにもがんばっていきたいなあと思います。

まとめ

そんなわけで、今年はRailsDMを筆頭に新しいつながりが多くできた一年でした。

2019年はどんな一年になるのか、楽しみです。

VimConf2018で登壇してきた

2018中にこれだけは書かないといけないと思ったので。

VimConf2018で登壇してきた

見出しの通り。発表できたことが奇跡に近かったなと思っています。カンファレンス自体については後述します。

資料

speakerdeck.com

資料の解説

発表本編ではデモを豊富に盛り込む予定で実際にもデモをしたので、資料だけだとイマイチピンとこないかもしれません。

資料は英語ですがこれはVimConfが国際カンファレンスであるためで、日本語で発表された方々も資料は英語で書かれていました。

発表の様子

www.youtube.com

発表の解説

…いやー、やらかしましたw

何が起こったのかというと、スクリーンミラーリングを切って発表したのですが(手元に発表用ノートがほしかったため)、そのせいでタイピングしても何が実際にタイプされたか全くわかりませんでした。

それは画面が大きすぎたのも一因ではありましたが、まあ根本的にタイポが多すぎる私のせいです。

で、タイポだらけで進まずに会場の方に指摘してもらうという謎のモブプロみたいになってしまいました。それはそれで面白かったのかもしれませんが、表現したかったことをできなかったのは激しくつらかった…

あと、内容を詰め込みすぎたのは反省点で、20分は短いというのを教訓として刻むこととなりました。

ただ、英語で100人を超える聴衆に話を聞いてもらえる、というのは得難い経験だったので、機会があればまたやりたいです。 次回はもっとコンパクトで要点を絞った発表をしたいと思います。

カンファレンス自体について

https://vimconf.org/2018/

参加人数や場所など

場所は秋葉原富士ソフトアキバホールというところで2018年11月24日に開催されました。

参加人数は詳しくは知りませんが200人ぐらいいたのではないかと思います。

他の発表者について

なんといっても、Vimの作者であるBram御本人が来て発表をしたのがすごかったですね。

内容はまさに今後のVimの方向性を示唆するようなもので会場の興味も非常に高かったです。

他の参加者も非常に豪華で末席を汚すだけでも恐れ多いような顔ぶれでした(いやー、発表できてホント良かった)。

ここでは長くなるので各発表者の方のご紹介はしませんが、ぜひ上記のURLから皆さんの発表もご覧になってください。

雰囲気など

参加者はなんとなくツワモノが多そうな雰囲気でした(個人の感想です)。

チケットが即座に売り切れてしまったのもあって、それに間に合った人だけが参加していたからか、全体的に発表への姿勢も良かったように感じました。

写真がないのが残念…

ランチについて

お弁当が出たのですが、それがめちゃ豪華でした。

写真がないのは痛恨の極みですが、節を分けて書きたいぐらいめちゃくちゃ良かったです。

肉バージョンとベジタリアンバージョンが両方用意されていたのも運営の配慮を感じました。

懇親会について

Bramは懇親会にも来ていて、RuslanというVim本執筆中の方と談笑していたのでその会話に混じったりしていました。

印象的だったのが、編集者の方がBramにお礼が言いたいというので臨時で通訳っぽいことをしたことです。

ご飯がおいしかったけど結構酔ってたのであまり覚えていない…

カンファレンス後

在日外国人の方々と混じって秋葉原で3次会に行ってきました。

iOS開発者もいたりして、Vimはいろんなところで使われておるなあ、と感心したものです。

まとめ

VimConf最高!