ねこものがたり

いちにちいっぽ

OSS Gate東京ワークショップに参加しました

OSS_Gateワークショップとは

oss-gate.doorkeeper.jp

OSSの開発に参加する」を実際に体験するワークショップです

各地で定期的に開催されていて、東京でも月1くらいで行われているようです。

ビギナー(OSS参加したい人)とサポーター(ビギナーに教える人)枠があって、何度かビギナーで申し込んだことがあるけどキャンセル待ちから繰り上がったのは今回が初めてで、やっと参加できました!

当日の様子

いつもサポーターが足りなくてビギナーがキャンセル待ちなんですが、今回はなんとサポーターが余るという状況でした!! とてもめずらしかったようですが、おかげでサポーターさんと1対1で作業できるという、参加者としては大変ありがたい時間となりました。

当日の進行は@okuramasafumiさんで、タイムテーブルはイベントページにある通りに、以下のように進んで行きました。

時間 やること
12:30 開場
13:00 アイスブレイク
13:15 OSS開発手順を説明
13:45 対象OSSを動かす
14:45 ミニふりかえり
15:00 休憩
15:30 プロジェクトにフィードバックする
17:40 ふりかえり
17:55 まとめ
18:05 アンケート記入
18:15 ワークショップのふりかえり
19:00 終了(希望者で懇親会)

自分がしたこと

最初に1日の流れやOSSについての説明を聞いたあとは、自分が見ていきたいOSSを決めて各自で手を動かしていきます。 その際GitHubのissueを立てて、作業メモを残していきます。

私は事前に何やるかは決めていなかったのですが、サポーターさんに相談すると日頃使ってるものから選んでやっていこうということになりました。 選んだライブラリーと作業内容はissueのとおりです。

自分の作業メモ

時間内にPRを出すというのとIssueを立てるという2つのアクションが取れました! めっちゃ嬉しかったですが、なんだかいつも自分が仕事やプライベートでやっていることと違わない感覚でできたので「あ、なるほど、特別なことはしなくても、これでいいんだ」とも思いましたw

感想

1. 自分でもできると思えた

一番よかったのは、先程の「特別なことはしなくても、これでいいんだ」という感覚を覚えたことです。 これなら自分でもやっていけるなーと思いました。

2. 自分に足りないものがわかった

これまで2回位、PR投げた事自体はあったのですがなんかいまいちコレジャナイ感が拭えませんでした。(mergeはされてない)

そのため、何が足りないのか自分でわかりたいというのが参加の動機でした。 その点に関しては「構えすぎていたな」というのと「実装を理解していくプロセスをコードを読むことだけで済ませようとしていて手を動かすのが足りてなかった」ということがわかりました。

3. 作業ログのコツがわかった

作業ログの粒度をつかめたこともよかったです。 他の人に見てもらってわかるように書こうとすると自然と粒度は小さくなり、結果的に「わかりやすいログになっていてよかった」という声までかけていただきました!

日頃の作業ログは「その時の自分のため」にやっていて、未来の自分や他の方など客観的にみてわかるかどうかでいうと全然だめで、ログとしての意味が半減していたように今は思います。使い捨てログとしてくらいは良かったかな。 ログの残し方についてはOSSだけではなくて日頃の業務などでも改善していこうと思っています。

4. OSSへの理解が深まった

最後はOSSがなぜOSSなのか、OSSじゃないとはどういうことなのか、何のためにライセンスがあるのかというのをものすごく丁寧に解説していただいたので、しっかりと理解することができました。

最後に

参加してほんと良かったです。最高に楽しかった! ありがとうございました!

銀座Rails#13に参加・登壇してきました

銀座Rails1周年の回で、初めての技術話をしてきました!

ginza-rails.connpass.com

自分の発表について

speakerdeck.com

スライドに全部書いてある通り「色々やってみたけど何もわからなかった」という発表になってしまいました。

ですが、手を動かし調べてみて頭を働かせてよく考えるというのはとてもとても楽しかったです。 ベンチマークとか全然とったことないんですけど数値化して「もっとよくしよう」というのはとても面白いぞということを知ったのが最大の収穫。

