Tech Racho エンジニアの「?」を「!」に。
  • Ruby / Rails関連
  • 勉強会

銀座Rails #40 開催レポート

morimorihogeです。色々と私的な面倒ごとが重なりレポートを書くのが遅くなってしまいましたが、銀座Rails#40の開催レポートになります。

銀座Railsについて

銀座Railsは3年以上継続して毎月開催されているRuby/Rails勉強会・発表コミュニティです。
技術的な内容にこだわらず、コミュニティ活動やRails開発者が興味を持つような開発一般の周辺トピックを扱っています。
過去の開催についてはConnpassのサイトをご覧ください。

銀座Rails開催レポート バックナンバー

銀座Rails#40 レポート

2021/12/17(金)にZoomウェビナーにてオンライン開催となりました。

12月25日にリリースされる Ruby 3.1 に備えよう!

osyoさんの発表。
多くのRubyユーザーが利用しているCRubyはここ数年は毎年12/25にリリースされてきています。毎年クリスマスシーズンになると今年もRubyリリースの時期か・・・と季節を感じますね。

本発表ではRuby 3.1に新しく入る機能を詳しく紹介・解説して頂きました。
個人的にはRuby 3.1はRuby 3.0の時に比べれば控えめな更新が多いと思っていましたが、こうして詳しく解説してもらえると「そんな機能が増えるのか~、便利そう!」と感じる発見もありました。

僕が特に嬉しいなあと感じたのはdebug gemの公式化やエラーメッセージのハイライト改善など、普段の開発で意識せずとも恩恵を受けられるような更新です。機能自体の追加ももちろん興味があるのですが、こういった改善があると「Rubyのバージョンを上げるとよりミスが少なく書きやすくなるので積極的にバージョンを上げよう」というモチベーションが上がるので嬉しいですね。
特に既存の運用中プロジェクトでは安定動作(Ruby本体だけでなく、Gemとの組み合わせなども場合に寄っては考慮が必要)を重視するためにバージョンアップが遅れがちですが、開発速度や品質の改善という具体的なメリットがあると後押ししやすい所があります。

その他では、Hashの代入省略記法なんかは属性が多くなりがちな業務アプリケーションなんかでうまく使うと効果が発揮できそうに感じました。パターンマッチはまだ自分自身有効に活用できるほど習得できていないので勉強していきたい。

Railsメジャーバージョンアップを安全にカナリアリリースする

松谷勇史朗(@uuushiro)さんの発表。

初対面の人と話すときには天気の話題が無難、みたいな話がありますが、初対面のRailsエンジニアと話す時にまず外さないのがRailsアップグレードの話題です。
本発表ではv5.1からv6.1へのバージョンアップについて、実際にカナリアリリースを実施した話をご紹介頂きました。

pureなpumaだけで運用されているRailsアプリではなく、SidekiqDelayed::Job
によるバックグラウンドジョブの処理やcron定期実効ジョブの話、カナリアリリースで同時並行運用中にも機能リリースをしたいなど、実用的な話が盛りだくさんです。
Railsアップグレードを検討している方はとても参考になる内容ですのでぜひスライドもご覧下さい。

RailsでのREST API開発の知見共有

kon_yuさんの発表。

RailsでRESTでOpenAPI対応なWeb APIを作る方法には様々な選択肢がありますが、本発表ではGraperspec-openapiCommittee::Railsそれぞれのメリットデメリットの整理を具体的に解説し、実際に利用された知見についてお話いただきました。
折しも招待講演がGraphQLの話題でしたので、API繋がりの内容となりました。僕も数年前に同じような検討をした記憶があるので、知識のアップデートができ良かったです。

ちょっと前まではAPI仕様書というと各社独自のものが普通でしたが、Swagger/OpenAPIの広まりによりずいぶん楽に仕様の意思疎通ができるようになったように感じます。業務だと未だに複雑怪奇で1 URLでなんでも処理してしまうようなAPIを見かけることもありますが、RESTfulでもGraphQLでもリソースを意識したAPI設計の基準ができるのはとても良いですね(しみじみ)。

スポンサーセッション: 株式会社UZUMAKI

