鹿児島Ruby会議02でスピーカー登壇した資料 https://k-ruby.connpass.com/event/272282/
鹿児島からRubyではじめるスタートアップ吉本康貴 / GMO PEPABO inc.2023/03/04 鹿児島Ruby会議021
View Slide
3よしこ 吉本 康貴CTO室 鹿児島エンジニアリングチーム● 理学療法士からエンジニアへ未経験転職● コロナ禍初期の2020年6月入社 (当時29歳)● 前職は職員30名の介護保険施設で家族経営● 最近のトピックは create-t3-app とジェネレーティブAI@yoshikouki_ペパボと私の紹介
4アジェンダ1. イントロダクション2. スタートアップで Ruby on Rails を採用するメリット3. GMOレンシュについて4. Ruby on Rails を採用したスタートアップの具体的な話5. これからやりたいこと
5アジェンダ1. イントロダクション2. スタートアップで Ruby on Rails を採用するメリット3. GMOレンシュについて4. Ruby on Rails を採用したスタートアップの具体的な話5. これからやりたいこと
6ゴール● スタートアップで Ruby on Rails を採用するメリットを知れる● 鹿児島でもメガベンチャーでスタートアップできることを知れる● Ruby on Rails を採用したスタートアップの具体的な話が知れる
7対象者鹿児島Ruby会議02を全力で楽しみたい人
8アジェンダ1. イントロダクション2. スタートアップで Ruby on Rails を採用するメリット3. GMOレンシュについて4. Ruby on Rails を採用したスタートアップの具体的な話5. これからやりたいこと
スタートアップで Ruby on Rails を採用するメリット● Webアプリケーションに必要な多くが良い感じに揃っている○ もしくは素早く拡張できる● MVCモデルやRails風なActiveRecord※1 は、賛否両論あるが気軽で素早い● 個人アプリでモダンな環境 (create-t3-app ※2 を採用) で開発しているが、Rails ほど「気軽」ではない● CoC (設定よりも規約) を初めとする Railsway に従えば、中長期的な複雑さはある程度抑制できる※1 PoEAAでいうドメインレイヤーとデータソースレイヤーを包含したModelActive Recordから考える次世代のRuby on Railsの方向性※2 T3スタックと呼ばれる思想に基づくWebアプリビルダーで、 Vercel が提供している https://create.t3.gg/9素早い開発が可能 (高い生産性)
スタートアップで Ruby on Rails を採用するメリット10● 素早く、気軽である一方で、拡張性も十分に備わっている大規模なアプリケーションでもスケーラブルに対応可能● 「大規模になってくるとRailsは辛い」と言われたりするが、それに対する知見はすでに存在するし日頃の努力により顕在化しない例も多々ある● 辛いのは Rails ではなくて設計の方というパターンも多い多数のライブラリやツール、何より知見が存在する
11“Rubyは死んだ?”スタートアップで Ruby on Rails を採用するメリット
12「Rubyは毎年死んでいる」 by Yukihiro Matz“親切な人たち ”が言ってくる「 Rubyは死んだ」「 Rubyなんか使わない」まつもとゆきひろ氏がノイズを気にせず考える、 Rubyの価値“Rubyは死んだ?”スタートアップで Ruby on Rails を採用するメリット
14「まだまだ現役だぜ」ということを伝えたかった。この場合、言葉のままの意味だが、「老兵」という表現やこの言葉の出自を考えると適当かは分からない。“老兵は死なず”スタートアップで Ruby on Rails を採用するメリット
15アジェンダ1. イントロダクション2. スタートアップで Ruby on Rails を採用するメリット3. GMOレンシュについて4. Ruby on Rails を採用したスタートアップの具体的な話5. これからやりたいこと
16運営の「教える」「活動する」ことにフォーカスできるようになる
※ 支払い方法は3種類GMOレンシュについて17受講者情報を一元管理受講者・保護者との連絡を確実に、かんたんにオンライン決済でかんたん集金。一元管理17できること
GMOレンシュについて18
GMOレンシュについて19バスケットボールチーム鹿児島レブナイズ鹿児島市の実証実験続報に期待してください!
開発チームのエンジニア構成● 鹿児島のエンジニア 2名● 別部署からの応援 1名● プロジェクト最初期から2人で参画し、今日まで作り上げてきている20鹿児島からも参画できるGMOレンシュについて
21アジェンダ1. イントロダクション2. スタートアップで Ruby on Rails を採用するメリット3. GMOレンシュについて4. Ruby on Rails を採用したスタートアップの具体的な話5. これからやりたいこと
Ruby on Rails を採用したスタートアップの具体的な話22Railsway はできる限り遵守するそれでも大変なときだけ、用途を限定した「サービスレイヤー」を導入する● GMOレンシュは以下を採用しているa. Presenter (View 専用)b. FormObject (form 専用)● 多数モデルが関与かつ複雑なロジックを持つ場合のみ● が、これらの使用はできる限り避けるように心がける出典: ApplicationModel のある風景
Ruby on Rails を採用したスタートアップの具体的な話● 将来に渡る様々な要件まで盛り込みすぎても速度が落ちるが、とはいえ重要なので拡張可能な設計は心がける● 状況が変わったら素早く修正を行う● データモデリング● イミュータブルデータモデルa. RDBのレコードにUPDATEをなるべくかけないようなデータモデリング23テーブル設計が生命線といっても過言ではない
Ruby on Rails を採用したスタートアップの具体的な話● Ruby on Rails に限った話ではないが、頼れるのであれば頼ったほうが良さそう● 特に認証と決済は、開発・運用コストが高く、万が一のとき深刻化しやすい● セキュリティ面でも、その界隈の専門家によって支えられる安全性を享受できる● レンシュでは Auth0、PGマルチペイメントサービス、Stripeなどを採用している24大変かつ任せられるところは積極的にSaaSを使う
25アジェンダ1. イントロダクション2. スタートアップで Ruby on Rails を採用するメリット3. GMOレンシュについて4. Ruby on Rails を採用したスタートアップの具体的な話5. これからやりたいこと
Ruby on Rails を採用したスタートアップの具体的な話● 今後3〜5年を見越した技術選定でユーザー体験を上げていきたい○ (開発・運用コスト面や社内リソース・採用の都合などを加味する )● フロントエンドによる体験の充実○ 現在、パーシャルや一部機能から React 化を進めていっている● バックエンド○ 素早さを保ちつつ柔軟さと堅さを両立したい■ 定期的なメンテナンスやリファクタリング (設計も含めた)■ 依存関係のアップデート (凄く大事)○ イミュータブルデータモデルを段階的に取り入れていきたい26良いプロダクトになる・あり続けるため、良質かつ細かなユーザー体験 (MVP) を素早くリリースする確度を上げていく
Ruby on Rails を採用したスタートアップの具体的な話27地域コミュニティの醸成と支援● 昨年・一昨年と続けてきた活動を続けていく○ K-Ruby (鹿児島Ruby会議02を運営)○ Rails Girls Kagoshima○ エンジニアBar○ 鹿児島.mk○ #勝手に鹿児島大使● コミュニティを継続させること。コミュニティ同士の相乗効果も?
28鹿児島Ruby会議 03やろうよ!
29ゴール● スタートアップで Ruby on Rails を採用するメリットを知れる● 鹿児島でもメガベンチャーでスタートアップできることを知れる● Ruby on Rails を採用したスタートアップの具体的な話が知れる