見出し画像

表参道.rb #45に参加した

2019/4/4 に、表参道.rb #45が行われた。当日聴衆側で参加をしたので、noteにまとめておく。

Rails アプリケーションで複数認証方式を安全に扱う

ラクスル株式会社、加藤あいさんの発表。ハコベルコネクトという新規事業でRailsを採用し、様々なプラットフォームからの認証についてどのようにサポートするか、既存の成果物を書き直していったのか、について発表があった。認証方式について、moduleを分けるなど、サービス規模の大きさとRailsでうまく、名前空間を区切るやりかたなど、課題や発見が見られる内容であった。

Rails DMと○○について

こちらは、railsdmに関するお話と、以前発生したRails 4.2で起きた脆弱性対応に関するチーム間連携について。脆弱性の内容は以下のmalaさんの技術記事(gist)に詳しく載っている。

Rails の CVE-2019-5418 は RCE (Remote code execution) です

gistより引用すると、以下のような脆弱性である

/etc/passwd は無害すぎる例で、脅威が正しく伝わっていない。任意のファイルを読み取ることが出来るため、例えば ../../../config/secrets.yml を読み取ることが可能であることを確認した。このファイルには CVE-2019-5420 での攻撃に必要な secret_key_base という変数が書かれている。つまり CVE-2019-5418 が成立する環境においては、CVE-2019-5420の「開発環境限定」という条件が外れて、単に CVE-2019-5420 によるRCEが出来るということになる。(Rails の CVE-2019-5418 は RCE (Remote code execution) ですより引用 2019.4.29)

技術選定で失敗した話

スタディプラスさんの発表で、swagger 2.0を導入した後のAPIドキュメント、構築の技術選定で失敗した、という内容。導入当時、swagger 2.0のドキュメントが豊富であり、技術調査コストを軽減できるという理由で採用したが、コードで解決することが多くなり、拡張が思うように行かずOpenAPI 3.0に乗り換えることになったという内容である。

エンジニアとしての仕事のやり方

発表者は神速さん。こちらは、発表資料はなく、ライブでホワイトボードに内容がかかれる形式であった。例として、仮の名刺管理サービスを出し、どのように顧客に意見だしを行い、要求や仕様を引き出していくのか、合意していくのかの流れを問いていた。アジャイルサムライの話をより具体的に現実に落とし込んで共有したものと受け取った。

RakSulのInternal API開発で gRPCを導入した話

ラクスルさんのInternal APIにgRPCを導入した話。gRPCの開発にかかりきりになり、いろいろな技術調査を担当されることになるくだりや、開発を行うことがいかに楽しいかの話でもちきりであった。途中、swaggerとの絡みが出てきていて、思うように使えない問題があるようだった。

Ruby on Rails との向き合い方のプレゼンを前提として、Application Model の話

h_s_さんの発表。こちらは、yasaichiさんという方が発表したRuby on Rails との向き合い方の資料にあるApplication Modelに関する発表となった。

そして、こちらがLTで利用された発表資料。単一モデルによる複雑性をどのようにRailsで設計、アプリケーションロジックに集中できるようにするために、Application Model をデータに関連しないモデルとして、Application Recordをデータに関連するモデルとして設計しようというものが、Application Modelの概念。バリデーションの方法をActiveModelから拝借するのか、それとも独自gemを入れるのか。また分割の方法は...など設計のエッセンスが詰まった内容である。


Ruby にコミットしよう

Rubyに対して、メソッドの機能拡張や提案などを実際に行っているosyoさんのプレゼン。Rubyにパッチが取り込まれるまで、発案から実装、redmineで管理されているissueを拾うこと、開発者会議の議題としてパッチの話題と取り上げてもらうこと、matzに承認をえること、までのRubyの開発プロセスについて発表されていた。



記事を読んでいただき、ありがとうございます。うれしいです😊