スポンサーである株式会社UZUMAKIさまの発表。
UZUMAKI様の会社紹介や自社チームのコミュニティについてご紹介いただきました。「信頼できる仲間と仕事をしているから、コミュニケーションコストが低い」という話はとても同意できました。
Railsエンジニアの募集中とのことですので、興味があれば採用ページよりお問い合わせしてみてはいかがでしょうか。

スポンサーセッション: 株式会社ディー・エヌ・エー

スポンサーであるDeNAさまの発表。
ヘルスケアアプリケーションkencomの紹介と、データ利活用についてのお話をして頂きました。
ヘルステックはちょっと前に世間で話題になりましたが、デバイスやインフラが整ってきた今、大量のデータが集まって技術・ビジネス的にも面白いところだと思います。

その他、DeNAさまの技術イベントや技術記事などは継続的にTwitter: @DeNAxTechで発信されておりますので、興味のある方はぜひフォローしてみてください。

スポンサーセッション: 株式会社リンクアンドモチベーション

スポンサーであるリンクアンドモチベーションさまの発表。
リンクアンドモチベーション様は2018年9月の銀座Railsの初回からスポンサーをして頂いており、僕も銀座Railsの運営を引き継ぐ前から会場でお世話になりました(Beforeコロナ期)。
当時立ち上げた自社の開発チームも今では60人超えとなったそうです。内製開発チームの立ち上げはかなり大変なこともあったかと思いますが、順調に拡大されていてすごいですね。

GraphQLの高速道路

ゲストスピーカー 加藤尋樹 (cockscomb) さんの発表。

WEB+DB PRESS Vol.125の特集「GraphQL完全ガイド」を執筆された著者である加藤さんにGraphQLの概要から設計方法、コツや勘所をお話いただきました。
GraphQLは昨今のUI/UXを重視したフロントエンド開発で導入される機会がとても増えており、僕自身も直近GraphQLのサーバーサイドを実装する機会がありとても興味深く聞かせていただきました。

特に興味深かったのはコードファースト・スキーマファーストの議論で、この辺りはまさに自分でもどの戦略が良いのだろうと疑問に思いつつも言語化できていなかった部分でした。
昨今ではフロントエンドエンジニア、サーバーサイドエンジニア、インフラエンジニア、iOS/Androidエンジニアなど、1つのサービスを提供するにも様々な専門家が集まって仕事をすることになっていますが、こうした設計方針ごとのメリット・デメリットや特徴を押さえておくことでそれぞれの仕事をしやすくなるのではないかと思います。

これからGraphQLを触ってみようという方、ぜひ資料やWEB+DB PRESSの記事を読んでみることをお勧めします。

まとめと次回予告

というわけで、またも遅くなりましたが銀座Rails#40の開催報告でした。

時間が空いてしまいましたが、次回銀座Rails#43は本記事を投稿している今週金曜の2022/03/25 19:00より開催します。まだ未登録な方はぜひご登録下さい。

ゲストスピーカーにはRubyの静的型チェック周りの開発をされているMasataka Pocke Kuwabara(@p_ck_)さんをお呼びし「RBSとRailsの今」のタイトルでお話頂きます。
個人的な意見ですが、RBSやSteepを使った静的型チェックは複雑で大きなコードベースだったり、人の入れ替わりの頻繁に発生する大規模なチームで開発したりする際には特に効果的に働くのではないかと思っています。

僕自身の経験では決済ややり直しできない処理の部分でより安心を担保するためにRBSを書いてみようと検討したことが何度かありますが、まだプロダクションのコードでは利用できていません。今回の発表を聞いて少しずつでも導入を検討してみたいと考えています。

一般登壇者募集中!!!

銀座Rails#43の一般登壇者を募集中です。銀座Railsでは「頂きは高く、敷居は低く」をモットーに、皆様が気軽に発表・情報交換できる場所を提供しております。一般登壇は5分のLT枠から最大30分まで、Railsエンジニアに興味を持たれそうな内容であれば技術・コミュニティ・インフラ・フロントエンド関わらず広く募集しております。
発表初心者や久しぶりの方、自分の意見や知見の整理などにぜひご利用いただければ幸いです。

詳細については銀座Rails#43登壇応募フォームの内容をご確認の上ご登録下さい。最新情報は@GinzaRailsをご確認ください。
その他銀座Railsに関する公式情報はTwitter: @GinzaRailsにて発信しておりますので、お気軽にフォローいただければと思います。

関連記事

銀座Rails #39 開催レポート


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。