銀座Rails#31を開催しました

去る2021/3/19(金)、銀座Rails#31を開催しました。

ginza-rails.connpass.com

当日の様子は、togetterのまとめを御覧ください。

togetter.com

スポンサーセッション リンクアンドモチベーションさま

登壇前日に、車と携帯が壊れてしまった河野さん。

今回のお話は、デッドコードのお話。見直すきっかけとなったのは、Dx Criteriaの採用であったとの事。 ソースコードの明確さという項目に沿い、2万行以上を削除したそうです。

関連したお話を、Developer eXperienceDayでされるとの事でした。 https://dxd2021.cto-a.org/

森雅智(@morimorihoge)さん(BPS株式会社)「出張Railsウォッチ in 銀座Rails

今回はネットワーク環境が悪いところにいらっしゃるということで、動画でのご登壇となった森さん。

10年ほどで50以上のプロジェクトにてRailsで受託開発を続けてきたご経験から、 プロジェクトあるあるを共有頂きました。

大きく「現場が必要に駆られて作ったよプロジェクト」「一度作ったけれどその後放置されて老朽化したプロジェクト」「短期間でサクッと作ろうプロジェクト」「既存システムをRailsで作り直そうプロジェクト」に分け、それらについての特徴と注意点についてお話頂きました。

@orekyuuさん「RailsECサイトの決済速度を上げろ!〜決済処理チューニングの記録〜」

銀座Rails初参戦のorekyuuさん。仕事でRubyを使っているが、本当はJavaが好きだとのこと... 今回はECサイトであるBOOTHにて、決済スパイク時に発生するアラートにどう対応するかについてお話頂きました。

決済時に数秒かかる悲観的ロックが障害の原因だったそうで、対策として在庫減算と決済処理を別トランザクションに分け、在庫減算のみにロックをかけるようにし、更にその状態での障害に対応するため、ActiveRecord::Callbackを消去し小さい集約にしたとのこと。

結果として半年、悲観的ロックで詰まることが無くなったものの、今度は次のボトルネックが顕在化したそうです。

「俺達の戦いはこれからだ」

スポンサーセッション DeNAさまより 人西 聖樹(@sairoutine)さん「急成長する Pococha が抱える技術的課題」

前回に引き続き、DeNAさまより人西さんがご登壇。 perlとかgolangの会社だと思われがちですが、Railsもやってる!ということで、今回もご支援頂いております。

まずは最初に、ベイスターズのビールが50名に当たるキャンペーンから始まりました。

新規事業Pocochaで発生した課題として、大規模で破綻していくコード設計があり、RailsWayだけでは解决できず、 FatModel -> FatService -> グローバル実装でカオス...と続き、アーキテクチャ全体の見直しが必要との事。 他にも急増するサーバの負荷の問題もあり、業務でISUCONを楽しめる....!

求人ページはこちらから career.dena.jp

ゲストスピーカー Autify社CTO / バックエンドエンジニア 松浦 隼人(@dblmkt)さん 「スタートアップにおける言語とフレームワークの選択」

オーティファイ社でCTOをされている松浦さん。元々インフラを中心にご活躍され、Railsもいじり、趣味は翻訳とのこと。SQLパフォーマンス詳解、入門監視などを翻訳していらっしゃいます。

現在提供しているのは、E2Eテストがノーコードで簡単に作成できるAutifyですが、その前のProductではRailsでのバックエンド+ReactでのSPAフロントエンドという分業体制を取っていたとのこと。

その後Autifyの開発が進むにつれ、初期プロダクトではリッチなUIが必要でないこと、管理画面の方が機能が多いこと、フロントエンド-バックエンド間のコミュニケーションミスが多発したことなどから、React部分を捨ててRailsのみに戻すことを決断したそうです。

スタートアップの最初期はとにかく価値を最速で届けるのが最重要と述べられ、考えることが一番少ない言語・フレームワーク・製品としてのRailsの利点を述べられていました。

speakerdeck.com

次回、銀座Rails#32について

次回銀座Rails#32は2021/04/23(金)、オンラインでの開催となります。

https://twitter.com/mametter ゲストスピーカーにはAutify社CTO / バックエンドエンジニアの松浦 隼人(@dblmkt)さんをお招きし、「スタートアップにおける言語とフレームワークの選択」と題して、スタートアップ観点での技術選択の考え方をお話いただきます。

ゲストスピーカーにはRubyコミッター 遠藤 侑介(@mametter)さん「emruby: ブラウザで動くRuby」をお話頂きます。

現在、参加者募集中です。 ginza-rails.connpass.com