yahondaさんが背中を押してくださったこと、 当日までにたくさんの方々に発表を見てフィードバックをいただいたり相談に乗っていただいたりしたこと、 当日参加されていた方々かたさらにまた感想やアドバイスをいただけたこと、本当に感謝しています。

発表を通して得たこと

  • localhostで何かを計測!という時にはProduction環境でやること
  • 実行している条件を出来るだけ把握すること(ブラウザだけでも自分の知らないところで色々なことをやってくれているけど、なるべく知っておくこと)
  • 最初に何を話すか、どこに向かっていくかを明確にすること
  • スライドの文字は上に寄せた方が見やすい
  • 色はちょっとソフトにすると目が疲れない

ほかには「こういうこと話そうかなって」という時点でもリハでも本番でもフィードバックいただけるのはとにかくめちゃくちゃありがたかったので自分も人の発表には積極的にコメントをしようという気持ちが生まれました。

他の方の発表の感想

「出張Railsウォッチ in 銀座Rails」

今月のあったRailsのあれこれについて。 面白かったのはActionTextの話を聞けたことです。

業務で作っているアプリ、この機能を使いたくて(実装するはまだ先ですが)Rails6にアップデートするためのあれこれを日頃からちょっと頑張っていました。でも自分でまだ手を動かして使ってなかったので(こういうところが駄目な人間)、実際にデモを見ることができたのがとても良かったです。

(でもその後のメインスピーカーである松田さんのお話では、ActionTextがあることによってRailsアプリ全体が遅くなっているということが触れられていました、もしActionText使わないぞっていう場合は外したりしたほうがいいのかなと思いました。そのへんはよくわかっていないです。質問すればよかった。今度聞こう)

@masa_iwasakiさん「fixture再考」

個人的に日頃は圧倒的にFacotryBotを使うことが多くて、”fixtureはデフォルトでRailsに備わっているので手軽に使えていい"くらいの認識でした。

どうやらみなさん当たり前のようにご存知なようだったのですが、「FixtureのほうがFactoryBotより実行速度はやくなる」というのを知りませんでした。

でも一長一短で「積極的にFactoryをやめてFixutreに書き換えるべき」とは言えないというまとめの一つから「だから両方あるんだろうな」となんだか妙にしっくりした感覚を得ました。

ところで全く関係ないですが、私はFactoryBotが好きです。なぜかと言うと王式のコード例のなかにGame of Thronesというドラマのキャラ名が出ているからです。それを見つけて以来割と楽しくFactoryBotを使っています。

ゲストスピーカー @a_matsuda 松田明さん 「Railsのパフォーマンスをチューニングしてみる話」

話の内容全く理解できませんでした!難しい!

でもここだけは!って思ったのは松田さんの計測の仕方です。 あの方法や考え方をいきなりマルっと自分のものにするのはさすがに無理でしょうが、「計測ムラをなくす」とか「ボトルネックの見つけ方」とか、「見つけたあとのあれこれ」とか、少しずつでも真似して自分のものとしたいと思いました。

私自身が自分の発表で計測に挑戦したのと、計測すると「速くしたい!」ってめちゃくちゃ思うようになったので、松田さんの発表それ自体がとても刺激的でした。 まあ、何も分からなかったんですが。

別の話で、Rubyではtaintというのはなくす?というのをNerima.rbでObjectクラスをやったときに知ったような気がしていて、「なくなるくらいだからそんなに大事じゃない?」とか勘ぐっていたのですが、汚れてるかどうかをフラグで持ちたいというようなお話をされていました。 イマイチ汚れているオブジェクトとかきれいなインスタンスとかわかってないので、Rubyが今後変更になるかどうかはともかく、理解はしておきたいと思いました。 これも質問したらよかった。なので今後聞きます。(Asakusa.rbというところでは何でも聞いていいそうなのですが、自分いまのところ全然質問とかしてなくてどうもイケてないので、次回参加時には今の疑問を教えてもらおうと思っています!)

まとめ

とても楽しかったです。 みなさまありがとうございました! 初めての登壇でしたが、最初の1歩が踏み出せたので、今後も挑戦していきたいと思います。