koheitakahashiのブログ

2020.07.01にプログラマーとして生を受けた私が学んだことや、日常について徒然に書いていきます。

はじめて、Rubyの勉強会(Sendagaya.rb)に参加させていただきました

はじめに

@shitaさんの以下の記事に倣って、私もはじめて参加させていただいた勉強会の感想を書こうと思いました。

nekorails.hatenablog.com

技術的なことは、@shitaさんの記事に書かれているので(というより私レベルでは1割も理解できなかったため)、私は「プログラミング初学者のペーペーが、はじめてRubyの勉強会に参加してどうだったのか」という観点で書きます💪

経緯

11月18日にプログラミング学習と就職活動のために東京に引っ越してきました。

現在、参加しているFJORD BOOT CAMPはリモートで学習を続けることができるのですが、私の地元ではIT企業がほとんどなく(あってもRubyを使っていない)、就職するなら求人の多い東京で、と思うようになりました。

そして、就職活動(FJORD BOOT CAMPのプラクティス的にはまだ先ですが)をするにあたっては、「その会社のサービスで入りたい会社を見つけるというのは難しいので、一緒に働きたいと思う人がいるかどうかで、入りたい企業を選ぶと良い」と、メンターの方から教わりました。

そこで、勉強中の段階であっても、様々なプロのエンジニアの方とお会いした方が良いと考え、上京した次第です。

今はゴキブリの恐怖と戦いながら、日々生活しています(雪国出身のため、ヤツにあったことがないので)💦

Sendagaya.rbに参加させていただいて

参加させていただいたのは、11月18日に開催されたSendagaya.rbです。

sendagayarb.doorkeeper.jp

感想

正直なところ、今回のテーマについては全く理解できませんでした💦

次々に交わされる謎の言葉を調べるので、精一杯で、ただの持参したお土産を出すだけの機械になってしまっておりました💦

自分の力のなさを痛感しました💦 ただ、改めて自分の力のなさを知ったことで、今後の勉強に対するモチベーションが高まりました。

これまで、空想上の生き物でしかなかったエンジニアの方が、格好よく議論している様子を見て、「早くあの議論についていけるようになりたい」という思い強くなりました。

また、主催者の@tkawaさん、@fukajunさんは、とても優しく、勉強会後には私が抱えていた日頃の学習の悩みなどにアドバイスをして下さいました🙇‍♂️

FJORD BOOT CAMPの関係者の@s4naさん、@sanfrecce_osakaさん、@shitaさんも優しく、今後のプラクティスのことや、議論についていけない自分を気にかけて下さいました🙇‍♂️

その後調べたこと

このままではいけないと思い、テーマについて、基本的な用語を調べてみました。

そもそもWebmockとは?

クライアントのHTTPリクエストをスタブ化してくれるgemで、テストの際に使用されるもののようです。

github.com

そもそもスタブとは?

オブジェクト間でメッセージがやりとりされる際に、受信メッセージをテストするためのものみたいです。

一般的に、AオブジェクトがBオブジェクトを呼び出すして、何かをするというコードの場合に、Aオブジェクトの正しさをテストするには、Bオブジェクトまでテストしないといけません。

しかし、スタブは、Aオブジェクトをテストする際に、呼び出されるBオブジェクトの偽物を用意して、テストを行います。このようにすることで、Bオブジェクトをテストすることなく、Aオブジェクトをテストすることができる・・・というもののようです。

モックとは?

スタブとは異なり、送信メッセージをテストするための仕組み。メッセージの受け手の偽物を用意するという役割だそうです。

つまりWebmockとは

仮のHTTPリクエストやレスポンスを作成してくれるもの・・・という感じかな?

最後に

自分の力のなさを痛感した、はじめての勉強会ですが、それでもできる限り参加していきたいと思います。 テーマを一つ一つ、自分なりに理解していき、プロのエンジニアの方と議論できるようになりたいです💪

また、「こういうエンジニアになりたい」というものが自分にはないので、勉強会に参加し、色々なエンジニアの方々とお会いしていく中で、徐々に作ることができたらと思ってます🔥

Sendagaya.rbの主催者、参加者の皆さん、ありがとうございました‼️

参考にさせていただいたサイト

webmock使ってみた - Qiita

スタブとモックの違い - Qiita